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*()
두 식 / 조건을 추가하는 방법을.