永发信息网

帮我检查一下这个lingo程序,出现下标越界,怎么修改?

答案:2  悬赏:60  手机版
解决时间 2021-03-10 18:10
model:
sets:
store/1..8/;
goods/1..10/:V,T,C,R;
warehouse/1..5/:Z;
factory/1,2,3/;
transportation1(factory,warehouse):E;
transportation2(warehouse,store):F;
price(factory,goods):D,H;
stockpile(warehouse,goods):Q;
order(factory,stockpile):X,M;
QuantityDemand(store,goods):K;
carriage(warehouse,QuantityDemand):Y,N;
endsets
min=@sum(order(a,b,j):X(a,b,j)*D(a,j))+@sum(order(a,b,j):X(a,b,j)*E(a,b))+
@sum(carriage(b,c,j):Y(b,c,j)*F(b,c))+@sum(stockpile(b,j):0.5*C*T*Q(b,j)+C*R*(L-T))+
I*@sum(order(a,b,j):M(a,b,j)*d(a,j))+I*@sum(order(a,b,j):M(a,b,j)*E(a,b))+I*
@sum(carriage(b,c,j):N(b,c,j)*F(b,c))+I*@sum(stockpile(b,j):0.5*C*T*Q(b,j)+C*R*(L-T))+(I+1)*10^4;
@for(goods(j): @for(factory(a):[FACTORY_CON] @sum(warehouse(b):X(a,b,j))=T(j)*R(j);););
@for(goods(j):@for(store(c):[STORE_CON] @sum(warehouse(b):M(a,b,j)+Y(b,c,j))=T(j)*R(j)+R(j)*T;););
@for(factory(a):@for(goods(j): @sum(warehouse(b):X(a,b,j)+r*M(a,b,j))<=H(a,j);););
@for(warehouse(b):[WAREHOUSE_CON]@sum(goods:Q(b,j)*Vj)<=Z(b););
@for(warehouse(b):@for(store(c):@for(goods(j):[GOODS_CON]@sum(factory(a):X(a,b,j)*D(a,j)+X(a,b,j)*E(a,b)+Y(b,c,j)*F(b,c)+0.5*Cj*T(j)*R(j)*T(j)+Cj*R(j)*(T-T(j))^2+10^4)<=10^6;);););
@for(goods(j):@for(warehouse(b):@for(store(c):@sum(factory(a):M(a,b,j)*D(a,j)+M(a,b,j)*E(a,b)+N(b,c,j)*F(b,c)+0.5*Cj*T(j)*R(j)*T(j)+Cj*R(j)*(T-T(j))^2+10^4)<=10^6;);););
@for(goods:@sum(store(c):K(c,j))<=360*R(j););
@for(goods:@for(warehouse(b):@sum(store(c):Y(b,c,j)+r*N(b,c,j))<=K(c,j);););
@for(factory:@gin(M);@gin(X););
@for(store(c):@for(goods(j):@bin(K(c,j));););
@for(factory(a):@for(warehouse(b):@bin(E(a,b));););
@for(warehouse(b):@for(store(c):@bin(F(b,c));););
@for(factory(a):@for(goods(j):@bin(D(a,j));););
@for(goods(j):@for(factory(a):@bin(H(a,j));););
data:
E= 0 10 14 17 13
10 8 0 9 16
15 16 9 15 0 ;
F= 3 2 3 6 3 1 4 5
0 3 3 0 5 2 5 3
5 0 2 5 0 5 0 4
4 1 4 4 2 0 2 0
2 2 5 3 5 2 5 2;
C= 40 70 90 100 120 120 150 160 180 200;
V= 1.5 1 1.5 2 1.5 0.5 1.5 2 1 0.5;
Z= 800 600 1000 700 800;
H= 2000 0 3000 1000 3200 1000 0 2000 1500 1500
2000 1300 0 1000 0 1500 2000 1500 0 1200
0 2500 800 1500 0 1000 1400 0 2500 1500;
D= 100 0 210 250 290 300 0 430 450 500
90 180 0 240 0 305 380 435 0 490
0 170 210 245 0 285 400 0 450 480;
K= 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;
enddata
end
最佳答案
这个主要是因为你用的变量名和指标名重了
C你已经定义是变量名了 在指标中你也用了 所以错了 lingo是不分大小写的

而且你的分号也用的不对 一个约束只要一个分号就行了 不是每个括号都要用分号的
全部回答
第一句有大错 根本看不出你是什么意思 没法改 其它的在这里 model: sets: gd/1..12/:a,b; ch/1..13/:x,y; links(gd,ch):f1; endsets data: s=0; a=0.50 1.41 3.00 3.37 3.40 4.72 4.72 5.43 7.57 8.38 8.98 9.50; b=2.00 3.50 1.50 3.51 5.50 2.00 6.24 4.10 2.01 4.50 3.41 0.80; enddata !@for(links(i,j):f1(i,j)=@if((a(i)-x(j)#le#x(j+1)-b(i))#and#(b(i)-y(k)#le#y(k+1)-b(i)),@if((a(i)-x(j)#le#0.05)#and#(b(i)-y(k)#le#0.05),1,0),@if((a(i)-x(j)#le#x(j+1)-a(i))#and#(b(i)-y(k)#gt#y(k+1)-b(i)),@if((a(i)-x(j)#le#0.05)#and#(y(k+1)-b(i)#le#0.05),1,0),@if((a(i)-x(j)#gt#x(j+1)-a(i))#and#(b(i)-y(k)#le#y(k+1)-b(i)),@if((x(j+1)-a(i)#le#0.05)#and#(b(i)-y(k)#le#0.05),1,0),@if((a(i)-x(j)#gt#x(j+1)-a(i))#and#(b(i)-y(k)#gt#y(k+1)-b(i)),@if((x(j+1)-a(i)#le#0.05)#and#(y(k+1)-b(i)#le#0.05),1,0),0))))); max=@sum(links:f1); @for(links(i,j):0<=a(i)-x(j)); @for(links(i,j):a(i)-x(j)<=1); @for(links(i,k):0<=b(i)-y(k)); @for(links(i,k):b(i)-y(k)<=1); @for(ch(j)|j#lt#13:x(j+1)-x(j)=1); @for(ch(k)|k#lt#13:y(k+1)-y(k)=1); end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英语翻译时,为什么句子里没有单词有某个意思
如果别人把我的身份证拿去办公证书对我有没有
相亲时怎么才能看出来对方是不是想和你交往的
千山西路这个地址在什么地方,我要处理点事
根据《环境影响评价技术导则声环境》,三级声
峰烈山村地址在什么地方,想过去办事
驾驶员的职业适应性对交通安全有何影响
怎么把录音传到网上
去哪里检测苹果6sp外屏玻璃摔裂了,但正常使
【匪大】难则如云匪我思存的意思
四川宜宾观音房价
中国联通李草庙手机大卖场在哪里啊,我有事要
我是大连市事业单位工勤人员,如果离开现在单
毛泽东指出:“新三民主义是联俄、联共、扶助
真皮警察钱包多少钱还有警察工作证多少钱
推荐资讯
【弹冠相庆的意思】弹冠相庆是什么意思!
手机移动4g网络超级慢但是周围的人正常是卡的
奥迪R8和保时捷911比买哪个更值
QQ离线回复怎样设置回复内容
舒尔保健怎么去啊,有知道地址的么
有没有快速赚钱的办法?
古滇小镇铜锅米线燕京航城店这个地址在什么地
好的作文开头(20句 250字
缅甸仰光治安如何
问一道数学题,因为太多请看补充.是关于列方程
新概念广告怎么去啊,有知道地址的么
2016年7月使用伪造驾驶证开小车被查!应怎么处
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?