我正在使用CVXOPT二次编程的可选MOSEK求解器,即
sol = cvxopt.solvers.qp(-Q,-p,G,h,A,b,solver='mosek')现在不使用MOSEK求解器,即
sol = cvxopt.solvers.qp(-Q,-p,G,h,A,b)可以使用以下命令抑制CVXOPT生成的终端输出
cvxopt.solvers.options['show_progress'] = False但是,这在使用MOSEK求解器选项时不起作用。MOSEK求解器,我有几个循环,产生了很多我不感兴趣的输出,这意味着我看不到我感兴趣的输出(即我选择使用‘print’输出的内容)。
有没有人知道是否可以抑制MOSEK输出?或者,如果没有,一个潜在的变通方法(通过管道将输出输出到文件或其他文件)?
非常感谢!
丹
附言:对不起,我不能包含更具体的标签(我不被允许创建新的标签)。
发布于 2013-09-14 07:14:54
我不知道如何通过CVXOPT传递这些选项,但在对CVXOPT的来源进行了一些筛选后,我想出了这个解决方案:
from cvxopt import matrix, solvers
from mosek import iparam
solvers.options['MOSEK'] = {iparam.log: 0}它适用于mosek 6。
发布于 2012-06-12 21:03:35
这个问题应该在CVXOPT google-group (从CVXOPT主页链接)上提出:
http://groups.google.com/forum/?fromgroups#!forum/cvxopt
无论如何,从doc-string中:
>>> help(cvxopt.msk.qp)
.
.
Options are passed to MOSEK solvers via the msk.options dictionary,
e.g., the following turns off output from the MOSEK solvers
>>> msk.options = {mosek.iparam.log: 0}
see chapter 15 of the MOSEK Python API manual.https://stackoverflow.com/questions/10924550
复制相似问题