数学建模社区-数学中国
标题: 求助!Lingo程序报错index variables may not share names with other variable [打印本页]
作者: xiangxiu 时间: 2015-4-21 16:29
标题: 求助!Lingo程序报错index variables may not share names with other variable
本帖最后由 xiangxiu 于 2015-4-24 07:32 编辑
求大神帮忙看看,运行到目标函数下一行的时候报错 可是看的头大了也没发现有重名的变量名和索引 。
model:
sets:
plant/1..3/PCap,Pprod;
warehouse/1..2/:WCap,Hw, WInitialInv;
retailer/1..4/:RCap,Hr, RInitialInv;
transport/1..3/:TWAR;
endsets
!Formulation;
!Totalcost obj func;
[totalcost]min=@sum(period(t):@sum(plant(i):X(i,t)*Pprod(i)))+@sum(plwaper(i,j,t):Tij*y(i,j,t))
+@sum(waper(j,t):phi(j,t)*Hw(j))+@sum(reper(k,t):RInv(k,t)*Hr(k))
@for(plper(i,t):X(i,t)<PCap(i));
@for(plper(i,t):X(i,t)=@sum(warehouse(j):y(i,j,t)));
@for(waper(j,t):phi(j,t)<WCap(j));
@for(reper(k,t):RInv(k,t)<RCap(k));
!Data set;
data:
PCap=2000,2500,3500;
Pprod=70,60,65;
Tij=1.5;
WCap=1900,2000;
RCap=1100,1200,950,1000;
RInitialInv=150,150,150,150;
WInitialInv=300,300;
Hw=2.1,2.5;
Hr=4.5,4.7,5.2,4.5;
R=246,346,124,250,365,269,372,173,235,238,
229,231,389,297,406,307,424,153,342,372,
398,400,397,245,249,347,251,249,272,382,
292,294,229,286,347,268,279,283,285,190;
TWAR=1.5,1,0.5;
enddata
end
作者: xiangxiu 时间: 2015-4-21 16:36
本帖最后由 xiangxiu 于 2015-4-21 18:47 编辑
求大神给看看
作者: fox 时间: 2015-4-22 08:22
先帮你改写成了一个能用的模型,主要是目标函数删除了一部分有错误东西,你看看是不是有用,如果有用明确写出来是什么,再帮你- model:
- sets:
- plant/1..3/:PCap,Pprod;
- warehouse/1..2/:WCap,Hw, Winitialinv;
- retailer/1..4/:RCap,Hr, Rinitialinv;
- period/1..10/;
- transport/1..3/:TWAR;
- plper(plant,period):X;
- waper(warehouse,period):phi;
- reper(retailer,period):R,Rinv;
- plwaper(plant,warehouse,period):y;
- warepertr(warehouse,retailer,period,transport):z;
- endsets
- data:
- PCap=2000,2500,3500;
- Pprod=70,60,65;
- Tij=1.5;
- WCap=1900,2000;
- RCap=1100,1200,950,1000;
- Rinitialinv=150,150,150,150;
- Winitialinv=300,300;
- Hw=2.1,2.5;
- Hr=4.5,4.7,5.2,4.5;
- R=246,346,124,250,365,269,372,173,235,238,
- 229,231,389,297,406,307,424,153,342,372,
- 398,400,397,245,249,347,251,249,272,382,
- 292,294,229,286,347,268,279,283,285,190;
- TWAR=1.5,1,0.5;
- enddata
- !Formulation;
- !Totalcost obj func;
- [totalcost]min=@sum(period(t):@sum(plant(i):X(i,t)*Pprod(i)))+@sum(plwaper(i,j,t):Tij*y(i,j,t))
- +@sum(waper(j,t):phi(j,t)*Hw(j))+@sum(reper(k,t):Rinv(k,t)*Hr(k));
-
- @for(plper(ii,t):X(ii,t)<PCap(ii));
- @for(plper(ii,t):X(ii,t)=@sum(warehouse(j):y(ii,j,t)));
- @for(waper(j,t):phi(j,t)<WCap(j));
- @for(waper(j,t)|t#le#9:phi(j,t+1)=phi(j,t)+@sum(plant(ii):y(ii,j,t))
- -@sum(retailer(k):@sum(transport(m):z(j,k,t,m))));
- @for(reper(k,t)|t#le#9:@sum(warehouse(j):@sum(transport(m):z(j,k,t+1,m)))+Rinv(k,t)
- =R(k,t+1)+Rinv(k,t+1));
- @for(reper(k,t):Rinv(k,t)<RCap(k));
- !Data set;
- end
复制代码
作者: xiangxiu 时间: 2015-4-22 10:05
本帖最后由 xiangxiu 于 2015-4-23 16:54 编辑
我看出哪里错了 谢谢
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |