2012-04-26 71 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密钥。