这个是解一个运输问题中的 胜者决定问题模型的lingo程序,但是总是出错 不知道什么原因,请高手解答,真心感谢~~!!!!!
model:
sets:
bidder/1,2,3,4/; 4个承运人
bid/1,2,3/; 每个承运人出3个投标
lane/A,B,C/:e,c; 3条线路。
links(bidder,bid):lowvolume,highvolume,unitrevenue,y,x;
scenarios/a,b,c/:low;
favoring/1,2,3,4/:f;
endsets
data:
lowvolume=2 1 2
1 2 2
2 1 2
1 1 1;
highvolume=4 5 4
5 4 4
4 5 4
5 5 3;
unitrevenue=13 20 10
9 14 16
11 14 5
15 8 18;
low=2,4,2;
p=0.4;
n1=0;
n2=3;
n3=6;
f=0,0.02,-0.01,0;
c=9.0,17.5,12.5;
enddata
min=p*(@sum(links(j,k):(1+f(j))*unitrevenue(j,k)*y(j,k))+@sum(lane(i):c(i)*e(i)));
@for(links(j,k):@bin(x));
@for(links(j,k):@gin(y));
@for(links(j,k):@bin(a));
@for(lane(i):@sum(links(j,k):a*y(j,k)+e(i))>=low(i));
@for(bidder(j):@sum(bid(k):lowvolume(j,k)*x(j,k))<=@sum(bid(k):y(j,k)));
@for(bidder(j):@sum(bid(k):highvolume(j,k)*x(j,k))>=@sum(bid(k):y(j,k)));
@for(bidder(j):@sum(bid(k):x(j,k)>=n1)); 程序 总是在这个地方提示出错 但是不晓得 是那个地方出来了~求高手啊~~~
@for(bidder(j):@sum(bid(k):x(j,k)<=n2));
@for(bid(k):@sum(bidder(j):x(j,k)>=n1));
@for(bid(k):@sum(bidder(j):x(j,k)<=n2));
@for(links(j,k):@sum(links(j,k):a*x(j,k)<=n2));
@for(bidder(j):@sum(bid(k):y(j,k)>=n1));
@for(bidder(j):@sum(bid(k):y(j,k)<=n3));
end