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

Mr.*_*Pei 9 python module silent cvxopt

每当我在终端中运行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.
Run Code Online (Sandbox Code Playgroud)

我可以沉默这个消息吗?谢谢!

小智 10

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

solvers.options['show_progress'] = False
Run Code Online (Sandbox Code Playgroud)


Flo*_*anH 7

您可能需要传递特定于您正在使用的特定求解器的选项。例如,要使 GLPK 的 cvxopt LP 求解器输出静音:添加选项

options={'glpk':{'msg_lev':'GLP_MSG_OFF'}}
Run Code Online (Sandbox Code Playgroud)

例如result = cvxopt.solvers.lp(c, G, h, A, b, solver='glpk', options={'glpk':{'msg_lev':'GLP_MSG_OFF'}})。使用不太激进的输出减少可能会更好,参见。http://glpk-java.sourceforge.net/apidocs/org/gnu/glpk/GLPKConstants.html所有允许的消息级别。