Gurobi - 문제 때 건물 제약 (자바)

TheJed :

나는 현재 contraint를 구현하는 문제가있다. 나는 특정의 GRBVars 두 세트 (S1과 S2)이 다음과 같은 contraint을 구현하려고 :

SUM (S1) - 합 (S2) + constantValue <= someValue와

내 구현 (쉽게 읽을 수정) :

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 + = + 50 expr2이 어떤 유용한 정보없이 에러로 표시된다. 문서에 따르면 ( https://www.gurobi.com/documentation/9.0/refman/cs_lex.html )이 가능해야한다. 나는 무엇을 놓치고? 이 contraint을 구현하는 더 좋은 방법이 있나요?

친애하는

Progman :

같은 표현 expr1 += expr2 + 50에서 볼 수 있듯이, 연산자 오버로딩을 지원하는 경우에만 프로그래밍 언어에서 지원, 문서 :

지원 연산자 오버로드 것을 .NET 언어에서는 일반적으로 오버로드 된 연산자를 사용하여 선형 식을 구축 할 수 있습니다. [...]

링크 https://www.gurobi.com/documentation/9.0/refman/cs_lex.html가 참조하는됩니다 .NET API 세부 정보 는 .NET 언어. 당신이보고 싶을 https://www.gurobi.com/documentation/9.0/refman/java_lex.html 위한 자바 API 세부 사항 . 당신은 당신이 사용할 수있는 문서가이 add*()두 식 / 조건을 추가하는 방법을.

추천

출처http://43.154.161.224:23101/article/api/json?id=341809&siteId=1