Eingeschränkte Optimierungsbibliothek für Gleichheits- und Ungleichheitsbeschränkungen

14

Gibt es Empfehlungen für die Auswahl einer eingeschränkten Optimierungsbibliothek, die für meine Optimierungsfunktion geeignet ist? Ich minimiere ai) nichtlineare Funktion mit linearen Gleichungs- und Ungleichungsbeschränkungen, und ii) habe den Gradienten und den Hessischen Wert der Funktion zur Verfügung.

Wenn es hilft, ist die Funktion, die ich minimiere, die Kullback-Liebler-Divergenz .

constrOptim befasst sich nur mit Ungleichheitsbeschränkungen. Quadprog verarbeitet quadratische Elemente . Vertrauen unterstützt keine Einschränkungen. Die KL-Divergenz passt also nicht in diese Lösungen.

Auf der Seite R Cran Task for Optimization finden Sie eine Reihe von Lösungen . Ich bin in der Lage, die Optimierung in MATLAB mit der Funktion fmincon () durchzuführen, die einen Innenpunkt oder einen Vertrauensbereich zu verwenden scheint. Idealerweise gibt es eine Bibliothek, die für das definierte Problem gut geeignet ist.

Ram Ahluwalia
quelle
Sind die Nebenbedingungen linear?
Kardinal
@ Kardinal - ja - die Einschränkungen sind linear
Ram Ahluwalia
2
Ax=bconstrOptimEINxbEINxb
Das ist sehr schlau. Ich werde das untersuchen und sehen, wie es funktioniert. Sie sollten erwägen, dies als Antwort zu veröffentlichen. Ich werde die Frage ein paar Tage offen halten, um zu sehen, welche anderen Tools verfügbar sind
Ram Ahluwalia,
1
@cardinal Trick funktioniert nicht Hilfe für Innere-Punkte-Verfahren, wie die von constrOptim, da das Verfahren Notwendigkeit , einen Ausgangspunkt in das Innere des realisierbaren Bereichs -keine an der Grenze
stackovergio

Antworten:

14

Beide Pakete, Alabama und Rsolnp, enthalten "[i] Implementierungen der Augmented-Lagrange-Multiplikator-Methode für die allgemeine nichtlineare Optimierung" - wie die Optimierungs-Task-Ansicht sagt - und sind recht zuverlässig und robust. Sie können wieder mit Gleichheits- und Ungleichheitsbeschränkungen umgehen, die als (nichtlineare) Funktionen definiert sind.

Ich habe mit beiden Paketen gearbeitet. Manchmal sind Einschränkungen mit Rsolnp etwas einfacher zu formulieren, während Alabama manchmal etwas schneller zu sein scheint.

Es gibt auch das Paket Rdonlp2, das auf einer externen und in der Optimierungs-Community bekannten Softwarebibliothek beruht. Leider ist der Lizenzstatus im Moment etwas ungewiss.

Hans W.
quelle
1
Ich möchte nur eine Eigenschaft der Alabama-Ungleichungsbeschränkungen hinzufügen, die ich heute gefunden habe. Wenn Ihre Ungleichheitsbeschränkungen einen nicht durchführbaren Bereich erzeugen, wird der Code ohne Warn- / Fehlermeldungen ausgeführt und der Mittelwert der Grenzen als fester Wert des Parameters verwendet. Wenn Sie zum Beispiel x> 6 und x <4 haben, liefert die Lösung eine Lösung mit x = 5 ohne Warnung.
Gaurav Singhal
Es scheint, dass diese Antwort immer noch besucht und gelesen wird. Daher möchte ich hinzufügen, dass es ein neues Paket NlcOptim (seit 2015) gibt. Es löst Optimierungsprobleme mit nichtlinearen Ziel- und Bedingungsfunktionen, bei denen nichtlineare Gleichheits- und Ungleichheitsbedingungen zulässig sind. Ich benutze es regelmäßig.
Hans W.