Maximieren einer konvexen Funktion (Minimieren einer konkaven Funktion) mit einer linearen Einschränkung

10

maxf(x) subject to Ax=b

Dabei ist , und x=[x1,x2,. . . ,xN]TRN×1ARM×N.f(x)=i=1N1+xi4(i=1Nxi2)2
x=[x1,x2,...,xN]TRN×1
ARM×N

Wir können sehen, dass Die Form von und eine konvexe Funktion ist. Es kann auch gezeigt werden, dass f (.) In .f(.) [1+y2
[2,2]

Dies ist ein konvexes Minimierungsproblem mit einer linearen Beschränkung.

Mit welchen Standardalgorithmen werden diese Probleme gelöst?

Ist es aufgrund der spezifischen Natur des Problems möglich, es mit einer Standardoptimierungssoftware / -paket zu lösen?

Sooraj
quelle
Haben Sie versucht, Lagrange-Multiplikatoren zu verwenden, um festzustellen, ob dies zu etwas Traktablerem führt?
Nathaniel

Antworten:

7

Sie können die Struktur des Problems nutzen, obwohl ich keinen vorgefertigten Löser kenne, der dies für Sie erledigt.

Im Wesentlichen suchen Sie nach einer Minimierung einer konkaven Funktion über einem konvexen Polytop (oder einem konvexen Polyeder). Eine schnelle Suche ergab einige relevante Quellen (ich erinnere mich vage, dass eine davon erwähnt wurde, als ich vor über vier Jahren einen Kurs über nichtlineare Programmierung belegte):

Falk, JE und Hoffman, KL Konkave Minimierung über kollabierende Polytope , Operations Research, 1986, Vol. 34, No. 6, p. 919-929.

Hoffman, KL Eine Methode zur globalen Minimierung konvexer Funktionen über konvexe Mengen , Mathematical Programming, 1981, Vol. 20, p. 22-31.

Benson, HP Ein endlicher Algorithmus zur konkaven Minimierung über einem Polyeder , Naval Research Logistics, 1985, Vol. 3 , No. 32, No. 1, p. 165-177.

Eine Reihe von Referenzen auf der Website von Christophe Meyer .

Es gibt mehr Quellen, wenn Sie bei Google "die konkave Funktion über dem Polytop minimieren" (oder "Polytop" durch "Polyeder" ersetzen).

Geoff Oxberry
quelle
2

Ich habe vor einigen Jahren einen Vortrag über Optimierung besucht. Damals haben wir Matlab in Kombination mit YALMIP verwendet.

Das YALMIP Wiki

Dohn Joe
quelle
1

Dieses Problem kann als Unterschied des Programmierproblems bei konvexen Funktionen (DC) angesehen werden. Es gibt eine umfangreiche Literatur zur DC-Programmierung, in der Sie nach verwandten Studien suchen können. Eine der bekanntesten Methoden ist die DCA-Methode, siehe zum Beispiel: http://lma.univ-pau.fr/meet/mamern09/en/Lethi-MAMERN09.pdf

Ein weiteres aktuelles Papier, das die DC-Literatur in gewissem Umfang untersucht und möglicherweise nützlich ist, ist: https://arxiv.org/pdf/1511.01796.pdf

Sie können auch eine allgemeinere Methode für nicht glatte Probleme verwenden, z. B. die in http://num.math.uni-goettingen.de/~ssabach/BST2013.pdf angegebene prox-basierte Methode

nvhk
quelle
0

Ich würde den Frank Wolfe-Algorithmus und verwandte Methoden für Ihre Überlegung anbieten . Grundsätzlich linearisieren Sie die Zielfunktion und lösen die resultierende LP bei jeder Iteration. Ich denke jedoch, dass Sie Grenzen hinzufügen müssten , um diesen Ansatz effektiv zu machen.x

Michael Grant
quelle