2012-04-26 73 views
0

我正在寫一個算法在c++,我有一個主和一個子問題。所以我打電話給cplex求解器兩次。第一次是當我打電話解決主問題,這裏是我的代碼:如何調用cplex求解器?

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);它不打印它。

+1

如果你把cout <<「放在cplex」<< endl之前;就在IloCplex cplex_master(env)之前;你看到了嗎?你是否遇到IloException? – 2012-04-26 04:54:34

+0

是的,我明白了。錯誤是:For-Calling-Cplex.exe中的0x758cb9bc未處理的異常:Microsoft C++異常:內存位置0x0026fb6c處的IloCplex ::異常。 – Anna 2012-04-26 05:16:01

回答

1

將你的函數調用包裝在try/catch塊中。

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

您可能沒有在您嘗試運行cplex的機器上設置Ilm密鑰。