如何解决GNU MathProg 循环值、多个二进制背包、语法问题
我正在尝试使用 GNU MathProg https://online-optimizer.appspot.com/ 实现多二进制背包问题 而且我不确定如何施加约束, 相同的物品不能放入同一个背包 我尝试了以下方法: w1,w2,v1,v2,分别是两个背包的重量和值
param w1{I};
param v1{I};
param w2{I};
param v2{I};
var x1{I} >= 0,<= 1,binary;
var x2{I} >= 0,binary;
maximize z: sum {i in I} v1[i] * x1[i] + sum {i in I} v2[i] * x2[i] ;
subject to c1: sum {i in I} w1[i] * x1[i] <= 50;
subject to c2: sum {i in I} w1[i] * x2[i] <= 70;
现在我试过了:
subject to c3: forall {i in I} x1[i] + x2[i] < 2;
这样一来,放在一个背包里的东西就不能带进另一个背包里了。 但它说 i 没有定义。 如何解决问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。