У меня в настоящее время есть проблема с реализацией противопоказаний. У меня есть два набора (s1 и s2) спецификаций c GRBVars и я пытаюсь реализовать следующее ограничение:
Sum (s1) - Sum (s2) + constantValue <= someValue </p>
My реализация (изменена для удобства чтения):
GRBVar[][] vars;
....
GRBLinExpr expr1 = new GRBLinExpr();
GRBLinExpr expr2 = new GRBLinExpr();
for (Edge edge : s1) {
expr1.addTerm(1.0, vars[edge.getVertex1][edge.getVertex2]);
}
for (Edge edge : s2) {
expr2.addTerm(-1.0, vars[edge.getVertex1][edge.getVertex1]);
}
expr1 += expr2 + 50;
Последняя строка expr1 + = expr2 + 50 помечена как ошибка, без какой-либо полезной информации. Согласно документации (https://www.gurobi.com/documentation/9.0/refman/cs_lex.html) это должно быть возможно. Что мне не хватает? Есть ли лучший способ реализовать это противопоказание?
С уважением