@sum(m:x)是集循环函数 是对集m中的所有元素对应的x求和 具体几个看集的定义
例如 可写程序如下:
model:
sets:
row/1..4/:b;
col/1..5/:c1,c2,x;
link(row,col):a;
endsets
data:
c1=1,1,3,4,2;
c2=-8,-2,-3,-1,-2;
a=1 1 1 1 1
1 2 2 1 6
2 1 6 0 0
0 0 1 1 5;
b=400,800,200,200;
enddata
max=@sum(col:c1*x^2+c2*x);
%就是方程的第一行,大致相当于求和符号Σ
@for(row(i):@sum(col(j):a(i,j)*x(j))
%Σa(i,j)*x(j)
@for(col:@gin(x));
@for(col:@bnd(0,x,99));
End
求得:x1=50,x2=99,x3=0,x4=99,x5=20.最大值为51568。
这样应该可以理解