当前位置:文档之家› 实验目的和要求

实验目的和要求

一、实验目的和要求:目的:本实验目的熟悉LINGO软件开发环境,了解并熟练掌握LINGO语言的数学模型的结构,掌握并应用LINGO语言来解决线性规划问题的能力,并了解灵敏度分析的含义。

要求:1、了解LINGO软件应用界面,熟悉使用菜单及工具条的功能;2、使用LINGO完成例题验证;3、使用LINGO完成线性规划问题与对偶线性规划问题求解,并分析解题结果;二、实验内容:1) 使用LINGO验证下列题目,并进行结果分析MODEL:SETS:QUATERS/Q1,Q2,Q3,Q4/:TIME,DEM,RP,OP,INV;ENDSETSMIN=@SUM(QUATERS:400*RP+450*OP+20*INV);@FOR(QUATERS(I):RP(I)<=40);@FOR(QUATERS(I)|TIME(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;TIME=1,2,3,4;ENDDATAEND2)使用LINGO验证下列题目,并进行结果分析MODEL:SETS:DAYS/D1,D2,D3,D4,D5,D6,D7/:RQMT,START;ENDSETSMIN=@SUM(DAYS:START);@FOR(DAYS(I):@SUM(DAYS(J)|(J#GT#I+2#OR#(J#LE#I#AND#J#GT3I-5):START(J))>RQMT(I););DATA:RQMT=17,13,15,19,14,16,11;ENDDATAEND3) 使用LINGO求解实验一两道题目,并进行结果分析min z =4*x1+4*x2+x3s.t. x1+x2+x3<=22*x1+x2<=32*x1+x2+3*x3>=3x1,x2,x3>=04)max z=3*x1+x2s.t. x1+x2>=32*x1+x2<=4x1+x2=3x1,x2>=05)使用LINGO求解实验一两道题目,并进行结果分析max z=3*x1+2*x22*x1+3*x2<=14.54*x1+x2<=16.5x1,x2>=0x1,x2为整数三、实验过程1、源程序MODEL:SETS:QUATERS/Q1,Q2,Q3,Q4/:TIME,DEM,RP,OP,INV;ENDSETSMIN=@SUM(QUATERS:400*RP+450*OP+20*INV);@FOR(QUATERS(I):RP(I)<=40);@FOR(QUATERS(I)|TIME(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;TIME=1,2,3,4;ENDDATAEND运行结果Global optimal solution found.Objective value: 78450.00Total solver iterations: 2变量函数值目标函数减少量 TIME( Q1) 1.000000 0.000000 TIME( Q2) 2.000000 0.000000 TIME( Q3) 3.000000 0.000000 TIME( Q4) 4.000000 0.000000 DEM( Q1) 40.00000 0.000000 DEM( Q2) 60.00000 0.000000 DEM( Q3) 75.00000 0.000000 DEM( Q4) 25.00000 0.000000 RP( Q1) 40.00000 0.000000 RP( Q2) 40.00000 0.000000 RP( Q3) 40.00000 0.000000RP( Q4) 25.00000 0.000000OP( Q1) 0.000000 20.00000OP( Q2) 10.00000 0.000000OP( Q3) 35.00000 0.000000OP( Q4) 0.000000 50.00000INV( Q1) 10.00000 0.000000INV( Q2) 0.000000 20.00000INV( Q3) 0.000000 70.00000INV( Q4) 0.000000 420.0000行号松弛或剩余值对偶价格1 78450.00 -1.0000002 0.000000 30.000003 0.000000 50.000004 0.000000 50.000005 15.00000 0.0000006 0.000000 450.00007 0.000000 0.0000008 0.000000 450.00009 0.000000 430.000010 0.000000 400.000011 0.000000 0.000000结果分析:经过两次迭代,已经找到全局最优解,得到最小值78450.00,此时TIME(Q1)=1,TIME(Q2)=2,TIME(Q3)=3,TIME(Q4)=4,DEM(Q1)=40,DEM(Q2)=60,DEM (Q3)=75,DEM(Q4)=25,RP(Q1)=40,RP(Q2)=40,RP(Q3)=40,RP(Q4)=25,OP(Q1)=0,O P(Q2)=15,OP(Q3)=35,OP(Q4)=0,INV(Q1)=10,INV(Q2)=0,INV(Q3)=0,INV(Q4)=02、源程序MODEL:SETS:DAYS/D1,D2,D3,D4,D5,D6,D7/:RQMT,START;ENDSETSMIN=@SUM(DAYS:START);@FOR(DAYS(I):@SUM(DAYS(J)|(J#GT#I+2)#OR#(J#LE#I#AND#J#GT#I-5):START(J))>RQMT(I););DATA:RQMT=17,13,15,19,14,16,11;ENDDATAEND运行结果Global optimal solution found.Objective value: 22.33333Total solver iterations: 11变量函数值目标函数减少量RQMT( D1) 17.00000 0.000000RQMT( D2) 13.00000 0.000000RQMT( D3) 15.00000 0.000000RQMT( D4) 19.00000 0.000000RQMT( D5) 14.00000 0.000000RQMT( D6) 16.00000 0.000000RQMT( D7) 11.00000 0.000000START( D1) 6.000000 0.000000START( D2) 5.333333 0.000000START( D3) 0.000000 0.000000START( D4) 7.333333 0.000000START( D5) 0.000000 0.3333333START( D6) 3.333333 0.000000START( D7) 0.3333333 0.000000行号松弛或剩余值对偶价格1 22.33333 -1.0000002 0.000000 -0.33333333 2.000000 0.0000004 0.000000 -0.33333335 0.000000 -0.33333336 4.666667 0.0000007 0.000000 -0.33333338 0.000000 0.000000结果分析:经过11次迭代,已经找到全局最优解,最小值为22.33333,此时RQMT(D1)=17,RQMT(D2)=13,RQMT(D3)=15,RQMT(D4)=19,RQMT(D5)=14,RQMT(D6)= 16,RQMT(D7)=11,START(D1)=6,START(D2)=5.333333,START(D3)=0,START(D4)=7 .333333,START(D5)=0,START(D6)=3.333333,START(D7)=0.3333333、源程序MODEL:MIN=4*X1+4*X2+X3;X1+X2+X3<=2;2*X1+X2<=3;2*X1+X2+3*X3>=3;X1>=0;X2>=0;X3>=0;END运行结果Global optimal solution found.Objective value: 1.000000Total solver iterations: 1变量函数值目标函数减少量X1 0.000000 3.333333X2 0.000000 3.666667X3 1.000000 0.000000行号松弛或剩余值对偶价格1 1.000000 -1.0000002 1.000000 0.0000003 3.000000 0.0000004 0.000000 -0.33333335 0.000000 0.0000006 0.000000 0.0000007 1.000000 0.000000结果分析:经过一次迭代,已经找到全局最优解,最小值为1,此时x1=0,x2=0,x3=1 4、源程序MODEL:MAX=3*X1+X2;X1+X2>=3;2*X1+X2<=4;X1+X2=3;X1>=0;X2>=0;END运行结果:Global optimal solution found.Objective value: 5.000000Total solver iterations: 0变量函数值目标函数减少量X1 1.000000 0.000000X2 2.000000 0.000000行号松弛或剩余值对偶价格1 5.000000 1.0000002 0.000000 0.0000003 0.000000 2.0000004 0.000000 -1.0000005 1.000000 0.0000006 2.000000 0.000000结果分析:已经找到全局最优解,函数最大值为5,此时x1=1,x2=25、源程序MODEL:MAX=3*X1+2*X2;2*X1+3*X2<=14.5;4*X1+X2<=16.5;X1>=0;X2>=0;@GIN(X1);@GIN(X2);END运行结果:Global optimal solution found.Objective value: 13.00000Extended solver steps: 0Total solver iterations: 3变量函数值目标函数减少量X1 3.000000 -3.000000X2 2.000000 -2.000000行号松弛或剩余值对偶价格1 13.00000 1.0000002 2.500000 0.0000003 2.500000 0.0000004 3.000000 0.0000005 2.000000 0.000000结果分析:经过三次迭代,已经得到全局最优解,函数最大值为13,此时x1=3,x2=2四、思考题1、LINGO软件主要能解决哪些问题?主要用来解决将实际问题模型化后,在几条限制条件下,编程解决一些优化、规划问题,诸如最短路线问题、最少费用问题、分配问题(指派问题)、最小生成树问题、二次分配问题,,得出局部或全局最优解,经常构造0—1变量,解决实际中的整数规划问题,,还可以做灵敏度分析等等...2、使用LINGO编程与LINDO解决LP问题的区别?LINDO是一种专门用于求解数学规划问题的软件包。

相关主题