如何使cplex不输出到终端
问题描述:
我正在使用IBM cplex优化器来解决优化问题,并且我不希望优化器所做的所有终端打印。是否有会员在IloCplex或IloModel课程中关闭此功能?这些是关于剪切和迭代的打印。打印到终端是昂贵的,我的问题最终会达到数百万变量的数量级,我不想浪费时间处理这些多余的输出。谢谢。如何使cplex不输出到终端
答
使用CPLEX /演唱会,你可以完全CPLEX的日志在哪里CPX是IloCplex对象关闭控制台与
cpx.setOut(env.getNullStream())
。您还可以使用setOut函数将日志重定向到文件。
有几个cplex参数来控制记录的内容,例如MIPInterval将设置在两行之间搜索的MIP节点的数量。例如,将MIPDisplay转换为0将关闭切换显示,除非发现新的解决方案,其中5的MIPDisplay将显示有关每个lp-子问题的详细信息。
记录相关参数包括MIPInterval MIPDisplay SimDisplay BarDisplay NetDisplay
您设定通过setParam功能参数。
cpx.setParam(IloCplex::MIPInterval, 1000)
+1
谢谢,非常有帮助 – DiegoNolan 2012-07-25 18:28:53
虽然使用cplex解决数百万个变量的MIP模型并不平凡,但这并不罕见,并且默认日志记录不会显着影响解决方案时间。平均而言,问题实例越大,每条日志消息所执行的计算量就越多。 (需要花费相同的时间来打印约10条切割线,因为它需要打印约1000条切割线,但实际计算1000条切割花费更长的时间)。事实上,对于更大的问题,我通常会设置轮到登录。 – 2012-07-25 17:19:40
感谢您的建议 – DiegoNolan 2012-07-25 18:29:46