当前位置:文档之家› 数学模型实验3 Lingo求解非线性规划问题

数学模型实验3 Lingo求解非线性规划问题

数学模型实验3  Lingo求解非线性规划问题
数学模型实验3  Lingo求解非线性规划问题

数学模型 实验3、LINGO 求解非线性优化模型

一、实验目的

掌握Lingo 软件求解非线性优化模型的基本用法,对于实际建模问题,能够利用数学规划建立模型,并能利用Lingo 软件进行求解。 二、实验原理及方法

Lingo 是美国LINDO 系统公司推出的求解最优化问题的专业软件包.它在求解各种大型线性、非线性和整数规划方面具有明显的优势. Lingo 具有演示(试用)版、学生版、高级版、超级版、工业版、扩展版等不同版本,不同版本的求解问题规模和选件不同.。

启动Lingo 后,在主窗口上弹出标题为”Lingo Model-Lingo1”的窗口,称为模型窗口(通常称Lingo 程序为模型),如下图所示,用于输入模型,可以在该窗口用基本类似于数学公式的形式输入小型的数学规划模型.

例1 如何在LINGO 中求解如下的LP 问题:

,6002100

350.

.32min 21211

2121≥≤+≥≥++x x x x x x x t s x x

实验步骤:

先在模型窗口中输入如下模型(代码): min=2*x1+3*x2; x1+x2>=350; x1>=100;

2*x1+x2<=600;

然后选菜单Lingo|solve(或按Ctrl+S),或用鼠标点击”求解”按钮,得到如下求解报告:

Global optimal solution found at iteration: 4 Objective value: 800.0000

Variable Value Reduced Cost X1 250.0000 0.000000 X2 100.0000 0.000000 Row Slack or Surplus Dual Price 1 800.0000 -1.000000 2 0.000000 -4.000000 3 150.0000 0.000000

即最优解为x1=250,x2=100,最优值为800。 Lingo 模型的几个说明:

1、Lingo 默认所有的决策变量都非负,故变量非负条件不必输入,Lingo 的语法规定: (1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示; (2)每个语句必须以分号“;”结束,每行可以有多个语句,语句可以跨行;

(3)变量名称必须以字母(A~Z )开头,由字母]、数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;

(4)可以给语句加上标号,例如[OBJ] MAX=200*x1+300*x2; (5)以!开头,以”;”结束的语句是注释语句;

(6)如果对变量的取值范围没有作特殊要求的话,则默认所有的变量的取值都非负;

(7)Lingo 模型以语句”Model:”开始,以”End ”结束,对于比较简单的模型,这两个语句可以省略.

2、选菜单File|save as 将输入的模型存盘,默认文件格式的扩展名为.lg4,这是一种特殊的二进制格式,保存了模型窗口中的所有文本和其它对象以及格式信息,只有Lingo 能读懂它.

3、选菜单Lingo|solve(或按Ctrl+S),或用鼠标点击”求解”按钮时,如果模型有语法错误,则会弹出一个标题为”Lingo Error Message ”的窗口,指出错误在哪一行,有怎样的错误等信息,如果语法通过,Lingo 用内部所带的求解程序求出模型的解,然后弹出一个标题为”Lingo Solve Statas ”的窗口,其内容为变量的个数、约束条件的个数、优化状态、非零变量个数、耗费内存、所花时间等信息,点击Close 关闭该窗口,屏幕上出现标题为”Solution Report ”的信息窗口,显示优化计算的步数、最优目标函数值、最优解等信息.

例题2(钢管下料问题). 某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割出售.从钢管厂进货得到的原材料的钢管的长度都是19m ,

现在一顾客需要50根4m ,20根6m ,15根8m ,此外还需要10根5 m 的钢管,为了简化生产过程,规定所使用的切割模式的种类不能超过3种,应如何下料?

解:设第I 种切割模式切割的根数为(,,)i x i =123,第I 种切割模式下切割成4m,6m,8m,5m 的数量分别为

,,,(,,)i i i i r r r r i =1234123,使用的频率由低到高,故有x x x >>123.令

由题意得到:

```min +..;;;;

;;;

x x x s t

r x r x r x r x r x r x r x r x r x r x r x r x r r r r r r r r r r r r +++≥++≥++≥++≥≤+++≤≤+++≤≤+++≤123

1112123131212223231312323331412423431112131421222324313233345020151016468519164685191619;

x x x ≤++≤1232631

model : sets :

qiege/1..3/:x; demand/1..4/:b,n; links(qiege,demand):r; endsets data : b=4,6,8,5; n=50,20,15,10; enddata

min =@sum (qiege(i):x(i));

@for (demand(j):@sum (qiege(i):x(i)*r(i,j))>=n(j);); @for (qiege(i):@sum (demand(j):b(j)*r(i,j))<=19;);

@for (qiege(i):@sum (demand(j):b(j)*r(i,j))>=16;); @for (qiege(i)|i#LE#2:x(i+1)<=x(i)); @sum (qiege(i):x(i))>=26; @sum (qiege(i):x(i))<=31;

@for (qiege:@gin (x);); @for (links:@gin (r)); end

运行得到:

Local optimal solution found.

Objective value: 28.00000 Objective bound: 28.00000 Infeasibilities: 0.000000 Extended solver steps: 34 Total solver iterations: 3506

Model Class: PINLP

Total variables: 15

Nonlinear variables: 15

Integer variables: 15

Total constraints: 15

Nonlinear constraints: 4

Total nonzeros: 61

Nonlinear nonzeros: 24

Variable Value Reduced Cost X( 1) 10.00000 0.000000 X( 2) 10.00000 2.000000 X( 3) 8.000000 1.000000 B( 1) 4.000000 0.000000 B( 2) 6.000000 0.000000 B( 3) 8.000000 0.000000 B( 4) 5.000000 0.000000 N( 1) 50.00000 0.000000 N( 2) 20.00000 0.000000 N( 3) 15.00000 0.000000 N( 4) 10.00000 0.000000 R( 1, 1) 3.000000 0.000000 R( 1, 2) 1.000000 0.000000 R( 1, 3) 0.000000 0.000000 R( 1, 4) 0.000000 0.000000 R( 2, 1) 2.000000 0.000000 R( 2, 2) 1.000000 0.000000 R( 2, 3) 0.000000 0.000000 R( 2, 4) 1.000000 0.000000 R( 3, 1) 0.000000 0.000000 R( 3, 2) 0.000000 0.000000 R( 3, 3) 2.000000 0.000000 R( 3, 4) 0.000000 0.000000

Row Slack or Surplus Dual Price

1 28.00000 -1.000000

2 0.000000 0.000000

3 0.000000 0.000000

4 1.000000 0.000000

5 0.000000 0.000000

6 1.000000 0.000000

7 0.000000 0.000000

8 3.000000 0.000000

9 2.000000 0.000000

10 3.000000 0.000000

11 0.000000 0.000000 12 0.000000 1.000000 13 2.000000 0.000000 14 2.000000 0.000000 15 3.000000 0.000000 共28根,解不唯一。

例题3(选址问题):

某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨) 假设:料场和工地之间有直线道路:

1.现有两个料场,位于A(5,1),B(2,7),记为)2,1)(,(=i y x i i ,日储量i e 各有20吨,制定每天的供应计划,即从A、B两个料场分别向各个工地运送多少吨水泥,使总的吨公里数最小。

2.改建两个新料场,需要确定新料场位置),(i i y x 和运量ij c ,在其它条件不变下使总吨公里数最小。解:步1、问题1数学模型:

设A、B两个料场的位置分别为),(11y x 和),(22y x ,分别向各个工地运送的水泥量为

ij c ,则要求总吨公里数最小,归结为求下列优化问题:

/min

[()()]..,

,...,,

,ij j i j i j i

ij i j

ij j i

c x a y b s t

c d i c e j ====-+-==≤=∑∑∑∑26

2212

1

1

2

1

6

1

1612

步2、实验方法、步骤及Lingo 求解程序;

打开Lingo8.0,在其中输入如下Lingo 模型:

MODEL:

Title Location Problem; sets:

demand/1..6/:a,b,d; supply/1..2/:x,y,e;

link(demand,supply):c; endsets data:

!locations for the demand(需求点的位置);

a=1.25,8.75,0.5,5.75,3,7.25;

b=1.25,0.75,4.75,5,6.5,7.75;

!quantities of the demand and supply(供需量);

d=3,5,4,7,6,11; e=20,20;

x,y=5,1,2,7;

enddata

init:

!initial locations for the supply(初始点);

!x,y=5,1,2,7;

endinit

!Objective function(目标);

[OBJ] min=@sum(link(i,j): c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2) );

!demand constraints(需求约束);

@for(demand(i):[DEMAND_CON] @sum(supply(j):c(i,j)) =d(i););

!supply constraints(供应约束);

@for(supply(i):[SUPPL Y_CON] @sum(demand(j):c(j,i)) <=e(i); );

@for(supply: @free(X); @free(Y); );

!@for(supply: @bnd(0.5,X,8.75);

! @bnd(0.75,Y,7.75);

! );

END

步3、计算结果:

Global optimal solution found at iteration: 6

Objective value: 136.2275

Model Title: Location Problem

Variable Value Reduced Cost A( 1) 1.250000 0.000000 A( 2) 8.750000 0.000000 A( 3) 0.5000000 0.000000 A( 4) 5.750000 0.000000 A( 5) 3.000000 0.000000 A( 6) 7.250000 0.000000 B( 1) 1.250000 0.000000 B( 2) 0.7500000 0.000000 B( 3) 4.750000 0.000000 B( 4) 5.000000 0.000000 B( 5) 6.500000 0.000000 B( 6) 7.750000 0.000000 D( 1) 3.000000 0.000000 D( 2) 5.000000 0.000000 D( 3) 4.000000 0.000000 D( 4) 7.000000 0.000000 D( 5) 6.000000 0.000000

D( 6) 11.00000 0.000000 X( 1) 5.000000 0.000000 X( 2) 2.000000 0.000000 Y( 1) 1.000000 0.000000 Y( 2) 7.000000 0.000000 E( 1) 20.00000 0.000000 E( 2) 20.00000 0.000000 C( 1, 1) 3.000000 0.000000 C( 1, 2) 0.000000 3.852207 C( 2, 1) 5.000000 0.000000 C( 2, 2) 0.000000 7.252685 C( 3, 1) 0.000000 1.341700 C( 3, 2) 4.000000 0.000000 C( 4, 1) 7.000000 0.000000 C( 4, 2) 0.000000 1.992119 C( 5, 1) 0.000000 2.922492 C( 5, 2) 6.000000 0.000000 C( 6, 1) 1.000000 0.000000 C( 6, 2) 10.00000 0.000000

Row Slack or Surplus Dual Price OBJ 136.2275 -1.000000 DEMAND_CON( 1) 0.000000 -3.758324 DEMAND_CON( 2) 0.000000 -3.758324 DEMAND_CON( 3) 0.000000 -4.515987 DEMAND_CON( 4) 0.000000 -4.069705 DEMAND_CON( 5) 0.000000 -2.929858 DEMAND_CON( 6) 0.000000 -7.115125 SUPPLY_CON( 1) 4.000000 0.000000 SUPPLY_CON( 2) 0.000000 1.811824

步4、分析、检验和结论:

从Lingo 的求解报告中我们得到,程序迭代六次就得到了最优解,最优值为136.22,最优解为:

问题2:

改建两个新料场,需要确定新料场位置),(11y x 和),(22y x ,和向各个工地运送的水泥量

ij c ,在其它条件不变下使总吨公里数最小,数学模型为:

/min

[()()]..,

,...,,

,ij j i j i j i

ij i j

ij j i

c x a y b s t

c d i c e j ====-+-==≤=∑∑∑∑26

2212

1

1

2

1

6

1

1612

五、上述规划的Lingo 模型为:

MODEL :

Title Location Problem; sets :

demand/1..6/:a,b,d; supply/1..2/:x,y,e; link(demand,supply):c; endsets data :

!locations for the demand(需求点的位置); a=1.25,8.75,0.5,5.75,3,7.25; b=1.25,0.75,4.75,5,6.5,7.75;

!quantities of the demand and supply (供需量); d=3,5,4,7,6,11; e=20,20; !x,y=5,1,2,7; enddata init :

!initial locations for the supply (初始点); x,y=5,1,2,7; endinit

!Objective function (目标);

[OBJ] min =@sum (link(i,j): c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2) ); !demand constraints (需求约束);

@for (demand(i):[DEMAND_CON] @sum (supply(j):c(i,j)) =d(i);); !supply constraints (供应约束);

@for (supply(i):[SUPPLY_CON] @sum (demand(j):c(j,i)) <=e(i); ); @for (supply:@free (X);@free (Y););

@for (supply: @bnd (0.5,X,8.75); @bnd (0.75,Y,7.75); );

六、计算结果:

Local optimal solution found at iteration: 14 Objective value: 89.88349 Model Title: Location Problem

Variable Value Reduced Cost A( 1) 1.250000 0.000000 A( 2) 8.750000 0.000000 A( 3) 0.5000000 0.000000 A( 4) 5.750000 0.000000

A( 5) 3.000000 0.000000

A( 6) 7.250000 0.000000

B( 1) 1.250000 0.000000

B( 2) 0.7500000 0.000000

B( 3) 4.750000 0.000000

B( 4) 5.000000 0.000000

B( 5) 6.500000 0.000000

B( 6) 7.750000 0.000000

D( 1) 3.000000 0.000000

D( 2) 5.000000 0.000000

D( 3) 4.000000 0.000000

D( 4) 7.000000 0.000000

D( 5) 6.000000 0.000000

D( 6) 11.00000 0.000000

X( 1) 5.695939 -0.1496946E-07 X( 2) 7.249997 0.3920237E-08 Y( 1) 4.928524 -0.5190101E-07 Y( 2) 7.750000 -4.451556

E( 1) 20.00000 0.000000

E( 2) 20.00000 0.000000

C( 1, 1) 3.000000 0.000000

C( 1, 2) 0.000000 1.765974

C( 2, 1) 5.000000 0.000000

C( 2, 2) 0.000000 0.6737694

C( 3, 1) 4.000000 0.000000

C( 3, 2) 0.000000 0.8781435

C( 4, 1) 7.000000 0.000000

C( 4, 2) 0.000000 1.733380

C( 5, 1) 1.000000 0.000000

C( 5, 2) 5.000000 0.000000

C( 6, 1) 0.000000 4.530643

C( 6, 2) 11.00000 0.000000

Row Slack or Surplus Dual Price

OBJ 89.88349 -1.000000

DEMAND_CON( 1) 0.000000 -7.079927

DEMAND_CON( 2) 0.000000 -6.485142

DEMAND_CON( 3) 0.000000 -6.508497

DEMAND_CON( 4) 0.000000 -1.399109

DEMAND_CON( 5) 0.000000 -4.430009

DEMAND_CON( 6) 0.000000 -0.2601878E-05 SUPPLY_CON( 1) 0.000000 1.309492

SUPPLY_CON( 2) 4.000000 0.000000 七:分析、检验和结论

运行程序,得到一个局部最优解:

两个料场的位置分别为:A(5.6959,4.9285)和B(7.24999,7.75),最优值89.88349。 上面得到的结果是在两料场初始位置取为(5,1)和(2,7)下得到的,当取其他初始值时,得到的最优解不同,但最优值是相同的。可见最优值89.88349应为全局最优值。

实验任务

问题):

min ()....,f x x x x x x x s t x x x x =--++?+≤?+≤??

≥≥?22

1212

121212*********

45

00

问题):

max ().+()

,..,其中(),,,.f x x x x C x x x x x s t x x C x x x x x x x x =++??+≤+≤≤???+≤=+≤≤????≥≥+-≤≤???

21212

12112

122212121242052100400031245400512

0010032215

问题2:选取课本中第四章习题6,7,8,9中任意一题,建立模型,并利用Lingo 软件求

解。

问题3 某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为().f x x x =+25002(单位:元), 其中x 是该季度生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度4.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,问:工厂应如何安排生产计划,才能既满足合同又使总费用最低.

问题4 某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时得到的原料钢管都是1850c m。

现有一客户需要15根290c m、28根315cm 和21根350cm 、30根455cm 的钢管,规定所用的切割模式不超过4种。使用频率最高的按照一根钢管的价值的1/10增加费用,使用频率次之的切割模式按照一根钢管的价值的2/10增加费用,以次类推,且每种切割模式不能切割太多(一根原料钢管最多生产5根产品)。此外每种 切割模式下的余料不能超过100cm,为使费用最小,应如何下料?

四、实验报告要求

对于上述问题,根据实验内容进行实验,要求写出实验报告。

实验报告要求包含下面几个部分:

(1) 阐述实验目的;

(2) 算法实验仪器、软件;

(3) 问题;

(4) 数学模型

(5) 实验方法、步骤及编程;

(6) 计算结果;

(7) 分析、检验和结论;

(8) 心得体会;

运筹学实例分析及lingo求解

运筹学实例分析及lingo 求解 一、线性规划 某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。各供货仓库到8个客户处的单位货物运输价见表 试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。 解:设 ij x 表示从第i 个仓库到第j 个客户的货物运量。ij c 表示从第i 个仓库到第 j 个客户的单位货物运价,i a 表示第i 个仓库的最大供货量,j d 表示第j 个客户的订货量。 目标函数是使总运输费用最少,约束条件有三个:1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束 数学模型为: ∑∑===6 18 1)(min i j ij ij x c x f ????? ??????≥===≤∑∑==08,,2,1,6,2,1,,. .6 1 8 1ij j i ij i j ij x j d x i a x t s 编程如下: model : Sets : Wh/w1..w6/:ai;

Vd/v1..v8/:dj; links(wh,vd):c,x; endsets Data: ai=60,55,51,43,41,52; dj=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; Enddata Min=@sum(links(i,j):c(i,j)*x(i,j)); @for(wh(i):@sum(vd(j):x(i,j))<=ai(i)); @for(vd(j):@sum(wh(i):x(i,j))=dj(j)); end Global optimal solution found. Objective value: Total solver iterations: 0 Variable Value Reduced Cost AI( W1) AI( W2) AI( W3) AI( W4) AI( W5) AI( W6) DJ( V1) DJ( V2) DJ( V3) DJ( V4) DJ( V5) DJ( V6) DJ( V7) DJ( V8) C( W1, V1) C( W1, V2) C( W1, V3) C( W1, V4) C( W1, V5) C( W1, V6)

数学建模 线性规划模型

数学建模线性规划模型 数学建模教案,线性规划模型 一、问题的提出 在生产管理和经营活动中经常提出一类问题,即如何合理地利用有限的人力、物力、财力等资源,以便得到最好的经济效果。 例1 若需在长为4000mm的圆钢上,截出长为698mm和518mm两种毛坯,问怎样截取才能使残料最少, 初步分析可以先考虑两种“极端”的情况: (1)全部截出长为698mm的甲件,一共可截出 EQ F(4000,698) ?5件,残料长为510mm。 (2)全部截出长为518mm的乙件,一共可截出 EQ F(4000,518) ?7件,残料长为374mm。由此可以想到,若将 x个甲件和y 个乙件搭配起来下料,是否可能使残料减少,把截取条件数学化地表示出来就是: 698 x + 518y ? 4000 x ,y都是非负整数 目标是使:z = EQ F(698x + 518y,4000) (材料利用率)尽可能地接近或等于1。(尽可能地大) 该问题可用数学模型表示为: 目标函数 : max z = EQ F(698x + 518y,4000) 满足约束条件: 698 x + 518y ? 4000 , (1) x ,y都是非负整数 . (2) 例2 某工厂在计划期内要安排生产I 、II两种产品,已知生产单位产品所需的设备台数及A、B两种原料的消耗,如下表所示。

I II 设备 1 2 8台数 原材料A 4 0 16kg 原材料B 0 4 12kg 该工厂每生产一件产品I可获利 2 元,每生产一件产品II可获利 3 元,问应如何安排生产计划使工厂获利最多, 这问题可以用以下的数学模型来描述:设 x, x分别表示在计划期内产品I、II 的产量。 1 2 因为设备的有效台数为8 ,这是一个限制产量的条件,所以在确定I 、II的产量时,要考虑不超过设备的有效台数,即可用不等式表示为: x + 2x ? 8 . 1 2同理,因原材料A 、B的限量,可以得到以下不等式: 4 x ? 16 1 4 x ? 12. 2 该工厂的目标是在不超过所有资源限量的条件下,如何确定产量x、x以得到最大 1 2的利润。若用 z 表示利润,这时z = 2x + 3 x。综上所述,该计划问题可用数学模型表 1 2 示为: 目标函数 : max z = 2x + 3 x 1 2 满足约束条件: x + 2x ? 8 1 2 4 x ? 16 1 4 x ? 12. 2

数学建模(教案)第一章--线性规划

数学建模 第一章 线性规划 §1 线性规划 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。自从1947年G. B. Dantzig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。 1.1 线性规划的实例与定义 例1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。生产甲机床需用B A 、机器加工,加工时间分别为每台2小时和1小时;生产乙机床需用C B A 、、三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为A 机器10小时、B 机器8小时和C 机器7小时,问该厂应生产甲、乙机床各几台,才能使总利润最大? 上述问题的数学模型:设该厂生产1x 台甲机床和2x 乙机床时总利润最大,则21,x x 应满足 (目标函数) 2134m ax x x z += (1) s.t. ( 约 束 条 件 ) ?????? ?≥≤≤+≤+0 ,781022122 121x x x x x x x (2) 这里变量21,x x 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式是问题的约束条件,记为s.t.(即subject to)。

上述即为一规划问题数学模型的三个要素。由于上面的目标函数及约束条件均为线性函数,故被称为线性规划问题。 总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。 在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。而选取适当的决策变量,是我们建立有效模型的关键之一。 1.2 线性规划的Matlab 标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性规划的标准形式为 b Ax x c x T ≤ that such min 其中c 和x 为n 维列向量,b 为m 维列向量,A 为n m ?矩阵。 例如线性规划 b Ax x c x T ≥ that such max 的Matlab 标准型为 b Ax x c x T -≤-- that such min 1.3 线性规划问题的解的概念 一般线性规划问题的标准型为 ∑==n j j j x c z 1min (3) ∑==≤n j i j ij m i b x a 1,,2,1 s.t.Λ (4) 可行解 满足约束条件(4)的解),,,(21n x x x x Λ=,称为线性规划问题的可行解,而使目标函数(3)达到最小值的可行解叫最优解。

Lingo与线性规划

Lingo 与线性规划 线性规划的标准形式是 Min z c 1 x 1 c n x n a 11 x 1 a 1n x n b 1 s..t a m1 x 1 a mn x n (1) b m x i 0, i 1,2, , n 其中 z c 1 x 1 c n x n 称为目标函数, 自变量 x i 称为决策变量 ,不等式组 (1)称为约 束条件 . 满足不等式组 (1)的所有 ( x 1, , x n ) 的集合称为可行域,在可行域里面使得z 取最小值的 ( x 1* , , x n * ) 称为最优解,最优解对应的函数值称为最优值。 求解优化模型的主要软件有 Lingo 、Matlab 、Excel 等。其中 Lingo 是一款专 业求解优化模型的软件, 有其他软件不可替代的方便功能。 本文将简要介绍其在线性规划领域的应用。 一、基本规定 1、目标函数输入格式 max=函数解析式; 或者 min= 函数解析式; 2、约束条件输入格式 利用: >、<、>=、<=等符号。但是 >与 >=没有区别。 Lingo 软件默认所以自变量都大于等于 0. 3、运算 加 (+), 减(-), 乘(*), 除(/), 乘方 (x^a) ,要注意乘号 (*) 不能省略。 4、变量名 不区分大小写字母,不超过 32 个字符,必须以字母开头。 5、标点符号 每个语句以分号“;”结束,感叹号“!”开始的是说明语句(说明语句也需要以分号“ ; ”结束)。但是,model ,sets ,data 以“:”结尾。endsets ,enddata , end 尾部不加任何符号。 6、命令不考虑先后次序 7、MODEL 语句 一般程序必须先输入 MODEL :表示开始输入模型,以“ END ”结束。对简单的模型,这两个语句也可以省略。 8、改变变量的取值范围 @bin(变量名 ) ; @bnd(a, 变量名 ,b ) ; @free( 变量名 ) ; @gin(变量名 ) ; 例 1 求目标函数 z 2x 1 限制该变量为 0 或 1. 限制该变量介于 a,b 之间 . 允许该变量为负数 . 限制该变量为整数 . 3x 2 的最小值,约束条件为

数学建模线性规划与非线性规划

实验7:线性规划与非线性规划 班级:2015级电科班,学号:222015333210187,姓名:吴京宣,第1组 ====================================================================== 一、实验目的: 1. 了解线性规划的基本内容。 2. 直观了解非线性规划的基本内容。 3. 掌握用数学软件求解优化问题。 二、实验内容 1. 两个引例. 2. 用数学软件包MATLAB求解线性规划与非线性规划问题. 3. 用数学软件包LINDO、LINGO求解线性规划问题. 4. 建模案例:投资的收益与风险. 5. 非线性规划的基本理论 6. 钢管订购及运输优化模型. 三、实验步骤 对以下问题,编写M文件: 1.某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每100箱甲饮料获利可增加1万元,问应否改变生产计划. 2.某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60 台、80台.每季度的生产费用为(单位:元), 其中x 是该季度生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问:工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a、b、c变化对计划的影响,并作出合理的解释.

一般线性规划数学模型

一般线性规划问题 1. 线性规划的条件: ① 决策变量有没有---------------------必须有 ② 目标函数和约束条件是不是决策变量的线性表达式------------------必须是 ③ 决策变量非负条件是否满足-------------必须满足 ④ 目标函数是否表现出极大化或极小化------必须表现 2. 线性规划的表达式 目标函数: x c x c x c n n z Max Min +???++=2211)( 约束条件: b x a x a x a n n 112 12 1 11 )(≤≥+???++ b x a x a x a n n 222 2 21 21 )(≤≥+???++ b x a x a x a n n 332 2 31 31 )(≤≥+???++ ..............

b x a x a x a n n nn n )(2 2 1 n1 ≤≥+???++ 非负性约束: 0,,0,02 1 ≥???≥≥x x x n 问题重述 某储蓄所每天的营业时间是上午9时到下午5时。根据经验,每天不同时间段所需要的服务员数量如表17所示。储蓄所可以雇用全时和半时两类服务员。全时服务员每天报酬100元,从上午9时到下午5时工作,但中午12时到下午2时之间必须安排1h 的午餐时间。储蓄所每天可以雇用不超过3名的半时服务员,每个半小时服务员必须连续工作4h ,报酬40元。(1)问该储蓄所应如何雇用全时和半时两类服务员。(2)如果不能雇用半时服务员,每天至少增加多少费用。(3)如果雇用半时服务员的数量没有限制,每天可以减少多少费用? 表16 每天不同时间段所需要的服务员数量

试验1用LINGO求解线性规划问题

实验用LINDO或LINGO求解线性规划问题 实验目的 1.对于给定的实际应用问题,正确的建立线性规划问题数学模型,并用LINDO或LINGO 求解; 2.掌握灵敏度分析以及资源的影子价格的相关分析方法. 问题1某工厂在计划期内要安排生产A、B两种产品,已知生产单位产品所需设备台时及对甲、乙两种原材料的消耗,有关数据如表1.1.问:应如何安排生产计划,使工厂获利最大? . LINDO输入语句: max 2x1+3x2 st x1+2x2<=8 4x1<=16 4x2<=12 end 在LINGO的MODEL窗口内输入如下模型: model: max=2*x1+3*x2; x1+2*x2<=8; 4*x1<=16; 4*x2<=12; end 选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGO Error Message”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help).改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGO Solver Status”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,屏幕上出现标题为“Solution Report”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函

数值、列出各变量的计算结果.求解结果: Global optimal solution found at iteration: 5 Objective value: 14.00000 Variable Value Reduced Cost X1 4.000000 0.000000 X2 2.000000 0.000000 Row Slack or Surplus Dual Price 1 14.00000 1.000000 2 0.000000 1.500000 3 0.000000 0.1250000 4 4.000000 0.000000 该报告说明:运行5步找到全局最优解,目标函数值为14,变量值分别为124,2==x x .“Reduced Cost ”的含义是需缩减成本系数或需增加利润系数(最优解中取值非零的决策变量的Reduced Cost 值等于零).“Row ”是输入模型中的行号,目标函数是第一行;“Slack or Surplus ”的意思是松弛或剩余,即约束条件左边与右边的差值,对于“≤”的不等式,右边减左边的差值为Slack (松弛),对于“≥”的不等式,左边减的右边差值为Surplus (剩余),当约束条件两边相等时,松弛或剩余的值等于零.“Dual Price ”的意思是对偶价格(或称为影子价格),上述报告中Row2的松弛值为0,表明生产甲产品4单位、乙产品2单位,所需设备8台时已经饱和,对偶价格1.5的含义是:如果设备增加1台时,能使目标函数值增加1.5.报告中Row4的松弛值为4,表明生产甲产品4单位、乙产品2单位,所需原材料乙8公斤还剩余4公斤,因此增加原材料乙不会使目标函数值增加,所以对偶价格为0. 对于目标函数系数和约束条件右端常数项的灵敏度分析,可以通过LINGO 软件求解的灵敏度分析给出.如果要看灵敏度分析结果,必须激活灵敏度计算功能才会在求解时给出灵敏度分析结果,默认情况下这项功能是关闭的.想要激活它,必须运行LINGO|Options …命令,选择Gengral Solver ,在Dual Computation 列表框中,选择Prices and Ranges 选项并确定. 法一:打开command window ,输入range ; 法二:LINGO ——options ——General Solver ——DualComputations ——Prices&Ranges , 运行一遍,然后关掉,然后lingo-----range 问题2 某公司饲养实验用的动物以供出售,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g ,矿物质3g ,维生素8mg ,该公司能买到5种不同的饲料,每种饲料1kg 所含各种营养成分和成本如表1.2所示,如果每个小动物每周食用饲料不超过52kg ,求既能满足动物生长需要,又使总成本最低的饲料配方.

数学建模:运用Lindolingo软件求解线性规划

数学建模:运用Lindolingo软件求解线性规划 1、实验内容: 对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo对模型进行求解。 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.名今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划. 数学建模论文 运用lindo/lingo软件求解线性规划 运用lindo/lingo软件求解线性规划 一、摘要 本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。 首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。 然后,对问题进行分析,根据题目的要求,建立合适的数学模型。 最后,运用lindo/lingo软件求出题目的解。 【关键词】最优解 lindo/lingo软件 第二、问题的重述 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原

料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资。 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。 第三、模型的基本假设 1、每一箱饮料消耗的人力、物力相同。 2、每个人的能力相等。 3、生产设备对生产没有影响。 第四、符号说明 1、x.....甲饮料 2、y.....乙饮料 3、z.....增加的原材料 第五、问题分析 根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。我们可以先建立数学模型,然后用lindo/lingo软件包求解模型的最大值。 第六、模型的建立及求解根据题目建立如下3个模型: 模型1: max=0.1*x+0.09*y; 0.06*x+0.05*y<=60; 0.1*x+0.2*y<=150; x+y<=800; 结果:x=800;y=0;max=80 模型2:

数学建模线性规划

线性规划 1.简介: 线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法.在经济管理、交通运输、工农业生产等经济活动中,提高经济效果是人们不可缺少的要求,而提高经济效果一般通过两种途径:一是技术方面的改进,例如改善生产工艺,使用新设备和新型原材料.二是生产组织与计划的改进,即合理安排人力物力资源. 线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好.规划问题。一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性线性约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域。 (x)都是线性函数,则该模型称为在优化模型中,如果目标函数f(x)和约束条件中的g i 线性规划。 2.线性规划的3个基本要素 (1)决策变量 (2)目标函数f(x) (x)≤0称为约束条件) (3)约束条件(g i 3.建立线性规划的模型 (1)找出待定的未知变量(决策变量),并用袋鼠符号表示他们。 (2)找出问题中所有的限制或者约束,写出未知变量的线性方程或线性不等式。

(3)找到模型的目标或判据,写成决策变量的线性函数,以便求出其最大值或最小值。以下题为例,来了解一下如何将线性规划用与实际的解题与生活中。 生产计划问题 某工厂生产甲乙两种产品,每单位产品消耗和获得的利润如表 试拟订生产计划,使该厂获得利润最大 解答:根据解题的三个基本步骤 (1)找出未知变量,用符号表示: 设甲乙两种产品的生产量分别为x 1与x 2 吨,利润为z万元。 (2)确定约束条件: 在这道题目当中约束条件都分别为:钢材,电力,工作日以及生产量不能为负的限制 钢材:9x 1+5 x 2 ≤360, 电力:4x 1+5 x 2 ≤200, 工作日:3x 1+10 x 2 ≤300, x 1≥0 ,x 2 ≥0, (3)确定目标函数: Z=7x 1+12 x 2

lingo解决线性规划问题的程序

Lingo12软件培训教案 Lingo 主要用于求解线性规划,整数规划,非线性规划,V10以上版本可编程。 例1 一个简单的线性规划问题 0 , 600 2 100 350 st. 3 2max >=<=+=<<=++=y x y x x y x y x z ! 源程序 max = 2*x+3*y; [st_1] x+y<350; [st_2] x<100; 2*x+y<600; !决策变量黙认为非负; <相当于<=; 大小写不区分 当规划问题的规模很大时,需要定义数组(或称为矩阵),以及下标集(set) 下面定义下标集和对应数组的三种方法,效果相同::r1 = r2 = r3, a = b = c. sets : r1/1..3/:a; r2 : b; r3 : c; link2(r1,r2): x; link3(r1,r2,r3): y; endsets data : ALPHA = ; a=11 12 13 ; r2 = 1..3; b = 11 12 13; c = 11 12 13; enddata

例2 运输问题 解: 设决策变量ij x = 第i 个发点到第j 个售点的运货量,i =1,2,…m; j =1,2,…n; 记为ij c =第i 个发点到第j 个售点的运输单价,i =1,2,…m; j =1,2,…n 记i s =第i 个发点的产量, i =1,2,…m; 记j d =第j 个售点的需求量, j =1,2,…n. 其中,m = 6; n = 8. 设目标函数为总成本,约束条件为(1)产量约束;(2)需求约束。 于是形成如下规划问题: n j m i x n j d x m i s x x c ij j n i ij i m j ij m i n j ij ij ,...,2,1,,...,2,1,0 ,...,2,1, ,...,2,1, st. z min 11 11==>=<==<==∑∑∑∑==== 把上述程序翻译成LINGO 语言,编制程序如下: ! 源程序

lingo求解多目标规划__例题

实验二:目标规划 一、实验目的 目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。 二、目标规划的一般模型 设)...2,1(n j x j =是目标规划的决策变量,共有m 个约束是国刚性约束,可能是等式约束,也可能是不等式约束。设有l 个柔性目标约束,其目标规划约束的偏差是 ),...,2,1(,l i d d i i =-+。设有q 个优先级别,分别为q p p p ,...,21。在同一个优先级k p 中,有 不同的权重,分别记为),...,2,1(,l j w w kj kj =- + 。因此目标规划模型的一般数学表达式为: min ∑∑=+ +-- =+= l j j kj j kj q k k d w d w p z 1 1 );( s.t. ,,...2,1,),(1m i b x a n j i j ij =≥=≤∑= . ,...2,1,0,, ,...,2,1,, ,...2,1,1 l i d d n x o x l i g d d x c i i j i n j i i j ij =≥=≥==-++-=+-∑ 三、实验设备及分组 实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。

四、实验容及步骤 1、打开LINGO ,并利用系统菜单和向导在E 盘创建一个项目。目录和项目名推荐使用学生自己的学号。 2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。 例2.1: 某工厂生产Ⅰ、Ⅱ两种产品,需要用到A ,B ,C 三种设备,已知有关数据见下表。企业的经营目标不仅仅是利润,还需要考虑多个方面: (1) 力求使利润不低于1500元; (2) 考虑到市场需求,Ⅰ、Ⅱ两种产品的产量比应尽量保持1:2; (3) 设备A 为贵重设备,严格禁止超时使用; (4) 设备C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。 在重要性上,设备C 是设备B 的3倍。 此题中只有设备A 是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是Ⅰ、Ⅱ两种产品的产量保持1:2的比例,列为第二级;再次,设备B 、C 的工作时间要有所控制,列为第三级。在第三级中,设备B 的重要性是设备C 的3倍,因此它们的权重不一样,设备B 的系数是设备C 的3倍。 该计划问题可用数学模型表示为: 目标函数 min )33()(433322211+ +-+--+++++=d d d p d d p d p z 满足约束条件 2122x x + 12≤ 15003002001121=-+++-d d x x 022221=-+-+ - d d x x 14x 1633=-++ -d d

数学建模-线性规划

-1- 第一章线性规划 §1 线性规划 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。自从1947 年G. B. Dantzig 提出 求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性 规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。 1.1 线性规划的实例与定义 例1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000 元与3000 元。 生产甲机床需用A、B机器加工,加工时间分别为每台2 小时和1 小时;生产乙机床 需用A、B、C三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时 数分别为A 机器10 小时、B 机器8 小时和C 机器7 小时,问该厂应生产甲、乙机床各几台,才能使总利润最大? 上述问题的数学模型:设该厂生产1 x 台甲机床和2 x 乙机床时总利润最大,则1 2 x , x 应满足 (目标函数)1 2 max z = 4x + 3x (1) s.t.(约束条件) ?? ? ?? ? ? ≥ ≤ + ≤ + ≤ , 0 7 8 2 10 1 2 2 1 2 1 2 x x x x x x x (2) 这里变量1 2 x , x 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式是问题的约束条件,记为s.t.(即subject to)。由于上面的目标函数及约束条件均为线性

数学建模习题——线性规划

某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表所示.按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税.此 表四 问:(1)若该经理有1000万元资金,应如何投资? (2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作? (3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变? 解:设利润函数为M(x),投资A、B、C、D、E五种类型的证券资金分别为

12345,,,,x x x x x 万元,则由题设条件可知 12345123452341234512345123451234512345()0.0430.0270.0250.0220.0451000400 225 1.4()9154325(),,,,0 M x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =++++++++≤++≥++++≤++++++++≤++++≥ 利用MATLAB 求解最优解,代码如下: c=[-0.043 -0.027 -0.025 -0.022 -0.045]; A=[1 1 1 1 1;0 -1 -1 -1 0;0.6 0.6 -0.4 -0.4 3.6;4 10 -1 -2 -3]; b=[1000;-400;0;0]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 运行结果如下:

数学建模-非线性规划

-32- 第三章 非线性规划 §1 非线性规划 1.1 非线性规划的实例与定义 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。一般说来,解非线性规划要比解线性规划问题困难得多。而且,也不象线性规划有单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。 下面通过实例归纳出非线性规划数学模型的一般形式,介绍有关非线性规划的基本概念。 例1 (投资决策问题)某企业有n 个项目可供选择投资,并且至少要对其中一个项目投资。已知该企业拥有总资金A 元,投资于第),,1(n i i L =个项目需花资金i a 元,并预计可收益i b 元。试选择最佳投资方案。 解 设投资决策变量为 ?? ?=个项目 决定不投资第,个项目 决定投资第i i x i 0,1,n i ,,1L =, 则投资总额为 ∑=n i i i x a 1,投资总收益为 ∑=n i i i x b 1 。因为该公司至少要对一个项目投资,并 且总的投资金额不能超过总资金A ,故有限制条件 ∑=≤< n i i i A x a 1 另外,由于),,1(n i x i L =只取值0或1,所以还有 .,,1,0)1(n i x x i i L ==? 最佳投资方案应是投资额最小而总收益最大的方案,所以这个最佳投资决策问题归结为总资金以及决策变量(取0或1)的限制条件下,极大化总收益和总投资之比。因此,其数学模型为: ∑∑=== n i i i n i i i x a x b Q 11max s.t. ∑=≤< n i i i A x a 1 .,,1,0)1(n i x x i i L ==? 上面例题是在一组等式或不等式的约束下,求一个函数的最大值(或最小值)问题,其中至少有一个非线性函数,这类问题称之为非线性规划问题。可概括为一般形式 )(min x f q j x h j ,,1, 0)(s.t. L =≤ (NP) p i x g i ,,1, 0)(L ==

数学建模 运筹学模型(一)

运筹学模型(一) 本章重点: 线性规划基础模型、目标规划模型、运输模型及其应用、图论模型、最小树问题、最短路问题 复习要求: 1.进一步理解基本建模过程,掌握类比法、图示法以及问题分析、合理假设的内涵. 2.进一步理解数学模型的作用与特点. 本章复习重点是线性规划基础模型、运输问题模型和目标规划模型.具体说来,要求大家会建立简单的线性规划模型,把实际问题转化为线性规划模型的方法要掌握,当然比较简单.运输问题模型主要要求善于将非线性规划模型转化为运输规化模型,这种转化后求解相当简单.你至少把一个很实际的问题转化为用表格形式写出的模型,至于求解是另外一回事,一般不要求.目标模型一般是比较简单的线性规模模型在提出新的要求之后转化为目标规划模型.另外,关于图论模型的问题涉及到最短路问题,具体说来用双标号法来求解一个最短路模型.这之前恐怕要善于将一个实际问题转化为图论模型.还有一个最小数的问题,该如何把一个网络中的最小数找到.另外在个别场合可能会涉及一笔划问题. 1.营养配餐问题的数学模型 n n x C x C x C Z ++=211m i n ????? ?? ??=≥≥+++≥+++≥+++??) ,,2,1(0, ,, 22112222212111212111n j x b x a x a x a b x a x a x a b x a x a x a t s j m n mn m m n n n n 或更简洁地表为 ∑== n j j j x C Z 1 m i n ??? ??? ?==≥≥??∑=),,2,1,,2,1(01 n j m i x b x a t s j n j i j ij 其中的常数C j 表示第j 种食品的市场价格,a ij 表示第j 种食品含第i 种营养的数量,b i 表示人或动物对第i 种营养的最低需求量. 2.合理配料问题的数学模型 有m 种资源B 1,B 2,…,B m ,可用于生产n 种代号为A 1,A 2,…,A n 的产品.单位产品A j 需用资源B i 的数量为a ij ,获利为C j 单位,第i 种资源可供给总量为b i 个单位.问如何安排生产,使总利润达到最大? 设生产第j 种产品x j 个单位(j =1,2,…,n ),则有 n n x C x C x C Z +++= 2211m a x

线性规划与数学建模简介

第十三章线性规划与数学建模简介 【授课对象】理工类专业学生 【授课时数】6学时 【授课方法】课堂讲授与提问相结合 【基本要求】1、了解数学模型的基本概念、方法、步骤; 2、了解线性规划问题及其数学模型; 3、了解线性规划问题解的性质及图解法. 【本章重点】线性规划问题. 【本章难点】线性规划问题、线性规划问题解的性质、图解法. 【授课内容】 本章简要介绍数学建模的基本概念、方法、步骤,并以几个典型线性规划问题为例,介绍构建数学模型的方法及其解的性质。 §1 数学建模概述 一、数学建模 数学建模是构造刻划客观事物原型的数学模型并用以分析、研究和解决实际问题的一种科学方法。运用这种科学方法,必须从实际问题出发,遵循从实践到认识再实践的认识规律,围绕建模的目的,运用观察力、想象力的抽象概括能力,对实际问题进行抽象、简化,反复探索,逐步完善,直到构造出一个能够用于分析、研究和解决实际问题的数学模型。因此,数学建模是一种定量解决实际问题的创新过程。 二、数学模型的概念 模型是人们对所研究的客观事物有关属性的模拟。例如在力学中描述力、 量和加速度之间关系的牛顿第二定律F=ma就是一个典型的(数学)模型。一般地,可以给数学模型下这样的定义:数学模型是磁于以部分现实世界为一定目的而做的抽象、简化的数学结构。 通俗而言,数学模型是为了一定目的对原型所作的一种抽象模拟,它用数学 式子,数学符号以及程序、图表等描述客观事物的本质特征与内在联系。 三建立数学模型的方法和步骤 建立数学模型没有固定模式。下面介绍一下建立模型的大体过程: 1.建模准备 建模准备是确立建模课题的过程。这类课题是人们在生产和科研中为了使 认识和实践过一步发展必须解决的问题。因此,我们首先要发现这类需要解决的实际问题。其次要弄清所解决问题的目的要求并着手收集数据。进行建模筹划,组织必要的人力、物力等,确立建模课题。 2.模型假设 作为建模课题的实际问题都是错综复杂的、具体的。如果不对这些实际问题进行抽象简化,人们就无法准确把握它的本质属性,而模型假设就是根据建模的目的对原型进行抽象、简化,抓住反映问题本质属性的主要因素,简化掉那些非本质的

LINGO线性规划及其灵敏度分析

线性规划问题及灵敏度分析在LINGO软件中的实现 一、问题的提出: 某公司饲养实验用的动物以出售给动物研究所,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g,矿物质3g,维生素8mg,该公司能买到5种不同的饲料,每种饲料1kg所含各种营养成分和成本如下表所示,如果每个小动物每周食用饲料不超过52kg,才能满足动物生长需要。 问题: 1.求使得总成本最低的饲料配方? 2.如果另一个动物研究对蛋白质的营养要求变为59单位,但是要求动物的价格比现在的价格便宜0.3元,问该养殖所值不值得接受? 3.由于市场因素的影响,X2的价格降为0.6元每千克,问是否要改变饲料配方? 二、建立线性规划数学模型 解答: (1)设需要饲料A1, A2, A3, A4分别为X1, X2, X3, X4kg,则建立线性规划数学模型如下: 目标函数:MinS=0.2X1+0.7X2+0.4X3+0.3X4+0.5X5 约束条件:0.3X1+2X2+X3+0.6X4+1.8X5>=60 0.1X1+0.05X2+0.02X3+0.2X4+0.05X5>=3 005X1+0.1X2+0.02X3+0.2X4+0.08X5>=8

X1+X2+X3+X4+X5<=52 X1, X2, X3, X4, X5>=0 三、在LINGO软件中的求解 在LINGO中输入下面的命令: Model: Min=0.2*x1+0.7*x2+0.4*x3+0.3*x4+0.5*x5; 0.3*x1+2*x2+x3+0.6*x4+1.8*x5>60; 0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x5>3; 0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x5>8; x1+x2+x3+x4+x5<52; end 操作:选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGO Error Message”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help).改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGO Solver Status”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,屏幕上出现标题为“Solution Report”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果. 输出结果如下: Global optimal solution found at iteration: 4 Objective value: 22.40000 Variable Value Reduced Cost X1 0.000000 0.7000000 X2 12.00000 0.000000 X3 0.000000 0.6166667 X4 30.00000 0.000000 X5 10.00000 0.000000

数学建模线性规划论文1

红十字会善款投资优化设计 摘要 作为慈善机构,某省红十字会为救助四川灾区患病儿童,打算将救灾的剩余善款存入银行或购买国库券,为了充分利用这笔善款,必须要做出合理的分配方案来提高每年的救助金额,并且保证在n年末仍保留原有善款数额,才能最大限度使用剩余善款。 为了给红十字会提供一种最优方案,本文本着为红十字会设计一种能最大限度使用善款存款本息且n年末仍保留原有善款数额的原则,以n年内用于存款或购买国库券的利息额之和的最大值为目标函数,运用线性规划的相关知识,并通过LINGO软件对模型进行求解,递出了一种符合题目要求的最优分配方案。 关键词:线性规划,LINGO软件

某省红十字会打算将四川特大地震后全国人民捐款救灾的剩余善款存入银行或购买国库券。 红十字会计划在n年内用此剩余善款的部分本息救助患病儿童,并使每年的救助金额大致相同,且在n年内仍保留原有善款数额。 通过设计最佳的使用方案,提高每年的救助金额,帮助红十字会在如下情况下,设计这笔剩余善款的使用方案,并对5000 n=年给出具体结果。 M=万元,10 (1)只在银行存款而不购买国库券; (2)既可存款也可以购买国库券; (3)红十字会在剩余的善款到位后的第三年要举行成立30周年庆典,红十字会希望这一年的救助金额比其他年度多20%。 二、模型的假设 1、假设存款期间不出现紧急用钱的情况,只有在每年的最后一天,才从银行中取出钱用于捐款,且在整个存款周期中银行利率不变; 2、假设存款的银行采用单利的形式进行利息的结算; 3、假设每次使用于救助的金额都为投资所获得的利息,即用于各种投资类型的本金金额不变,然后再次将用于原投资类型的本金金额继续该种投资方式; 4、假设每年的救助金额大致相同; 5、红十字会在n年内的各种开支忽略不记; 6、假设投资不出现亏损状况。 三、符号的说明

相关主题
文本预览
相关文档 最新文档