华清池主 发表于 2015-3-14 16:41

第一次写程序,求改错

本帖最后由 华清池主 于 2015-3-14 18:40 编辑


论文需要,没学过,匆匆忙忙用其他的改改了,不知道错误在哪里,求大神指正
model:
SETS:
  et1/e11..e112/:e1;
  et2/e21..e112/:e2;
  yt/yt1..yt12/:t;
  yt1/y11..y112/:y1;
  yt2/y21..y212/:y2;
  L:/l1,l2/:;
  link(L,et1):l,e;
  link(l,y):l,y;
ENDSETS
DATA:
e1=-0.827014218,-0.447129909,1,1,0.613069647,1,-0.457264957,-0.348615091,-1,-0.628324057,-0.15125,0.224107143;
e2=0.172985782        0.552870091        0.04        0.265277778        -0.386930353        0.018867925        -1        0.651384909        -0.270500532        0.371675943        0.84875        -0.775892857;
t=0.172985782        0.552870091        1        1        0.613069647        1        0        0.651384909        0        0.371675943        0.84875        0.224107143;
y1=1        1        0        0        0        0        0.457264957        1        1        1        1        0;
y2=0        0        0.96        0.734722222        1        0.981132075        1        0        0.270500532        0        0        1;
ENDDATA
MAX=1-(2*@SUM(et1(t): @ABS(l1*e1(t)+l2*e2(t))))/(@SUM(yt(t): (yt(t)+l1*y1(t)+l2*y2(t)))+@SUM(et1(t): @ABS(l1*e1(t)+l2*e2(t))));
@for(@SUM(L(i):l(i))=1);
END




liwenhui 发表于 2015-3-18 10:55

你的表述中,数学公式用得十分不标准,所以我不能完全明白你的意思,只能靠猜测,如此得到如下的LINGO代码:MODEL:
SETS:
  P1/1,2/:L;
  P2/1..12/:T;
  LINK(P1,P2):E,Y;
ENDSETS
DATA:
E=-0.827014218,-0.447129909,1,1,0.613069647,1,-0.457264957,-0.348615091,-1,-0.628324057,-0.15125,0.224107143
  0.172985782,0.552870091,0.04,0.265277778,-0.386930353,0.018867925,-1,0.651384909,-0.270500532,0.371675943,0.84875,-0.775892857;
T=0.172985782,0.552870091,1,1,0.613069647,1,0,0.651384909,0,0.371675943,0.84875,0.224107143;
Y=1,1,0,0,0,0,0.457264957,1,1,1,1,0
  0,0,0.96,0.734722222,1,0.981132075,1,0,0.270500532,0,0,1;
ENDDATA
MAX=1-((2*@SUM(P2(J):@ABS(@SUM(P1(I):L(I)*E(I,J)))))/(@SUM(LINK(I,J):Y(I,J))+@SUM(LINK(I,J):L(I)*Y(I,J))+@SUM(P2(J):@ABS(@SUM(P1(I):L(I)*E(I,J))))));
@SUM(P1(I):L(I))=1;
END由此得到的局部最优解的结果是:

  Linearization components added:
      Constraints:          96
      Variables:            96
      Integers:             24

  Local optimal solution found.
  Objective value:                             0.6298245
  Objective bound:                             0.6298245
  Infeasibilities:                              0.000000
  Extended solver steps:                              26
  Total solver iterations:                          2085

  Model Class:                                     MINLP

  Total variables:                     98
  Nonlinear variables:                 26
  Integer variables:                   24

  Total constraints:                   98
  Nonlinear constraints:                1

  Total nonzeros:                     292
  Nonlinear nonzeros:                  26

                                Variable           Value        Reduced Cost
                                   L( 1)       0.3869304            0.000000
                                   L( 2)       0.6130696            0.000000
                                   T( 1)       0.1729858            0.000000
                                   T( 2)       0.5528701            0.000000
                                   T( 3)        1.000000            0.000000
                                   T( 4)        1.000000            0.000000
                                   T( 5)       0.6130696            0.000000
                                   T( 6)        1.000000            0.000000
                                   T( 7)        0.000000            0.000000
                                   T( 8)       0.6513849            0.000000
                                   T( 9)        0.000000            0.000000
                                  T( 10)       0.3716759            0.000000
                                  T( 11)       0.8487500            0.000000
                                  T( 12)       0.2241071            0.000000
                                E( 1, 1)      -0.8270142            0.000000
                                E( 1, 2)      -0.4471299            0.000000
                                E( 1, 3)        1.000000            0.000000
                                E( 1, 4)        1.000000            0.000000
                                E( 1, 5)       0.6130696            0.000000
                                E( 1, 6)        1.000000            0.000000
                                E( 1, 7)      -0.4572650            0.000000
                                E( 1, 8)      -0.3486151            0.000000
                                E( 1, 9)       -1.000000            0.000000
                               E( 1, 10)      -0.6283241            0.000000
                               E( 1, 11)      -0.1512500            0.000000
                               E( 1, 12)       0.2241071            0.000000
                                E( 2, 1)       0.1729858            0.000000
                                E( 2, 2)       0.5528701            0.000000
                                E( 2, 3)       0.4000000E-01        0.000000
                                E( 2, 4)       0.2652778            0.000000
                                E( 2, 5)      -0.3869304            0.000000
                                E( 2, 6)       0.1886793E-01        0.000000
                                E( 2, 7)       -1.000000            0.000000
                                E( 2, 8)       0.6513849            0.000000
                                E( 2, 9)      -0.2705005            0.000000
                               E( 2, 10)       0.3716759            0.000000
                               E( 2, 11)       0.8487500            0.000000
                               E( 2, 12)      -0.7758929            0.000000
                                Y( 1, 1)        1.000000            0.000000
                                Y( 1, 2)        1.000000            0.000000
                                Y( 1, 3)        0.000000            0.000000
                                Y( 1, 4)        0.000000            0.000000
                                Y( 1, 5)        0.000000            0.000000
                                Y( 1, 6)        0.000000            0.000000
                                Y( 1, 7)       0.4572650            0.000000
                                Y( 1, 8)        1.000000            0.000000
                                Y( 1, 9)        1.000000            0.000000
                               Y( 1, 10)        1.000000            0.000000
                               Y( 1, 11)        1.000000            0.000000
                               Y( 1, 12)        0.000000            0.000000
                                Y( 2, 1)        0.000000            0.000000
                                Y( 2, 2)        0.000000            0.000000
                                Y( 2, 3)       0.9600000            0.000000
                                Y( 2, 4)       0.7347222            0.000000
                                Y( 2, 5)        1.000000            0.000000
                                Y( 2, 6)       0.9811321            0.000000
                                Y( 2, 7)        1.000000            0.000000
                                Y( 2, 8)        0.000000            0.000000
                                Y( 2, 9)       0.2705005            0.000000
                               Y( 2, 10)        0.000000            0.000000
                               Y( 2, 11)        0.000000            0.000000
                               Y( 2, 12)        1.000000            0.000000

                                     Row    Slack or Surplus      Dual Price
                                       1       0.6298245            1.000000
                                       2        0.000000          -0.1970252



页: [1]
查看完整版本: 第一次写程序,求改错