lingo发生错误63..
问题描述:
lingo发生错误63..
model:
sets:
station/1..6/:r,t;
links(station,station):l,rl,tr;
endsets
这里是数据;
data:
r=40 40 40 40 63 63;
l= 0 1 0 0 0 0
1 0 1 0 1 0
0 1 0 1 1 1
0 0 1 0 1 1
0 1 1 1 0 1
0 0 1 1 1 0;
rl=0 40 0 0 0 0
40 0 6.35 0 11.3 0
0 6.35 0 40 7.64 4.43
0 0 40 0 8.83 6.02
0 11.3 7.64 8.83 0 63
0 0 4.43 6.02 63 0;
enddata
目标函数;
max=@sum(station(I):r*t);
需求约束;
@for(station(I):
@sum(station(J)|l(I,J)#eq#1:l(I,J)*tr(I,J))=r(I)*t(I));
@for(station(I):
@sum(station(J)|l(I,J)#eq#1:l(I,J)*(tr(I,J)+r(J)*t(J)))
本人昨天刚学习使用lingo,回答的尽量通俗一点,
答
1.建议你将变量写成大写,这是一个习惯问题,可以培养,譬如以上的 l 很容易写成数字1,容易
出错,不易检查出来;
2.对于多元变量,如links(i,j),在双重循环中可以直接使用,因此
@for(station(I)|l(I,J)#eq#1:tr(I,J)