数学建模社区-数学中国
标题:
不是很麻烦的lingo程序,望高手指点错误,只有语法也好
[打印本页]
作者:
ktnightman
时间:
2009-7-21 08:07
标题:
不是很麻烦的lingo程序,望高手指点错误,只有语法也好
model:
sets:
producer/1...7/:ability,price;
spot/1...15/
,R,distance;
links(producer,spot):C,X;
endsets
data:
C=
200.3 188.3 178.6 103.6 43 23.6 3.1 21.2 74.2 113 143 165 176.2 193 212
255.3 243.3 235.2 197.7 137.1 117.7 97.2 76.2 129.2 168 198 220 231.2 248 267
275.3 263.3 255.2 217.7 157.1 137.7 117.2 96.2 49.2 88 118 140 151.2 168 187
331.3 319.3 311.2 273.7 213.1 193.7 173.2 152.2 105.2 72 66 86 95.2 112 131
336.3 24.3 316.2 278.7 218.1 198.7 178.2 157.2 110.2 63 33 55 76 105.2 124.2
364.3 352.3 344.2 306.7 246.1 226.7 206.2 185.2 138.2 105 83.2 61.2 40.2 11 36
376.3 364.3 356.2 318.7 258.1 238.7 218.2 197.2 150.2 117 95.2 73.2 52.2 29 4;
ability=800,800,1000,2000,2000,2000,3000;
price=150,155,155,160,155,155,165;
distance=0,120,301,750,606,194,205,210,680,480,300,220,210,420,500;
L(1)=0;
R(15)=0;
X=0
0
0
0
0
0
0;
enddata
[obj]min=@sum(links(i,j):price(i)*X(i,j)+C(i,j)*X(i,j)+0.1*((1+L(j))*L(j)+(1+R(j))*R(j))/2;
@for(spot(j): @sum(producer(i):X(i,j))=L(j)+R(j););
@for(spot(j):[spot_con] L(j+1)+R(j)=distance(j+1););
@for(producer(i): @sum(spot(j):X(i)(j))<=ability(i););
@for(producer(i): @sum(spot(j):X(i)(j))>=500;);
end
作者:
ktnightman
时间:
2009-7-21 15:48
难道没有一个人可以解决吗?
转换成matlab也行啊
作者:
xiaoguo
时间:
2009-9-7 13:01
可以再试试看~~哈哈
作者:
zwb1030
时间:
2009-9-8 08:52
X(i)(j)
这个表达式有问题
作者:
zwb1030
时间:
2009-9-8 08:52
另外你的x赋值感觉比较奇怪
作者:
xiaoguo
时间:
2009-9-8 16:04
??????????????????????
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5