optimization - 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 中可用(例如,请参见此处)。
根据文档中的此页面,CPX_PARAM_SCRIND
是“没有等效 OPL 选项的 CPLEX 参数”之一。除非您切换到使用 C++、Java 或 .NET OPL API 之一,否则我认为不可能按照您的要求进行操作。在此处的官方 IBM developerWorks 论坛上提出了类似的问题。
推荐阅读
- vue.js - 如何在vue中取一个user_id并找到用户名
- matlab - 比较过滤后的数据3:filtData(带通)与 filtfilt 与过滤器对象与 filfilt 与 sos 矩阵
- python - TypeError:需要一个类似字节的对象,而不是带有鼠标仿真的“str”
- flutter - 扑通扑通的电话
- java - BigInteger#nextProbablePrime 是否至少精确到 64 位数字?
- c# - VSTO:在已发送项目中创建虚假电子邮件时出现问题
- android - 为什么我用 Firebase 中的数据填充的 Recyclerview 显示为空白?
- c - 将 REQ_NEXT_CHAR 限制为 ncurses 表单字段中的内容长度
- java - 我的应用程序完美地在模拟器上运行。但是当我将它安装在我的 android 设备上时它没有运行
- elasticsearch - Elasticsearch 客户端:加快客户端创建速度