我正在使用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)