数学建模社区-数学中国
标题:
求问《Lingo和execl在数学建模中的应用》中的一个例题
[打印本页]
作者:
且生
时间:
2012-8-31 19:15
标题:
求问《Lingo和execl在数学建模中的应用》中的一个例题
《Lingo和execl在数学建模中的应用》41页下方那个生产计划安排问题if的例题,书上给的答案是13000,可以下程序运行得13051.6,难道我照着抄书上给的程序还出错了!!??
model:
max=5*x11+5*x12+5.6*x21+5.6*x22-f-g;
x11+x12<=500+x;
x21+x22<=800+y;
x11>=x21;
x12>=1.5*x22;
f=@if(x#le#500,4*x,@if(x#le#1000,500+3*x,1500+2*x));
g=@if(y#le#400,3.2*y,@if(y#le#800,240+2.6*y,880+1.8*y));
f+g<=7200;
x<=1650;
y<=1200;
x12+x22<=2000;
end
复制代码
作者:
秋leaves
时间:
2012-8-31 20:05
应该是结果取整了吧
作者:
且生
时间:
2012-8-31 21:04
秋leaves 发表于 2012-8-31 20:05
应该是结果取整了吧
可结果也好奇怪呐,x12和x22都是零,这…………
作者:
南瓜少爷
时间:
2013-4-30 17:20
当然以实际运算结果为准~
作者:
wujianjack2
时间:
2013-6-7 22:53
本帖最后由 wujianjack2 于 2013-7-3 23:49 编辑
其实你的目标函数和书上有点不一样呢!
代码:
MODEL:
MAX=5*X11+5*X21+5.6*X12+5.6*X22-F-G;
X11+X12<=500+X;
X21+X22<=800+Y;
X11>=X21;
X12>=1.5*X22;
F=@IF(X#LE#500,4*X,@IF(X#LE#1000,500+3*X,1500+2*X));
G=@IF(Y#LE#400,3.2*Y,@IF(Y#LE#800,240+2.6*Y,880+1.8*Y));
F+G<=7200;
X<=1650;Y<=1200;
X12+X22<2000;
END
结果:
Global optimal solution found.
Objective value: 13000.00
Objective bound: 13000.00
Infeasibilities: 0.8001070E-05
Extended solver steps: 1
Total solver iterations: 129
Variable Value Reduced Cost
X11 900.0000 0.000000
X21 900.0000 0.000000
X12 1200.000 0.000000
X22 800.0000 0.000000
F 4700.000 0.000000
G 2500.000 0.000000
X 1600.000 0.000000
Y 900.0000 0.000000
Row Slack or Surplus Dual Price
1 13000.00 1.000000
2 0.000000 5.263158
3 0.000000 4.736842
4 0.000000 -0.2631579
5 0.000000 -0.2105263
6 -0.8001070E-05 -2.631579
7 -0.5600749E-05 -2.631579
8 0.000000 1.631579
9 50.00000 0.000000
10 300.0000 0.000000
11 0.000000 0.5473684
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5