数学建模社区-数学中国

标题: 新人求助 [打印本页]

作者: qq_1502076851    时间: 2017-8-7 12:21
标题: 新人求助
Model is ill defined 是什么意思呀

目标函数:max ∑sij*xij
约束条件:xij<=aij,
∑ i  xij<=cj,
∑ j  xij=3yi
xij,yij=0,1

model:
sets:
si/1..1000/:y;
sj/1..100/:c;
link(si,sj):s,x,a;
endsets

data:
c= @OLE('C:\Users\Sky\Documents\I.xlsx' , 'asd');
s= @OLE('C:\Users\Sky\Documents\s.xlsx' , 's');
a= @OLE('C:\Users\Sky\Documents\data.xls' , 'a');

enddata


max=@sum(link:s*x);

@for(si:@bin(y(i)));
@for(si:@for(sj:@bin(x(i,j))));
@for(si:y(i)=@sum(sj:x(i,j)));
@for(sj:c(j)>=@sum(si:x(i,j)));
@for(sj:@for(sj:x(i,j)<=a(i,j)));





作者: qq_1502076851    时间: 2017-8-7 12:25
那个表情是 冒号@

作者: qq_1502076851    时间: 2017-8-7 12:32
solve后 说model is ill defined 问题好像在最后几行

作者: liwenhui    时间: 2017-8-7 18:01
把你的3个数据文件传上来。

作者: qq_1502076851    时间: 2017-8-7 18:30
liwenhui 发表于 2017-8-7 18:01
把你的3个数据文件传上来。

好的 麻烦您了

I.xlsx

9.85 KB, 下载次数: 1, 下载积分: 体力 -2 点

s.xlsx

326.3 KB, 下载次数: 1, 下载积分: 体力 -2 点

data.xls

669.5 KB, 下载次数: 1, 下载积分: 体力 -2 点


作者: liwenhui    时间: 2017-8-7 21:41
把下面的三个文档放到你的D盘下,方便后面给出的代码调用这3个文档里的数据:
data.xls (681.5 KB, 下载次数: 0, 售价: 1 点体力) I.xlsx (10.23 KB, 下载次数: 0, 售价: 1 点体力) s.xlsx (320.24 KB, 下载次数: 0, 售价: 1 点体力)

然后在运行下面的LINGO代码:
  1. MODEL:

  2. SETS:

  3. SI/ 1..1000/: Y;

  4. SJ/ 1..100 /: C;

  5. LINK( SI, SJ): S, X, A;

  6. ENDSETS

  7. MAX = @SUM( LINK( I, J): S( I, J) * X( I, J));

  8. @FOR( SI( I): @FOR( SJ( J): X( I, J) < A( I, J)));

  9. @FOR( SJ( J): @SUM( SI( I): X( I, J)) < C( J) );

  10. @FOR( SI( I): @SUM( SJ( J): X( I, J)) = 3 * Y( I));

  11. @FOR( SI( I): @BIN( Y( I)));

  12. @FOR( SI( I): @FOR( SJ( J): @BIN( X( I, J))));

  13. DATA:

  14. C = @OLE( 'D:\My LINGO\I.xlsx', ' ASD');

  15. S = @OLE( 'D:\My LINGO\s.xlsx', ' S');

  16. A = @OLE( 'D:\My LINGO\data.xls', ' A');

  17. ENDDATA

  18. END
复制代码
数据量比较大,所以运行起来有点慢,建议设置一下LINGO的可用内存为100M。
得到的结果如下:
QQ截图20170807213809.png


注意:这只是说你的模型求解出来了,但并不意味着你的建模问题解决了,因为还需要确保你的模型本身没有问题。











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