help!!!!!
各位xdjm们,我用lingo编的程序老是报错,但是如果把红色标记的数字改小(如100)就能得出结果了,有谁能帮我解决下啊,很紧急啊,不胜感谢!!!下面是程序:
model:
max=a1+a2+b1+b2+c1+c2+d1+d2;
38*a1+950*b1+7.8*c1+195*d1<=3537830-yu1;
35*a2+900*b2+7.2*c2+190*d2<=3537830-yu2;
yu1=1238*x1+1393*y1+1548*z1;
yu2=1518*x2+1651*y2+1783*z2;
a1+a2>=7500;
b1+b2>=3300;
c1+c2>=8000;
d1+d2>=1860;
31.2*x1+43.2*y1+55.2*z1>=0.098*a1+0.06*b1+0.0245*c1+0.015*d1;
8000*x1+10000*y1+12000*z1>=1.5*a1+15*b1+2.5*c1+50*d1;
31.2*x2+43.2*y2+55.2*z2>=0.098*a2+0.06*b2+0.0245*c2+0.015*d2;
8000*x2+10000*y2+12000*z2>=1.5*a2+15*b2+2.5*c2+50*d2;
@gin(x1);@gin(y1);@gin(z1);@gin(x2);@gin(y2);@gin(z2);
@gin(a1);@gin(b1);@gin(c1);@gin(d1);
@gin(a2);@gin(b2);@gin(c2);@gin(d2);
对不起,一激动发错了,应该是
model:
max=a1+a2+b1+b2+c1+c2+d1+d2;
38*a1+950*b1+7.8*c1+195*d1+35*a2+900*b2+7.2*c2+190*d2<=3537830-yu1-yu2;
yu1=1238*x1+1393*y1+1548*z1;
yu2=1518*x2+1651*y2+1783*z2;
a1+a2>=7500;
b1+b2>=3300;
c1+c2>=8000;
d1+d2>=1860;
31.2*x1+43.2*y1+55.2*z1>=0.098*a1+0.06*b1+0.0245*c1+0.015*d1;
8000*x1+10000*y1+12000*z1>=1.5*a1+15*b1+2.5*c1+50*d1;
31.2*x2+43.2*y2+55.2*z2>=0.098*a2+0.06*b2+0.0245*c2+0.015*d2;
8000*x2+10000*y2+12000*z2>=1.5*a2+15*b2+2.5*c2+50*d2;
@gin(x1);@gin(y1);@gin(z1);@gin(x2);@gin(y2);@gin(z2);
@gin(a1);@gin(b1);@gin(c1);@gin(d1);
@gin(a2);@gin(b2);@gin(c2);@gin(d2);
第一次发帖,出状况了
model:
max=a1+a2+b1+b2+c1+c2+d1+d2;
38*a1+950*b1+7.8*c1+195*d1+35*a2+900*b2+7.2*c2+190*d2<=3537830-yu1-yu2;
yu1=1238*x1+1393*y1+1548*z1;
yu2=1518*x2+1651*y2+1783*z2;
a1+a2>=7500;
b1+b2>=3300;
c1+c2>=8000;
d1+d2>=1860;
31.2*x1+43.2*y1+55.2*z1>=0.098*a1+0.06*b1+0.0245*c1+0.015*d1;
8000*x1+10000*y1+12000*z1>=1.5*a1+15*b1+2.5*c1+50*d1;
31.2*x2+43.2*y2+55.2*z2>=0.098*a2+0.06*b2+0.0245*c2+0.015*d2;
8000*x2+10000*y2+12000*z2>=1.5*a2+15*b2+2.5*c2+50*d2;
@gin(x1);@gin(y1);@gin(z1);@gin(x2);@gin(y2);@gin(z2);
@gin(a1);@gin(b1);@gin(c1);@gin(d1);
@gin(a2);@gin(b2);@gin(c2);@gin(d2);
错误代码是什么啊?我运行怎么没有出错呢?运行结果如下:
Global optimal solution found.
Objective value: 34941.00
Objective bound: 34941.00
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 14
Variable Value Reduced Cost
A1 0.000000 -1.000000
A2 0.000000 -1.000000
B1 0.000000 -1.000000
B2 3300.000 -1.000000
C1 0.000000 -1.000000
C2 29781.00 -1.000000
D1 0.000000 -1.000000
D2 1860.000 -1.000000
YU1 0.000000 0.000000
YU2 0.000000 0.000000
X1 0.000000 0.000000
Y1 0.000000 0.000000
Z1 0.000000 0.000000
YYU2 586745.0 0.000000
X2 158.0000 0.000000
Y2 114.0000 0.000000
Z2 89.00000 0.000000
DA1 7500.000 0.000000
Row Slack or Surplus Dual Price
1 34941.00 1.000000
2 6.800000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 21781.00 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
10 0.000000 0.000000
11 13811.67 0.000000
12 3255048. 0.000000
还有提点建议,程序后面要写 end
而且lingo内部运行线性条件比较快例如:
x+y<=0;这样子,还有就是变量设的有点乱…………
回复 linmatsas 的帖子
多谢啊~我第一次发错了,程序代码应该是三楼中的那段,可能那个不等式有问题
回复 nuaahappy 的帖子
hehe~~~我就用的三楼代码~~~应该是不等式的问题~~总之我拿那个代码运行没有问题……
哦……看来真用的一楼的………… 好像又是三楼的了…………忘了…………一楼三楼好像………… 回复 linmatsas 的帖子
已经搞定了,是不等式的问题,这位老兄多谢了啦~
回复 nuaahappy 的帖子
呵呵~~~互相帮助嘛~~~~~~
页:
[1]
2