我正在使用IBM cplex优化器解决一个优化问题,但我不想要优化器输出的所有终端打印信息。在IloCplex或IloModel类中是否有一个成员可以关闭这个功能?这些打印信息涉及剪枝和迭代。终端打印会影响性能,而我的问题最终将涉及数百万个变量,因此我不想浪费时间处理这些多余的输出。谢谢。
我正在使用IBM cplex优化器解决一个优化问题,但我不想要优化器输出的所有终端打印信息。在IloCplex或IloModel类中是否有一个成员可以关闭这个功能?这些打印信息涉及剪枝和迭代。终端打印会影响性能,而我的问题最终将涉及数百万个变量,因此我不想浪费时间处理这些多余的输出。谢谢。
使用cplex / concert,您可以通过以下方式完全关闭cplex对控制台的记录:
cpx.setOut(env.getNullStream())
cpx是一个IloCplex对象。您还可以使用setOut函数将日志重定向到文件。
有几个cplex参数可以控制记录的内容,例如MIPInterval将设置在行之间搜索的MIP节点数量。将MIPDisplay设置为0将关闭除发现新解决方案外的割线显示,而MIPDisplay为5将显示有关每个lp子问题的详细信息。
与记录相关的参数包括MIPInterval、MIPDisplay、SimDisplay、BarDisplay和NetDisplay。
您可以使用setParam函数设置参数。
cpx.setParam(IloCplex::MIPInterval, 1000)