如何在AMPL中关闭某些消息?

时间:2014-03-21 23:33:26

标签: output ampl

我有一个AMPL脚本,涉及调用"解决"在一个线性程序上多次。我使用的解算器是MINOS。在每次解决之后,它输出:

  

MINOS 5.51:

     

" option abs_boundtol 2.220446049250313e-16;"或"选项   rel_boundtol 2.220446049250313e-16;"将改变推导出的双重价值。

有没有办法抑制此消息?

我在MINOS指令中读到了这个:

  

对于来自AMPL的解决命令或

形式的调用      

minos stub ...

     

(其中stub.nl来自AMPL' s -ob或-og输出选项),​​你可以使用   outlev =控制输出的数量和种类:

     

outlev = 0 stdout没有聊天

     

outlev = 1仅报告stdout上的选项

     

outlev = 2 stdout上的摘要文件

     

outlev = stdout上的3个日志文件,没有解决方案

     在pdout上

outlev = 4日志文件,包括解决方案

这可能是相关的,但我不理解。

我已经包含"选项solver_msg 0;"在我的剧本中;它关闭了MINOS的公告,它通过如此多的迭代得到了如此理想的最佳值,但它并没有影响我在这里询问的信息。

2 个答案:

答案 0 :(得分:0)

您可以将剩余的求解器输出重定向到/dev/null(或系统的等效项),如下所示:

solve > /dev/null;

关于abs_boundtolrel_boundtol的消息,我认为您可以将它们设置为大于2.220446049250313e-16的小正值,以使消息消失。请注意,这将影响为预解决约束计算的双值。

另见https://groups.google.com/d/msg/ampl/ERJ8nF_LnNU/75yWK9deBjUJ

答案 1 :(得分:0)

对我来说"选项show_boundtol 0;"工作。你可以试试这个。默认情况下,它是"选项show_boundtol 1;"。

你可以在这里阅读(http://ftp.icm.edu.pl/packages/netlib/ampl/changes