Programación convexa

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 21 de noviembre de 2021; las comprobaciones requieren 2 ediciones .

La programación convexa  es un subcampo de la optimización matemática que estudia el problema de minimizar funciones convexas en conjuntos convexos . Mientras que muchas clases de problemas de programación convexa admiten algoritmos de tiempo polinomial [1] , la optimización matemática es generalmente NP-difícil [2] [3] [4] .

La programación convexa tiene aplicaciones en una variedad de disciplinas, como sistemas de control automático , evaluación y procesamiento de señales , comunicaciones y redes, circuitos [5] , análisis y modelado de datos, finanzas , estadísticas ( diseño óptimo de experimentos ) [6] y optimización estructural [7] . El desarrollo de la tecnología informática y los algoritmos de optimización ha hecho que la programación convexa sea casi tan simple como la programación lineal [8] .

Definición

Un problema de programación convexa es un problema de optimización en el que la función objetivo es una función convexa y el dominio de soluciones factibles es convexo . Una función que asigna algún subconjunto a es convexa si el dominio es convexo tanto para todos como para todos en su dominio de . Un conjunto es convexo si para todos sus elementos y alguno de ellos también pertenece al conjunto.

En particular, el problema de la programación convexa es el problema de encontrar algún , en el que

,

donde la función objetivo es convexa, al igual que el conjunto de soluciones factibles [9] [10] . Si tal punto existe, se llama el punto óptimo . El conjunto de todos los puntos óptimos se llama conjunto óptimo . Si no se alcanza el límite o no se alcanza el mínimo , se dice que la optimización es ilimitada . Si está vacío, se habla de una tarea inaceptable [11] .

Forma estándar

Se dice que un problema de programación convexa está en forma estándar si se escribe como

Minimizar Bajo condiciones

donde es la variable de optimización, las funciones son convexas y las funciones son afines [11] .

En estos términos, la función es la función objetivo del problema, y ​​las funciones y se denominan funciones de restricción. El conjunto admisible de soluciones al problema de optimización es el conjunto formado por todos los puntos que satisfacen las condiciones y . Este conjunto es convexo porque los conjuntos de subnivel de una función convexa son convexos, los conjuntos afines también son convexos y la intersección de conjuntos convexos es un conjunto convexo [12] .

Muchos problemas de optimización se pueden reducir a esta forma estándar. Por ejemplo, el problema de maximizar una función cóncava se puede reformular de manera equivalente como el problema de minimizar una función convexa , de modo que el problema de maximizar una función cóncava en un conjunto convexo a menudo se denomina problema de programación convexa.

Propiedades

Propiedades útiles de problemas de programación convexa [13] [11] :

Estos resultados se utilizan en la teoría de minimización convexa, junto con conceptos geométricos del análisis funcional (en espacios de Hilbert ), como el teorema de proyección de Hilbert , el teorema del hiperplano de apoyo y el lema de Farkas .

Ejemplos

Las siguientes clases de problemas son problemas de programación convexa o pueden reducirse a problemas de programación convexa mediante transformaciones simples [11] [14] :

Método de los multiplicadores de Lagrange

Considere un problema de minimización convexo dado en forma estándar con una función de costo y restricciones de desigualdad para . Entonces el dominio de definición es:

Función de Lagrange para el problema

Para cualquier punto que se minimice a , existen números reales , llamados multiplicadores de Lagrange , para los que se cumplen simultáneamente las siguientes condiciones:

  1. minimiza sobre todo
  2. con al menos uno
  3. (falta de rigidez complementaria).

Si existe un "punto fuerte admisible", es decir, un punto que satisface

entonces la declaración anterior se puede fortalecer para requerir .

Por el contrario, si alguno de satisface las condiciones (1)-(3) para escalares con , entonces definitivamente se minimiza en .

Algoritmos

Los problemas de programación convexa se resuelven mediante los siguientes métodos modernos: [15]

Los métodos de subgradiente se pueden implementar simplemente porque son ampliamente utilizados [18] [19] . Los métodos de subgradiente dual son métodos de subgradiente aplicados a un problema dual . El método de deriva+penalización es similar al método de subgradiente dual, pero utiliza el promedio temporal de las principales variables.

Extensiones

Las extensiones a la programación convexa incluyen optimizaciones para funciones biconvexas , pseudoconvexas y cuasiconvexas . Las extensiones a la teoría del análisis convexo y los métodos iterativos para la solución aproximada de problemas de optimización no convexos ocurren en el campo de la convexidad generalizada , conocido como análisis convexo abstracto.

Véase también

Notas

  1. 1 2 Nesterov y Nemirovskii, 1994 .
  2. Murty y Kabadi 1987 , pág. 117–129.
  3. Sahni, 1974 , pág. 262-279.
  4. Pardalos y Vavasis, 1991 , p. 15-22.
  5. Boyd y Vandenberghe 2004 , pág. 17
  6. Christensen, Klarbring, 2008 , pág. cap. cuatro
  7. Boyd, Vandenberghe, 2004 .
  8. Boyd y Vandenberghe 2004 , pág. ocho.
  9. Hiriart-Urruty, Lemaréchal, 1996 , p. 291.
  10. Ben-Tal, Nemirovskiĭ, 2001 , p. 335–336.
  11. 1 2 3 4 Boyd, Vandenberghe, 2004 , pág. cap. cuatro
  12. Boyd y Vandenberghe 2004 , pág. cap. 2.
  13. Rockafellar, 1993 , p. 183–238.
  14. Agrawal, Verschueren, Diamond, Boyd, 2018 , pág. 42–60.
  15. Para conocer los métodos de programación convexa, consulte los libros de Irriart-Urruti y Lemerical (varios libros) y los libros de Rushczynski, Bercekas y Boyd y Vanderberge (métodos de puntos interiores).
  16. Nésterov, Nemirovskii, 1995 .
  17. Peng, Roos, Terlaky, 2002 , pág. 129–171.
  18. Bertsekas, 2009 .
  19. Bertsekas, 2015 .

Literatura

Enlaces