Na verdade, nunca tinha ouvido falar em programação geométrica até essa pergunta. Aqui está um artigo de revisão de Stephen Boyd et al. (Vandenberghe também é coautor) que é um tutorial sobre programação geométrica.
Programas geométricos como originalmente expressos não são convexos. Por exemplo, é um posinômio e não é convexo; portanto, programas geométricos não são um subconjunto estrito de programação convexa.x1 / 2
A vantagem de transformar um programa geométrico em um programa convexo é que o programa geométrico original não é necessariamente convexo. Se você resolveu o programa geométrico como um programa não linear (PNL), seria necessário usar métodos de otimização não convexa para garantir uma solução ótima global. Esses métodos são mais caros do que os métodos de otimização convexos, exigem mais ajustes algorítmicos e requerem estimativas iniciais.
Além disso, se você usar um algoritmo de NLP não convexa, precisará especificar seu conjunto viável como um conjunto compacto em ; em programas geométricos, é uma restrição válida. x>0Rnx > 0
Não está claro se o conjunto de programas geométricos é mapeado (por meio da transformação log-exponencial) para um conjunto de programas convexos que resolve de maneira particularmente eficiente. Não vejo vantagens na programação geométrica além da transformação em programas convexos.
Quanto à sua última pergunta, não acho que o conjunto de programas geométricos seja isomórfico ao conjunto de programas convexos; portanto, suspeito que existam programas convexos que não podem ser expressos como programas geométricos e, desses programas, suspeito que exista são alguns que não podem ser aproximados razoavelmente bem por programas geométricos. No entanto, não tenho uma prova ou um contra-exemplo.