La optimización convexa es un subcampo de la optimización matemática que estudia el problema de minimizar funciones convexas sobre conjuntos convexos (o, equivalentemente, maximizar funciones cóncavas sobre conjuntos convexos). Muchas clases de problemas de optimización convexa admiten algoritmos de tiempo polinomial, [1] mientras que la optimización matemática es en general NP-hard . [2] [3] [4]
Definición
Forma abstracta
Un problema de optimización convexa se define mediante dos ingredientes: [5] [6]
La función objetivo , que es una función convexa de valor real de n variables, ;
El objetivo del problema es encontrar algún logro.
.
En general, hay tres opciones respecto a la existencia de una solución: [7] : cap.4
Si existe tal punto x *, se habla de punto óptimo o solución ; el conjunto de todos los puntos óptimos se denomina conjunto óptimo ; y el problema se denomina solucionable .
Si no tiene límites por debajo de , o no se alcanza el ínfimo, entonces se dice que el problema de optimización no tiene límites .
De lo contrario, si es el conjunto vacío, entonces se dice que el problema es inviable .
Formulario estándar
Un problema de optimización convexa está en forma estándar si se escribe como
Las funciones de restricción de desigualdad , , son funciones convexas;
Las funciones de restricción de igualdad , , son transformaciones afines , es decir, de la forma: , donde es un vector y es un escalar.
El conjunto factible del problema de optimización está formado por todos los puntos que satisfacen las restricciones de desigualdad e igualdad. Este conjunto es convexo porque es convexo, los conjuntos de subniveles de funciones convexas son convexos, los conjuntos afines son convexos y la intersección de conjuntos convexos es convexa. [7] : cap.2
Muchos problemas de optimización pueden formularse de forma equivalente en esta forma estándar. Por ejemplo, el problema de maximizar una función cóncava puede reformularse de forma equivalente como el problema de minimizar la función convexa . El problema de maximizar una función cóncava sobre un conjunto convexo se denomina comúnmente problema de optimización convexa. [8]
Forma de epígrafe (forma estándar con objetivo lineal)
En la forma estándar es posible suponer, sin pérdida de generalidad, que la función objetivo f es una función lineal . Esto se debe a que cualquier programa con un objetivo general puede transformarse en un programa con un objetivo lineal añadiendo una única variable t y una única restricción , de la siguiente manera: [9] : 1.4
Forma cónica
Todo programa convexo se puede presentar en forma cónica , lo que significa minimizar un objetivo lineal sobre la intersección de un plano afín y un cono convexo: [9] : 5.1
donde K es un cono convexo puntiagudo cerrado , L es un subespacio lineal de R n y b es un vector en R n . Un programa lineal en forma estándar en el caso especial en el que K es el ortante no negativo de R n .
Eliminación de restricciones de igualdad lineal
Es posible convertir un programa convexo en forma estándar, a un programa convexo sin restricciones de igualdad. [7] : 132 Denotemos las restricciones de igualdad h i ( x )=0 como Ax = b , donde A tiene n columnas. Si Ax = b es inviable, entonces por supuesto el problema original es inviable. De lo contrario, tiene alguna solución x 0 , y el conjunto de todas las soluciones puede presentarse como: Fz + x 0 , donde z está en R k , k = n -rank( A ), y F es una matriz n -por- k . Sustituyendo x = Fz + x 0 en el problema original obtenemos:
donde las variables son z . Nótese que hay rank( A ) menos variables. Esto significa que, en principio, se puede restringir la atención a problemas de optimización convexa sin restricciones de igualdad. En la práctica, sin embargo, a menudo se prefiere conservar las restricciones de igualdad, ya que pueden hacer que algunos algoritmos sean más eficientes y también que el problema sea más fácil de entender y analizar.
Casos especiales
Las siguientes clases de problemas son todas problemas de optimización convexa, o pueden reducirse a problemas de optimización convexa mediante transformaciones simples: [7] : cap.4 [10]
Los problemas de programación lineal son los programas convexos más simples. En programación lineal, las funciones objetivo y de restricción son todas lineales.
La programación cuadrática es la segunda más sencilla. En la programación cuadrática, las restricciones son todas lineales, pero el objetivo puede ser una función cuadrática convexa.
Problemas sin restricciones y con restricciones de igualdad
Los programas convexos más fáciles de resolver son los problemas sin restricciones , o los problemas con solo restricciones de igualdad. Como las restricciones de igualdad son todas lineales, se pueden eliminar con álgebra lineal e integrar en el objetivo, convirtiendo así un problema con restricciones de igualdad en uno sin restricciones.
En la clase de problemas sin restricciones (o con restricciones de igualdad), los más simples son aquellos en los que el objetivo es cuadrático . Para estos problemas, las condiciones KKT (que son necesarias para la optimalidad) son todas lineales, por lo que se pueden resolver analíticamente. [7] : cap.11
Los problemas más desafiantes son aquellos con restricciones de desigualdad. Una forma común de resolverlos es reducirlos a problemas sin restricciones agregando una función de barrera , que refuerza las restricciones de desigualdad, a la función objetivo. Tales métodos se denominan métodos de punto interior . [7] : cap.11 Deben inicializarse encontrando un punto interior factible utilizando los llamados métodos de fase I , que encuentran un punto factible o demuestran que no existe ninguno. Los métodos de fase I generalmente consisten en reducir la búsqueda en cuestión a un problema de optimización convexa más simple. [7] : cap.11
Los problemas de optimización convexa también se pueden resolver mediante los siguientes métodos contemporáneos: [12]
Los métodos de subgradiente se pueden implementar de manera sencilla y, por lo tanto, se utilizan ampliamente. [15] Los métodos de subgradiente duales son métodos de subgradiente aplicados a un problema dual . El método de deriva más penalización es similar al método de subgradiente dual, pero toma un promedio temporal de las variables primarias. [ cita requerida ]
Consideremos un problema de minimización convexa dado en forma estándar por una función de costo y restricciones de desigualdad para . Entonces el dominio es:
La función lagrangiana para el problema es
Para cada punto en que se minimiza sobre , existen números reales llamados multiplicadores de Lagrange , que satisfacen simultáneamente estas condiciones:
minimiza sobre todo
con al menos uno
(flojedad complementaria).
Si existe un "punto estrictamente factible", es decir, un punto que satisface
Entonces la afirmación anterior puede reforzarse para exigir que .
Por el contrario, si alguna en satisface (1)–(3) para escalares con entonces es seguro que se minimizará en .
Software
Existe un gran ecosistema de software para la optimización convexa. Este ecosistema tiene dos categorías principales: solucionadores por un lado y herramientas de modelado (o interfaces ) por el otro.
Los solucionadores implementan los algoritmos por sí mismos y suelen estar escritos en C. Requieren que los usuarios especifiquen los problemas de optimización en formatos muy específicos que pueden no ser naturales desde una perspectiva de modelado. Las herramientas de modelado son piezas de software independientes que permiten al usuario especificar una optimización en una sintaxis de nivel superior. Gestionan todas las transformaciones hacia y desde el modelo de alto nivel del usuario y el formato de entrada/salida del solucionador.
La siguiente tabla muestra una combinación de herramientas de modelado (como CVXPY y Convex.jl) y solucionadores (como CVXOPT y MOSEK). Esta tabla no es exhaustiva.
Interactúa con los solucionadores CPLEX, GUROBI, MOSEK, SDPT3, SEDUMI, CSDP, SDPA y PENNON; también admite optimización no lineal y de enteros, y algunas optimizaciones no convexas. Puede realizar una optimización robusta con incertidumbre en las restricciones LP/SOCP/SDP.
Sí
[16]
Laboratorio LMI
MATLAB
Expresa y resuelve problemas de programación semidefinida (llamados "desigualdades matriciales lineales")
No
[16]
Traductor de LMIlab
Transforma los problemas de laboratorio de LMI en problemas de SDP.
Sí
[16]
xLMI
MATLAB
Similar al laboratorio LMI, pero utiliza el solucionador SeDuMi.
Sí
[16]
OBJETIVOS
Puede realizar una optimización robusta en programación lineal (con MOSEK para resolver la programación de conos de segundo orden) y programación lineal entera mixta . Paquete de modelado para LP + SDP y versiones robustas.
No
[16]
ROMA
Sistema de modelado para optimización robusta. Admite optimización distributivamente robusta y conjuntos de incertidumbre.
Sí
[16]
GloptiPoly 3
MATLAB,
Octava
Sistema de modelado para optimización polinomial.
Sí
[16]
TABURETES
Sistema de modelado para optimización polinómica. Utiliza SDPT3 y SeDuMi. Requiere Symbolic Computation Toolbox.
Sí
[16]
POP esparcido
Sistema de modelado para optimización polinómica. Utiliza los solucionadores SDPA o SeDuMi.
Sí
[16]
CPLEX
Admite métodos primal-dual para programación lineal + SOCP. Puede resolver problemas de programación lineal entera mixta, LP, QP y SOCP.
Las extensiones de la optimización convexa incluyen la optimización de funciones biconvexas , pseudoconvexas y cuasiconvexas . Las extensiones de la teoría del análisis convexo y los métodos iterativos para resolver de forma aproximada problemas de minimización no convexa se dan en el campo de la convexidad generalizada , también conocida como análisis convexo abstracto. [ cita requerida ]
^ Murty, Katta; Kabadi, Santosh (1987). "Algunos problemas NP-completos en programación cuadrática y no lineal". Programación matemática . 39 (2): 117–129. doi :10.1007/BF02592948. hdl : 2027.42/6740 . S2CID 30500771.
^ Sahni, S. "Problemas relacionados con la computación", en SIAM Journal on Computing, 3, 262-279, 1974.
^ Pardalos, Panos M.; Vavasis, Stephen A. (1991). "La programación cuadrática con un valor propio negativo es NP-hard". Journal of Global Optimization . 1 : 15–22. doi :10.1007/BF00120662.
^ Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1996). Algoritmos de análisis y minimización convexos: Fundamentos. Saltador. pag. 291.ISBN9783540568506.
^ Ben-Tal, Aharon; Nemirovskiĭ, Arkadiĭ Semenovich (2001). Lecciones sobre optimización convexa moderna: análisis, algoritmos y aplicaciones de ingeniería. pp. 335–336. ISBN9780898714913.
^ "Tipos de problemas de optimización: optimización convexa". 9 de enero de 2011.
^ por Arkadi Nemirovsky (2004). Métodos de tiempo polinomial de punto interior en programación convexa.
^ Agrawal, Akshay; Verschueren, Robin; Diamond, Steven; Boyd, Stephen (2018). "Un sistema de reescritura para problemas de optimización convexa" (PDF) . Control and Decision . 5 (1): 42–60. arXiv : 1709.04494 . doi :10.1080/23307706.2017.1397554. S2CID 67856259.
^ Rockafellar, R. Tyrrell (1993). "Multiplicadores de Lagrange y optimalidad" (PDF) . SIAM Review . 35 (2): 183–238. CiteSeerX 10.1.1.161.7209 . doi :10.1137/1035044.
^ Para métodos de minimización convexa, consulte los volúmenes de Hiriart-Urruty y Lemaréchal (paquete) y los libros de texto de Ruszczyński , Bertsekas y Boyd y Vandenberghe (punto interior).
^ Nesterov, Yurii; Arkadii, Nemirovskii (1995). Algoritmos polinomiales de punto interior en programación convexa . Sociedad de Matemáticas Industriales y Aplicadas. ISBN978-0898715156.
^ Peng, Jiming; Roos, Cornelis; Terlaky, Tamás (2002). "Funciones autorregulares y nuevas direcciones de búsqueda para optimización lineal y semidefinida". Programación matemática . 93 (1): 129–171. doi :10.1007/s101070200296. ISSN 0025-5610. S2CID 28882966.
^ "Optimización numérica". Springer Series en Investigación de operaciones e ingeniería financiera . 2006. doi :10.1007/978-0-387-40065-5. ISBN978-0-387-30303-1.
^ abcdefghijklmnopqrstu vwxy Borchers, Brian. "Una descripción general del software para la optimización convexa" (PDF) . Archivado desde el original (PDF) el 18 de septiembre de 2017. Consultado el 12 de abril de 2021 .
^ "Bienvenido a CVXPY 1.1 — Documentación de CVXPY 1.1.11". www.cvxpy.org . Consultado el 12 de abril de 2021 .
^ Udell, Madeleine; Mohan, Karanveer; Zeng, David; Hong, Jenny; Diamond, Steven; Boyd, Stephen (17 de octubre de 2014). "Optimización convexa en Julia". arXiv : 1410.4821 [math.OC].
^ "Optimización convexa disciplinada - CVXR" www.cvxgrp.org . Consultado el 17 de junio de 2021 .
^ Chritensen/Klarbring, cap. 4.
^ Schmit, LA; Fleury, C. 1980: Síntesis estructural mediante la combinación de conceptos de aproximación y métodos duales . J. Amer. Inst. Aeronaut. Astronaut 18, 1252-1260
^ abcde Boyd, Stephen; Diamond, Stephen; Zhang, Junzi; Agrawal, Akshay. "Aplicaciones de optimización convexa" (PDF) . Archivado (PDF) desde el original el 2015-10-01 . Consultado el 12 de abril de 2021 .
^ abc Malick, Jérôme (28 de septiembre de 2011). «Optimización convexa: aplicaciones, formulaciones, relajaciones» (PDF) . Archivado (PDF) desde el original el 12 de abril de 2021. Consultado el 12 de abril de 2021 .
^ Ben Haim Y. y Elishakoff I., Modelos convexos de incertidumbre en mecánica aplicada, Elsevier Science Publishers, Ámsterdam, 1990
^ Ahmad Bazzi, Dirk TM Slock y Lisa Meilhac. "Estimación del ángulo de llegada en línea en presencia de acoplamiento mutuo". Taller sobre procesamiento estadístico de señales (SSP) del IEEE de 2016. IEEE, 2016.
Borwein, Jonathan; Lewis, Adrian (2000). Análisis convexo y optimización no lineal: teoría y ejemplos, segunda edición (PDF) . Springer . Consultado el 12 de abril de 2021 .
Christensen, Peter W.; Anders Klarbring (2008). Introducción a la optimización estructural. Vol. 153. Springer Science & Business Media. ISBN9781402086663.
Hiriart-Urruty, Jean-Baptiste y Lemaréchal, Claude . (2004). Fundamentos del análisis convexo . Berlín: Springer.
Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1993). Algoritmos de minimización y análisis convexo, Volumen I: Fundamentos . Grundlehren der Mathematischen Wissenschaften [Principios fundamentales de las ciencias matemáticas]. vol. 305. Berlín: Springer-Verlag. págs. xviii+417. ISBN978-3-540-56850-6. Sr. 1261420.
Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1993). Algoritmos de minimización y análisis convexo, Volumen II: Teoría avanzada y métodos de paquetes . Grundlehren der Mathematischen Wissenschaften [Principios fundamentales de las ciencias matemáticas]. vol. 306. Berlín: Springer-Verlag. págs. xviii+346. ISBN978-3-540-56852-0.Señor 1295240 .
Kiwiel, Krzysztof C. (1985). Métodos de descendencia para optimización no diferenciable . Apuntes de clase de matemáticas. Nueva York: Springer-Verlag. ISBN978-3-540-15642-0.
Lemaréchal, Claude (2001). "Relajación lagrangiana". En Michael Jünger y Denis Naddef (ed.). Optimización combinatoria computacional: artículos de la escuela de primavera celebrada en Schloß Dagstuhl, del 15 al 19 de mayo de 2000 . Apuntes de conferencias sobre informática. vol. 2241. Berlín: Springer-Verlag. págs. 112-156. doi :10.1007/3-540-45586-8_4. ISBN978-3-540-42877-0.Señor 1900016.S2CID 9048698 .
Nesterov, Yurii; Nemirovskii, Arkadii (1994). Métodos polinomiales de puntos interiores en programación convexa . SIAM.
Rockafellar, RT (1970). Análisis convexo . Princeton: Princeton University Press.
Ruszczyński, Andrzej (2006). Optimización no lineal . Prensa de la Universidad de Princeton.
Schmit, LA; Fleury, C. 1980: Síntesis estructural mediante la combinación de conceptos de aproximación y métodos duales . J. Amer. Inst. Aeronaut. Astronaut 18, 1252-1260
Enlaces externos
Wikimedia Commons tiene medios relacionados con Optimización convexa .
EE364a: Optimización convexa I y EE364b: Optimización convexa II, páginas de inicio de cursos de Stanford
6.253: Análisis y optimización convexos, página de inicio del curso MIT OCW
Brian Borchers, Una descripción general del software para optimización convexa
Libro de optimización convexa de Lieven Vandenberghe y Stephen P. Boyd