1 model: !模型; 2 !集的定义,名称 /成员/ : 属性; 3 sets: 4 row / 1..4 / : b; 5 col / 1..5 / : c1, c2, x; 6 link(row, col) : a; 7 endsets 8 !数据部分,对象列 = 数值列,也可以指定一些标量参数; 9 !实时参数处理:在本该放数的地方放一个问号; 10 data: 11 c1 = 1, 1, 3, 4, 2; 12 c2 = -8, -2, -3, -1, -2; 13 a = 1 1 1 1 1 14 1 2 2 1 6 15 2 1 6 0 0 16 0 0 1 1 5; 17 b = 400, 800, 200, 200; 18 enddata 19 !集循环函数; 20 !@for(setname : expression_list); 21 !@sum(setname : one_expression_list); 22 max = @sum(col : c1 * x ^ 2 + c2 * x); 23 @for(row(i) : @sum(col(j) : a(i, j) * x(j)) < b(i)); 24 @for(col : @gin(x));!@gin限制x为整数; 25 @for(col : @bnd(0, x, 99));!@bnd变量界定函数,即x的取值范围; 26 end
可求得全局最优解。