[英]Choco Solver setObjective maximize polynominal equation
I'm currently trying out Choco Solver (4.0.8) and I'm trying to solve this equations: 我目前正在尝试Choco Solver(4.0.8),并且正在尝试解决以下等式:
Maximize 最大化
subject to 服从
I'm stuck on maximising the first equation. 我坚持最大化第一个方程式。 I guess I just need a hint which subtype of Varaible
EQUATION
should be. 我想我只是需要提示可变变量
EQUATION
子类型。
Model model = new Model("my first problem");
BoolVar x1 = model.boolVar("x1");
BoolVar x2 = model.boolVar("x2");
BoolVar x3 = model.boolVar("x3");
BoolVar x4 = model.boolVar("x4");
BoolVar[] bools = {x1, x2, x3, x4};
int[] c = {5, 7, 4, 3};
int[] c2 = {8, 11, 6, 4};
Variable EQUATION = new Variable();
model.scalar(bools, c, "<=", 14).post(); // 5x1 + 7x2 + 4x3 + 3x4 ≤ 14
model.setObjective(Model.MAXIMIZE, EQUATION); // 8x1 + 11x2 + 6x3 + 4x4
model.getSolver().solve();
System.out.println(x1);
System.out.println(x2);
System.out.println(x3);
System.out.println(x4);
It seems I have found a solution like this: 看来我找到了这样的解决方案:
Variable EQUATION = new ScaleView(x1, 8)
.add(new ScaleView(x2, 11),
new ScaleView(x3, 6),
new ScaleView(x4, 4)).intVar();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.