新人求助
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)));
那个表情是 冒号@
solve后 说model is ill defined 问题好像在最后几行
把你的3个数据文件传上来。
liwenhui 发表于 2017-8-7 18:01 static/image/common/back.gif
把你的3个数据文件传上来。
好的 麻烦您了
把下面的三个文档放到你的D盘下,方便后面给出的代码调用这3个文档里的数据:
然后在运行下面的LINGO代码:MODEL:
SETS:
SI/ 1..1000/: Y;
SJ/ 1..100 /: C;
LINK( SI, SJ): S, X, A;
ENDSETS
MAX = @SUM( LINK( I, J): S( I, J) * X( I, J));
@FOR( SI( I): @FOR( SJ( J): X( I, J) < A( I, J)));
@FOR( SJ( J): @SUM( SI( I): X( I, J)) < C( J) );
@FOR( SI( I): @SUM( SJ( J): X( I, J)) = 3 * Y( I));
@FOR( SI( I): @BIN( Y( I)));
@FOR( SI( I): @FOR( SJ( J): @BIN( X( I, J))));
DATA:
C = @OLE( 'D:\My LINGO\I.xlsx', ' ASD');
S = @OLE( 'D:\My LINGO\s.xlsx', ' S');
A = @OLE( 'D:\My LINGO\data.xls', ' A');
ENDDATA
END数据量比较大,所以运行起来有点慢,建议设置一下LINGO的可用内存为100M。
得到的结果如下:
注意:这只是说你的模型求解出来了,但并不意味着你的建模问题解决了,因为还需要确保你的模型本身没有问题。
页:
[1]