nuaahappy 发表于 2010-6-9 15:29

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);

nuaahappy 发表于 2010-6-9 15:51

对不起,一激动发错了,应该是
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);

nuaahappy 发表于 2010-6-9 15:53

第一次发帖,出状况了
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);

linmatsas 发表于 2010-6-9 16:53

错误代码是什么啊?我运行怎么没有出错呢?运行结果如下:
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;这样子,还有就是变量设的有点乱…………

nuaahappy 发表于 2010-6-9 17:46

回复 linmatsas 的帖子

多谢啊~我第一次发错了,程序代码应该是三楼中的那段,可能那个不等式有问题
   

linmatsas 发表于 2010-6-9 22:59

回复 nuaahappy 的帖子
hehe~~~我就用的三楼代码~~~应该是不等式的问题~~总之我拿那个代码运行没有问题……

   

linmatsas 发表于 2010-6-9 23:00

哦……看来真用的一楼的…………

linmatsas 发表于 2010-6-9 23:00

好像又是三楼的了…………忘了…………一楼三楼好像…………

nuaahappy 发表于 2010-6-10 13:17

回复 linmatsas 的帖子
已经搞定了,是不等式的问题,这位老兄多谢了啦~

   

linmatsas 发表于 2010-6-10 13:27

回复 nuaahappy 的帖子

呵呵~~~互相帮助嘛~~~~~~
   
页: [1] 2
查看完整版本: help!!!!!