Właściwie nigdy nie słyszałem o programowaniu geometrycznym do tego pytania. Oto artykuł przeglądowy Stephena Boyda i wsp. (Vandenberghe jest także współautorem), który jest tutorialem programowania geometrycznego.
Programy geometryczne, jak pierwotnie wyrażono, nie są wypukłe. Na przykład, jest posynomial i nie jest wypukły, aby programy geometryczne nie są ściśle podzbiór programowania wypukła.x1 / 2
Zaletą przekształcania programu geometrycznego w program wypukły jest to, że oryginalny program geometryczny niekoniecznie jest wypukły. Jeśli rozwiązałeś program geometryczny jako program nieliniowy (NLP), musisz użyć metod z optymalizacji niewypukłej, aby zagwarantować globalne optymalne rozwiązanie. Metody te są droższe niż wypukłe metody optymalizacji, wymagają bardziej strojenia algorytmicznego i wymagają wstępnych domysłów.
Ponadto, jeśli użyjesz algorytmu z niewypukłego NLP, będziesz musiał określić swój możliwy zestaw jako zestaw kompaktowy w ; w programach geometrycznych x > 0 jest prawidłowym ograniczeniem.Rnx > 0
Nie jest jasne, czy zestaw programów geometrycznych odwzorowuje (poprzez transformację logarytmiczno-wykładniczą) na zestaw programów wypukłych, który rozwiązuje się szczególnie skutecznie. Nie widzę żadnych korzyści z programowania geometrycznego poza przekształceniem w programy wypukłe.
Jeśli chodzi o twoje ostatnie pytanie, nie sądzę, aby zestaw programów geometrycznych był izomorficzny w stosunku do zestawu programów wypukłych, więc podejrzewam, że istnieją programy wypukłe, których nie można wyrazić jako programy geometryczne, a tych programów podejrzewam, że są takie, których programów geometrycznych nie można dość dobrze przybliżyć. Nie mam jednak dowodu ani kontrprzykładu.