Articulo de referencia

Programación semidefinida

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...

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

minincógnita1,,incógnitanorteRnortei,j[norte]doi,j(incógnitaiincógnitaj)sujeto ai,j[norte]ai,j,k(incógnitaiincógnitaj)bk a pesar de k{\displaystyle {\begin{array}{rl}{\displaystyle \min _{x^{1},\ldots ,x^{n}\in \mathbb {R} ^{n}}}&{\displaystyle \sum _{i,j\in [n]}c_{i,j}(x^{i}\cdot x^{j})}\\{\text{sujeto a}}&{\displaystyle \sum _{i,j\in [n]}a_{i,j,k}(x^{i}\cdot x^{j})\leq b_{k}}{\text{ para todo }}k\\\end{array}}}

donde eldoi,j,ai,j,k{\displaystyle c_{i,j},a_{i,j,k}}y elbk{\displaystyle b_{k}}son números reales yincógnitaiincógnitaj{\displaystyle x^{i}\cdot x^{j}}es el producto escalar deincógnitai{\displaystyle x^{i}}y incógnitaj{\displaystyle x^{j}}.

Formulaciones equivalentes

Unnorte×norte{\displaystyle n\times n}matrizMETRO{\displaystyle M}Se dice que es semidefinida positiva si es la matriz de Gram de algunos vectores (es decir, si existen vectoresincógnita1,,incógnitanorte{\displaystyle x^{1},\ldots ,x^{n}}de tal manera quemetroi,j=incógnitaiincógnitaj{\displaystyle m_{i,j}=x^{i}\cdot x^{j}}a pesar dei,j{\displaystyle i,j}). Si este es el caso, lo denotamos comoMETRO0{\displaystyle M\succeq 0}. 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 porSnorte{\displaystyle \mathbb {S} ^{n}}el espacio de todosnorte×norte{\displaystyle n\times n}matrices simétricas reales. El espacio está equipado con el producto interno (dondetradomi{\displaystyle {\rm {trace}}}denota la traza ):

A,B:=tradomi(ATB)=i=1,j=1norteAijBij.{\displaystyle \langle A,B\rangle :={\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

minincógnitaSnortedo,incógnitasujeto aAk,incógnitabk,k=1,,metroincógnita0.{\displaystyle {\begin{array}{rl}{\displaystyle \min _{X\in \mathbb {S} ^{n}}}&\langle C,X\rangle \\{\text{sujeto a}}&\langle A_{k},X\rangle \leq b_{k},\quad k=1,\ldots ,m\\&X\succeq 0.\end{array}}}

donde entradai,j{\displaystyle i,j}endo{\displaystyle C}es dado pordoi,j+doj,i2{\displaystyle {\frac {c_{i,j}+c_{j,i}}{2}}}de la sección anterior yAk{\displaystyle A_{k}}es simétriconorte×norte{\displaystyle n\times n}matriz que tienei,j{\displaystyle i,j}ª entradaai,j,k+aj,i,k2{\displaystyle {\frac {a_{i,j,k}+a_{j,i,k}}{2}}}de la sección anterior. Por lo tanto, las matrices do{\displaystyle C}yAk{\displaystyle A_{k}}son 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 :

minincógnitaSnortedo,incógnitasujeto aAk,incógnita=bk,k=1,,metroincógnita0.{\displaystyle {\begin{array}{rl}{\displaystyle \min _{X\in \mathbb {S} ^{n}}}&\langle C,X\rangle \\{\text{sujeto a}}&\langle A_{k},X\rangle =b_{k},\quad k=1,\ldots ,m\\&X\succeq 0.\end{array}}}

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.incógnita{\displaystyle X}como entrada diagonal (incógnitaii{\displaystyle X_{ii}}para algunosi{\displaystyle i}). Para asegurar queincógnitaii0{\displaystyle X_{ii}\geq 0}, restriccionesincógnitaij=0{\displaystyle X_{ij}=0}se puede agregar para todosji{\displaystyle j\neq i}. Como otro ejemplo, observe que para cualquier matriz semidefinida positivaincógnita{\displaystyle X}, existe un conjunto de vectores{vi}{\displaystyle \{v_{i}\}}de tal manera que eli{\displaystyle i},j{\displaystyle j}entrada deincógnita{\displaystyle X}esincógnitaij=(vi,vj){\displaystyle X_{ij}=(v_{i},v_{j})}el producto escalar devi{\displaystyle v_{i}}yvj{\displaystyle v_{j}}Por 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 vectores{vi}{\displaystyle \{v_{i}\}}se puede recuperar enO(norte3){\displaystyle O(n^{3})}tiempo (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 matrizdo{\displaystyle C}es diagonal, los productos internosdo,incógnita{\displaystyle \langle C,X\rangle }es equivalente a un producto vectorial de la diagonal dedo{\displaystyle C}y la diagonal deincógnita{\displaystyle X}. Análogamente, cuando las matricesAk{\displaystyle A_{k}}son diagonales, los productos internos correspondientes son equivalentes a productos vectoriales. En estos productos vectoriales, solo los elementos diagonales deincógnita{\displaystyle X}se utilizan, por lo que podemos agregar restricciones que igualen los elementos no diagonales deincógnita{\displaystyle X}a 0. La condiciónincógnita0{\displaystyle X\succeq 0}entonces es equivalente a la condición de que todos los elementos diagonales deincógnita{\displaystyle X}son no negativos. Entonces, el SDP resultante se convierte en un programa lineal en el que las variables son los elementos diagonales deincógnita{\displaystyle X}.

Teoría de la dualidad

Definiciones

De forma análoga a la programación lineal, dado un SDP general de la forma

minincógnitaSnortedo,incógnitasujeto aAi,incógnita=bi,i=1,,metroincógnita0{\displaystyle {\begin{array}{rl}{\displaystyle \min _{X\in \mathbb {S} ^{n}}}&\langle C,X\rangle \\{\text{sujeto a}}&\langle A_{i},X\rangle =b_{i},\quad i=1,\ldots ,m\\&X\succeq 0\end{array}}}

(el problema primal o P-SDP), definimos el programa semidefinido dual (D-SDP) como

máximoyRmetrobTysujeto ai=1metroyiAido{\displaystyle {\begin{array}{rl}{\displaystyle \max _{y\in \mathbb {R} ^{m}}}&b^{T}y\\{\text{subject to}}&{\displaystyle \sum _{i=1}^{m}}y_{i}A_{i}\preceq C\end{array}}}

donde para cualesquiera dos matricesPAG{\displaystyle P}yQ{\displaystyle Q},PAGQ{\displaystyle P\succeq Q}medioPAGQ0{\displaystyle P-Q\succeq 0}.

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

do,incógnitabTy=do,incógnitai=1metroyibi=do,incógnitai=1metroyiAi,incógnita=doi=1metroyiAi,incógnita0,{\displaystyle \langle C,X\rangle -b^{T}y=\langle C,X\rangle -\sum _{i=1}^{m}y_{i}b_{i}=\langle C,X\rangle -\sum _{i=1}^{m}y_{i}\langle A_{i},X\rangle =\langle C-\sum _{i=1}^{m}y_{i}A_{i},X\rangle \geq 0,}

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 incógnita0Snorte,incógnita00{\displaystyle X_{0}\in \mathbb {S} ^{n},X_{0}\succ 0}de tal manera queAi,incógnita0=bi{\displaystyle \langle A_{i},X_{0}\rangle =b_{i}},i=1,,metro{\displaystyle i=1,\ldots ,m}). Entonces existe una solución óptimay{\displaystyle y^{*}}al (D-SDP) y

do,incógnita=bTy.{\displaystyle \langle C,X^{*}\rangle =b^{T}y^{*}.}

(ii) Supongamos que el problema dual (D-SDP) está acotado superiormente y es estrictamente factible (es decir, i=1metro(y0)iAido{\displaystyle \sum _{i=1}^{m}(y_{0})_{i}A_{i}\prec C}para algunosy0Rmetro{\displaystyle y_{0}\in \mathbb {R} ^{m}}). Entonces existe una solución óptimaincógnita{\displaystyle X^{*}}a (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.A{\displaystyle A},B{\displaystyle B}, ydo{\displaystyle C}. Un conjunto dado de coeficientes de correlaciónρAB, ρAdo,ρBdo{\displaystyle \rho _{AB},\ \rho _{AC},\rho _{BC}}son posibles si y solo si

(1ρABρAdoρAB1ρBdoρAdoρBdo1)0.{\displaystyle {\begin{pmatrix}1&\rho _{AB}&\rho _{AC}\\\rho _{AB}&1&\rho _{BC}\\\rho _{AC}&\rho _{BC}&1\end{pmatrix}}\succeq 0.}

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), que0,2ρAB0.1{\displaystyle -0.2\leq \rho _{AB}\leq -0.1}y0,4ρBdo0,5{\displaystyle 0.4\leq \rho _{BC}\leq 0.5}. El problema de determinar los valores más pequeños y más grandes queρAdo {\displaystyle \rho _{AC}\ }se puede tomar está dado por:

min/máximoincógnita13sujeto a0,2incógnita120.10,4incógnita230,5(1incógnita12incógnita13incógnita121incógnita23incógnita13incógnita231)0{\displaystyle {\begin{array}{rl}{\displaystyle \min /\max }&x_{13}\\{\text{subject to}}&-0.2\leq x_{12}\leq -0.1\\&0.4\leq x_{23}\leq 0.5\\&{\begin{pmatrix}1&x_{12}&x_{13}\\x_{12}&1&x_{23}\\x_{13}&x_{23}&1\end{pmatrix}}\succeq 0\end{array}}}

Nosotros establecimosρAB=incógnita12, ρAdo=incógnita13, ρBdo=incógnita23{\displaystyle \rho _{AB}=x_{12},\ \rho _{AC}=x_{13},\ \rho _{BC}=x_{23}}para 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

tr((010000000000000000000100000000000000)(1incógnita12incógnita13000incógnita121incógnita23000incógnita13incógnita231000000s1000000s2000000s3))=incógnita12+s1=0.1{\displaystyle \mathrm {tr} \left(\left({\begin{array}{cccccc}0&1&0&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\0&0&0&1&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\end{array}}\right)\cdot \left({\begin{array}{cccccc}1&x_{12}&x_{13}&0&0&0\\x_{12}&1&x_{23}&0&0&0\\x_{13}&x_{23}&1&0&0&0\\0&0&0&s_{1}&0&0\\0&0&0&0&s_{2}&0\\0&0&0&0&0&s_{3}\end{array}}\right)\right)=x_{12}+s_{1}=-0.1}

Resolver este SDP proporciona los valores mínimo y máximo deρAdo=incógnita13 {\displaystyle \rho _{AC}=x_{13}\ }como0,978{\displaystyle -0.978}y0,872{\displaystyle 0.872}respectivamente.

Ejemplo 2

Consideremos el problema

minimizar(doTincógnita)2dTincógnita{\displaystyle {\frac {(c^{T}x)^{2}}{d^{T}x}}}
sujeto aAincógnita+b0{\displaystyle Ax+b\geq 0}

donde asumimos quedTincógnita>0{\displaystyle d^{T}x>0}cuando seaAincógnita+b0{\displaystyle Ax+b\geq 0}.

Introducción de una variable auxiliart{\displaystyle t}El problema puede reformularse:

minimizart{\displaystyle t}
sujeto aAincógnita+b0,(doTincógnita)2dTincógnitat{\displaystyle Ax+b\geq 0,\,{\frac {(c^{T}x)^{2}}{d^{T}x}}\leq t}

En esta formulación, el objetivo es una función lineal de las variables.incógnita,t{\displaystyle x,t}.

La primera restricción se puede escribir como

diagnóstico(Aincógnita+b)0{\displaystyle {\textbf {diag}}(Ax+b)\geq 0}

donde la matrizdiagnóstico(Aincógnita+b){\displaystyle {\textbf {diag}}(Ax+b)}es la matriz cuadrada con valores en la diagonal iguales a los elementos del vectorAincógnita+b{\displaystyle Ax+b}.

La segunda restricción se puede escribir como

tdTincógnita(doTincógnita)20{\displaystyle td^{T}x-(c^{T}x)^{2}\geq 0}

DefiniciónD{\displaystyle D}como sigue

D=[tdoTincógnitadoTincógnitadTincógnita]{\displaystyle D=\left[{\begin{array}{cc}t&c^{T}x\\c^{T}x&d^{T}x\end{array}}\right]}

Podemos utilizar la teoría de los complementos de Schur para ver que

D0{\displaystyle D\succeq 0}

(Boyd y Vandenberghe, 1996)

El programa semidefinido asociado a este problema es

minimizart{\displaystyle t}
sujeto a[diagnóstico(Aincógnita+b)000tdoTincógnita0doTincógnitadTincógnita]0{\displaystyle \left[{\begin{array}{ccc}{\textbf {diag}}(Ax+b)&0&0\\0&t&c^{T}x\\0&c^{T}x&d^{T}x\end{array}}\right]\succeq 0}

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 :

Maximizar(i,j)mi1vivj2,{\displaystyle \sum _{(i,j)\in E}{\frac {1-v_{i}v_{j}}{2}},}de tal manera que cadavi{1,1}{\displaystyle v_{i}\in \{1,-1\}}.

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:

  1. 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 ).
  2. Resuelva el SDP (con un error aditivo arbitrariamente pequeño)ϵ{\displaystyle \epsilon }).
  3. 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

máximo(i,j)mi1vi,vj2,{\displaystyle \max \sum _{(i,j)\in E}{\frac {1-\langle v_{i},v_{j}\rangle }{2}},}de tal manera quevi2=1{\displaystyle \lVert v_{i}\rVert ^{2}=1}donde la maximización se realiza sobre vectores{vi}{\displaystyle \{v_{i}\}}en 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 enRnorte{\displaystyle \mathbf {R^{n}} }Dado 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 ánguloporque1vi,vj{\displaystyle \cos ^{-1}\langle v_{i},v_{j}\rangle }entre los vectores en los extremos de la arista sobreπ{\displaystyle \pi }. Comparando esta probabilidad con(1vi,vj)/2{\displaystyle (1-\langle v_{i},v_{j}\rangle )/{2}}, 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 ]

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.ϵ{\displaystyle \epsilon }en un tiempo que es polinómico en el tamaño de la descripción del programa yregistro(1/ϵ){\displaystyle \log(1/\epsilon )}.

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:

máximoincógnitaSnortedo,incógnitasujeto aAk,incógnita=bk,k=1,,metroincógnita0.{\displaystyle {\begin{array}{rl}{\displaystyle \max _{X\in \mathbb {S} ^{n}}}&\langle C,X\rangle \\{\text{subject to}}&\langle A_{k},X\rangle =b_{k},\quad k=1,\ldots ,m\\&X\succeq 0.\end{array}}}

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:máximoincógnitaLdo,incógnita sujeto a incógnita0{\displaystyle \max _{X\in L}\langle C,X\rangle {\text{ subject to }}X\succeq 0}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.Y0{\displaystyle Y\succeq 0}. Denotarvdmimipag:=sorber{do,incógnita:incógnita es ϵ-profundo}{\displaystyle v_{deep}:=\sup\{\langle C,X\rangle :X{\text{ is }}\epsilon {\text{-deep}}\}}El 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).incógnita0{\displaystyle X\succeq 0}), ydo,incógnitavdmimipagϵ{\displaystyle \langle C,X^{*}\rangle \geq v_{deep}-\epsilon }(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

Referencias

  1. 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 )
  2. 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 .  
  3. Vandenberghe, Lieven; Boyd, Stephen (1996). "Programación semidefinida" . SIAM Review . 38 (1): 49– 95. doi : 10.1137/1038003 . ISSN 0036-1445 . 
  4. 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 . 
  5. 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 
  6. 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 . 
  7. ^ 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 . 
  8. ^ 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 ].
  9. 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 .
  10. 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.
  11. 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   
  12. 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 . 
  13. 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.
  14. 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 a presentaciones y eventos en el campo.
  • Apuntes de conferencias de László Lovász sobre programación semidefinida