如何静默cvxopt求解器[Python]?

14 投票
2 回答
10203 浏览
提问于 2025-04-28 01:26

每次我在终端运行Python的cvsopt求解器时,它都会打印出以下内容:

     pcost       dcost       gap    pres   dres
 0: -8.0742e+00 -7.3715e+00  3e+03  5e+01  4e-15
 1: -6.6241e-01 -7.2834e+00  7e+01  1e+00  3e-15
......
Optimal solution found.

我能让这个信息不显示吗?谢谢!

暂无标签

2 个回答

7

你可能需要传递一些特定于你正在使用的求解器的选项。比如,如果你想让cvxopt的LP求解器(GLPK)不输出信息,可以添加一个选项。

options={'glpk':{'msg_lev':'GLP_MSG_OFF'}}

例如,result = cvxopt.solvers.lp(c, G, h, A, b, solver='glpk', options={'glpk':{'msg_lev':'GLP_MSG_OFF'}})。不过,你也可以选择减少输出信息的程度,而不是完全关闭,具体可以参考这个链接,里面列出了所有允许的信息级别。

19

在调用求解器之前,只需添加以下这一行:

solvers.options['show_progress'] = False

可以查看 CVXOPT 用户组 - 如何让 cvxopt 求解器不输出信息

撰写回答