Я правильно использую clp-java - PullRequest
2 голосов
/ 06 ноября 2019

Проблема, которую я хочу решить с помощью 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

...