2017-12-20 4 views
0

Ich lösen ein konvexes Optimierungsproblem in Python cvxopt.Wie fügt man effizient Grenzen in cvxopt ein?

Ich weiß, ich kann die untere Grenze und obere Grenze mit Gx <= h Constraint hinzufügen. Dies erhöht jedoch die Dimensionalität des Problems. Zusätzlich zu den Szenarien während des Lösungsprozesses wird meine Entscheidungsvariable negativ.

Antwort

1

Angesichts der verfügbaren APIs aller cvxopt-basierten Solver gibt es keine Möglichkeit dafür, sondern die Verwendung von Einschränkungen, wie Sie es beschrieben haben. Beachten Sie, dass es bei diesen Lösern keine explizite Behandlung von Grenzen in der zugrundeliegenden Theorie der konischen Optimierer gibt (nur Interior-Point-Methoden). Außerdem sind diese Einschränkungen sehr gering und die Dimensionalität ist ein vernachlässigbarer Faktor im Vergleich zu Sparsity-Verhältnissen/Mustern.

Dies ist natürlich anders für Simplex-Typ-Löser (explizite Behandlung von Schranken). Aber für externe Löser wie GLPK/MOSEK ist dies auch not supported.

(Ich verstehe nicht Ihren letzten Punkt. Vielleicht machen Sie es klarer!)

Verwandte Themen