lingo问题,很急!!!

来源:百度知道 编辑:UC知道 时间:2024/07/07 18:22:56
model:
sets:
A/a1..a600/;
B/b601..b1000/;
C/c601..c800/;
D/d801..d1000/;
DVD/d1..d100/:dv;
all/all1..all1000/;
KK/1,2/;
links1(A,DVD):s,cc;
links2(B,DVD):t,dd;
links3(C,DVD):x1;
links4(D,DVD,KK):p;
links5(A,DVD,KK):q;
links6(all,DVD,KK):sa;
links7(D,DVD):x2;
endsets
min=Z;
Z=@sum(DVD(j):dv(j));
M=@sum(A(i):
@sum(DVD(j):s(i,j)*cc(i,j));
);
N=@sum(B(i):
@sum(DVD(j):t(i,j)*dd(i,j));
);
M+N>=20000;
E=@sum(C(i):
@sum(DVD(j):x1(i,j));
);
F=@sum(A(i):
@sum(DVD(j):s(i,j));
);
E+F=Z;
G=@sum(D(i):
@sum(DVD(j):p(i,j,2));
);
H=@sum(A(i):
@sum(DVD(j):q(i,j,2));
);
0.6*G+H<=0.6*Z;
@for(all(i):
@sum(DVD(j):
@sum(KK(k):q(i,j,k));
)<=3;
);
@for(DVD(j):
@for(all(i):sa(i,j,1)*sa(i,j,2)=0);
);
d1=@sum(A(i):

首先,error code70 意思是你定义的集合属性下标越界。你的是盗版lingo吧,盗版lingo的变量不能大于300的,由于你的集合变量太多了,所以lingo作为版权保护,不会给你求解。
不用看你的程序,lingo直接拒绝求解了。