Wie unterscheidet sich die geometrische Programmierung von der konvexen Programmierung?
10
Wie unterscheidet sich die (verallgemeinerte) geometrische Programmierung von der allgemeinen konvexen Programmierung?
Ein geometrisches Programm kann in ein konvexes Programm umgewandelt werden und wird typischerweise durch eine Innenpunktmethode gelöst. Aber was ist der Vorteil gegenüber der direkten Formulierung des Problems als konvexes Programm und seiner Lösung durch eine Innenpunktmethode?
Stellt die Klasse der geometrischen Programme nur eine Teilmenge der Klasse der konvexen Programme dar, die mit inneren Punktmethoden besonders effizient gelöst werden kann? Oder ist der Vorteil einfach, dass ein allgemeines geometrisches Programm leicht in computerlesbarer Form angegeben werden kann.
Gibt es andererseits konvexe Programme, die durch geometrische Programme nicht ausreichend gut angenähert werden können?
Bis zu dieser Frage hatte ich noch nie von geometrischer Programmierung gehört. Hier ist ein Übersichtsartikel von Stephen Boyd et al. (Vandenberghe ist auch Co-Autor), der ein Tutorial zur geometrischen Programmierung enthält.
Geometrische Programme, wie sie ursprünglich ausgedrückt wurden, sind nicht konvex. Zum Beispiel ist ein Posynomialfunktion, und es ist nicht konvex, so geometrische Programme sind keine strenge Teilmenge von konvexer Programmierung.x1 / 2
Der Vorteil der Umwandlung eines geometrischen Programms in ein konvexes Programm besteht darin, dass das ursprüngliche geometrische Programm nicht unbedingt konvex ist. Wenn Sie das geometrische Programm als nichtlineares Programm (NLP) lösen würden, müssten Sie Methoden aus der nichtkonvexen Optimierung verwenden, um eine global optimale Lösung zu gewährleisten. Diese Methoden sind teurer als konvexe Optimierungsmethoden, erfordern eine stärkere algorithmische Abstimmung und erfordern erste Vermutungen.
Wenn Sie einen Algorithmus aus nicht konvexem NLP verwenden, müssen Sie außerdem Ihre realisierbare Menge als kompakte Menge in angeben . In geometrischen Programmen ist x > 0 eine gültige Einschränkung.R.nx > 0
Es ist nicht klar, ob der Satz geometrischer Programme (durch die logarithmisch exponentielle Transformation) einem Satz konvexer Programme zugeordnet ist, die besonders effizient gelöst werden können. Ich sehe keine Vorteile für die geometrische Programmierung über die Umwandlung in konvexe Programme hinaus.
Was Ihre letzte Frage betrifft, denke ich nicht, dass die Menge der geometrischen Programme isomorph zu der Menge der konvexen Programme ist, daher vermute ich, dass es konvexe Programme gibt, die nicht als geometrische Programme ausgedrückt werden können, und von diesen Programmen vermute ich, dass es diese gibt sind einige, die durch geometrische Programme nicht ausreichend gut angenähert werden können. Ich habe jedoch keinen Beweis oder ein Gegenbeispiel.
Kapitel 8 Ihres verlinkten Übersichtsartikels versucht anscheinend, meine Frage zu beantworten. Nach einem ersten flüchtigen Blick habe ich jedoch den Eindruck, dass tatsächlich jedes konvexe Programm durch ein geometrisches Programm angenähert werden kann (natürlich logarithmisch transformiert ...). Da jedes lineare Programm "offensichtlich" auch ein geometrisches Programm ist, könnte dies auch nur eine Variante der Aussage sein, dass jedes konvexe Programm durch ein lineares Programm approximiert werden kann, aber das wäre nicht das, was ich mit "vernünftig approximiert" meine Gut".
Thomas Klimpel
Als der Begriff geometrische Programmierung aufkam, war es nicht einfach, allgemeine konvexe Programme zu lösen, und die spezielle Struktur konnte ausgenutzt werden. Wenn man nun erkennt, dass ein Programm geometrisch ist, wandelt man es natürlich in ein konvexes Programm um und löst dieses durch innere Punktmethoden.
Die geometrische Programmierung ist keine strikte Teilmenge der konvexen Programmierung. Bei der logarithmisch exponentiellen Transformation sind transformierte geometrische Programme jedoch konvexe Programme.
Geoff Oxberry
Ja, das wollte ich sagen. Bearbeitete Antwort zur Klarheit.
quelle