lingo 判断语句的使用

问题描述:

lingo 判断语句的使用
b1=@if(a1(i)#eq#0,0,b1);
a1是个0-1矩阵,b1也是0-1矩阵.当a1为0是,b1也为0,当a1不为0时,不影响b1的取值.
我的这个语句运行时,要报错,
我自己修改了一下:b1(ii)=@if(a1(ii)#eq#0,0,b1(ii));
但这次还是报错.
MODEL IS ILL DEFINED.CHECK FOR UNDEFINED INDICES AND/OR CONDITIONS IN
EXPRESSION:EXPRESSION.
这是为什么了?
我又改了一种写法0=@if(a1(ii)#eq#0,b1(ii)-0,0),还是不行.

把你完整的语句写出来 光写一部分说没错是没有用的

model:

sets:

jiaoshou/1..7/:x1,x2,x3,x4,a1,a2,a3,a4;

fujiaoshou/1..7/:y1,y2,y3,y4,b1,b2,b3,b4;

endsets

max=750*@sum(jiaoshou(i):x1*a1)+1250*@sum(jiaoshou(i):x2*a2)..


  • 0=@if(a1(j)#eq#0,b1(j)-0,0);

错误在集循环函数使用上 跟@if无关那我应该怎样修改,达到目的了?私信里面说的很清楚了