IBM的CPLEX cplex.setOut(env.getNullStream())无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IBM的CPLEX cplex.setOut(env.getNullStream())无法正常工作相关的知识,希望对你有一定的参考价值。

我已经查看了问题,看看是否有人已经问过这个问题,据我所知,没有其他人有这个问题。

我试图从命令行压缩oplrun的详细输出。我知道有些人使用cplex.setOut(env.getNullStream())很幸运,其中cplex是IloCplex类型的对象。函数setOut()继承自IloAlgorithm类。

当我尝试在我的模型(.mod)文件中的主代码块中使用它时,我收到错误:

脚本运行时错误:未知属性'setOut'。

我在调用solve()之前放置了函数调用。

什么想法可能是错的?

谢谢。

这是一段代码:

main{

    var opl = thisOplModel;
    var mod = opl.modelDefinition;
    var dat = opl.dataElements;
    var set = opl.settings;
    var cplex1 = new IloCplex();

    cplex1.setOut(env.getNullStream()); //Giving me problems

    opl = new IloOplModel(mod,cplex1);
    opl.addDataSource(dat);
    opl.generate();

    cplex1.tilim = opl.tiLim;
    cplex1.mipemphasis = 0;

    cplex1.solve();
    // more stuff ... 
}
答案

啊,你正在使用IBM ILOG Script for OPL(又名oplscript)。 setOut方法仅适用于C ++,Java,.NET OPL API(例如,参见here)。

根据文档中的this页面,CPX_PARAM_SCRIND是“没有等效OPL选项的CPLEX参数”之一。除非您切换到使用C ++,Java或.NET OPL API之一,否则我认为不可能按照您的要求进行操作。在IBM developerWorks官方论坛here上提出了类似的问题。

以上是关于IBM的CPLEX cplex.setOut(env.getNullStream())无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

理解多背包问题 IBM CPLEX 的问题

安装指定版本的CPLEX

Yalmip+Ipopt+Cplex使用手册

CPLEX在IntelliJ IDEA的配置

有没有办法用交互式CPLEX生成随机数据?

谷歌 colab 上带有学生版的 CPLEX