我正在使用ILOG CPLEX Studio的CP Optimizer来运行一个优化问题。具体来说,我正在使用Eclipse IDE在Java中运行一个OPL代码。我的代码是工作的,我得到的一个实例的输出如下。
其中,"Fitness "是目标函数的值 接下来的100个数字是问题的可行解。我想将红框中的数字保存在一个二维整数组中(尺寸为10行x10列),以便利用局部搜索方法继续搜索。当我在Java代码中调用: opl.postProcess();
在我的Java代码中调用:时,解就会显示出来。这里是我的代码的提取。
if (cp.solve()) {
System.out.println("Fitness: " + opl.getCP().getObjValue());
opl.postProcess();
}
有没有一种方法可以将这些信息保存在一个2D整数数组中?
你可以看一下CPLEX_Studio1210\opl\examples\opl_interfaces\javaiterators\src\iterators这个例子,它告诉你如何在java中得到你在OPL中的值。
另一种方法是通过一个文件,在你的postProcess中使用IloOplOutputFile,以便将你的数组保存在文本文件或csv文件中。