Я пытаюсь перевести некоторый код Gurobi на CPLEX, и у меня возникают проблемы с тем, как установить начальное значение для переменной.Что такое CPLEX-эквивалент метода .set() Gurobi?
Исходный код выглядит следующим образом:
for (int b=0; b<nB ; ++b){
for (int t=0; t<t_max; ++t){
Yvars[b][t].set(GRB_DoubleAttr_Start, startVals[b][t+shift]);
}
}
что бы код эквивалентен CPLEX? Я не могу найти информацию в любом месте, как это сделать. Ближайший я могу найти это:
Однако, это говорит о том, что я должен добавить начальные значения в самой модели, как это:
IloNumVarArray startVar(env);
IloNumArray startVal(env);
for (int b = 0; b < nB; ++b)
for (int t = 0; t < t_max; ++t) {
startVar.add(Yvars[b][t]);
startVal.add(startVals[b][t+shift]);
}
cplex.addMIPStart(startVar, startVal);
И не только влияют на физическое лицо как в исходном коде. Есть ли способ просто сделать это с переменными, как с Gurobi? Или мне нужно делать все сразу?