2012-07-25 242 views
10

我正在使用IBM cplex优化器来解决优化问题,并且我不希望优化器所做的所有终端打印。是否有会员在IloCplex或IloModel课程中关闭此功能?这些是关于剪切和迭代的打印。打印到终端是昂贵的,我的问题最终会达到数百万变量的数量级,我不想浪费时间处理这些多余的输出。谢谢。如何使cplex不输出到终端

+2

虽然使用cplex解决数百万个变量的MIP模型并不平凡,但这并不罕见,并且默认日志记录不会显着影响解决方案时间。平均而言,问题实例越大,每条日志消息所执行的计算量就越多。 (需要花费相同的时间来打印约10条切割线,因为它需要打印约1000条切割线,但实际计算1000条切割花费更长的时间)。事实上,对于更大的问题,我通常会设置轮到登录。 – 2012-07-25 17:19:40

+0

感谢您的建议 – DiegoNolan 2012-07-25 18:29:46

回答

14

使用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