Lingo例子(学生版)

Lingo例子(学生版)
Lingo例子(学生版)

Lingo实验例子

(例子来源:《运筹学教程》(第三版)胡运权主编清华大学出版社2007年第三版) 一、线性规划及单纯形法、灵敏度分析

例1 P28页例5 Lingo程序:

max=2*x1+x2;

5*x2<=15;

6*x1+2*x2<=24;

x1+x2<=5;

例2 P44页习题1.7(1)Lingo程序:model:

max=2*x1-x2+2*x3;

x1+x2+x3>=6;

-2*x1+x3>=2;

2*x2-x3>=0;

end

其余课本上的例题和习题同学们自己动手编写程序并进行调试运行,分析运行结果。二、运输问题

例3 P82页例1 Lingo程序:

model:

sets:

gy/g1..g3/:ai;

xs/x1..x4/:dj;

link(gy,xs):c,x;

endsets

data:

ai=16,10,22; dj=8,14,12,14;

c=4,12,4,11

2,10,3,9

8,5,11,6;

enddata

min=@sum(link(i,j):c(i,j)*x(i,j) );

@for(gy(i):@sum(xs(j):x(i,j))=ai (i));

@for(xs(j):@sum(gy(i):x(i,j))=dj (j));

end

例4 P98页例5(转运)Lingo程序:model:

sets:

plant/x1..x5/:produce; customer/y1..y5/:require;

link(plant,customer):c,x; endsets

data:

produce=60,90,50,50,50;

require=50,50,50,80,70;

c=-4,5,3,2,100

5,-1,2,100,4

3,2-3,5,5

2,100,5-3,6

100,4,5,6,-5;

enddata

min=@sum(link:c*x);

@for(plant(i):@sum(customer(j):x (i,j))=produce(i));

@for(customer(j):@sum(plant(i):x (i,j))=require(j));

end

三、目标规划

例5 P108页例2 Lingo程序:

第一种做法分三步来完成

第一步:考虑目标:min=

11

Pd-

model:

min=dminus1;

5*x1+10*x2<=60;

x1-2*x2+dminus1-dplus1=0;

4*x1+4*x2+dminus2-dplus2=36;

6*x1+8*x2+dminus3-dplus3=48; end

第二步:考虑目标:min=

1122

Pd P d

-+

+ model:

min=dminus1+dplus2;

5*x1+10*x2<=60;

x1-2*x2+dminus1-dplus1=0;

4*x1+4*x2+dminus2-dplus2=36;

6*x1+8*x2+dminus3-dplus3=48; end

第三步:考虑目标:min=

112233

Pd P d Pd

-+-

++

model:

min=dminus1+dplus2+dminus3;

5*x1+10*x2<=60;

x1-2*x2+dminus1-dplus1=0;

4*x1+4*x2+dminus2-dplus2=36;

6*x1+8*x2+dminus3-dplus3=48;

end

注意:如果想要在上述各步中进行灵敏度分析,只需按快捷键Ctrl+R就可以得到相应的结果

或者采用一个程序进行输值运算:

model:

sets:

level/1..3/:P,z,goal;

variable/1..2/:x;

h_con_num/1..1/:b;

s_con_num/1..3/:g,dplus,dminus; h_cons(h_con_num,variable):A;

s_cons(s_con_num,variable):C;

obj(level,s_con_num):wplus,wminu s;

endsets

data:

P=? ? ?;

goal=? ? 0;

b=60;

g=0 36 48;

A=5 10;

C=1 -2 4 4 6 8;

wplus=0 0 0

0 1 0

0 0 0;

wminus=1 0 0

0 0 0

0 0 1;

enddata

min=@sum(level:P*z);

@for(level(i):z(i)=@sum(s_con_nu m(j):wplus(i,j)*dplus(j))+@sum(s _con_num(j):wminus(i,j)*dminus(j ))); @for(h_con_num(i):@sum(variable( j):A(i,j)*x(j))<=b(i));

@for(s_con_num(i):@sum(variable( j):C(i,j)*x(j))+dminus(i)-dplus( i)=g(i));

@for(level(i)|i #lt#

@size(level):@bnd(0,z(i),goal(i) ));

end

例6 P110页例4 Lingo程序:

第一种做法分四步来完成

第一步:考虑目标:min=

11

Pd-

model:

min=dminus1;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

第二步:考虑目标:min=

1122

Pd P d

-+

+

model:

min=dminus1+dplus2;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

第三步:考虑目标:min= 112233

5

Pd P d P d

-+-

++

model:

min=dminus1+dplus2+5*dminus3+3*d minus4;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

第四步:考虑目标:min= 1122334

(53)

Pd P d P d d

-+--

+++

model:

min=dminus1+dplus2+5*dminus3+3*d minus4+dplus1;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

注:做到此步后已得到满意解,可不必再往下求解,因为此时第三级优先因子已不能完全满足。

如愿意继续求解,则程序如下:

model:

min=dminus1+dplus2+5*dminus3+3*d minus4+dplus1;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

同学们可以分析比较一下此结果与前面的结果有何差别。

注意:如果想要在上述各步中进行灵敏度分析,只需按快捷键Ctrl+R就可以得到相应的结果

或者采用一个程序进行输值运算:

model:

sets:

level/1..4/:P,z,goal;

variable/1..2/:x;

s_con_num/1..4/:g,dplus,dminus; s_cons(s_con_num,variable):C;

obj(level,s_con_num):wplus,wminu s;

endsets

data:

P=? ? ? ?;

goal=? ? ? 0;

g=6 9 4 2;

C=1 2 1 2 1 -2 0 1;

wplus=0 0 0 0

0 1 0 0 0 0 0 0

1 0 0 0;

wminus=1 0 0 0

0 0 0 0

0 0 5 3

0 0 0 0;

enddata

min=@sum(level:P*z);

@for(level(i):z(i)=@sum(s_con_nu m(j):wplus(i,j)*dplus(j))+@sum(s _con_num(j):wminus(i,j)*dminus(j )));

@for(s_con_num(i):@sum(variable( j):C(i,j)*x(j))+dminus(i)-dplus( i)=g(i));

@for(level(i)|i #lt#

@size(level):@bnd(0,z(i),goal(i) ));

end

例7 P115页例7(1)Lingo程序:

前三级部分:

model:

min=dminus1+dplus2+dplus1;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

四级优先因子全考虑:

model:

min=dminus1+dplus2+dplus1+5*dmin us3+3*dminus4;

x1+2*x2+dminus1-dplus1=6;

x1+2*x2+dminus2-dplus2=9;

x1-2*x2+dminus3-dplus3=4;

x2+dminus4-dplus4=2;

end

四、整数规划

(一)纯整数规划和一般01

规划

例8 P124页例1 Lingo程序:

model:

min=x1+x2+x3+x4+x5;

x1>=10;

x1+x2>=8;

x1+x2+x3>=9;

x1+x2+x3+x4>=11;

x2+x3+x4+x5>=13;

x3+x4+x5>=8;

x4+x5>=5;

x5>=3;

@gin(x1);

@gin(x2);

@gin(x3);

@gin(x4);

@gin(x5);

end

例9 P125页例3 Lingo程序:

model:

sets:

plant/x1..x4/:produce;

customer/y1..y4/:require;

link(plant,customer):c,x;

endsets

data:

produce=400,600,200,200;

require=350,400,300,150;

c=2,9,3,4

8,3,5,7

7,6,1,2

4,5,2,5;

enddata

min=@sum(link(i,j):c*x)+1200*y+1 500*(1-y);

@for(customer(j):@sum(plant(i):x (i,j))=require(j));

@for(plant(i)|i#le#2:@sum(custom er(j):x(i,j))=produce(i));

@for(plant(i)|i#eq#3:@sum(custom er(j):x(i,j))=produce(i)*y);

@for(plant(i)|i#eq#4:@sum(custom er(j):x(i,j))=produce(i)*(1-y)); @bin(y);

end

例10 P126页例4 Lingo程序:

model: max=x1+4*x2;

-2*x1+3*x2<=3;

x1+2*x2<=8;

@gin(x1);

@gin(x2);

end

例11 P129页例5 Lingo程序:model:

max=3*x1-x2;

3*x1-2*x2<=3;

5*x1+4*x2>=10;

2*x1+x2<=5;

@gin(x1);

@gin(x2);

end

例12 P132页例6 Lingo程序:

model:

max=x1+x2;

x1+9/14*x2<=51/14;

-2*x1+x2<=1/3;

@gin(x1);

@gin(x2);

end

例13 P137-138页例8 Lingo程序:model:

max=4*x1+5*x2+6*x3-100*y1-150*y2 -200*y3;

2*x1+4*x2+8*x3<=500;

2*x1+3*x2+4*x3<=300;

x1+2*x2+3*x3<=100;

x1<=100*y1;

x2<=50*y2;

x3<=34*y3;

@gin(x1);

@gin(x2);

@gin(x3);

@bin(y1);

@bin(y2);

end

例14 P141页例10 Lingo程序:model:

max=3*x1-2*x2+5*x3;

x1+2*x2-x3<=2;

x1+4*x2+x3<=4;

x1+x3<=3;

4*x2+x3<=6;

@bin(x1);

@bin(x2);

@bin(x3);

end

例15 P141页例11 Lingo程序:

model:

min=3*x1+7*x2-x3+x4;

2*x1-x2+x3-x4>=1;

x1-x2+6*x3+4*x4>=8;

5*x1+3*x2+x4>=5;

@bin(x1);

@bin(x2);

@bin(x3);

@bin(x4);

end

(二)指派问题

例16 P143页例12 Lingo程序:model:

sets:

builder/x1..x5/:produce;

shop/y1..y5/:require;

link(builder,shop):c,x;

endsets

data:

c=4,8,7,15,12

7,9,17,14,10

6,9,12,8,7

6,7,14,6,10

6,9,12,10,6;

enddata

min=@sum(link:c*x);

@for(builder(i):@sum(shop(j):x(i ,j))=1);

@for(shop(j):@sum(builder(i):x(i ,j))=1);

@for(link:@bin(x));

end

五、动态规划

例17 P192-193页例4 最短路线问题Lingo程序:

方法一用逆序解法

model: sets:

cities/A,B1,B2,C1,C2,C3,C4,D1,D2 ,D3,E1,E2,F/:FL; !定义13个城市; roads(cities,cities)/A,B1 A,B2

B1,C1 B1,C2 B1,C3 B2,C2 B2,C3 B2,C4 C1,D1 C1,D2 C2,D1 C2,D2 C3,D2 C3,D3 C4,D2 C4,D3 D1,E1 D1,E2 D2,E1 D2,E2 D3,E1 D3,E2 E1,F E2,F/:W,P; !定义哪些城市之间有路相连,W为里程,P用来存放最短的路径;

endsets

data:

W=4 5 2 3 6 8 7 7 5 8 4 5 3 4 8 4 3 5 6 2 1 3 4 3;

enddata

N=@size(cities); FL(N)=0; !终点的F 值为0;

@for(cities(i)|i #lt#

N:FL(i)=@min(roads(i,j):W(i,j)+F

L(j)));

!递推计算各城市F值;

!显然,如果P(i,j)=1,则点i到点n的最短路径的第一步是i-->j,否则就不是。由此,我们就可以方便地确定出最短路径;

@for(roads(i,j):P(i,j)=@if(FL(i) #eq# W(i,j)+FL(j),1,0));

end

方法二用顺序解法

model:

sets:

cities/A,B1,B2,C1,C2,C3,C4,D1,D2 ,D3,E1,E2,F/:FL; !定义13个地点; roads(cities,cities)/A,B1 A,B2

B1,C1 B1,C2 B1,C3 B2,C2 B2,C3 B2,C4 C1,D1 C1,D2 C2,D1 C2,D2 C3,D2 C3,D3 C4,D2 C4,D3 D1,E1 D1,E2 D2,E1 D2,E2 D3,E1 D3,E2 E1,F E2,F/:W,P; !定义哪些地点之间有路相连,W为距离(里程),P 用来存放最短的路径;

endsets

data:

W=4 5 2 3 6 8 7 7 5 8 4 5 3 4 8 4 3 5 6 2 1 3 4 3;

enddata

FL(1)=0; !起点的F值为0;

@for(cities(j)|j #gt#

1:FL(j)=@min(roads(i,j):W(i,j)+F

L(i)));

!递推计算各地点的F值;

!显然,如果P(i,j)=1,则起点到点j的最短路径的最后一步是i-->j,否则就不是。由此,我们就可以方便地确定出最短路径,最终的FL(F)就是最短距离;

@for(roads(i,j):P(i,j)=@if(FL(j) #eq# W(i,j)+FL(i),1,0));

end

方法三用01

变量法求解

model:

sets:

cities/A,B1,B2,C1,C2,C3,C4,D1,D2 ,D3,E1,E2,F/; !定义13个地点;

roads(cities,cities)/A,B1 A,B2

B1,C1 B1,C2 B1,C3 B2,C2 B2,C3 B2,C4 C1,D1 C1,D2 C2,D1 C2,D2 C3,D2 C3,D3 C4,D2 C4,D3 D1,E1 D1,E2 D2,E1 D2,E2 D3,E1 D3,E2 E1,F E2,F/:W,X; !定义哪些地点之间有路相连,W为距离(里程),X 用来存放最短的路径;

endsets

data:

W=4 5 2 3 6 8 7 7 5 8 4 5 3 4 8 4 3 5 6 2 1 3 4 3;

enddata

N=@size(cities);

min=@sum(roads:W*X); !目标函数表达式;

@for(cities(i)|i #gt# 1 #and# i #lt#

N:@sum(roads(i,j):X(i,j))=@sum(r oads(j,i):X(j,i)));

!递推计算各地点i(1

@sum(roads(i,j)|i #eq#

1:X(i,j))=1;

@sum(roads(i,j)|i #eq#

n:X(i,j))=1; !如果此行不去掉,即最后一个点终点n必定在最短路径中的表达式

X1n+X2n+...+Xnn=1 这个多余的条件不去掉的话,运行时会出现无可行解找到(Error Code:81

Error Text:

No feasible solution found.)和当前解可能不是最优解或非可行性解的提示(Error Code : 92

Error Text :

Warning:The current solution may be nonpotimal/infeasible for the current model.)

可以在此行前面加上!作为注释,使此行失效,相当于去掉了此行约束条件;

end

运筹学实验报告

吉林工程技术师范学院应用理学院 运筹学实验报告 专业: 班级: 姓名: 学号: 指导教师: 数学与应用数学专业 2015-12-18

实验目录 一、实验目的 (3) 二、实验要求 (3) 三、实验内容 (3) 1、线性规划 (3) 2、整数规划 (6) 3、非线性规划 (13) 4、动态规划 (114) 5、排队论 (19) 四、需用仪器设备 (26) 五、MATLAB优化工具箱使用方法简介 (26) 六、LINGO优化软件简介 (26) 七、实验总结 (27)

一、实验目的 1、会利用适当的方法建立相关实际问题的数学模型; 2、会用数学规划思想及方法解决实际问题; 3、会用排队论思想及方法解决实际问题; 4、会用决策论思想及方法解决实际问题; 5、掌握MATLAB、LINGO等数学软件的应用; 二、实验要求 1、七人一组每人至少完成一项实验内容; 2、每组上交一份实验报告; 3、每人进行1~2分钟实验演示; 4、实验成绩比例: 出勤:40% 课堂提问:20% 实验报告:30% 实验演示:10%。 三、实验内容 1、线性规划 例运筹学74页14题 Min z=-2x -x2 s.t. 2x1+5x2≤60 x1+x2≤18 3x1+x2≤44 X2≤10 X1,x2≥0

用matlab运行后得到以下结果: the program is with the linear programming Please input the constraints number of the linear programming m=6 m = 6 Please input the variant number of the linear programming n=2 n = 2 Please input cost array of the objective function c(n)_T=[-2,-1]' c = -2 -1 Please input the coefficient matrix of the constraints A(m,n)=[2,5;1,1;3,1;0,1;-1,0;0,-1] A = 2 5 1 1 3 1 0 1 -1 0 0 -1 Please input the resource array of the program b(m)_T=[60,18,44,10,0,0]' b =

lingo用法总结

ji例程1、 model: sets: quarters/1..4/:dem,rp,op,inv; endsets min=@sum(quarters:400*rp+450*op+20*inv); @for(quarters(i):rp<=40); @for(quarters(i)|i#gt#1: inv(i)=inv(i-1)+rp(i)+op(i)-dem(i);); inv(1)=10+rp(1)+op(1)-dem(1); data: dem=40 60 75 25; enddata end 例程2、 model: sets: quarters/1..4/:dem,rp,op,inv; endsets min=@sum(quarters:400*rp+450*op+20*inv); @for(quarters(i):rp<=40); @for(quarters(i)|i#gt#1: inv(i)=inv(i-1)+rp(i)+op(i)-dem(i);); inv(1)=a+rp(1)+op(1)-dem(1); data: dem=40 60 75 25; a=? enddata end ?LINGO总是根据“MAX=”或“MIN=”寻找目标函数,而除注释语句和TITLE语句外的其他语句都是约束条件,因此语句的顺序并不重要。 ?LINGO中函数一律需要以“@”开头 ?Lingo中的每个语句都以分号结尾 ?用LINGO解优化模型时已假定所有变量非负(除非用限定变量取值范围的函数@free或@sub或@slb另行说明)。 ?以感叹号开始的是说明语句(说明语句也需要以分号结束)) ?理解LINGO建模语言最重要的是理解集合(Set)及其属性(Attribute)的概念。 ?一般来说,LINGO中建立的优化模型可以由5个部分组成,或称为5“段” (SECTION): (1)集合段(SETS):以“ SETS:” 开始,“ENDSETS”结束,定义

运筹学实验报告1

运筹学实验报告(一) 实验要求:学会在Excel 软件中求解。 实验目的:通过小型线性规划模型的计算机求解方法。 熟练掌握并理解所学方法。 实验内容: 题目: 某昼夜服务的公交线路每天各时间区段内所需司机和乘务人员数如下; 设司机和乘务人员分别在各时间区段一开始上班,并连续工作八小时,问该公交线 路至少配备多少名司机和乘 务人员。列出这个问题的线 性规划模型。 解:设Xj 表示在第j 时间区段开始上班的司机和乘务人员数 班次 时间 所需人数 1 6:00-10:00 60 2 10:00-14:00 70 3 14:00-18:00 60 4 18:00-22:00 50 5 22:00-2:00 20 6 2:00-6:00 30

。 6-10 10-14 14-18 18-22 22-2 2-6 1 X1--- X1 2 X2--- X2 3 X3--- X3 4 X4--- X4 5 X5--- X5 6 X6 X6--- 60 70 60 50 20 30 所需人 数 Min z=x1+x2+x3+x4+x5+x6 St: x1+x6>=60 X1+x2>=70 X2+x3>=60 X3+x4>=50 X4+x5>=20 X5+x6>=30 Xj>=0,xj为整数, j=1,2,3,4,5,6

过程: 工作表[Book1]Sheet1 报告的建立: 2011-9-28 19:45:01 目标单元格(最小值) 单元格名字初值终值 $B$1 min 0 150 可变单元格 单元格名字初值终值 $B$3 x 0 45 $C$3 x 0 25 $D$3 x 0 35 $E$3 x 0 15 $F$3 x 0 15 $G$3 x 0 15 结果:最优解X=(45,25,35,15,15,15)T 目标函数值z=150 小结:1.计算机计算给规划问题的解答带来方便,让解答变得简洁;

lingo实验心得体会[工作范文]

lingo实验心得体会 篇一:LINGO软件学习入门实验报告 LINGO实验报告 一.实验目的 1、熟悉LINGO软件的使用方法、功能; 2、学会用LINGO软件求解一般的线性规划问题。 二.实验内容 1、求解线性规划: max z?x1?2x2 ?2x1?5x2?12 ??x1?2x2?8 ?x,x?0?12 2、求解线性规划: min z?20x1?10x2 ?5x1?4x2?24 ??2x1?5x2?5 ?x,x?0?12 3、假设现在一个计算机厂商要生产两种型号的PC:标准型和增强型,由于生产线和劳动力工作时间的约束,使得标准型PC最多生产100台。增强型PC最多生产120台;一共耗时劳动力时间不能超过160小时。已知每台标准型PC 可获利润$100,耗掉1小时劳动力工作时间;每台增强型PC 可获利润$150,耗掉2小时劳动力工作时间。请问:该如何

规划这两种计算机的生产量才能够使得最后获利最大? 三. 模型建立 1、求解线性规划: max z?x1?2x2 ?2x1?5x2?12 ??x 1?2x2?8 ??x1,x2?0 2、求解线性规划: min z?20x1?10x2 ?5x1?4x2?24 ?2x ?1?5x2?5 ?x1,x2?0 3、设生产标准型为x1台;生产增强型x2台,则可建立线性规划问题 数学模型为 max z?100x1?150x2 ??x1?100 ?x?120 ?2 ?x1?2x2?160

??x1,x2?0 四. 模型求解(含经调试后正确的源程序) 1、求解线性规划: model: max=x1+2*x2; 2*x1+5*x2>12; x1+2*x25; End 结果显示: 3、求解线性规划: model: mAX=100*x1+150*x2; x1+2*x2篇二:lingo上机实验报告 重庆交通大学 学生实验报告 实验课程名称专业综合实验Ⅰ 开课实验室交通运输工程实验教学中心 学院交通运输年级二年级专业班交通运输1班学生姓名学号631205020 开课时间20XX 至 20XX 学年第2学期 篇三:运筹学上机实践报告Southwestuniversityofscienceandtechnology

lingo操作介绍

1.2 菜单介绍 1.2.1 File 1 New 新建一个窗口, 当你执行这个命令时, 会出现如下对话框: 你可以在对话框中选择你想要建立的类型. 类型如下: 1)扩展名为(*.lg4) LG4格式是LINGO4.0的版本,是在Windows下最主要的储存文件格式, 这种格式支持字体格式, 自定义格式以及动态连接, LG4以二进制格式存储, 所以不能被其它的应用软件直接读取. 2)扩展名为(*.lng) LNG是捷便的存储方式,是4.0版本前的标准文件格式,为了与前版本的兼容,所以还一直在用,LNG文件是以ASCII形式存储的,所以能被支持文本文件的应用程序读取.该格式不支持多种字体. 3)扩展名为(*.ltd) LTD是数据文件, 可以从@FILE函数导入数据,@FILE函数只能读取文本文件,所以所有的LTD文件是以ASCII形式存储, 也不支持多种字体. 4)扩展名为(*.ltf) LTF是LINGO的调试文件格式, 也是以ASCII格式存储,能直接被LINGO的File|Take command执行. 2 Log Output 输出文本文件,可以将随后原输出到报告窗口的内容输出到文本中. 该命令与Maple 中的writeto命令非常相似. 在Maple中输入如下: > x:=sin(5.); writeto("c://maple.txt"); y:=x+1: print(x,y); print(x); > y; > writeto(terminal);

> y; 执行菜单中的Edit|Excute|Worksheet, 按钮,窗口重新显示如下: > x:=sin(5.); writeto("c://maple.txt"); y:=x+1: print(x,y); print(x); x:=-.9589242747 > y; > writeto(terminal); > y; 0.4010757253 而在C盘的maple.txt文件的内容为: -.9589242747, .0410757253 -.9589242747 .0410757253 从中可以知道,用了writeto(filename)命令以后把结果输出到filename 中. 直到碰到writeto(terminal)命令时,才重新在工作窗口中显示. 当你点击菜单File|Log Output时,系统出现保存对话框,系统就会将命令窗口中的输出结果保存到指定的文件中. 3 Import LINDO File 该命令是用来导入LINDO软件保存的LINDO文件(*.LTX)格式. 只要在LINGO中导入LINDO文件格式, LINGO系统自动将该文件转化为LINGO可执行语句. 1.2.2 Edit 1 Paste Function 用该命令可以在当前点插入LINGO的内部函数, 2 Select Fonts 设置字体类型, 字体大小,字体颜色. 1.2.3 LINGO 1 Solve 用solve命令对当前窗口中的模型求解, 该命令只对report script窗口起作用, 不能对数据窗口求解.

lingo实验报告 学习lingo心得

隆展实业发展有限公司产品生产计划的优化研究 问题分析 题目要求在不追加产值的情况下实现产值最大化,所以采用线性规划模型。 求解思路 首先指出本例中的一个错误:最后一张表——原材料的成本中 对AZ-1的成本计算有误,根据前几张表,AZ-1的成本应为96.0625 1、首先计算出每种产品的利润=出售价格-成本 例生产一件AZ-1的利润为350-96.0625=253.9375 经计算得下表 产品利润单位:元 2、由题得,公司目前所能提供的最大流动资金为36万元,且不准备追加投入,所以要求在调整后生产结构中,总的成本不得超过36万元。 3、考虑工人的工时问题 一条装配线可以装配多中零件,但每个零件要求工人的工时不同,总需求时间不得超过工人的每月的总工时。例如,在组装这项工作中,8个工人每月的总工时为2496小时, 而组装各个产品的需求时间分别为0.6,0.67,0.56,0.56,0.58,0.58。若另X1代表AZ-1的产量;X2代表BZ-1的产量;X3代表LZ-7的产量;X4代表RZ-7的产量;X5代表LR-8的产量;X6代表RZ-8的产量,则可列出不等式: 0.60*X1+0.67*X2+0.56*X3+0.56*X4+0.58*X5+0.58*X6<=2496 同理可得关于拉直及切断、剪板及折弯、焊接网胚及附件和焊接底盘工作所需工时的不等式4、题目中有提到在产品的销售方面LZ/RZ-8以其大载重量,结实坚固深得顾客的青睐,并希望能增加产量。所以解决方案中,希望RZ-8比原先的产量要多,相对的,其他产品的产量就要减少。

Lingo 程序 MAX=253.9375*X1+229.5*X2+292.5625*X3+306.5*X4+503.2125*X5+538.5*X6; 96.0625*X1+90.5000*X2+167.4375*X3+213.5000*X4+216.7875*X5+276.5000*X6<=360000; 0.60*X1+0.67*X2+0.56*X3+0.56*X4+0.58*X5+0.58*X6<=2496; 0.30*X1+0.31*X2+0.325*X3+0.34*X4+0.33*X5+0.35*X6<=624; 0.90*X1+0.90*X2+0.95*X3+1.00*X4+1.01*X5+1.05*X6<=1872; 1.30*X1+1.00*X2+1.25*X3+1.25*X4+1.35*X5+1.35*X6<=2496; 0.76*X1+0.76*X2+0.80*X3+0.82*X4+0.82*X5+0.85*X6<=1560; X6>=240; X5<=320; X4<=480; X3<=560; X2<=80; X1<=160; 结果分析 Global optimal solution found at iteration: 6 Objective value: 741998.8 Variable Value Reduced Cost X1 160.0000 0.000000 X2 80.00000 0.000000 X3 0.000000 33.53187 X4 0.000000 109.3038 X5 320.0000 0.000000 X6 969.3237 0.000000 Row Slack or Surplus Dual Price 1 741998.8 1.000000 2 0.000000 1.947559 3 1598.592 0.000000 4 106.3367 0.000000 5 315.0101 0.000000 6 467.4130 0.000000 7 291.2749 0.000000 8 729.3237 0.000000

运筹学实验报告

运筹学实验报告 专业: 班级:? 姓名:? ?学号: 指导教师: 数学与应用数学专业 2015—12—18 实验目录 一、实验目得?3 二、实验要求?3 三、实验内容..................................................................................................................... 3 1、线性规划?3 2、整数规划?6 3、非线性规划 (13) 4、动态规划........................................................................................................... 14 5、排队论?19 四、需用仪器设备........................................................................................................... 26 五、MATLAB优化工具箱使用方法简介 (26) 六、LINGO优化软件简介.......................................................................................... 26 七、实验总结?27

一、实验目得 1、会利用适当得方法建立相关实际问题得数学模型; 2、会用数学规划思想及方法解决实际问题; 3、会用排队论思想及方法解决实际问题; 4、会用决策论思想及方法解决实际问题; 5、掌握MATLAB、LINGO等数学软件得应用; 二、实验要求 1、七人一组每人至少完成一项实验内容; 2、每组上交一份实验报告; 3、每人进行1~2分钟实验演示; 4、实验成绩比例: 出勤:40% 课堂提问:20% 实验报告:30% 实验演示:10%. 三、实验内容 1、线性规划 例运筹学74页14题 Minz=—2x —x2 s、t、2x1+5x2≤60 x1+x2≤18 3x1+x2≤44 X2≤10 X1,x2≥0 用matlab运行后得到以下结果:

LINGO使用说明比较简单

Lingo介绍 Lingo是美国LINDO系统公司(Lindo Symtem Inc)开发的求解数学规划系列软件中的一个(其他软件为LINGDO,GINO,What’s Best等),它的主要功能是求解大型线性、非线性和整数规划问题,目前的版本是lingo11.0。 lingo分为Demo、solve suite、hyper、industrial、extended等六类不同版本,只有Demo版本是免费的,其他版本需要向LINDO系统公司(在中国的代理商)购买,Lingo的不同版本对模型的变量总数、非线性变量个数、整型变量个数和约束条件的数量做出不同的限制(其中extended版本无限制)。 Lingo的主要功能特色为: (1)既能求解线性规划,也有较强的求解非线性规划的能力; (2)输入模型简练直观; (3)运行速度快、计算能力强; (4)内置建模语言,提供几十种内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型; (5)将集合的概念引入编程语言,很容易将实际问题转换为Lingo语言; (6)能方便地与excel、数据库等其他软件交换数据。 学校图书馆40本《lingo和excel在数学建模中的应用》,袁新生、邵大宏、郁时炼主编,科学出版社

Lingo 程序设计简要说明 在数学建模中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。一般我们用LINGO 来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学习LINGO 的使用。LINGO 只是一个求解工具,我们主要的任务还是模型的建立! 当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。 示例:求解线性规划问题: max z=x1+x2+x3+x4+x5+x6+x7+x8 ???????????????≤≤≤≤≤≤269 + x88 + x72 + x66 + x55 + x47 + x38 + x28 + x1 6 15 6 + x8 7 + x7+ x65 + x54 + x44 + x34 + x25 + x15 444 + x86 + x77 + x68 + x58 + x45 + x32 + x27 + x14278 + x85 + x74 + x64 + x55 + x49 + x36 + x25 + x13389 + x84 + x75 + x62 + x57 + x46 + x35 + x28 + x1 2 154 + x8 3 + x79 + x66 + x55 + x45 + x3 4 + x27 + x1 求解这个模型的相应LINGO 程序代码如下: 程序一: max= x1+x2+x3+x4+x5+x6+x7+x8; x1 + 7*x2 + 4*x3 + 5*x4 + 5*x5 + 6*x6 + 9*x7 + 3*x8 + 415<=; 2*x1 + 8*x2 + 5*x3 + 6*x4 + 7*x5 + 2*x6 + 5*x7 + 4*x8 + 938<=; 3*x1 + 5*x2 + 6*x3 + 9*x4 + 5*x5 + 4*x6 + 4*x7 + 5*x8 + 827<=; 4*x1 + 7*x2 + 2*x3 + 5*x4 + 8*x5 + 8*x6 + 7*x7 + 6*x8 + 444<=; 5*x1 + 5*x2 + 4*x3 + 4*x4 + 4*x5 + 5*x6 + x7 + 7*x8 + 6 15<=; 6*x1 + 8*x2 + 8*x3 + 7*x4 + 5*x5 + 6*x6 + 2*x7 + 8*x8 + 926<=; 注:然后点击工具条上的按钮 即可。本模型的最优解为2.636364

运筹学实验报告-lingo软件的使用-习题代码

运筹学 实验报告 姓名: 学号: 班级:

相关问题说明: 一、实验性质和教学目的 本实验是运筹学课安排的上机操作实验。 目的在于了解、熟悉计算机Lingo软件在运筹学模型求解中的作用,激发学习兴趣,提高学习效果,增强自身的动手能力,提高实际应用能力。 二、实验基本要求 要求学生: 1. 实验前认真做好理论准备,仔细阅读实验指导书; 2. 遵从教师指导,认真完成实验任务,按时按质提交实验报告。 三、主要参考资料 1.LINGO软件 2. LINGO8.0及其在环境系统优化中的应用,大学,2005 3. 优化建模与LINDO/LINGO软件,清华大学,2005 4.运筹学编写组主编,运筹学(修订版),清华大学,1990 5.蓝伯雄主编,管理数学(下)—运筹学,清华大学,1997 6.胡运权主编,运筹学习题集(修订版),清华大学,1995 7.胡运权主编,运筹学教程(第二版),清华大学,2003

实验容 1、线性规划问题: ????? ? ?≥≤+≤+≤++=0 ,13119241171289..68max 2121212121x x x x x x x x t s x x z (1) 给出原始代码;(2) 计算结果(包括灵敏度分析,求解结果粘贴); (3) 回答下列问题(手写): a ) 最优解及最优目标函数值是多少; b ) 资源的对偶价格各为多少,并说明对偶价格的含义; c ) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少? d ) 对x 2的目标函数系数进行灵敏度分析; e ) 对第2个约束的约束右端项进行灵敏度分析; f ) 结合本题的结果解释“Reduced Cost ”的含义。 对偶价格就是说 约束方程右端变量增加1对目标函数值的影响 答案: (1)代码 max =8*x1+6*x2; 9*x1+8*x2<=12; 7*x1+11*x2<=24; 9*x1+11*x2<=13; x1>=0; x2>=0; (2)计算结果 Global optimal solution found. Objective value: 10.66667 Total solver iterations: 2 Variable Value Reduced Cost X1 1.333333 0.000000 X2 0.000000 1.111111 Row Slack or Surplus Dual Price 1 10.66667 1.000000 2 0.000000 0.8888889 3 14.66667 0.000000 4 1.000000 0.000000

LINGO的使用方法说明大全

LINGO的使用简介 LINGO软件是美国的LINGO系统公司开发的一套专门用于求解最优化问题的软件包.LINGO除了能够用于求解线性规划和二次规划外,还可以用于非线性规划求解、以及一些线性和非线性方程(组)的求解等.LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,即可以求解整数规划,而且执行速度快.LINGO是用来求解线性和非线性优化问题的简易工具.LINGO置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果.在这里仅简单介绍LINGO的使用方法. LINGO(Linear INteractive and General Optimizer )的基本含义是交互式的线性和通过优化求解器.它是美国芝加哥大学的 Linus Schrage 教授于1980年开发了一套用于求解最优化问题的工具包,后来经过完善成何扩充,并成立了LINDO系统公司.这套软件主要产品有:LINDO,LINGO,LINDO API和What’sBest.它们在求解最优化问题上,与同类软件相比有着绝对的优势.软件有演示版和正式版.正式版包括:求解包(solver suite)、高级版(super)、超级版(hyper)、工业版(industrial)、扩展版(extended).不同版本的LINGO对求解问题的规模有限制,如附表3-1所示. 附表3-1 不同版本LINGO对求解规模的限制 版本类型总变量数整数变量数非线性变量数约束数 演示版 300 30 30 150 求解包 500 50 50 250 高级版 2000 200 200 1000 超级版 8000 800 800 4000 工业版 32000 3200 32000 16000 扩展版无限无限无限无限 3.1 LINGO程序框架 LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络最优化问题和最大最小求解问题,以及排队论模型中最优化等问题. 一个LINGO程序一般会包括以下几个部分: (1) 集合段:集部分是LINGO模型的一个可选部分.在LINGO模型中使用集之前,必须在集部分事先定义.集部分以关键字“sets:”开始,以“endsets”结束.一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分.一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须先定义. (2) 数据段:在处理模型的数据时,需要为集部分定义的某些元素在LINGO求解模型之前为其指定

LINGO软件的使用

第十八章LINGO软件的使用 18.1 LINGO入门 18.1.1 LINGO软件的安装过程 点击LINGO9.0 for Windows安装文件,出现 点击“Next”按钮,出现 此时需要接受安装协议。系统安装时默认的目录是C:\LINGO9。安装完成前,会出现下图所示的对话框:

这个对话框询问你希望采用的默认的建模(即编程)语言,系统推荐的是采用LINGO语法,也就是选项“LINGO(recommended)”;你也可以选择“LINDO”将LINDO语法作为默认的设置。当然,安装后你也可以通过“LINGO|Options|File Format命令来修改默认的建模(即编程)语言。在上图中按下“OK”按钮,系统就会完成LINGO的安装过程。 18.1.2 LINGO基础知识 LINGO有两种命令格式:一种是常用的Windows模式,通过下拉式菜单命令驱动LINGO 运行,界面是图形式的,使用起来也比较方便;另一种是命令行(Command-Line)模式,仅在命令窗口(Command Window)下操作,通过输入行命令驱动LINGO运行。由于其使用字符方式输入,初学者往往不太容易掌握。在这里,我们主要介绍在菜单驱动模式下LINGO的使用方法。 LINGO 9.0软件比以前的版本有了很大的改进,功能大大增强,性能更加稳定,计算的结果更加可靠。LINGO软件不仅可用于求解非线性规划问题,还可以用以求解非线性整数规划问题;LINGO包含了内置的建模语言,模型中所需的数据可以以一定格式保存在独立的文件中;LINGO允许以简练、直观的方式描述较大规模的优化问题。 注:LIGDO公司目前已将LINDO软件从其产品中删除了。事实上,LINDO软件的所有功能(包括LINDO语法格式)都在LINGO中得到了支持。 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。状态行最左边显示的是“Ready”表示“准备就绪”;右下角显示的是当前时间,时间前面是当前光标的位置“Ln1,Col1”(即1行1列)。将来,用户可以用选项命令(LINGO|Options菜单命令)决定是否需要显示工具栏和状态行。在LINGO 模型窗口中,选择菜单命令“File|Open(F3)”,可以看到下图所示的标准的“打开文件”对话框,我们看到有各种不同的“文件类型”:

运筹学上机实验报告

学生实验报告 实验课程名称《运筹学》 开课实验室计算机中心第二机房 学院专业 学生姓名学号 开课时间2015 至2016 学年第二学期

实验一中小型线性规划模型的求解与Lingo软件的初步使用 一、实验目的 了解Lingo软件的基本功能和简单线性规划模型的求解的输入和输出结果。 二、实验内容 1.在Lingo中求解下面的线性规划数学模型: max z=2x1+3x2 x1+2x2≤8 4x1≤16 4x2≤12 x1, x2≥0 2.在Lingo中求解教材P55习题2.2(1)的线性规划数学模型; 3.建立教材P42例8的数学模型并用Lingo求解; 4.建立教材P57习题2.9的数学模型并用Lingo求解。 三、实验要求 1.给出所求解问题的数学模型; 2.给出Lingo中的输入; 3.能理解Solution Report中输出的四个部分的结果; 4.能给出最优解和最优值; 5.能理解哪些约束是取等式和哪些约束取不等式。 四、实验步骤 五、结论 1.该线性规划模型的目标函数值为14,该线性规划经过一次迭代求得最优解,有2个总决策变量,包括目标函数一共有4个约束,最优解的变量X1=4,X2=2 。

目标函数一共有4个约束,最优解的变量X1=0、x2=8、x3=0、x4=-6。 目标函数一共有4个约束,最优解的变量x1=4、x2=1、x3=9。

括目标函数一共有7个约束,最优解的变量x1=60、x2=10、x3=50、x4=0、x5=30、x6=0。

实验二中小型运输问题数学模型的Lingo软件求解 一、实验目的 熟悉运输问题的数学模型,掌握简单运输问题数学模型的Lingo软件求解的方法,掌握解报告的内容。 二、实验内容 用Lingo求解教材P94例1 三、实验要求 1.写出数学模型; 2.在Lingo中输入求解的程序; 3.求解得到解报告; 4.写出最优解和最优值; 四、实验步骤 五、结论 当x1到x12分别取(0,0,5,2,3,0,0,1,0,6,0,3)时,该数学模型取得最优解Z=85。

Lingo的基本应用

第十五章Lingo的基本应用1、LINDO和LINGO软件能求解的模型: 2、Lingo初级语法: 语句分行书写,顺序与数学模型一致; 每一条语句都要以“;”结尾; 语句不区分大小写,书写方式与代数函数相近; 目标函数以“min=”或者“max=”表示; 注释语句用“!”开头; “>”和“>=”以及“<”和“<=”没有区别; 如果不写明决策变量的取值范围,则默认为非负实数。 3、线性规划案例:生产计划 每天:50桶牛奶时间480小时至多加工100公斤A1 要求:制订生产计划,使每天获利最大 1)奶制品生产的Lingo模型 2)Lingo求解 2)Lingo求解报告

//结果报告(Solution Report) 4)开启灵敏度分析(Range)功能 5)查看灵敏度分析(Range) 必须先求解才能得到灵敏度分析报告 //目标函数系数范围分析 当目标函数中x1的系数(产品A1的收益)增加不超过8个单位或者减少不超过2.66667个单位时(x2系数维持不变),不需改变生产计划。 //约束条件右边值灵敏度分析

如果牛奶资源的数量增加不超过10桶或者减少不超过6.666667桶(其他模型参数不变),则它将仍然作为紧缺资源; 如果A1生产资源减少超过40个单位(其他模型参数不变),则它将转化为紧缺资源。 4、城市垃圾处理问题(最小吨*公里) 小区供水问题(最大供水收益) 代数式线性规划模型(垃圾运输) 代数式线性规划模型(小区供水)

5、如何表示具有下标的变量: 1)从C语言的类比来理解: 2)具有下标的变量可以看作某种数组变量中的元素; 3)除去下标后的符号可以看作是数组变量的名称; 4)下标可以看作是在数组中的索引值; 5)单下标变量对应于一个一维数组,称为“简单集合”; 6)多下标变量对应于一个多维数组,而多维数组可以看作是多个一维数组的笛卡尔积,称为“派生集合”。 6、Lingo中如何定义具有下标的变量? 1)在Lingo中使用“集合变量”的形式表达规划模型中具有下标的变量 2)定义集合变量需要三个基本要素: 集合的名称 集合的形式(简单集合还是派生集合?集合的元素个数是多少?) 集合变量的名称 7、定义简单集合的语法: 集合名称/下标范围/: 变量列表;(变量之间用“,”分隔) 例:brand/1..6/: a, b;(集合的名称是brand,/1..6/表示这种集合包含6个元素,下标的范围是从1到6,并且定义了两个这种集合形式的变量分别用a、b表示,该语句相当于定义了a1~a6以及b1~b6两组变量) 例:type/1..4/;(也可以只定义集合形式不定义集合变量) 8、定义派生集合的语法: 集合名称(分量集合列表): 变量列表; 1)分量集合列表分别对应于派生集合的每一个维度,定义了每一个维度分别属于哪一种简单集合 2)例:product(brand, type): p, x;(集合的名称是product,该集合的第一个维度与brand集合的类型相同,第二个维度与type 集合的类型相同,并且定义了两个集合变量p和x。如果根据前面对brand和type的定义,product集合是一个6*4的二维派生集合,该语句相当于定义了p11~p64和x11~x64两组变量) 3)例:address(country, state, city)。 9、调用集合变量的语法: 1)变量名称(下标值)”的形式调用集合变量的指定元素:pi→p(i);xij→x(i,j); 例:p(4)、x(2,3)

运筹学实验报告一线性规划问题的计算机求解.docx

运筹学实验报告 实验课程:运筹学 实验日期: ________________ 任课教师:王挺 班级:11级应数二班 姓名:刘兴成 学号:020******* 一、实验名称:简单线性规划模型的求解与Lingo 软件的初步使用 二、 实验目的: 了解Lingo 软件的基本功能和简单线性规划模型的求解的输入和输岀结果。熟悉 Lingo 软件在运筹学模型求解中的作用,增强自身的动手能力,提高实际应用能力 三、 实验要求: 1、 熟悉Lingo 软件的用户环境,了解Lingo 软件的一般命令 2. 给出Lingo 中的输入,能理解Solution Report 中输出的四个部分的结果。 4、 能给出最优解和最优值; 5、 能给出实际问题的数学模型,并利用lingo 求岀最优解 四、报告正文(文挡,数据,模型,程序,图形): 1 ?在Lingo 中求解下而的线性规划数学模 型; max z = 2Xj + 5x 2 x x +x 3= 4 x 2+x 4= 3 Xj + 2X 2 +x 5 =8 x l9x 29x 3,x 49x s >Q =+ 2X (1) sJ.< max z X| <4 X 2<3 £ + 2X 2 < 8 >0 (1) model : max z = 2x { + 5x 2 x, <4 x 2 < 3 X] + 2X 2 < 8 ^,x >0 max z =Xj +3X 2 x x — 2X 2 < 4 -X] +x 2 <3 ■v p x 2>0 Objective value: 19.00000 Infeasibilities: 0.000000 Total solver iterations: 1 解: max=2*xl+5*x2; xl+x3=4; x2+x4=3; xl+2*x2+x5=8;

运筹学实验报告线性规划问题的灵敏度分析

运筹学实验报告 实验课程:运筹学实验日期: 任课教师:

No feasible solution found. Infeasibilities: 50.00000 Total solver iterations: 2 Variable Value Reduced Cost X1 -10.00000 0.000000 X2 60.00000 0.000000 Row Slack or Surplus Dual Price 1 60.00000 1.000000 2 0.000000 9.000000 3 -50.00000 0.000000 4 0.000000 -8.000000 因为原问题无最优解,所以对偶问题无可行解 2. Global optimal solution found. Objective value: 8.500000 Infeasibilities: 0.000000 Total solver iterations: 2 Variable Value Reduced Cost X1 3.500000 0.000000 X2 1.500000 0.000000 Row Slack or Surplus Dual Price 1 8.500000 1.000000 2 7.500000 0.000000 3 0.000000 0.2500000 4 0.000000 0.5000000

原问题与对偶问题都可以达到最优解,最优解为8.5。当y1.y2.y3分别取0,0.25.0.5时达到,当y1.y2.y3分别减少一个单位时最优解分别减少0.0.25.0.5

lingo基础操作

LINGO 使用教程 LINGO 是用来求解线性和非线性优化问题的简易工具。LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO 高效的求解器可快速求解并分析结果。 §1 LINGO 快速入门 当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都要在该窗口内编码实现。下面举两个例子。 例1.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; 然后点击工具条上的按钮 即可。 例1.2 使用LINGO 软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。

单 位销地 运 B1B2B3B4B5B6B7B8产量价 产地 A1 6 2 6 7 4 2 5 9 60 A2 4 9 5 3 8 5 8 2 55 A3 5 2 1 9 7 4 3 3 51 A4 7 6 7 3 9 2 7 1 43 A5 2 3 9 5 7 2 6 5 41 A6 5 5 2 2 8 1 4 3 52 销量35 37 22 32 41 32 43 38 model: !6发点8收点运输问题; sets: warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=@sum(links: cost*volume); !需求约束; @for(vendors(J): @sum(warehouses(I): volume(I,J))=demand(J)); !产量约束; @for(warehouses(I): @sum(vendors(J): volume(I,J))<=capacity(I)); !这里是数据; data: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 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 end 然后点击工具条上的按钮即可。 为了能够使用LINGO的强大功能,接着第二节的学习吧。 §2 LINGO中的集

运筹学实验报告

运筹与优化课内实验 检测 实验一:线性规划问题与对偶问题的建模与求解 一. 线性规划: 满足以下三个条件的称之为线性规划问题: (1)决策变量的取值是连续的,既可以为整数,也可以喂分数、小数或实数。 (2)目标函数是决策变量的线性函数。 (3)结束条件是含决策变量的线性等式或者不等式。 二.线性规划模型的形式: 2.1.一般形式 ()()1 1 max min .. ,1,2 ,001,2 ,n i i i n ij j i j j j z c x s t a x b i m x x j n ===≤≥==≥≤=∑∑() (2.1) 矩阵形式 ()()max min .. ,0T z c X s t AX b X =≤≥=≥≤(X 0) (2.2) 其中()T n x ,x ,x X 21=为决策向量,()T n c c c c ,,21=为目标函数的系数向量,

()T m b ,b ,b b 21=为常数向量,()n m ij a A ?=为系数矩阵。 2.2.标准形式 所谓线性规划问题的标准形式,是指目标函数要求min 所有约束条件都是等式约束,且所有决策定量都是非负的,即 1211221111221121122222112212min ()..0n n n n n n n m m mn n m n f x x x c x c x c x a x a x a x b a x a x a x b s t a x a x a x b x x x =++++++=?? +++=??? ?+++=??≥?,,,, , ,, , ,,, 三.原问题与对偶问题的表达形式和关系 在线性规划的对偶理论中,把如下线性规划形式称为原问题的标准形式 11221111221121122222112212min ()..0n n n n n n m m mn n m n f X c x c x c x a x a x a x b a x a x a x b s t a x a x a x b x x x =++ ++++≥?? +++≥??? ?+++≥??≥?, , ,, , ,,. 而把如下线性规划形式称为对偶问题的标准形式 11221111221121122222112212max ()..0n n m m m m n n mn m n m g Y b y b y b y a y a y a y c a y a y a y c s t a y a y a y c y y y =++ ++++≥?? +++≥??? ?+++≥??≥?, ,,, , ,,. 若用矩阵形式表示,则原问题和对偶问题分别可写成如下形式: 原问题 min ()..0f X CX AX b s t X =≥?? ≥?,,. 对偶问题 'max (),,..0. g Y Y b YA C s t Y =≤?? ≥? 原问题与对偶问题的关系见表

相关文档
最新文档