问题描述
我想知道是否可以使用另一种编码形式(在 CPLEX 中)以获得与以下代码相同的结果:
dvar int+ n[1..2];
dexpr float z = - 3*n[1]^2 - 4*n[2]^2 - 4*n[1]*n[2]
+ 5000*n[1] + 2000*n[2];
maximize z;
subject to {
ct1: - 7*n[1] - 2*n[2] <= -3000;
ct2: - 5 * n[1] - 3 *n[2] <= -2000;
}
解决方法
之内CPLEX你也可以使用约束规划:
using CP;
dvar int+ n[1..2] in 0..10000;
dexpr float z = - 3*n[1]^2 - 4*n[2]^2 - 4*n[1]*n[2]
+ 5000*n[1] + 2000*n[2];
maximize z;
subject to {
ct1: - 7*n[1] - 2*n[2] <= -3000;
ct2: - 5 * n[1] - 3 *n[2] <= -2000;
}
给出相同的结果,但依赖于 CPOptimizer