实验6-1 原油采购与加工——解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北大学《数学模型》实验实验报告
一、实验目的
学会利用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 (x11 x21) (x12 x22) c (x) x11x12500
x
x21 x221000
x 1500
x
x x
x
x x
x11, x12, x21, x22, x
变换为以下的非线性规划模型:
Max
z (x11 x21) (x12 x22)(10x18x2 6x3)
x11 x12500
x
x21 x221000
x
x x
x
x
x
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= *x11 + *x21 + *x12 + *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 (x11 x21) (x12 x22)(10x18x26x3)
x 11 x 12 500 x x 21 x 22 1000
x
x
x
x
x
x
x x 1 x 2 x 3
500 y 2 x 1 500 y 1 500 y 3 x 2 500 y 2 x 3 500
y 3
y 1 , y 2 , y 3 0或1 0 x 1 , x 2 , x 3 500
x 11, x 12 , x 21, x 22 , x 0
在模型窗口中输入以下编程语言:
MODEL:
MAX=*X11+*X21+*X12+*X22-10*X1-8*X2-6*X3;
X11+X12 X21+X22<1000; **X21>0; **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 ( x 11 x 21 ) ( x 12 x 22 ) c ( x ) x 11 x 12 500 x x 21 x 22 1000 x x x x x x x 11 , x 12 , x 21 , x 22 , x 0 z 1 y 1 , z 2 y 1 y 2 , z 3 y 2 y 3 , z 4 y 3 z 1 z 2 z 3 z 4 1, z k 0 ( k 1, 2, 3, 4) y 1 y 2 y 3 1, y k 0或1 ( k 1, 2, 3) x 500 z 2 1000 z 3 1500z 4 c ( x ) 5000 z 2 9000 z 3 12000z 4 在模型窗口中输入以下编程语言: model: max= *x11 + *x21 +*x12 + *x22 - (5000*z2 + 9000*z3 +12000*z4); x11+x12 < x + 500; x21+x22 < 1000; **x21>0; **x22>0; z1 z2