如何在Java中保存opl.postProcess();输出为一个2D数组

问题描述 投票:1回答:1

我正在使用ILOG CPLEX Studio的CP Optimizer来运行一个优化问题。具体来说,我正在使用Eclipse IDE在Java中运行一个OPL代码。我的代码是工作的,我得到的一个实例的输出如下。

enter image description here

其中,"Fitness "是目标函数的值 接下来的100个数字是问题的可行解。我想将红框中的数字保存在一个二维整数组中(尺寸为10行x10列),以便利用局部搜索方法继续搜索。当我在Java代码中调用: opl.postProcess(); 在我的Java代码中调用:时,解就会显示出来。这里是我的代码的提取。

            if (cp.solve()) {
            System.out.println("Fitness: " + opl.getCP().getObjValue());
            opl.postProcess();
            }

有没有一种方法可以将这些信息保存在一个2D整数数组中?

java arrays cplex ilog cp-optimizer
1个回答
1
投票

你可以看一下CPLEX_Studio1210\opl\examples\opl_interfaces\javaiterators\src\iterators这个例子,它告诉你如何在java中得到你在OPL中的值。

另一种方法是通过一个文件,在你的postProcess中使用IloOplOutputFile,以便将你的数组保存在文本文件或csv文件中。

© www.soinside.com 2019 - 2024. All rights reserved.