这样的lingo程序问题出在哪?

问题描述:

这样的lingo程序问题出在哪?
sets:
time/1..88/:income,A,B,rr;
fixed/1..6/:g;
link(time,fixed):x,y,r,rrr,t;
······
@for(time(i):
@if(t(i,j) #gt# 0,
@sum(fixed(j):y(t(i,j),j)*(1+g(j)*r(t(i,j),j)))=x(i,j);
,x(i,j)=0)
);
······
data部分就省略了,我确认那没问题
1个回答 分类:综合 2014-11-28

问题解答:

我来补答
自己去看@if函数的解释 不要滥用
@if(logical_condition,true_result,false_result)
@if 函数将评价一个逻辑表达式logical_condition,如果为真,返回true_ result,
否则返回false_result.
model:
min=fx+fy;
fx=@if(x #gt# 0, 100,0)+2*x;
fy=@if(y #gt# 0,60,0)+3*y;
x+y>=30;
end
再问: @for里面嵌套@if,if的true result为一个@sum求和 个人觉得并没有违反要求啊?
再答: 请你自己仔细看例子 @if作为一个整体返回的是一个数 而不是说两个语句 你写的true result就是个语句 这样能对吗
再问: 哦,那么类似的分段函数的问题应该如何去表达呢?
再答: 例子已经写的很清楚了 fx=@if(x #gt# 0, 100,0)这不就是吗
 
 
展开全文阅读
剩余:2000
上一页:画钩的
下一页:速率