!产量约束;
@for(WZ(j):
@sum( CC(k): A(i,j,k))<=G(i,j));
我这么些,怎么报错说:
error code 63
Model is ill defined
cheche for undefined indices in expression:
2
The error occurred on or near the following line:
2] @sum( CC(k): A(i,j,k))<=G(i,j));
model:
sets:
GC/1..3/:GZ; !i工厂所有物资的总产量;
WZ/1..10/:TJ,M; !j物资体积,存储费;
CC/1..5/:W; !k仓库容积,;
FD/1..8/:HZ; !h分店;
YJ1(GC,CC):B; !i工厂到k仓库的运价;
YJ2(CC,FD):F; !k仓库到h分店的运价;
CL(GC,WZ):G; !i工厂j物资的产量;
DJ(GC,WZ):P; !i工厂j物资的订价;
DGC(GC,WZ,CC):A; !i工厂生产的j物资到k仓库的订货量;
DCF(CC,WZ,FD):E; !k仓库运输的j物资到h分店的订货量;
ENDSETS
!目标函数;
MIN=@sum( GC(i):@sum(wz(j):@sum( CC(k): A(i,j,k)*p(i,j))))+ ! i工厂运出货物的总价格;
@sum( GC(i):@sum(wz(j):@sum( CC(k): A(i,j,k)*B(i,k))))+
@sum(wz(j):@sum(GC(i):@sum(CC(k):A(i,j,k)))*M(j))+
@sum(CC(k):@sum(fd(h):@sum(wz(j):E(k,j,h))*F(k,h)));
!产量约束;
@for(WZ(j):
@sum( CC(k): A(i,j,k))<=G(i,j)); !就是在这里出错了!;
DATA:
GZ=15200 10500 11200;
TJ=1.5 1 1.5 2 1.5 0.5 1.5 2 1 0.5;
M=40 70 90 100 120 120 150 160 180 200;
W=800 600 1000 700 800;
B=
1000 10 14 17 13
10 8 1000 9 16
15 16 9 15 1000;
F=
3 2 3 6 3 1 4 5
1000 3 3 1000 5 2 5 3
5 1000 2 5 1000 5 1000 4
4 1 4 4 2 1000 2 1000
2 2 5 3 5 2 5 2;
G=
0.2 0 0.3 0.1 0.32 0.1 0 0.2 0.15 0.15
0.2 0.13 0 0.1 0 0.15 0.2 0.15 0 0.12
0 0.25 0.08 0.15 0 0.1 0.14 0 0.25 0.15;
P=
100 1000 210 250 290 300 1000 430 450 500
90 180 1000 240 1000 305 380 435 1000 490
1000 170 210 245 1000 285 400 1000 450 480;
enddata
lingo报错: error code 63 Model
答案:2 悬赏:0 手机版
解决时间 2021-03-18 22:07
- 提问者网友:人傍凄凉立暮秋
- 2021-03-18 08:31
最佳答案
- 五星知识达人网友:山君与见山
- 2021-03-18 08:51
这句话很明显是会出错的,因为这其中的i并没有被定义。所以A(i,j,k),G(i,j)都是错误的,i没有具体的取值。你可以在前面加上对i的约束。
@for(WZ(j):
@sum( CC(k): A(i,j,k))<=G(i,j)); !就是在这里出错了!;
@for(WZ(j):
@sum( CC(k): A(i,j,k))<=G(i,j)); !就是在这里出错了!;
全部回答
- 1楼网友:时间的尘埃
- 2021-03-18 09:18
你这个写的确实有大问题 错误很多 你最好说清楚你的具体问题 你这不光是语法有问题了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯