lingo18.0多目标规划代码示例
时间: 2023-09-14 16:10:13 浏览: 217
多目标规划的LINGO求解法
以下是一个使用LINGO 18.0进行多目标规划的代码示例:
```
model:
sets:
I /1*3/
J /1*4/
K /1*2/;
parameters:
a(I) /1 2 3/,
b(J) /3 4 5 6/,
c(K) /10 20/;
variables:
x(I,J) binary,
y(K) integer;
equations:
obj1,
obj2,
cons1(I),
cons2(J),
cons3(K);
obj1.. sum((i,j), a(i)*x(i,j)) =e= y(1);
obj2.. sum((i,j), b(j)*x(i,j)) =e= y(2);
cons1(i).. sum(j, x(i,j)) =e= 1;
cons2(j).. sum(i, x(i,j)) =e= 1;
cons3(k).. sum(i,j, a(i)*x(i,j)) + sum(j, b(j)*x(i,j)) =g= c(k)*y(1) + c(k)*y(2);
model m /all/;
solve m using moga minimizing y;
```
这个代码中,我们有三个集合:I,J,K,它们分别包含了1到3,1到4,1到2的元素。我们有三个参数a,b,c,它们分别是I,J,K集合中元素的系数。我们有两个变量x和y,x是一个二进制变量,y是一个整数变量。我们有三个约束条件cons1,cons2,cons3,分别对应于每个集合中的元素,并确保每个元素都被选中,以及每个目标函数的约束条件。我们有两个目标函数obj1和obj2,它们分别最小化y(1)和y(2)。最后,我们使用LINGO的moga求解器来解决这个多目标规划问题。
阅读全文