for语句的格式为:@For(中间是具体的语言);中间具体的语言是:你定义的集合变量申明,然后冒号 之后就是你的运算表达式,表达式方式和正常的方式相同。比如
sets:
ww/w1..w6/:x,y;
endsets
定义了ww集合
@for(ww(i):x(i)*y(i)<=10) 就是对集合ww的操作,是x1*y1<=10,x2*y2<=10...x6*y6<=10。
LINGO中用@for函数实现for循环。
@for :
集循环函数,表示对集中每个满足条件的对象都要有某个约束条件。基于建模语言的标量需要显式输入每个约束,不过@for函数允许只输入一个约束,然后LINGO自动产生每个集成员的约束。
举例例:产生序列{1,4,9,16,25}
model:
sets:
number/1..5/:x;
endsets
@for(number(I): x(I)=I^2);
end