永发信息网

LINGO运行显示错误70:下标越界,@for(rp(r):@sum(link1(j,l):x(r,j,l))<=1);求高手指点,应该怎么修改

答案:2  悬赏:60  手机版
解决时间 2021-12-16 02:25
  • 提问者网友:思念你没人能代替
  • 2021-12-15 13:24
sets:
s/1..6/;
f/1..48/;
link1(f,s)/1,1 2,1 3,1 4,1 5,16,1 7,1 8,1
9,2 10,2 11,2 12,2 13,2 14,2 15,216,2
17,3 18,3 19,3 20,3 21,3 22,3 23,324,3
25,4 26,4 27,4 28,4 29,4 30,4 31,432,4
33,5 34,5 35,5 36,5 37,5 38,5 39,540,5
41,6 42,6 43,6 44,6 45,6 46,6 47,648,6 /:z,td1,ta1,cc,cd,np,t,dt;
p/p1..p8/:y1,n,g,trn;
rp/rp1..rp8/:y2,v;
link2(p,f)/p1,1 p1,9 p1,17p1,25 p1,33 p1,41
p2,2 p2,10 p2,18 p2,26 p2,34 p2,42
p3,3 p3,11 p3,19 p3,27 p3,35 p3,43
p4,4 p4,12 p4,20 p4,28 p4,36 p4,44
p5,5 p5,13 p5,21 p5,29 p5,37 p5,45
p6,6 p6,14 p6,22 p6,30 p6,38 p6,46
p7,7 p7,15 p7,23 p7,31 p7,39 p7,47
p8,8 p8,16 p8,24 p8,32 p8,40 p8,48/;
link3(p,f)/p1,41 p2,42 p3,43p4,44 p5,45 p6,46 p7,47 p8,48/:td2;
link4(p,f)/p1,33 p2,34 p3,35p4,36 p5,37 p6,38 p7,39 p8,40/:ta2;
link5(rp,f,s)/rp1,1,1 rp1,9,2rp1,17,3 rp1,25,4 rp1,33,5 rp1,41,6
rp2,2,1 rp2,10,2 rp2,18,3rp2,26,4 rp2,34,5 rp2,42,6
rp3,3,1 rp3,11,2 rp3,19,3rp3,27,4 rp3,35,5 rp3,43,6
rp4,4,1 rp4,12,2 rp4,20,3rp4,28,4 rp4,36,5 rp4,44,6
rp5,5,1 rp5,13,2 rp5,21,3rp5,29,4 rp5,37,5 rp5,45,6
rp6,6,1 rp6,14,2 rp6,22,3rp6,30,4 rp6,38,5 rp6,46,6
rp7,7,1 rp7,15,2 rp7,23,3rp7,31,4 rp7,39,5 rp7,47,6
rp8,8,1 rp8,16,2 rp8,24,3rp8,32,4 rp8,40,5 rp8,48,6/
:x,a,c,o;
link6(rp,f)/rp1,1 rp2,2 rp3,3rp4,4 rp5,5 rp6,6 rp7,7 rp8,8/:td3;
link7(p,p):it1;
link8(p,rp):it2;
endsets
min=@sum(link5(r,j,l)
:(1-o(r,j,l))*c(r,j,l)*x(r,j,l))+@sum(link1(j,l):
cd(j,l)*(1-z(j,l))*(td1(j,l)-t(j,l))*np(j,l))+@sum(link1(j,l):cc(j,l)
*z(j,l)*np(j,l))+@sum(
p(k):@sum(rp(q):200*it2(k,r)*(td3(r,j)-td2(k,j))))+@sum(p(k):g(k)*trn(k));

@for(rp(r):
@sum(link1(j,l):x(r,j,l))<=1);

@for(link1(j,l):
@sum(rp(r):x(r,j,l))=1-z(j,l));

@for(link1(j,l):
@for(rp(r):td1(j,l)>=a(r,j,l)*x(r,j,l)));

@for(link1(j,l):
@for(rp(r):ta1(j,l)<=v(r)*x(r,j,l)+(1-x(r,j,l))*9999));

@for(link1(j,l):
ta1(j,l)=td1(j,l)+dt(j,l)*(1-z(j,l)));

@for(link1(j,l):
td1(j,l)>=t(j,l));

@for(p(k):
(td2(k,j)-ta2(k,j))*y1(k)<=u;
(td2(k,j)-ta2(k,j))*(1-y1(k))>=u);

@for(p(k):
@for(link2(k,f):y1(k)>=z(j,l)));

@for(p(k):
n(k)*(1-y1(k))=it1(k,k));

@for(rp(r):
@sum(p(k):it2(k,r))<=@sum(p(k):n(k)*(1-y2(r))));

@for(p(k):
@sum(rp(r):it2(k,r))+trn(k)=n(k)*y1(k));

@for(link5(r,j,l):@bin(x));
@for(link1(j,l):@bin(z));
@for(p:@bin(y1));
@for(link5(r,j,l):@bin(o));
@for(rp:@bin(y2));
@for(link7(k,k):@gin(it1));
@for(link8(k,r):@gin(it2));
@for(p(k):@gin(trn));

data:
u=10;
@ole('桌面:\模型.xlsx')=x,z,td1,ta1,y1,y2,it1,it2,trn;
a,cc,cd,n,np,o,g,dt,t,v=@ole('桌面:\模型.xlsx');
enddata
最佳答案
  • 五星知识达人网友:沵留给涐得记忆
  • 2021-12-15 14:54
@for(rp(r): @sum(link1(j,l)|@in(links5,r,j,l):x(r,j,l))<=1);
全部回答
  • 1楼网友:沵留给涐得记忆
  • 2021-12-15 15:44
我。。知。。道 加。。我。。私。。聊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯