Как вызвать cplex solver?

Я пишу алгоритм в c++, и у меня есть основная и дополнительная проблема. Поэтому я дважды вызываю cplex solver. В первый раз, когда я называю это решением основной проблемы, вот мой код для этого:

IloModel model_master(env);

definition of obj and constraints

IloCplex cplex_master(env);
cplex_master.extract(model_master);
cplex_master.setParam(IloCplex::EpGap,0.0001);
cplex_master.solve();
LB=cplex_master.getObjValue();

Но не работает! когда я ставлю cout<<"1" << endl; после IloCplex cplex_master(env);, он не печатается.


person Anna    schedule 26.04.2012    source источник
comment
и если вы поместите cout ‹< перед cplex ‹< endl; непосредственно перед IloCplex cplex_master (env); ты это видишь? Вы получаете исключение IloException?   -  person David Nehme    schedule 26.04.2012
comment
Да я вижу, что. Ошибка Unhandled exception at 0x758cb9bc in For-Calling-Cplex.exe: Microsoft C++ exception: IloCplex::Exception at memory location 0x0026fb6c..   -  person Anna    schedule 26.04.2012


Ответы (1)


Оберните вызов функции в блок try / catch.

try {
   // ...
} catch (IloException &ex) {
   cerr << ex << endl;
}

Вероятно, у вас не настроен ключ Ilm на машине, на которой вы пытаетесь запустить cplex.

person David Nehme    schedule 26.04.2012