Проблема, которую я хочу решить с помощью clp-java :
Minimize 4 - 2 * x1 + 6 - 2 * x2 where x1 <= 2, x2 <= 3
Код:
CLP clp = new CLP();
CLPVariable x1 = clp.addVariable();
clp.createExpression().add(4).add(-2, x1).asObjective();
clp.createExpression().add(x1).leq(2);
CLPVariable x2 = clp.addVariable();
clp.createExpression().add(6).add(-2, x2).asObjective();
clp.createExpression().add(x2).leq(3);
clp.minimize();
System.out.println("obj=" + clp.getObjectiveValue());
System.out.println("x1=" + x1.getSolution());
System.out.println("x2=" + x2.getSolution());
Результат выполнения:
obj=-16.0
x1=2.0
x2=3.0
Очевидно, что результат должен быть 0, а не -16. Я что-то упустил?
Я использую версию 1.16.11