将数据从 Java 传递到 OPL 模型

Passing data to OPL model from Java

我有 OPL .mod model 并且我 运行 它来自 Java 代码。 model 需要一些外部数据。 当前 model 使用

.dat 文件加载数据
IloOplFactory.createOplRunConfiguration(String modelName, String[] dataFiles) 

方法。

我想直接从 Java 代码加载数据。

我找到了

IloOplFactory.createOplRunConfiguration(OplModelDefinition, OplDataElements)

但我不明白如何使用它(如何为 OplDataElements 定义元素)。

有人可以提供定义元素的示例和此方法的用法吗? (或者将数据从 Java 传递到 OPL model 的更好方法)

提前致谢。

我这样做是为了将控制和配置数据传递给模型,通常是参数值和标志。创建 IloOplDataElements 的实例后,您可以将其添加为模型的数据源,例如

IloOplDataElements configData = new IloOplDataElements(env);
configData.addElement(configData.makeElement("modelIteration", 1));
configData.addElement(configData.makeElement("debug", 2));
// etc
myModel.addDataSource(configData);

我还没有尝试用数组数据做这个,但我想它应该是相似的。