2012-06-07 6 views
8

ich den optionalen MOSEK Solver mit CVXOPT Quadratic Programming verwenden, dhCVXOPT Ausgang Unterdrückung mit MOSEK

sol = cvxopt.solvers.qp(-Q,-p,G,h,A,b,solver='mosek') 

nun dem MOSEK Solver ohne, das heißt

sol = cvxopt.solvers.qp(-Q,-p,G,h,A,b) 

Terminalausgabe von CVXOPT erzeugte mit dem Befehl unterdrückt werden

cvxopt.solvers.options['show_progress'] = False 

Dies funktioniert jedoch nicht, wenn Sie den MOSEK Solver verwenden Möglichkeit. Der MOSEK Solver, den ich innerhalb einiger Schleifen habe, produziert eine Menge Output, an dem ich nicht interessiert bin, was bedeutet, dass ich die Ausgabe nicht sehen kann, an der ich interessiert bin (d. H. Was ich mit 'print' ausgeben möchte).

Weiß jemand, ob es möglich ist, die MOSEK-Ausgabe zu unterdrücken? Oder wenn nicht, ein potenzieller Umweg (pipe die Ausgabe zu einer Datei oder etwas)?

Vielen Dank!

Dan

P. S Leider habe ich nicht mehr bestimmte Tags enthalten könnte (ich bin nicht zu schaffen neue Tags erlaubt).

http://groups.google.com/forum/?fromgroups#!forum/cvxopt

Wie auch immer, von den doc-Strings:

>>> 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. 

Antwort

0

Diese Frage soll (von CVXOPT Homepage verlinkt) an der CVXOPT google-Gruppe aufgefordert werden, Ich finde heraus, wie man diese Optionen durch CVXOPT weiterleitet, aber nach einer Überprüfung der CVXOPT-Quelle habe ich diese Lösung gefunden:

from cvxopt import matrix, solvers 
from mosek import iparam 
solvers.options['MOSEK'] = {iparam.log: 0} 

Es funktioniert mit mosek 6.

+0

Danke. Ich habe immer noch Probleme (ich bin sehr neu mit CVXOPT und MOSEK). Ich werde meine Frage in der Google-Gruppe erneut stellen. – Dan

+1

Stackoverflow ist eine Frage-und-Antwort-Website - und das ist eine perfekte Frage. Darüber hinaus beantwortet das nicht wirklich die Frage, anders als die Antwort von @ petter-nilsson – Zero

3

I couldn‘

+0

Das funktioniert tatsächlich für mich; nur anstelle von {mosek.iparam.log: 0} habe ich {iparam.log: 0} verwendet. Vielen Dank! – Arash