는 다음과 같은 목적 함수입니다 : Gurobi에서 다음과 같은 목적 함수를 작성하는 방법은 무엇입니까?
나는 다음과 같은 자바 코드가 있습니다
// Create list of variables
List<GRBVar> varList = new ArrayList<>();
// Set objective: maximize log(p) * x
GRBLinExpr expr = new GRBLinExpr();
int counter = 0;
for(Map.Entry<String, Double[]> entry: probabilityLevels.entrySet()) {
Double[] probs = entry.getValue();
for (Double prob: probs) {
GRBVar x = model.addVar(0.0, 1.0, 0.0, GRB.BINARY, "x" + counter);
expr.addTerm(Math.log(prob), x);
varList.add(x);
}
}
model.setObjective(expr, GRB.MAXIMIZE);
업데이트 코드를
의사 결정 변수 또는 데이터입니까? z는 위 첨자 또는 지수입니까? –
z 위 첨자는 지수가 아니며 p는 한정사 일 뿐이며 알려진 값을 갖는 변수입니다. 나는 x의 값이 p가 선택되었는지 아닌지를 결정할 것이기 때문에 유일한 결정 변수가 x라고 믿는다. 또한, p가 때때로 0 일 수 있다는 것을 알았습니다. 이는 로그가 -Infinity라는 것을 의미합니다. 이것은 MIP 해석기를 실행 한 후에 결과를 엉망으로 만듭니다. p의 계산이 잘못되었거나 해결자가이 값을 처리하는 데 사용할 수있는 기능이 있습니까? – Andrei