Метод IloCplex.solve () возвращает:
Логическое значение, сообщающее, было ли найдено допустимое решение.
Это решение не обязательно является оптимальным. Если false возвращается,
возможное решение все еще может присутствовать, но IloCplex не смог
доказать свою осуществимость.
Вы можете проверить IloCplex.getStatus () , чтобы определить, было ли решение выполнимым, оптимальным и т. Д.
Есть много примеров, которые идут с CPLEX, которые показывают, как проверить эти модели. Например, рассмотрим следующий фрагмент из LPex1.java:
// solve the model and display the solution if one was found
if ( cplex.solve() ) {
double[] x = cplex.getValues(var[0]);
double[] dj = cplex.getReducedCosts(var[0]);
double[] pi = cplex.getDuals(rng[0]);
double[] slack = cplex.getSlacks(rng[0]);
cplex.output().println("Solution status = " + cplex.getStatus());
cplex.output().println("Solution value = " + cplex.getObjValue());
int nvars = x.length;
for (int j = 0; j < nvars; ++j) {
cplex.output().println("Variable " + j +
": Value = " + x[j] +
" Reduced cost = " + dj[j]);
}
int ncons = slack.length;
for (int i = 0; i < ncons; ++i) {
cplex.output().println("Constraint " + i +
": Slack = " + slack[i] +
" Pi = " + pi[i]);
}
}