La programación semidefinida ( PSD ) es un subcampo de la programación matemática que se ocupa de la optimización de una función objetivo lineal (una función especificada por el usuario que este desea minimizar o maximizar) sobre la intersección del cono de matrices semidefinidas positivas con un espacio afín , es decir, un espectroedro . [ 1 ]
La programación semidefinida es un campo relativamente nuevo de la optimización que despierta un interés creciente por diversas razones. Muchos problemas prácticos en investigación operativa y optimización combinatoria pueden modelarse o aproximarse como problemas de programación semidefinida. En la teoría del control automático, los problemas de programación semidefinida (PPS) se utilizan en el contexto de desigualdades matriciales lineales . De hecho, los PPS son un caso especial de programación cónica y pueden resolverse eficientemente mediante métodos de punto interior . Todos los programas lineales y programas cuadráticos (convexos) pueden expresarse como PPS, y la jerarquía de suma de cuadrados de los PPS puede aproximar las soluciones de problemas de optimización polinomial. La programación semidefinida se ha utilizado en la optimización de sistemas complejos. En los últimos años, algunos problemas de complejidad de consultas cuánticas se han formulado en términos de programas semidefinidos.
Motivación y definición
Motivación inicial
Un problema de programación lineal es aquel en el que deseamos maximizar o minimizar una función objetivo lineal de variables reales sobre un politopo . En la programación semidefinida, en cambio, utilizamos vectores de valores reales y podemos tomar el producto escalar de vectores; las restricciones de no negatividad sobre las variables reales en LP ( programación lineal ) se reemplazan por restricciones de semidefinición sobre las variables matriciales en SDP ( programación semidefinida ). Específicamente, un problema general de programación semidefinida puede definirse como cualquier problema de programación matemática de la forma
donde ely elson números reales yes el producto escalar dey .
Formulaciones equivalentes
UnmatrizSe dice que es semidefinida positiva si es la matriz de Gram de algunos vectores (es decir, si existen vectoresde tal manera quea pesar de). Si este es el caso, lo denotamos como. Tenga en cuenta que existen otras definiciones equivalentes de ser semidefinida positiva; por ejemplo, las matrices semidefinidas positivas son matrices autoadjuntas que tienen únicamente valores propios no negativos .
Denotemos porel espacio de todosmatrices simétricas reales. El espacio está equipado con el producto interno (dondedenota la traza ):
:={\rm {traza}}(A^{T}B)=\sum _{i=1,j=1}^{n}A_{ij}B_{ij}.}
Podemos reescribir el programa matemático dado en la sección anterior de forma equivalente como
donde entradaenes dado porde la sección anterior yes simétricomatriz que tieneª entradade la sección anterior. Por lo tanto, las matrices yson simétricas y los productos internos anteriores están bien definidos.
Tenga en cuenta que si agregamos variables de holgura de manera apropiada, este SDP se puede convertir a una forma ecuacional :
Para mayor comodidad, un SDP puede especificarse de una forma ligeramente diferente, pero equivalente. Por ejemplo, se pueden agregar expresiones lineales que involucren variables escalares no negativas a la especificación del programa. Esto sigue siendo un SDP porque cada variable puede incorporarse a la matriz.como entrada diagonal (para algunos). Para asegurar que, restriccionesse puede agregar para todos. Como otro ejemplo, observe que para cualquier matriz semidefinida positiva, existe un conjunto de vectoresde tal manera que el,entrada deesel producto escalar deyPor lo tanto, los SDP se formulan a menudo en términos de expresiones lineales sobre productos escalares de vectores. Dada la solución al SDP en la forma estándar, los vectoresse puede recuperar entiempo (por ejemplo, utilizando una descomposición de Cholesky incompleta de X).
Relación con otros problemas de optimización
El espacio de matrices semidefinidas es un cono convexo . Por lo tanto, SDP es un caso especial de optimización cónica , que a su vez es un caso especial de optimización convexa.
Cuando la matrizes diagonal, los productos internoses equivalente a un producto vectorial de la diagonal dey la diagonal de. Análogamente, cuando las matricesson diagonales, los productos internos correspondientes son equivalentes a productos vectoriales. En estos productos vectoriales, solo los elementos diagonales dese utilizan, por lo que podemos agregar restricciones que igualen los elementos no diagonales dea 0. La condiciónentonces es equivalente a la condición de que todos los elementos diagonales deson no negativos. Entonces, el SDP resultante se convierte en un programa lineal en el que las variables son los elementos diagonales de.
Teoría de la dualidad
Definiciones
De forma análoga a la programación lineal, dado un SDP general de la forma
(el problema primal o P-SDP), definimos el programa semidefinido dual (D-SDP) como
donde para cualesquiera dos matricesy,medio.
Dualidad débil
El teorema de dualidad débil establece que el valor del SDP primal es al menos igual al valor del SDP dual. Por lo tanto, cualquier solución factible del SDP dual limita inferiormente el valor del SDP primal, y viceversa, cualquier solución factible del SDP primal limita superiormente el valor del SDP dual. Esto se debe a que
donde la última desigualdad se debe a que ambas matrices son semidefinidas positivas, y el resultado de esta función a veces se denomina brecha de dualidad.
Fuerte dualidad
Cuando el valor de los SDP primal y dual es igual, se dice que el SDP satisface la propiedad de dualidad fuerte . A diferencia de los programas lineales , donde todo programa lineal dual tiene un objetivo óptimo igual al objetivo primal, no todo SDP satisface la dualidad fuerte; en general, el valor del SDP dual puede estar estrictamente por debajo del valor del primal, y el P-SDP y el D-SDP satisfacen las siguientes propiedades:
(i) Supongamos que el problema primal (P-SDP) está acotado inferiormente y es estrictamente factible (es decir, existe de tal manera que,). Entonces existe una solución óptimaal (D-SDP) y
(ii) Supongamos que el problema dual (D-SDP) está acotado superiormente y es estrictamente factible (es decir, para algunos). Entonces existe una solución óptimaa (P-SDP) y se cumple la igualdad de (i).
Una condición suficiente para que se cumpla la dualidad fuerte en un problema SDP (y, en general, en cualquier problema de optimización convexa) es la condición de Slater . También es posible alcanzar la dualidad fuerte para los SDP sin condiciones de regularidad adicionales mediante un problema dual extendido propuesto por Ramana. [ 2 ] [ 3 ]
Ejemplos
Ejemplo 1
Consideremos tres variables aleatorias.,, y. Un conjunto dado de coeficientes de correlaciónson posibles si y solo si
Esta matriz se llama matriz de correlación . Supongamos que sabemos, a partir de algún conocimiento previo (resultados empíricos de un experimento, por ejemplo), quey. El problema de determinar los valores más pequeños y más grandes quese puede tomar está dado por:
Nosotros establecimospara obtener la respuesta. Esto se puede formular mediante un SDP. Manejamos las restricciones de desigualdad aumentando la matriz de variables e introduciendo variables de holgura , por ejemplo
Resolver este SDP proporciona los valores mínimo y máximo decomoyrespectivamente.
Ejemplo 2
Consideremos el problema
- minimizar
- sujeto a
donde asumimos quecuando sea.
Introducción de una variable auxiliarEl problema puede reformularse:
- minimizar
- sujeto a
En esta formulación, el objetivo es una función lineal de las variables..
La primera restricción se puede escribir como
donde la matrizes la matriz cuadrada con valores en la diagonal iguales a los elementos del vector.
La segunda restricción se puede escribir como
Definicióncomo sigue
Podemos utilizar la teoría de los complementos de Schur para ver que
(Boyd y Vandenberghe, 1996)
El programa semidefinido asociado a este problema es
- minimizar
- sujeto a
Ejemplo 3 (algoritmo de aproximación de corte máximo de Goemans-Williamson)
Los programas semidefinidos son herramientas importantes para desarrollar algoritmos de aproximación para problemas de maximización NP-difíciles. El primer algoritmo de aproximación basado en un SDP se debe a Michel Goemans y David P. Williamson (JACM, 1995). [ 1 ] : Cap.1 Estudiaron el problema del corte máximo : dado un grafo G = ( V , E ), generar una partición de los vértices V de manera que se maximice el número de aristas que cruzan de un lado al otro. Este problema se puede expresar como un programa cuadrático entero :
- Maximizarde tal manera que cada.
A menos que P = NP , no podemos resolver este problema de maximización de manera eficiente. Sin embargo, Goemans y Williamson observaron un procedimiento general de tres pasos para abordar este tipo de problema:
- Relaja el programa cuadrático entero convirtiéndolo en un programa de dinámica estocástica (SDP). (Esto también se puede derivar utilizando el primer nivel de la jerarquía de suma de cuadrados ).
- Resuelva el SDP (con un error aditivo arbitrariamente pequeño)).
- Redondea la solución SDP para obtener una solución aproximada al programa cuadrático entero original.
Para un corte máximo, la relajación más natural es
- de tal manera quedonde la maximización se realiza sobre vectoresen lugar de escalares enteros.
Este es un SDP porque la función objetivo y las restricciones son todas funciones lineales de productos internos de vectores. Resolver el SDP da como resultado un conjunto de vectores unitarios enDado que no se requiere que los vectores sean colineales, el valor de este programa relajado solo puede ser mayor que el valor del programa entero cuadrático original. Finalmente, se necesita un procedimiento de redondeo para obtener una partición. Goemans y Williamson simplemente eligen un hiperplano aleatorio uniforme que pasa por el origen y dividen los vértices según en qué lado del hiperplano se encuentran los vectores correspondientes. Un análisis directo muestra que este procedimiento logra una razón de aproximación esperada (garantía de rendimiento) de 0,87856 - ε. (El valor esperado del corte es la suma sobre los bordes de la probabilidad de que el borde se corte, que es proporcional al ánguloentre los vectores en los extremos de la arista sobre. Comparando esta probabilidad con, en promedio la razón siempre es al menos 0,87856.) Suponiendo la conjetura de juegos únicos , se puede demostrar que esta razón de aproximación es esencialmente óptima.
Desde el artículo original de Goemans y Williamson, los SDP se han aplicado para desarrollar numerosos algoritmos de aproximación. Posteriormente, Prasad Raghavendra desarrolló un marco general para problemas de satisfacción de restricciones basado en la conjetura de juegos únicos . [ 4 ]
Otras aplicaciones
La programación semidefinida se ha aplicado para encontrar soluciones aproximadas a problemas de optimización combinatoria, como la solución del problema de corte máximo con una razón de aproximación de 0,87856. Los SDP también se utilizan en geometría para determinar grafos de tensegridad y surgen en la teoría de control como LMI , y en problemas de coeficientes elípticos inversos como restricciones de semidefinición convexas, no lineales y de definición parcial. [ 5 ] También se utiliza ampliamente en física para restringir teorías de campos conformes con el bootstrap conforme . [ 6 ]
Complejidad en tiempo de ejecución
El problema de factibilidad semidefinida (SDF) es el siguiente problema de decisión : dado un SDP, decidir si tiene al menos una solución factible. La complejidad temporal exacta de este problema es desconocida (a partir de 1997). Sin embargo, Ramana demostró lo siguiente: [ 2 ]
- En el modelo de máquina de Turing , SDF pertenece a NP si y solo si pertenece a co-NP. Por lo tanto, SDF no es NP-completo a menos que NP=coNP.
- En el modelo de máquina de Blum-Shub-Smale , SDF se encuentra en la intersección de NP y co-NP.
Algoritmos para resolver problemas de programación semidefinida
Existen varios tipos de algoritmos para resolver problemas de programación estocástica (SDP). Estos algoritmos proporcionan el valor del SDP con un margen de error aditivo.en un tiempo que es polinómico en el tamaño de la descripción del programa y.
Método elipsoidal
El método del elipsoide es un método general para la programación convexa y puede utilizarse en particular para resolver SDP. En el contexto de los SDP, el método del elipsoide proporciona la siguiente garantía. [ 1 ] : Teorema 2.6.1 Considere un SDP en la siguiente forma ecuacional:
Sea L el subespacio afín de matrices en S n que satisfacen las m restricciones de igualdad; entonces el SDP se puede escribir como:Supongamos que todos los coeficientes del SDP son números racionales. Sea R una cota superior explícitamente dada para la norma de Frobenius máxima de una solución factible, y ε > 0 una constante. Una matriz X en S n se denomina ε-profunda si toda matriz Y en L con una distancia de Frobenius como máximo ε de X satisface la condición de factibilidad.. DenotarEl elipsoide devuelve una de las siguientes salidas:
- Una matriz X* en L (es decir, que satisface exactamente todas las restricciones de igualdad lineales), tal que la distancia de Frobenius entre X* y alguna solución factible es como máximo ε (es decir, que satisface aproximadamente la restricción de desigualdad).), y(es decir, valor objetivo aproximadamente óptimo).
- Un certificado que acredite que el problema no tiene soluciones ε-profundas (es decir, que el problema es aproximadamente inviable).
El tiempo de ejecución es polinomial en las codificaciones binarias de las entradas y en log(R/ ε ), en el modelo de máquina de Turing .
Nótese que, en general, R puede ser doblemente exponencial en n. En ese caso, la garantía de tiempo de ejecución del método del elipsoide es exponencial en n . Pero en la mayoría de las aplicaciones, R no es tan grande. En estos casos, el método del elipsoide es el único método conocido que garantiza un tiempo de ejecución polinomial en el modelo de máquina de Turing. [ 1 ] : 23 Pero en la práctica, su rendimiento no es tan bueno.
Métodos de punto interior
La mayoría de los códigos se basan en métodos de punto interior (CSDP, MOSEK , SeDuMi, SDPT3 , DSDP, SDPA). Estos son robustos y eficientes para problemas SDP lineales generales, pero están limitados por el hecho de que los algoritmos son de segundo orden y necesitan almacenar y factorizar una matriz grande (y a menudo densa). Teóricamente, los algoritmos SDP de alta precisión más avanzados [ 7 ] [ 8 ] se basan en este enfoque.
Métodos de primer orden
Los métodos de primer orden para la optimización cónica evitan calcular, almacenar y factorizar una matriz hessiana grande y escalan a problemas mucho mayores que los métodos de punto interior, a costa de cierta pérdida de precisión. Un método de primer orden se implementa en el Splitting Cone Solver (SCS). [ 9 ] Otro método de primer orden es el método de direcciones alternas de multiplicadores (ADMM). [ 10 ] Este método requiere en cada paso la proyección sobre el cono de matrices semidefinidas.
Método de paquete
El código ConicBundle formula el problema SDP como un problema de optimización no diferenciable y lo resuelve mediante el método de haces espectrales para la optimización no diferenciable. Este enfoque es muy eficiente para una clase especial de problemas SDP lineales.
Otros métodos de resolución
Los algoritmos basados en el método del lagrangiano aumentado (PENSDP) tienen un comportamiento similar al de los métodos de punto interior y pueden especializarse para algunos problemas de gran escala. Otros algoritmos utilizan información de bajo rango y reformulan el SDP como un problema de programación no lineal (SDPLR, ManiSDP). [ 11 ]
Métodos aproximados
También se han propuesto algoritmos que resuelven SDP de forma aproximada. El objetivo principal de estos métodos es lograr una menor complejidad en aplicaciones donde las soluciones aproximadas son suficientes y la complejidad debe ser mínima. Un método destacado que se ha utilizado para la detección de datos en sistemas inalámbricos de entrada múltiple y salida múltiple (MIMO) es la relajación semidefinida aproximada triangular (TASER), [ 12 ] que opera sobre los factores de descomposición de Cholesky de la matriz semidefinida en lugar de la matriz semidefinida. Este método calcula soluciones aproximadas para un problema similar al corte máximo que a menudo son comparables a las soluciones de los solucionadores exactos pero en solo 10-20 iteraciones del algoritmo. Hazan [ 13 ] ha desarrollado un algoritmo aproximado para resolver SDP con la restricción adicional de que la traza de la matriz de variables debe ser 1.
Algoritmos de preprocesamiento
Los algoritmos de reducción facial son algoritmos que se utilizan para preprocesar problemas SDP mediante la inspección de las restricciones del problema. Estos se pueden utilizar para
- Detectar la falta de viabilidad estricta;
- Eliminar filas y columnas redundantes;
- Reduzca el tamaño de la matriz de variables. [ 14 ]
Véase también
- Problema de suma de raíces cuadradas : un caso especial de un problema de factibilidad SDP.
Referencias
- 1 2 3 4 Gärtner, Bernd; Matoušek, Jiří (2012), Gärtner, Bernd; Matousek, Jiri (eds.), "Programación semidefinida" , Algoritmos de aproximación y programación semidefinida , Berlín, Heidelberg: Springer, págs. 15-25 , doi : 10.1007/978-3-642-22015-9_2 , ISBN 978-3-642-22015-9, consultado el 31 de diciembre de 2023
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace ) - 1 2 Ramana, Motakuri V. (1997). "Una teoría de dualidad exacta para la programación semidefinida y sus implicaciones de complejidad" . Mathematical Programming . 77 (1): 129– 162. doi : 10.1007/BF02614433 . ISSN 0025-5610 . S2CID 12886462 .
- ↑ Vandenberghe, Lieven; Boyd, Stephen (1996). "Programación semidefinida" . SIAM Review . 38 (1): 49– 95. doi : 10.1137/1038003 . ISSN 0036-1445 .
- ↑ Raghavendra, Prasad (2008). "¿Algoritmos óptimos y resultados de inaproximabilidad para cada CSP?" . Actas del cuadragésimo simposio anual de la ACM sobre Teoría de la Computación . págs. 245–254 . doi : 10.1145/1374376.1374414 . ISBN 9781605580470. S2CID 15075197 .
- ↑ Harrach, Bastian (2021), "Resolución de un problema inverso de coeficientes elípticos mediante programación semidefinida no lineal convexa", Optimization Letters , 16 (5): 1599–1609 , arXiv : 2105.11440 , doi : 10.1007/s11590-021-01802-4 , S2CID 235166806
- ↑ Simmons-Duffin, David (2015-02-06). "Un solucionador de programas semidefinidos para el bootstrap conforme". Journal of High Energy Physics . 2015 (6) 174. arXiv : 1502.02033 . Bibcode : 2015JHEP...06..174S . doi : 10.1007/JHEP06(2015)174 . S2CID 256009551 .
- ^ Jiang, Haotian; Kathuria, Tarún; Lee, Yin Tat; Padmanabhan, Swati; Song, Zhao (noviembre de 2020). "Un método de punto interior más rápido para programación semidefinida". 2020 61.º Simposio anual del IEEE sobre fundamentos de la informática (FOCS) . Durham, Carolina del Norte, Estados Unidos: IEEE. págs. 910– 918. arXiv : 2009.10217 . doi : 10.1109/FOCS46700.2020.00089 . ISBN 978-1-7281-9621-3. S2CID 221836388 .
- ^ Huang, Baihe; Jiang, Shunhua; Canción, Zhao; Tao, Runzhou; Zhang, Ruizhe (18 de noviembre de 2021). "Resolver SDP más rápido: un marco IPM sólido e implementación eficiente". arXiv : 2101.08208 [ matemáticas.OC ].
- ↑ Brendan O'Donoghue, Eric Chu, Neal Parikh, Stephen Boyd, "Optimización cónica mediante división de operadores e incrustación autodual homogénea", Journal of Optimization Theory and Applications, 2016, pp 1042--1068, https://web.stanford.edu/~boyd/papers/pdf/scs.pdf .
- ↑ Wen, Zaiwen, Donald Goldfarb y Wotao Yin. "Métodos lagrangianos aumentados de dirección alternada para programación semidefinida". Mathematical Programming Computation 2.3-4 (2010): 203-230.
- ↑ Burer, Samuel; Monteiro, Renato DC (2003), "Un algoritmo de programación no lineal para resolver programas semidefinidos mediante factorización de bajo rango", Mathematical Programming , 95 (2): 329– 357, CiteSeerX 10.1.1.682.1520 , doi : 10.1007/s10107-002-0352-8 , ISSN 1436-4646 , S2CID 7691228
- ↑ Castañeda, O.; Goldstein, T.; Studer, C. (diciembre de 2016). "Detección de datos en grandes sistemas inalámbricos multiantena mediante relajación semidefinida aproximada" . IEEE Transactions on Circuits and Systems I: Regular Papers . 63 (12): 2334– 2346. arXiv : 1609.01797 . Bibcode : 2016ITCSR..63.2334C . doi : 10.1109/TCSI.2016.2607198 . hdl : 20.500.11850/448631 . ISSN 1558-0806 .
- ↑ Hazan, Elad (2008). "Soluciones aproximadas dispersas para programas semidefinidos" . En Laber, Eduardo Sany; Bornstein, Claudson; Nogueira, Loana Tito; Faria, Luerbio (eds.). LATIN 2008: Informática teórica . Lecture Notes in Computer Science. Vol. 4957. Berlín, Heidelberg: Springer. pp. 306–316 . doi : 10.1007/978-3-540-78773-0_27 . ISBN 978-3-540-78773-0.
- ↑ Zhu, Yuzixuan; Pataki, Gábor; Tran-Dinh, Quoc (2019), "Sieve-SDP: un algoritmo simple de reducción facial para preprocesar programas semidefinidos" , Mathematical Programming Computation , 11 (3): 503–586 , arXiv : 1710.08954 , doi : 10.1007/s12532-019-00164-4 , ISSN 1867-2949 , S2CID 53645581
- Lieven Vandenberghe, Stephen Boyd, "Programación semidefinida", SIAM Review 38, marzo de 1996, págs. 49-95. pdf
- Monique Laurent, Franz Rendl, "Programación semidefinida y programación entera", Informe PNA-R0210, CWI, Ámsterdam, abril de 2002. optimization-online
- E. de Klerk, «Aspectos de la programación semidefinida: algoritmos de punto interior y aplicaciones seleccionadas», Kluwer Academic Publishers, marzo de 2002, ISBN 1-4020-0547-4.
- Robert M. Freund, "Introducción a la Programación Semidefinida (SDP), Introducción a la SDP
Enlaces externos
- Enlaces a presentaciones y eventos en el campo.
- Apuntes de conferencias de László Lovász sobre programación semidefinida
- Optimización convexa
- Problemas P-completos
- Geometría algebraica real
- Programación lineal