数学建模社区-数学中国

标题: 求解lingo出现205错误?帮帮忙啊!不胜感激! [打印本页]

作者: qiang0107    时间: 2012-7-13 10:49
标题: 求解lingo出现205错误?帮帮忙啊!不胜感激!
sets:
  Level/1..3/: P, z, Goal;
  Variable/1..2/: x;
  H_Con_Num/1..1/: b;
  S_Con_Num/1..4/: g, dplus, dminus;
  H_Cons(H_Con_Num, Variable): A;
  S_Cons(S_Con_Num, Variable): C;
  Obj(Level, S_Con_Num): Wplus, Wminus;
endsets
data:
  P= ? ? ?;
  Goal = ? ? 0;
  b = 12;
  g=  1500 0 16 15;
  A =  2  2;
  C =  200  300  2 -1  4  0  0  5;
  Wplus =  0 0 0 0
           0 1 0 0
           0 0 3 1;
  Wminus = 1 0 0 0
           0 1 0 0
           0 0 3 0;
enddata

min=@sum(Level: P * z);
@for(Level(i):
   z(i)=@sum(S_Con_Num(j): Wplus(i,j)*dplus(j))
       +@sum(S_Con_Num(j): Wminus(i,j)*dminus(j)));
@for(H_Con_Num(i):
   @sum(Variable(j): A(i,j) * x(j)) <= b(i));
@for(S_Con_Num(i):
   @sum(Variable(j): C(i,j)*x(j))
     + dminus(i) - dplus(i) = g(i);
);
@for(Level(i) | i #lt# @size(Level):
   @bnd(0, z(i), Goal(i));
);
参考资料给出:P1=1,p2=0,p3=0,goal1,goal2取较大数,试了几个后,出现如下错误,求解?THE MODEL IS POORLY SCALED AND MAY YIELD ERRATIC RESULTS.  THE UNITS OF THE ROWS AND VARIABLES SHOULD BE RESCALED SO THE COEFFICIENTS COVER A MUCH SMALLER RANGE.
作者: Just丶一米阳光    时间: 2012-7-29 21:28
我的都运行出来了,你可能是lingo版本有点低
作者: qlb061    时间: 2012-7-30 13:32
本帖最后由 qlb061 于 2012-7-30 13:38 编辑

以上问题主要是模型的最大非零系数和最小非零系数之比超过Lingo默认的阀值,称为"SCALEW": Scaling Warning Threshold.
消除错误警告信息error code 205可以通过以下方法解决:
1. 在命令窗口输入 SET SCALEW 1E12(Lingo 默认值1e9, V9.0),较大的SCALEW可以消除警告信息,但是容易导致模型求解不稳定,所以不建议使用;
2.建模时最好保证最大非零系数和最小非零系数之比在1e4左右,比如1000000元可以通过单位变换为100万元,可以化简的约束尽量化简,如10000x + 1000y <=100.

查看模型最大非零系数和最小非零系数可以通过Lingo ->Model Statistics, 其中有以下项目:
Smallest and largest elements in abs value=    ???  ???
作者: qiang0107    时间: 2012-7-30 15:12
谢谢帮忙!我试一下。
作者: 梦天涯M    时间: 2012-7-31 00:46
可以运行,建议用Lingo13
作者: qiang0107    时间: 2012-8-23 09:43
lingo13,有破解版的吗
给我发下好吗,谢谢!邮箱qiang01070107@163.com




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5