1、运筹学实验报告解析实验一.简单线性规划模型的求解与Lingo软件的初步使用一. 实验目的:了解Lingo软件的基本功能和简单线性规划模型的求解的输入和输出结果。二. 实验内容:1. 在Lingo中求解教材P55习题2.2(1)的线性规划数学模型;2. 用Lingo求解教材P52例12的数学模型。3. 建立教材P57习题2.9的数学模型并用Lingo求解。三. 实验要求:1. 给出所求解问题的数学模型;2. 给出Lingo中的输入并求解;3. 指出Solution Report中输出的三个主要部分的结果;4. 能给出最优解和最优值;5. 指出第3小题中哪些约束是取等式和哪些约束取不等式。四. 写
2、出实验报告:1.该问题的数学模型如下,min z=-3x1+4x2-2x3+5x4;4x1-x2+2x3-x4=-2;x1+x2+3x3-x414;-2x1+3x2-x3+2x42;x1,x2,x30,x4无约束;Lingo中的代码如下, 求解可得解报告,Solution Report中输出的三个主要部分的结果如下, Variable Value X1 0.000000 X2 8.000000 X3 0.000000 X4 -6.000000 Row Slack or Surplus Dual Price 1 2.000000 -1.000000 2 0.000000 4.500000 3 0
3、.000000 0.5000000 4 10.00000 0.000000故最优解为x1=0,x2=8,x3=0,x4=-6,最优值为2。2.该问题Lingo中的代码如下,min =150*(x1+x2+x3)+80*(y1+y2+y3);500*x1=5000;1000*x1+500*x2=9000;1500*x1+1000*x2+500*x3=12000;2000*x1+1500*x2+1000*x3+500*y1=16000;2500*x1+2000*x2+1500*x3+1000*y1+500*y2=18500;3000*x1+2500*x2+2000*x3+1500*y1+1000*
4、y2+500*y3=21500;3500*x1+3000*x2+2500*x3+2000*y1+1500*y2+1000*y3=25500;4000*x1+3500*x2+3000*x3+2500*y1+2000*y2+1500*y3=30000;4000*x1+4000*x2+3500*x3+2500*y1+2500*y2+2000*y3=36000;2000*x1+1500*x2+1000*x3+500*y1=12000;3500*x1+3000*x2+2500*x3+2000*y1+1500*y2+1000*y3=21500;x1+x2+x3+y1+y2+y3=60 x1+x2=70 x
5、2+x3=60 x3+x4=50 x4+x5=20 x5+x6=30xi=0,xi为整数,i=1,2,,7.Lingo中的代码如下,Min=x1+x2+x3+x4+x5+x6;x6+x1=60;x1+x2=70;x2+x3=60;x3+x4=50;x4+x5=20;x5+x6=30;求解可得解报告,Global optimal solution found. Objective value: 150.0000 Infeasibilities: 0.000000 Total solver iterations: 4 Variable Value Reduced Cost X1 60.00000
6、0.000000 X2 10.00000 0.000000 X3 50.00000 0.000000 X4 0.000000 0.000000 X5 30.00000 0.000000 X6 0.000000 0.000000 Row Slack or Surplus Dual Price 1 150.0000 -1.000000 2 0.000000 0.000000 3 0.000000 -1.000000 4 0.000000 0.000000 5 0.000000 -1.000000 6 10.00000 0.000000 7 0.000000 -1.000000Solution Re
7、port中输出的三个主要部分的结果如下, Variable Value X1 60.00000 X2 10.00000 X3 50.00000 X4 0.000000 X5 30.00000 X6 0.000000 Row Slack or Surplus Dual Price 1 150.0000 -1.000000 2 0.000000 0.000000 3 0.000000 -1.000000 4 0.000000 0.000000 5 0.000000 -1.000000 6 10.00000 0.000000 7 0.000000 -1.000000故最优解为x1=60,x2=10,
8、x3=50,x4=0,x5=30.x6=0.最优值为150.实验二.简单运输问题数学模型的Lingo软件求解一.实验目的:熟悉运输问题的数学模型,掌握简单运输问题数学模型的Lingo软件求解的方法,掌握解报告的内容。二.实验内容:1.用Lingo求解教材P94例1;2.如果将销地B2的需要量改为10吨,其余不变,重新求解;3.如果在例1中产地3的产量改为8,其余不变,重新求解。三.实验要求:1.写出数学模型;2.在Lingo中输入求解的程序;3.求解得到解报告;4.写出最优解和最优值;四.写出实验报告:1.其数学模型为:min=3x11+11x12+3x13+10x14+x21+9x22+2x
9、23+8x24+7x31+4x32+10x33+5x34;x11+ x12+ x13+ x14 = 7;x21+ x22+ x23+ x24 = 4;x31+ x32+ x33+ x34 = 9;x11+ x21+ x31= 3;x12+ x22+ x32 = 6;x13+ x23+ x33 = 5;x14+ x24+ x34 = 6;其编程为:model:sets:As/A1.A3/:a;Bs/B1.B4/:b;links(As,Bs):c,x;endsetsmin=sum(links(I,J):C(I,J)*x(I,J);for(As(I):sum(Bs(J):x(I,J)=a(I);fo
10、r(Bs(J):sum(As(I):x(I,J)=B(J);data:a=7 4 9;b=3 6 5 6;c=3 11 3 10 1 9 2 8 7 4 10 5;enddataend其可行解报告为,Global optimal solution found. Objective value: 85.00000 Infeasibilities: 0.000000 Total solver iterations: 7 Variable Value Reduced Cost X( A1, B1) 0.000000 0.000000 X( A1, B2) 0.000000 2.000000 X( A
11、1, B3) 5.000000 0.000000 X( A1, B4) 2.000000 0.000000 X( A2, B1) 3.000000 0.000000 X( A2, B2) 0.000000 2.000000 X( A2, B3) 0.000000 1.000000 X( A2, B4) 1.000000 0.000000 X( A3, B1) 0.000000 9.000000 X( A3, B2) 6.000000 0.000000 X( A3, B3) 0.000000 12.00000 X( A3, B4) 3.000000 0.000000 Row Slack or S
12、urplus Dual Price 1 85.00000 -1.000000 2 0.000000 -3.000000 3 0.000000 -1.000000 4 0.000000 2.000000 5 0.000000 0.000000 6 0.000000 -6.000000 7 0.000000 0.000000 8 0.000000 -7.000000故总运费最小为85元。2. 将销地B2的需要量改为10吨,其余不变,其编程为,model:sets:As/A1.A3/:a;Bs/B1.B4/:b;links(As,Bs):c,x;endsetsmin=sum(links(I,J):C
13、(I,J)*x(I,J);for(As(I):sum(Bs(J):x(I,J)=a(I);for(Bs(J):sum(As(I):x(I,J)a(I);for(Bs(J):sum(As(I):x(I,J)=b(J);data:a=7 4 8;b=3 6 5 6;c=3 11 3 10 1 9 2 8 7 4 10 5;enddataend其可行解报告为,Global optimal solution found. Objective value: 85.00000 Infeasibilities: 0.000000 Total solver iterations: 8 Variable Val
14、ue Reduced Cost X( A1, B1) 0.000000 0.000000 X( A1, B2) 0.000000 2.000000 X( A1, B3) 5.000000 0.000000 X( A1, B4) 2.000000 0.000000 X( A2, B1) 3.000000 0.000000 X( A2, B2) 0.000000 2.000000 X( A2, B3) 0.000000 1.000000 X( A2, B4) 1.000000 0.000000 X( A3, B1) 0.000000 9.000000 X( A3, B2) 6.000000 0.0
15、00000 X( A3, B3) 0.000000 12.00000 X( A3, B4) 3.000000 0.000000 Row Slack or Surplus Dual Price 1 85.00000 -1.000000 2 0.000000 -5.000000 3 0.000000 -3.000000 4 1.000000 0.000000 5 0.000000 2.000000 6 0.000000 -4.000000 7 0.000000 2.000000 8 0.000000 -5.000000故总运费最小为85元。实验三.大型线性规划模型的求解与编程一.实验目的:掌握求解
16、大型线性规划模型Lingo软件的编程的基本方法。二.实验内容:1. 在Lingo中编程求解教材P55习题2.2(1)的线性规划数学模型;2. 用Lingo编程求解教材P52例12的数学模型。3. 建立教材P57习题2.9的数学模型并用Lingo编程求解。三.实验要求:1.给出所求解问题的数学模型;2.给出Lingo中的编程程序;3.能给出最优解和最优值;4.指出哪些约束是取等式和哪些约束取不等式。四. 写出实验报告:1.该线性规划的数学模型为: min z=-3x1+4x2-2x3+5x4;4x1-x2+2x3-x4=-2;x1+x2+3x3-x414;-2x1+3x2-x3+2x42;x1,
17、x2,x30,x4无约束;其编程为:sets:is/1.3/:b;js/1.4/:c,x;links(is,js):a;endsetsmin=sum(js(J):c(J)*x(J);sum(js(J):a(1,J)*x(J)=b(1);sum(js(J):a(2,J)*x(J)=b(3);free(x(4);data:c=-3 4 -2 5;b=-2 14 2;a= 4 -1 2 -1 1 1 3 -1 -2 3 -1 2;end dataend其可行解报告为:故最优解为x1=0,x2=8,x3=0,x4=-6,最优值为2.其中第一个约束条件为等式,第二个约束条件和第三个约束条件为不等式。2该
18、线性规划的数学模型为:Min z=0x1+0.1x2+0.2x3+0.3x4+0.8x5;x1+2x2+x4=100;2x3+2x4+x5=100;3x1+x2+2x3+3x5=100;x1,x2,x3,x4,x5=0;其编程为:sets:is/1.3/:b;js/1.5/:c,x;links(is,js):a;endsetsmin=sum(js(J):c(J)*x(J);for(is(I):sum(js(J):a(I,J)*x(J)=b(I);data:c=0 0.1 0.2 0.3 0.8;b=100 100 100;a= 1 2 0 1 0 0 0 2 2 1 3 1 2 0 3;end
19、 dataend其可行解报告为:Global optimal solution found. Objective value: 16.00000 Infeasibilities: 0.000000 Total solver iterations: 4Variable Value Reduced Cost X( 1) 30.00000 0.000000 X( 2) 10.00000 0.000000 X( 3) 0.000000 0.000000 X( 4) 50.00000 0.000000 X( 5) 0.000000 0.7400000 Row Slack or Surplus Dual
20、Price 1 16.00000 -1.000000 2 0.000000 -0.6000000E-01 3 0.000000 -0.1200000 4 0.000000 0.2000000E-01故最优解为x1=30,x2=10,x3=0,x4=50,x5=0,最优值为16.3.该问题的数学模型如下,设从班次i开始上班的人数为xi,i=1,2,6. Min z=x1+x2+x3+x4+x5+x6 x6+x1=60 x1+x2=70 x2+x3=60 x3+x4=50 x4+x5=20 x5+x6=30xi=0,xi为整数,i=1,2,,7.其编程为,!Min=x1+x2+x3+x4+x5+x
21、6;x6+x1=60;x1+x2=70;x2+x3=60;x3+x4=50;x4+x5=20;x5+x6=30;sets:is/1.6/:b;js/1.6/:c,x;links(is,js):a;endsetsmin=sum(js(J):c(J)*x(J);for(is(I):sum(js(J):a(I,J)*x(J)=b(I);data:c=1 1 1 1 1 1;b=60 70 60 50 20 30;a=1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1;end dataend其可行解报告为,Gl
22、obal optimal solution found. Objective value: 150.0000 Infeasibilities: 0.000000 Total solver iterations: 4 Variable Value Reduced Cost X( 1) 60.00000 0.000000 X( 2) 10.00000 0.000000 X( 3) 50.00000 0.000000 X( 4) 0.000000 0.000000 X( 5) 30.00000 0.000000 X( 6) 0.000000 0.000000 Row Slack or Surplus Dual Price 1 150.0000 -1.000000 2 0.000000 0.000000 3 0.000000 -1.000000 4 0.000000 0.000000 5 0.000000 -1.000000 6 10.00000 0.0000