实验目的和要求[实验报告]
一、 实验目的和要求:目的:本实验目的熟悉LINGO软件开发环境,了解并熟练掌握LINGO语言的数学模型的结构,掌握并应用LINGO语言来解决线性规划问题的能力,并了解灵敏度分析的含义。要求:1、了解LINGO软件应用界面,熟悉使用菜单及工具条的功能; 2、使用LINGO完成例题验证; 3、使用LINGO完成线性规划问题与对偶线性规划问题求解,并分析解题结果;二、 实验内容: 1) 使用LINGO验证下列题目,并进行结果分析 MODEL: SETS: QUATERS/Q1,Q2,Q3,Q4/:TIME,DEM,RP,OP,INV; ENDSETS MIN=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 2)使用LINGO验证下列题目,并进行结果分析 MODEL: SETS: DAYS/D1,D2,D3,D4,D5,D6,D7/:RQMT,START; ENDSETS MIN=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; ENDDATA END 3) 使用LINGO求解实验一两道题目,并进行结果分析 min z =4*x1+4*x2+x3 s.t. x1+x2+x3<=2 2*x1+x2<=3 2*x1+x2+3*x3>=3 x1,x2,x3>=0 4)max z=3*x1+x2 s.t. x1+x2>=3 2*x1+x2<=4 x1+x2=3 x1,x2>=0 5)使用LINGO求解实验一两道题目,并进行结果分析 max z=3*x1+2*x2 2*x1+3*x2<=14.5 4*x1+x2<=16.5 x1,x2>=0 x1,x2为整数 三、实验过程 1、源程序 MODEL: SETS: QUATERS/Q1,Q2,Q3,Q4/:TIME,DEM,RP,OP,INV; ENDSETS MIN=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; ENDDATA END运行结果 Global optimal solution found. Objective value: 78450.00 Total 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.000000 RP( Q4) 25.00000 0.000000 OP( Q1) 0.000000 20.00000 OP( Q2) 10.00000 0.000000 OP( Q3) 35.00000 0.000000 OP( Q4) 0.000000 50.00000 INV( Q1) 10.00000 0.000000 INV( Q2) 0.000000 20.00000 INV( Q3) 0.000000 70.00000 INV( Q4) 0.000000 420.0000 行号 松弛或剩余值 对偶价格 1 78450.00 -1.000000 2 0.000000 30.00000 3 0.000000 50.00000 4 0.000000 50.00000 5 15.00000 0.000000 6 0.000000 450.0000 7 0.000000 0.000000 8 0.000000 450.0000 9 0.000000 430.0000 10 0.000000 400.0000 11 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,OP(Q2)=15,OP(Q3)=35,OP(Q4)=0,INV(Q1)=10,INV(Q2)=0,INV(Q3)=0,INV(Q4)=0 2、源程序 MODEL: SETS: DAYS/D1,D2,D3,D4,D5,D6,D7/:RQMT,START; ENDSETS MIN=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; ENDDATA END运行结果 Global optimal solution found. Objective value: 22.33333 Total solver iterations: 11 变量 函数值 目标函数减少量 RQMT( D1) 17.00000 0.000000 RQMT( D2) 13.00000 0.000000