java - 无法将模型从 MPS 文件导入到 IloCplex - IBM ILOG CPLEX - Java - Intellij

标签 java intellij-idea cplex websphere

我目前正在使用 Ilog Cplex 库开发一个 Java 项目,我使用的是 Intellij-Idea IDE。 我在从 MPS 文件导入模型时遇到问题,这是给我带来问题的代码段

IloCplex iloCplexInstance = new IloCplex();
iloCplexInstance.importModel(fileName);

它引发此异常:

ilog.cplex.CpxException: CPLEX Error  1423: Could not open file 'models\20_70_45_05_100.mps' for reading.

at ilog.cplex.CplexI.CALL(CplexI.java:5204)
at ilog.cplex.CplexI._readModel(CplexI.java:5584)
at ilog.cplex.CplexI.importModel(CplexI.java:1032)
at ilog.cplex.IloCplex.importModel(IloCplex.java:902)
at heuristics.ziround.LPUtils.fromMPS(LPUtils.java:34)
at heuristics.test.LPUtilsTestCompile.main(LPUtilsTestCompile.java:13)

我尝试使用junit4junit.runners.Parameterized在单元测试中运行它,并在其主方法的一个简单类中运行它。每种情况的结果相同。我还尝试设置文件的完整路径,它给出了相同的结果。 我知道我使用的文件没问题,我可以使用 cplex 终端命令读取它,我还尝试了其他文件。

使用Ilog库的代码可以编译,但我不确定它是否可以运行,因为我无法导入模型,我无法尝试解决一个模型.

我使用的是 Windows,以管理员身份启动 IDE 没有任何效果,并且文件不会被阻止读取(或写入)。

我正在关注 IBM 的文档: https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.cplex.help/refjavacplex/html/ilog/cplex/IloCplex.html#importModel(java.lang.String)

在官方支持页面中,我发现了有关错误的信息:http://www-eio.upc.es/lceio/manuals/cplex-11/html/refcallablelibrary/html/macros/CPXERR_FAIL_OPEN_READ.html

但是我找不到任何有用的东西。

另外,IBM 论坛目前已关闭,似乎没有人遇到过此类问题:(

有谁知道可能出什么问题吗?我能做些什么?你知道还有其他选择吗?

感谢任何来访的人!!

最佳答案

异常消息显示:

ilog.cplex.CpxException: CPLEX Error 1423: Could not open file 'models\20_70_45_05_100.mps' for reading.

尝试使用绝对路径,例如c:\path\to\your\models\20_70_45_05_100.mps

您还可以向程序中添加代码以确保该路径存在。像这样的东西:

import java.nio.file.Files;
...
IloCplex iloCplexInstance = new IloCplex();
if (!Files.exists(fileName))
    throw new AssertionError("path does not exist: " + fileName);
iloCplexInstance.importModel(fileName);

关于java - 无法将模型从 MPS 文件导入到 IloCplex - IBM ILOG CPLEX - Java - Intellij,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60681862/

相关文章:

Java IEEE 754 float 到 IBM float byte[4] 转换

java - 如何在泛型方法中传递<T>的类类型

javascript - 使用intellij idea开发时gulp.watch不起作用

c - 元组的写入约束

cplex - Docplex 与 CPLEX Python API

java - 文本更改后从 sqlite 数据库中获取特定行

java - 在 GWT 应用程序上运行 Java 请求采样器(使用 SyncProxy)的 JMeter 中分离用户 session

javascript - 有没有办法在 IntelliJ 中以不同的方式格式化 JavaScript 对象和函数参数?

intellij-idea - 自定义 pycharm 插件始终禁用

c++ - 如何使用 IloCplex::readSolution() 并在查询 cplex 类实例后获取 var。值(value)观和其他值(value)观?