童话王子 发表于 2015-5-21 22:25

第一次用lingo,求大神帮忙改错,写论文急用,已经纠结好多天了,谢谢了

各位大神,求帮忙查查错误,论文马上就要审查了,可是关键部分还是没有搞懂,第一次用lingo,看了好久都没看明白,现在很急用,我写的代码和原问题模型都在附件里了,求大神帮忙,谢谢了!

童话王子 发表于 2015-5-21 22:36

跪求各位大神了,最好告诉我哪错了 我好能学习下

欧阳嫦娥 发表于 2015-7-22 15:26

为什么下载你给的程序竟然还要扣体力

liwenhui 发表于 2015-7-23 10:54

欧阳嫦娥 发表于 2015-7-22 15:26 static/image/common/back.gif
为什么下载你给的程序竟然还要扣体力

论坛把每个附件都作为一种资源,获取资源就会付出一定成本。

liwenhui 发表于 2015-7-23 10:58

童话王子 发表于 2015-5-21 22:36 static/image/common/back.gif
跪求各位大神了,最好告诉我哪错了 我好能学习下

发现第一个@For有问题,这个for针对的集合是factory,但后面的@sum被要求小于的值p不属于集合factory,这样当运行到这里时候Lingo不知道你这个约束到底是什么意思。

liwenhui 发表于 2015-7-23 11:05

童话王子 发表于 2015-5-21 22:36 static/image/common/back.gif
跪求各位大神了,最好告诉我哪错了 我好能学习下

做了一个简单的更改,能求解到局部最优解。全局最优解我的LINGO求解不出。model:
sets:
factory/F1..F9/:d;
warhouse/C1..C5/:P,Q,E;
tr/tr1..tr5/:Z;
link1(factory,warhouse):S,X;
endsets
data:
d=1500 1400 2000 1430 1220 2210 1810 1130 1350;
P=12000 12000 21000 21000 12000;
Q=2133 1890 2928 2815 1854;
S=9.2 5.4 6.9 14.8 14.6 8.4 7.9 10.1 10.9
12.4 10.1 4.7 11.1 9.6 10.9 10.1 9.9 9.6
14.4 14.8 9.6 10.1 4.5 8.4 7.5 8.1 6.2
7.1 9.9 13.9 7.9 12.2 7.5 8.8 7.7 8.4
9.0 12.0 15.0 6.6 9.6 7.1 7.9 7.5 7.7;
b=0.0728;
a=100;
c=3;
E=11.6 7.5 8.8 15.6 15.2;
h=0.0612;
enddata
min=@sum(link1(i,j):b*(S(i,j)*X(i,j))*Z(j))+@sum(link1(i,j):a*(X(i,j)-Q(j))*Z(j))+@sum(link1(i,j):C*X(i,j)*Z(j))+@sum(warhouse(j):h*E(j)*Z(j));
@for(warhouse(j):@sum(factory(i):X(i,j))<P(j));
@for(factory(i):@sum(warhouse(j):X(i,j))=d(i));
@for(warhouse(j):9999*P(j)>@sum(link1(i,j):X(i,j)));
@for(warhouse(j):
@sum(tr(j):Z(j))<=3);
@for(tr(j):@bin(Z));
end结果显示如下:

  Local optimal solution found.
  Objective value:                             -9004142.
  Objective bound:                             -9004142.
  Infeasibilities:                              0.000000
  Extended solver steps:                               0
  Total solver iterations:                            29

  Model Class:                                     MINLP

  Total variables:                     50
  Nonlinear variables:                 50
  Integer variables:                    5

  Total constraints:                   25
  Nonlinear constraints:                1

  Total nonzeros:                     190
  Nonlinear nonzeros:                  50

                                                    Variable           Value
                                                           B       0.7280000E-01
                                                           A        100.0000
                                                           C        3.000000
                                                           H       0.6120000E-01
                                                      D( F1)        1500.000
                                                      D( F2)        1400.000
                                                      D( F3)        2000.000
                                                      D( F4)        1430.000
                                                      D( F5)        1220.000
                                                      D( F6)        2210.000
                                                      D( F7)        1810.000
                                                      D( F8)        1130.000
                                                      D( F9)        1350.000
                                                      P( C1)        12000.00
                                                      P( C2)        12000.00
                                                      P( C3)        21000.00
                                                      P( C4)        21000.00
                                                      P( C5)        12000.00
                                                      Q( C1)        2133.000
                                                      Q( C2)        1890.000
                                                      Q( C3)        2928.000
                                                      Q( C4)        2815.000
                                                      Q( C5)        1854.000
                                                      E( C1)        11.60000
                                                      E( C2)        7.500000
                                                      E( C3)        8.800000
                                                      E( C4)        15.60000
                                                      E( C5)        15.20000
                                                     Z( TR1)        1.000000
                                                     Z( TR2)        1.000000
                                                     Z( TR3)        1.000000
                                                     Z( TR4)        1.000000
                                                     Z( TR5)        1.000000
                                                  S( F1, C1)        9.200000
                                                  S( F1, C2)        5.400000
                                                  S( F1, C3)        6.900000
                                                  S( F1, C4)        14.80000
                                                  S( F1, C5)        14.60000
                                                  S( F2, C1)        8.400000
                                                  S( F2, C2)        7.900000
                                                  S( F2, C3)        10.10000
                                                  S( F2, C4)        10.90000
                                                  S( F2, C5)        12.40000
                                                  S( F3, C1)        10.10000
                                                  S( F3, C2)        4.700000
                                                  S( F3, C3)        11.10000
                                                  S( F3, C4)        9.600000
                                                  S( F3, C5)        10.90000
                                                  S( F4, C1)        10.10000
                                                  S( F4, C2)        9.900000
                                                  S( F4, C3)        9.600000
                                                  S( F4, C4)        14.40000
                                                  S( F4, C5)        14.80000
                                                  S( F5, C1)        9.600000
                                                  S( F5, C2)        10.10000
                                                  S( F5, C3)        4.500000
                                                  S( F5, C4)        8.400000
                                                  S( F5, C5)        7.500000
                                                  S( F6, C1)        8.100000
                                                  S( F6, C2)        6.200000
                                                  S( F6, C3)        7.100000
                                                  S( F6, C4)        9.900000
                                                  S( F6, C5)        13.90000
                                                  S( F7, C1)        7.900000
                                                  S( F7, C2)        12.20000
                                                  S( F7, C3)        7.500000
                                                  S( F7, C4)        8.800000
                                                  S( F7, C5)        7.700000
                                                  S( F8, C1)        8.400000
                                                  S( F8, C2)        9.000000
                                                  S( F8, C3)        12.00000
                                                  S( F8, C4)        15.00000
                                                  S( F8, C5)        6.600000
                                                  S( F9, C1)        9.600000
                                                  S( F9, C2)        7.100000
                                                  S( F9, C3)        7.900000
                                                  S( F9, C4)        7.500000
                                                  S( F9, C5)        7.700000
                                                  X( F1, C1)        0.000000
                                                  X( F1, C2)        1500.000
                                                  X( F1, C3)        0.000000
                                                  X( F1, C4)        0.000000
                                                  X( F1, C5)        0.000000
                                                  X( F2, C1)        0.000000
                                                  X( F2, C2)        1400.000
                                                  X( F2, C3)        0.000000
                                                  X( F2, C4)        0.000000
                                                  X( F2, C5)        0.000000
                                                  X( F3, C1)        0.000000
                                                  X( F3, C2)        2000.000
                                                  X( F3, C3)        0.000000
                                                  X( F3, C4)        0.000000
                                                  X( F3, C5)        0.000000
                                                  X( F4, C1)        0.000000
                                                  X( F4, C2)        0.000000
                                                  X( F4, C3)        1430.000
                                                  X( F4, C4)        0.000000
                                                  X( F4, C5)        0.000000
                                                  X( F5, C1)        0.000000
                                                  X( F5, C2)        0.000000
                                                  X( F5, C3)        1220.000
                                                  X( F5, C4)        0.000000
                                                  X( F5, C5)        0.000000
                                                  X( F6, C1)        0.000000
                                                  X( F6, C2)        2210.000
                                                  X( F6, C3)        0.000000
                                                  X( F6, C4)        0.000000
                                                  X( F6, C5)        0.000000
                                                  X( F7, C1)        0.000000
                                                  X( F7, C2)        0.000000
                                                  X( F7, C3)        1810.000
                                                  X( F7, C4)        0.000000
                                                  X( F7, C5)        0.000000
                                                  X( F8, C1)        0.000000
                                                  X( F8, C2)        0.000000
                                                  X( F8, C3)        0.000000
                                                  X( F8, C4)        0.000000
                                                  X( F8, C5)        1130.000
                                                  X( F9, C1)        0.000000
                                                  X( F9, C2)        1350.000
                                                  X( F9, C3)        0.000000
                                                  X( F9, C4)        0.000000
                                                  X( F9, C5)        0.000000

                                     Row    Slack or Surplus      Dual Price
                                       1       -9004142.           -1.000000
                                       2        12000.00            0.000000
                                       3        3540.000            0.000000
                                       4        16540.00            0.000000
                                       5        21000.00            0.000000
                                       6        10870.00            0.000000
                                       7        0.000000            0.000000
                                       8        0.000000            0.000000
                                       9        0.000000            0.000000
                                      10        0.000000            0.000000
                                      11        0.000000            0.000000
                                      12        0.000000            0.000000
                                      13        0.000000            0.000000
                                      14        0.000000            0.000000
                                      15        0.000000            0.000000
                                      16       0.1199880E+09        0.000000
                                      17       0.1199795E+09        0.000000
                                      18       0.2099745E+09        0.000000
                                      19       0.2099790E+09        0.000000
                                      20       0.1199869E+09        0.000000
                                      21        2.000000            0.000000
                                      22        2.000000            0.000000
                                      23        2.000000            0.000000
                                      24        2.000000            0.000000
                                      25        2.000000            0.000000




欧阳嫦娥 发表于 2015-7-23 18:41

liwenhui 发表于 2015-7-23 10:54 static/image/common/back.gif
论坛把每个附件都作为一种资源,获取资源就会付出一定成本。

这样   
页: [1]
查看完整版本: 第一次用lingo,求大神帮忙改错,写论文急用,已经纠结好多天了,谢谢了