SisterRu

导航

 
 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

可求得全局最优解。

posted on 2019-07-20 20:46  yiruzhao  阅读(2022)  评论(0编辑  收藏  举报