Can';t将模型从MPS文件导入IloCplex-IBM ILOG CPLEX-Java-Intellij

Can';t将模型从MPS文件导入IloCplex-IBM ILOG CPLEX-Java-Intellij,java,intellij-idea,cplex,ibm,Java,Intellij Idea,Cplex,Ibm,我目前正在使用ilogcplex库用java开发一个项目,我正在使用intellijidea IDE。 从MPS文件导入模型时遇到问题,这段代码给我带来了问题 IloCplex iloCplexInstance = new IloCplex(); iloCplexInstance.importModel(fileName); 它触发此异常: ilog.cplex.CpxException: CPLEX Error 1423: Could not open file 'models\20_70

我目前正在使用
ilogcplex
库用java开发一个项目,我正在使用intellijidea 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)
我尝试在单元测试中使用junit4、junit.runners.Parameterized以及它的主方法中的一个简单类来运行它。每种情况下的结果相同。我还尝试设置文件的完整路径,它给出了相同的结果。 我知道我使用的文件还可以,我可以使用cplex终端命令读取它,我还尝试了其他文件

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

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

下面是IBM提供的文档:

在官方支持页面中,我发现了以下关于错误的信息:

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

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

有人知道会有什么麻烦吗?我能做什么?你知道其他的选择吗


感谢所有路过这里的人!!

异常消息显示:

ilog.cplex.CpxException:cplex错误1423:无法打开文件 'models\20\u 70\u 45\u 05\u 100.mps'用于阅读

尝试使用绝对路径,例如
c:\path\to\your\models\20\u 70\u 45\u 05\u 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);
以下是我的回答:

String modelsPath = "absolute\\folder\\path";

Collection<Object[]> models = new ArrayList<>();
File folder = new File(modelsPath);
for (final File fileEntry : Objects.requireNonNull(folder.listFiles())) {
    if (fileEntry.isFile())
        models.add(new String[]{fileEntry.getAbsolutePath()});
}
return models;
String modelsPath=“绝对\\文件夹\\路径”;
集合模型=新的ArrayList();
文件夹=新文件(modelsPath);
对于(最终文件条目:Objects.requirennull(folder.listFiles())){
if(fileEntry.isFile())
添加(新字符串[]{fileEntry.getAbsolutePath()});
}
收益模型;

这将确保绝对路径正确,现在是
iloCplexInstance.importModel(文件名)
接受它很好

您确定要读取的文件的路径吗?该文件是否被另一个进程锁定?我知道该路径是正确的,并且对绝对路径也一样。该文件未被其他进程使用。如果使用绝对路径,则会得到相同的结果,我将尝试您的建议!