河北大学《数学模型》实验 实验报告
一、实验目的
学会利用LINGO 进行实验,熟练掌握用LINGO 求解简单的非线性规划问题以及整数规划问题。
二、实验要求
1.原油采购与加工——解法1(非线性规划NLP ,用LINGO 求解)
1. 输入非线性规划模型(参考教材 p103)。
2.另存,文件扩展名为.lg4,用 LINGO 语法。
3. 运行,结果与 p103-104 的结果比较。
2.原油采购与加工——解法2(整数规划IP ,用LINGO 求解)
1. 输入整数规划模型(参考教材 p104)并运行。
2. 结果与 p106 的结果比较。
3.原油采购与加工——解法3(整数规划IP ,用LINDO 求解)
1. 输入整数规划模型并运行。
2. 结果与 p105 的结果比较。
三、实验内容
1.原油采购与加工——解法1(非线性规划NLP ,用LINGO 求解)
(参考教材 p104-106)
模型:
⎧ 10x (0 ≤ x ≤ 500) c (x ) = ⎪ (500 ≤ x ≤1000) 已知 ⎨1000 + 8x ⎪3000 + 6x (1000 ≤ x ≤1500)
⎩
Max z = 4.8(x 11 + x 21) + 5.6 (x 12 + x 22 ) - c (x )
x 11 + x 12 ≤ 500 + x
x 21 + x 22 ≤1000
x ≤1500
x 11 ≥ 0.5
x + x 21 11
x 12 ≥ 0.6
x + x
22
12
x11, x12, x21, x22, x ≥0
变换为以下的非线性规划模型:
Max z =4.8(x11+ x21)+5.6 (x12+ x22)-(10x1+8x2+6x3)
x11+ x12≤500+ x
x21+ x22≤1000
x
11
≥ 0.5
x + x
21
11
x
12
≥ 0.6
x + x
22
12
x = x1+ x2+ x3
(x1- 500)x2= 0 (x2- 500)x3= 0
0 ≤x1 , x2 , x3≤ 500
x11, x12, x21, x22, x ≥0
在模型窗口中输入以下模型:
1.Model:
2.Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - 10*x1 - 8*x2 - 6*x3;
3.x11+x12 < x + 500;
4.x21+x22 < 1000;
5.x11 - x21 > 0;
6.2*x12 - 3*x22 > 0;
7.x=x1+x2+x3;
8.(x1 - 500) * x2=0;
9.(x2 - 500) * x3=0;
10.x1 < 500;
11.x2 < 500;
12.x3 < 500;
13.end
2.原油采购与加工——解法2(整数规划IP,用LINGO求解)
(参考教材p106-107)
模型同实验 04-06。
变换为以下的整数规划模型:
Max z =4.8(x11+ x21)+5.6 (x12+ x22)-(10x1+8x2+6x3)
x11+ x12≤500+ x x21+ x22≤1000
x
11
≥ 0.5
x + x
11
21
x
12
≥ 0.6
x + x
22
12
x = x1+ x2+ x3
500 y2≤x1≤ 500 y1 500 y3≤x2≤ 500 y2x3≤500 y3
y1, y2, y3=0或10 ≤x1 , x2 , x3≤ 500
x11, x12, x21, x22, x ≥0
在模型窗口中输入以下编程语言:
MODEL:
MAX=4.8*X11+4.8*X21+5.6*X12+5.6*X22-10*X1-8*X2-6*X3;
X11+X12<X+500;
X21+X22<1000;
0.5*X11-0.5*X21>0;
0.4*X12-0.6*X22>0;
X=X1+X2+X3;
X1<500*Y1;
X2<500*Y2;
X3<500*Y3;
X1>500*Y2;
X2>500*Y3;
@BIN(Y1);@BIN(Y2);@BIN(Y3);
END
3.原油采购与加工——解法3(整数规划IP,用LINDO求解)
(参考教材p107-108)
模型同实验 04-06。
变换为以下的整数规划模型:
Max z =4.8( x11+ x21)+5.6 ( x12+ x22)- c ( x)
x11+ x12≤500+ x x21+ x22≤1000
x
11
≥ 0.5
x + x
11 21
x
12
≥ 0.6
x + x
12 22
x11, x12, x21, x22, x ≥0
z1≤ y1, z 2≤ y1+ y 2, z 3≤ y 2+ y3, z 4≤ y3 z1+ z 2+ z 3+ z 4=1, z k≥0 ( k =1, 2, 3, 4) y1+ y 2+ y3=1, y k =0或1 ( k =1, 2, 3)
x =500 z2+1000 z3+1500z4
c ( x )=5000 z 2+9000 z 3+12000z4
在模型窗口中输入以下编程语言:
model:
max= 4.8*x11 + 4.8*x21 +5.6*x12 + 5.6*x22 - (5000*z2 + 9000*z3 +12000*z4);
x11+x12 < x + 500;
x21+x22 < 1000;
0.5*x11-0.5*x21>0;
0.4*x12-0.6*x22>0;
z1<y1;
z2<y1+y2;
z3<y2+y3;
z4<y3;
z1+z2+z3+z4=1;
y1+y2+y3=1;
x=500*z2+1000*z3+1500*z4;
@bin(y1);
@bin(y2);
@bin(y3);
end
四、实验结果及其分析
选择LINGO->OPTIONS->GLOBAL SOLVER->勾选GLOBAL SOLVER,显示全局最优解。
1.原油采购与加工——解法1(非线性规划NLP,用LINGO求解)
Global optimal solution found.提示表明线性规划问题的最优解已经被找到。
Objective value: 5000表示线性规划问题的最优解是5000。
Total solver iterations: 368表明迭代的此时是368次。
Variable:对应的是变量,分别是x11,x21,x12,x22,x1,x2,x3,x。
Value:线性规划问题取得最优值是对应的最优解。
即x11=0,x21=0,x12=1500,x22=1000,x1=500,x2=499.998,x=1000。
2.原油采购与加工——解法2(整数规划IP,用LINGO求解)
Global optimal solution found.提示表明线性规划问题的最优解已经被找到。
Objective value: 5000表示线性规划问题的最优解是5000。
Total solver iterations: 12表明迭代的此时是12次。
Variable:对应的是变量,分别是x11,x21,x12,x22,x1,x2,x3,x,y1,y2,y3。
Value:线性规划问题取得最优值是对应的最优解。
即x11=0,x21=0,x21=1500,x22=1000,x1=500,x2=500,x3=0,x=1000,y1=1000,y2=1000,y3=0。
3.原油采购与加工——解法3(整数规划IP,用LINDO求解)
Global optimal solution found.提示表明线性规划问题的最优解已经被找到。
Objective value: 5000表示线性规划问题的最优解是5000。
Total solver iterations: 16表明迭代的此时是16次。
Variable:对应的是变量,分别是x11,x21,x12,x22,x,y1,y2,y3,z1,z2,z3,z4。
Value:线性规划问题取得最优值是对应的最优解。
即x11=0,x21=0,x21=1500,x22=1000,x=1000,y1=0,y2=1,y3=0,z1=0,z2=0,z3=1,z4=0。