袁海亮 发表于 2013-10-17 12:15

LINGO程序很奇怪的错误,求解答

能不能帮我看下这个代码,看看哪里错了?
主要错误显示:@FOR(ZHILU(I):FR(I)=(FI(I)-FX(I))/FX(I));这句话附近
显示的错误如下:
Error 72
unable to solve for fixed variable
FR(ZHILU1)
in constraint
20
loosening  the variable's bounds may help
谢谢耐心解答
MODEL:
SETS:
JIZHU/JIZHU1..JIZHU8/:GI0,GI1,V;
DUAN/DUAN1..DUAN10/:D;
ZHILU/ZHILU1..ZHILU6/:CC,FI,FX,FD,FR;
LINKS(JIZHU,DUAN):DJ,DR;
LINK(ZHILU,JIZHU):C;
ENDSETS
DATA:
GI0=120,73,180,80,125,125,81.1,90;
V=2.2,1,3.2,1.3,1.8,2,1.4,1.8;
CC=1.111224786317819   1.318676323930283  -1.096597047551148   0.783854251638765   1.338126254232463   1.220559749861743;
FX=165     150      160     155     132     162;
FD= 186.4500  177.0000  174.4000  172.0500  151.8000  184.6800;
DR=
70  0   50  0   0   30  0   0   0 40
30  0   20  8   15  6   2   0   0   8
110 0   40  0   30  0   20  40  0   40
55  5   10  10  10  10  15  0   0   1
75  5   15  0   15  15  0   10  10  10
95  0   10  20  0   15  10  20  0   10
50  15  5   15  10  10  5   10  3   2
70  0   20  0   20  0   20  10  15  5;
DJ=
-505    0   124 168 210 252 312 330 363 489
-560    0   182 203 245 300 320 360 410 495
-610    0   152 189 233 258 308 356 415 500
-500    150 170 200 255 302 325 380 435 800
-590    0   116 146 188 215 250 310 396 510
-607    0   159 173 205 252 305 380 405 520
-500    120 180 251 260 306 315 335 348 548
-800    153 183 233 253 283 303 318 400 800;

C= 0.0814    0.0482    0.0523    0.1197   -0.0277    0.1187    0.1259   -0.0021
   -0.0550    0.1264   -0.0009    0.0331    0.0860   -0.1149   -0.0170    0.0988
   -0.0680    0.0627   -0.1565   -0.0099    0.1258    0.0040   -0.0039   -0.1994
   -0.0355   -0.1046    0.2048   -0.0207   -0.0140    0.0042    0.1472    0.0743
    0.0003    0.2408   -0.0662   -0.0414   -0.0662    0.0689   -0.0021   -0.0104
    0.2349   -0.0619   -0.0790    0.0930    0.0447   -0.0028    0.1677   -0.0011;
ENDDATA
MIN=@SUM(ZHILU(I):FR(I));

@FOR(JIZHU(I):GI1(I)<=GI0(I)+GI0(I)*V(I));
@FOR(JIZHU(I):GI1(I)<=@SUM(DUAN(J):DR(I,J)));
@FOR(JIZHU(I):GI1(I)>=GI0(I)-GI0(I)*V(I));
@SUM(JIZHU(I):GI1(I))=1052.8;

@FOR(ZHILU(I):FI(I)=@SUM(JIZHU(J):C(I,J)*GI1(J)+CC(I)));
@FOR(ZHILU(I):FI(I)=@ABS(FI(I)));
@FOR(ZHILU(I):FI(I)<=FD(I));
@FOR(ZHILU(I):FR(I)=(FI(I)-FX(I))/FX(I));

END

qlb061 发表于 2013-10-17 18:25

本帖最后由 qlb061 于 2013-10-18 11:42 编辑

使用调试选项:
!Constraints and bounds that cause an infeasibility:;

  !Necessary Rows:
  (If none of the necessary and sufficient rows are dropped,
   then the model remains infeasible.);
    FI_ZHILU2 + 0.055 * GI1_JIZHU1 - 0.1264 * GI1_JIZHU2 + 0.0009 * GI1_JIZHU3 -
  0.0331 * GI1_JIZHU4 - 0.08599999999999999 * GI1_JIZHU5 + 0.1149 * GI1_JIZHU6 +   
  0.017 * GI1_JIZHU7 - 0.0988 * GI1_JIZHU8 = 10.54941059144227;                    
    GI1_JIZHU1 + GI1_JIZHU2 + GI1_JIZHU3 + GI1_JIZHU4 + GI1_JIZHU5 + GI1_JIZHU6 +
  GI1_JIZHU7 + GI1_JIZHU8 = 1052.8;                                                
    - 0.006666666666666667 * FI_ZHILU2 + FR_ZHILU2 = - 1;

  !Necessary Variable Bounds:
  (If none of the necessary and sufficient bounds are dropped,
   then the model remains infeasible.);
   FR_ZHILU2 >=  0;
   GI1_JIZHU1 >=  0;
   GI1_JIZHU3 >=  0;
   GI1_JIZHU4 >=  0;
   GI1_JIZHU5 >=  0;
   GI1_JIZHU6 >=  0;
   GI1_JIZHU7 >=  0;
   GI1_JIZHU8 >=  0;

照片记录谁 发表于 2013-10-17 21:50

额,我用Lingo 11 运行没错误额,只是该模型没有可行解。。。

发表于 1970-1-1 08:00

页: [1]
查看完整版本: LINGO程序很奇怪的错误,求解答