¿En qué se diferencia la programación geométrica de la programación convexa?

10

¿En qué se diferencia la programación geométrica (generalizada) de la programación convexa general?

Un programa geométrico puede transformarse en un programa convexo, y generalmente se resuelve mediante un método de punto interior. Pero, ¿cuál es la ventaja de formular directamente el problema como un programa convexo y resolverlo mediante un método de punto interior?

¿La clase de programas geométricos solo constituye un subconjunto de la clase de programas convexos que se pueden resolver de manera especialmente eficiente mediante métodos de punto interior? O la ventaja es simplemente que un programa geométrico general puede especificarse fácilmente en forma legible por computadora.

Por otro lado, ¿existen programas convexos que no puedan aproximarse razonablemente bien por programas geométricos?

Thomas Klimpel
fuente

Respuestas:

5

En realidad, nunca había oído hablar de programación geométrica hasta esta pregunta. Aquí hay un artículo de revisión de Stephen Boyd, et al (Vandenberghe es coautor también) que es un tutorial sobre programación geométrica.

Los programas geométricos expresados ​​originalmente no son convexos. Por ejemplo, es un posinomio, y no es convexo, por lo que los programas geométricos no son un subconjunto estricto de la programación convexa.x1/2

La ventaja de transformar un programa geométrico en un programa convexo es que el programa geométrico original no es necesariamente convexo. Si resolvió el programa geométrico como un programa no lineal (PNL), necesitaría usar métodos de optimización no convexa para garantizar una solución óptima global. Estos métodos son más caros que los métodos de optimización convexa, requieren más ajustes algorítmicos y requieren conjeturas iniciales.

Además, si utiliza un algoritmo de PNL no convexo, deberá especificar su conjunto factible como un conjunto compacto en ; En programas geométricos, es una restricción válida. x>0Rnx>0

No está claro si el conjunto de programas geométricos se asigna (a través de la transformación log-exponencial) a un conjunto de programas convexos que resuelve de manera particularmente eficiente. No veo ninguna ventaja para la programación geométrica más allá de la transformación a programas convexos.

En cuanto a su última pregunta, no creo que el conjunto de programas geométricos sea isomorfo al conjunto de programas convexos, por lo que sospecho que hay programas convexos que no se pueden expresar como programas geométricos, y de estos programas, sospecho que hay son algunos que no se pueden aproximar razonablemente bien por programas geométricos. Sin embargo, no tengo una prueba o un contraejemplo.

Geoff Oxberry
fuente
Parece que el capítulo 8 de su artículo de revisión vinculado intenta abordar mi pregunta. Sin embargo, después de una primera mirada superficial sobre él, tengo la impresión de que en realidad cualquier programa convexo puede ser aproximado por un programa geométrico (transformado logarítmicamente, por supuesto ...). Sin embargo, como cualquier programa lineal es "obviamente" también un programa geométrico, esto también podría ser una variante de la afirmación de que cualquier programa convexo puede ser aproximado por un programa lineal, pero eso no sería lo que quiero decir con "aproximado razonablemente bien".
Thomas Klimpel
Cuando surgió el término programación geométrica, no fue fácil resolver programas convexos generales, y la estructura especial podría ser explotada. Ahora, por supuesto, una vez que uno reconoce que un programa es geométrico, lo transforma en un programa convexo y lo resuelve mediante métodos de puntos interiores.
Arnold Neumaier
3

f(x)1f(x)xy1xyx2y21

Optar
fuente
La programación geométrica no es un subconjunto estricto de la programación convexa; sin embargo, bajo la transformación log-exponencial, los programas geométricos transformados son programas convexos.
Geoff Oxberry
Sí, eso es lo que quise decir. Respuesta editada para mayor claridad.
Optar