http://cran.r-project.org/web/packages/quadprog/quadprog.pdf
Das R-Paket quadprog
scheint in der Lage zu sein, das quadratische Programmierproblem nur zu lösen, wenn die Matrix positiv definit ist.
Es gibt jedoch einen Fall, in dem die Matrix nicht eindeutig positiv ist. sowie
Wie kann ich ein solches Problem lösen?
r
optimization
user67275
quelle
quelle
Antworten:
Es gibt Optimierungsroutinen speziell für die lokale oder globale Optimierung quadratischer Programmierprobleme, unabhängig davon, ob die Zielfunktion konvex ist oder nicht.
BARON ist ein universeller globaler Optimierer, der konvexe oder nicht konvexe quadratische Programmierprobleme bewältigen und nutzen kann.
CPLEX verfügt über einen quadratischen Programmierlöser, der mit solutiontarget = 2 aufgerufen werden kann, um ein lokales Optimum zu finden, oder = 3, um ein globales Optimum zu finden. In MATLAB kann dies mit cplexqp aufgerufen werden.
Lokale Allzweckoptimierer, die lineare Einschränkungen verarbeiten können, können ebenfalls verwendet werden, um ein lokales Optimum zu finden. Ein Beispiel in R ist https://cran.r-project.org/web/packages/trust/trust.pdf . Optimierer für R sind unter https://cran.r-project.org/web/views/Optimization.html aufgeführt .
In MATLAB kann die Funktion quadprog in der Optimization Toolbox verwendet werden, um ein lokales Optimum zu finden.
In Julia gibt es eine Vielzahl von Optimierern.
"Jeder" Gradientenabstiegsalgorithmus landet Sie möglicherweise nicht auf irgendetwas, geschweige denn auf Einschränkungen. Verwenden Sie ein Paket, das von jemandem entwickelt wurde, der weiß, was er tut.
Das bereitgestellte Beispielproblem lässt sich leicht zu einer nachweisbaren globalen Optimalität lösen. Vielleicht wird es im Laufe von mehr als 2 Jahren nicht mehr benötigt, oder vielleicht war es nie ein Beispiel, aber auf jeden Fall liegt das globale Optimum bei x = 0,321429, y = 0,535714
quelle
Sie können eine Problemumgehung erstellen, indem Sie
nearPD
aus demMatrix
Paket Folgendes verwenden :nearPD(D)$mat
.nearPD
berechnet die nächste positive definitive Matrix.quelle