LINGO运行时,总是提示:subscript out of range on attribute,程序如下model:sets:chang/1..3/:;cangku/1..5/:;wuzi/1..10/:t,c;dian/1..8/:;links1(cangku,wuzi):s,d;links2(dian,wuzi):u;links3(chang,wuzi):y;links4(chang,dian):a,x;endsetsdata:c=80,1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 05:49:24
LINGO运行时,总是提示:subscript out of range on attribute,程序如下model:sets:chang/1..3/:;cangku/1..5/:;wuzi/1..10/:t,c;dian/1..8/:;links1(cangku,wuzi):s,d;links2(dian,wuzi):u;links3(chang,wuzi):y;links4(chang,dian):a,x;endsetsdata:c=80,1

LINGO运行时,总是提示:subscript out of range on attribute,程序如下model:sets:chang/1..3/:;cangku/1..5/:;wuzi/1..10/:t,c;dian/1..8/:;links1(cangku,wuzi):s,d;links2(dian,wuzi):u;links3(chang,wuzi):y;links4(chang,dian):a,x;endsetsdata:c=80,1
LINGO运行时,总是提示:subscript out of range on attribute,
程序如下
model:
sets:
chang/1..3/:;
cangku/1..5/:;
wuzi/1..10/:t,c;
dian/1..8/:;
links1(cangku,wuzi):s,d;
links2(dian,wuzi):u;
links3(chang,wuzi):y;
links4(chang,dian):a,x;
endsets
data:
c=80,140,180,200,240,240,300,320,360,400;
u=60 300 800 100 200 600 400 80 150 600
90 800 500 1200 500 400 200 100 800 500
150 500 400 800 600 0 800 800 400 0
300 400 200 400 150 800 500 150 1500 400
400 0 150 100 200 300 0 400 90 800
500 200 1000 0 400 150 1000 1000 200 400
800 1200 90 150 90 1000 90 500 100 1000
1500 200 500 500 1000 90 150 200 500 200;
x=15 13 13 16 15 12 15 13
13 10 11 13 11 10 11 11
14 16 11 14 17 14 17 13;
enddata
min=@sum(links1:s(r,k)^2)/(2*u(j,k))+ck*(t(k)*u(j,k)-s(r,k))^2/(2*u(j,k))+10000+100*y11+210*y13+250*y14+290*y15+300*y16+430*y18+450*y19+500*y(1,10)+90*y21+180*y22+240*y24+305*y26+380*y27+435*y28+490*y(2,10)+170*y32+210*y33+245*y34+285*y36+@sum(links4:x(i,j)*a(i,j));
100*y11+210*y13+250*y14+290*y15+300*y16+430*y18+450*y19+500*y(1,10)+90*y21+180*y22+240*y24+305*y26+380*y27+435*y28+490*y(2,10)+170*y32+210*y33+245*y34+285*y36

LINGO运行时,总是提示:subscript out of range on attribute,程序如下model:sets:chang/1..3/:;cangku/1..5/:;wuzi/1..10/:t,c;dian/1..8/:;links1(cangku,wuzi):s,d;links2(dian,wuzi):u;links3(chang,wuzi):y;links4(chang,dian):a,x;endsetsdata:c=80,1
我想大概一楼的意思是你在目标函数或者约束函数中一部分写成y31这样的类型,另一部分写成y(3,1)这样的…其实这两种写法本身都没有错,但是在一个lingo文件中只能选其中的一种写法.建议楼主把整个程序的下标写法都统一起来…

你的a第二个指标是dian 你对wuzi循环 当然就越界了
而且你的表达也有问题 各个点的表示方法都不一样
你有的写d19有的写d(1,10) 这个自己就应该看得出来啊