急急急!lingo代码错误,求修改
发布网友
发布时间:2024-07-04 04:22
我来回答
共1个回答
热心网友
时间:2024-07-04 12:03
你写的程序语法错误较多,都是因为变量没有定义,比如x,a,d,c这些都是要再集里面定义的,另外括号方面也有一些错误。
导数第二行的话,gt应该改为ge。
Model:
Sets:
p/1..3/:a,x,c,s,d,u;
endsets
data:
c=20 25 19;
s=2 3 1;
r=0.05;
k=1.2;
Enddata
Min=@sum(p(i): x(i)*c(i)+s(i))-@sum(p(i):a(i)*(x(i)-d(i))*c(i)*r*k);
@for(p(i):x(i)<=u(i));
@for(p(i):x(i)<=d(i));
@for(p(i):a(i)=@if(x(i)-d(i)#ge#0,1,0));
end
还有我给你提个建议,关于你建立的模型,我没有看过题目,不太了解,
这是你写的约束条件
x(i)<=u(i) i=1,2,…,n
x(i)>=d(i) i=1,2,…,n
a(i)=1 x(i)-d(i)>=0,i=1,2,…,n
a(i)=0 x(i)-d(i)<0,i=1,2,…,n
后面三行,第二行已经规定了x(i)>=d(i) 的话是不是a(i)就已经肯定等于1了呢?所以建议你再认真考虑一下你的模型。