Cplex Java API和127错误代码



我通过Java API(依赖于JNI)使用CPLEX。我有一个单独的应用程序在运行,并按顺序解决了数百万个问题。这个问题本身很简单,在几毫秒内就能解决。

我有这个设置是为了避免使用过多的内存

cplex = new IloCplex();
//...model definition
cplex.setParam(IloCplex.IntParam.WorkMem, 512);
cplex.setParam(IloCplex.DoubleParam.TreLim, 1024);
cplex.setParam(IloCplex.IntParam.NodeFileInd, 3);

但相信我,它太小了,我永远不会超过那么多的记忆。运行数小时后出现问题。应用程序退出,出现127错误。我非常确信CPLEX库在内存中保留了CPLEX的实例,这些实例在数百万次运行后耗尽了我的RAM。

我应该怎么做,创建一个单一的cplex对象并强制删除创建的模型的内存?cplex.clearModel();足够吗?

我不得不调用cplex.end()来释放每次求解公式后创建的所有变量。

相关内容

最新更新