stringtranslate.com

método elipsoide

En optimización matemática , el método del elipsoide es un método iterativo para minimizar funciones convexas sobre conjuntos convexos . El método del elipsoide genera una secuencia de elipsoides cuyo volumen disminuye uniformemente en cada paso, encerrando así un minimizador de una función convexa .

Cuando se especializa en resolver problemas de optimización lineal factibles con datos racionales, el método del elipsoide es un algoritmo que encuentra una solución óptima en una serie de pasos que es polinómica en el tamaño de entrada.

Historia

El método del elipsoide tiene una larga historia. Como método iterativo , Naum Z. Shor presentó una versión preliminar . En 1972, Arkadi Nemirovski y David B. Yudin (Judin) estudiaron un algoritmo de aproximación para la minimización convexa real.

Como algoritmo para resolver problemas de programación lineal con datos racionales, Leonid Khachiyan estudió el algoritmo elipsoide ; El logro de Khachiyan fue demostrar la solubilidad en tiempo polinómico de los programas lineales. Este fue un paso notable desde una perspectiva teórica: el algoritmo estándar para resolver problemas lineales en ese momento era el algoritmo simplex , que tiene un tiempo de ejecución que normalmente es lineal en el tamaño del problema, pero para el cual existen ejemplos para los cuales es exponencial en el tamaño del problema. Como tal, tener un algoritmo que garantice que sea polinómico en todos los casos parecía un avance teórico.

El trabajo de Khachiyan demostró, por primera vez, que pueden existir algoritmos para resolver programas lineales cuyo tiempo de ejecución puede ser polinómico. En la práctica, sin embargo, el algoritmo es bastante lento y de poco interés práctico, aunque sirvió de inspiración para trabajos posteriores que resultaron ser de mucha mayor utilidad práctica. Específicamente, el algoritmo de Karmarkar , un método de punto interior , es mucho más rápido que el método del elipsoide en la práctica. El algoritmo de Karmarkar también es más rápido en el peor de los casos.

El algoritmo elipsoidal permite a los teóricos de la complejidad alcanzar límites (en el peor de los casos) que dependen de la dimensión del problema y del tamaño de los datos, pero no del número de filas, por lo que siguió siendo importante en la teoría de la optimización combinatoria durante muchos años. [1] [2] [3] [4] Sólo en el siglo XXI aparecieron algoritmos de punto interior con propiedades de complejidad similares. [ cita necesaria ]

Descripción

Un problema de minimización convexa consta de los siguientes ingredientes.

También se nos da un elipsoide inicial definido como

que contiene un minimizador , donde y es el centro de .

Finalmente, requerimos la existencia de un oráculo de separación para el conjunto convexo . Dado un punto , el oráculo debería devolver una de dos respuestas: [5]

El resultado del método del elipsoide es:

La minimización restringida por la desigualdad de una función que es cero en todas partes corresponde al problema de simplemente identificar cualquier punto factible. Resulta que cualquier problema de programación lineal puede reducirse a un problema de viabilidad lineal (por ejemplo, minimizar la función cero sujeta a algunas restricciones de desigualdad e igualdad lineal). Una forma de hacerlo es combinando los programas lineales primario y dual en un solo programa y agregando la restricción (lineal) adicional de que el valor de la solución primaria no es peor que el valor de la solución dual. Otra forma es tratar el objetivo del programa lineal como una restricción adicional y utilizar la búsqueda binaria para encontrar el valor óptimo. [ cita necesaria ]

Minimización sin restricciones

En la k -ésima iteración del algoritmo, tenemos un punto en el centro de un elipsoide

Consultamos el oráculo del plano de corte para obtener un vector tal que

Por lo tanto concluimos que

Lo configuramos como el elipsoide de volumen mínimo que contiene el medio elipsoide descrito anteriormente y calculamos . La actualización viene dada por

dónde

El criterio de parada está dado por la propiedad que

Minimización restringida por la desigualdad

En la k -ésima iteración del algoritmo de minimización restringida, tenemos un punto en el centro de un elipsoide como antes. También debemos mantener una lista de valores que registren el valor objetivo más pequeño de iteraciones factibles hasta el momento. Dependiendo de si el punto es factible o no , realizamos una de dos tareas:

para todo z factible .

Rendimiento en programas convexos.

Garantía de complejidad teórica en tiempo de ejecución

La garantía de complejidad en tiempo de ejecución del método del elipsoide en el modelo RAM real viene dada por el siguiente teorema. [6] : Thm.8.3.1 

Considere una familia de problemas de optimización convexa de la forma: minimizar f ( x ) st x está en G , donde f es una función convexa y G es un conjunto convexo (un subconjunto de un espacio euclidiano R n ). Cada problema p de la familia está representado por un vector de datos Datos ( p ), por ejemplo, los coeficientes de valores reales en matrices y vectores que representan la función f y la región factible G. El tamaño de un problema p , Tamaño ( p ), se define como el número de elementos (números reales) en Datos ( p ). Se necesitan los siguientes supuestos:

  1. G (la región factible) es:
    • Encerrado;
    • Tiene un interior no vacío (por lo que es un punto estrictamente factible);
  2. Dados los datos ( p ), se pueden calcular utilizando operaciones aritméticas poli(Tamaño(p)):
    • Un elipsoide que contiene G ;
    • Un límite inferior MinVol(p)>0 en el volumen de G .
  3. Dados los datos ( p ) y un punto x en R n , se pueden calcular usando operaciones aritméticas poli(Tamaño(p)):
    • Un oráculo de separación para G (es decir: afirmar que x está en G o devolver un hiperplano que separa x de G ).
    • Un oráculo de primer orden para f (es decir: calcular el valor de f ( x ) y un subgradiente f' ( x )).

Bajo estos supuestos, el método del elipsoide es el "polinomio R". Esto significa que existe un polinomio Poly tal que, para cada instancia de problema p y cada relación de aproximación ε >0, el método encuentra una solución x que satisface:

,

utilizando como máximo el siguiente número de operaciones aritméticas con números reales:

donde V ( p ) es una cantidad que depende de los datos. Intuitivamente, significa que el número de operaciones requeridas para cada dígito adicional de precisión es polinómico en tamaño ( p ). En el caso del método del elipsoide tenemos:

.

El método del elipsoide requiere como máximo pasos, y cada paso requiere operaciones aritméticas Poly(Size(p)).

Rendimiento práctico

El método del elipsoide se utiliza en problemas de baja dimensión, como problemas de ubicación plana, donde es numéricamente estable . Nemirovsky y BenTal [6] : La sección 8.3.3  dice que es eficiente si el número de variables es como máximo 20-30; esto es así incluso si hay miles de restricciones, ya que el número de iteraciones no depende del número de restricciones. Sin embargo, en problemas con muchas variables, el método del elipsoide es muy ineficiente, ya que el número de iteraciones crece como O ( n 2 ).

Incluso en problemas de tamaño "pequeño", sufre de inestabilidad numérica y mal desempeño en la práctica [ cita necesaria ] .

Importancia teórica

El método del elipsoide es una técnica teórica importante en la optimización combinatoria . En la teoría de la complejidad computacional , el algoritmo elipsoide es atractivo porque su complejidad depende del número de columnas y del tamaño digital de los coeficientes, pero no del número de filas.

El método del elipsoide se puede utilizar para demostrar que muchos problemas algorítmicos en conjuntos convexos son equivalentes en tiempo polinomial.

Rendimiento en programas lineales

Leonid Khachiyan aplicó el método del elipsoide al caso especial de programación lineal : minimizar c T x st Ax ≤ b , donde todos los coeficientes en A,b,c son números racionales. Demostró que los programas lineales se pueden resolver en tiempo polinomial. Aquí hay un bosquejo del teorema de Khachiyan. [6] : Sección 8.4.2 

Paso 1: reducir la optimización de la búsqueda . El teorema de la dualidad de programación lineal dice que podemos reducir el problema de minimización anterior al problema de búsqueda: encontrar x,y st Ax ≤ b; A T y = c ; y≤0; cTx = bTy . El primer problema tiene solución si el segundo problema tiene solución; en caso de que el problema tenga solución, las componentes x de la solución del segundo problema son una solución óptima del primer problema. Por lo tanto, de ahora en adelante, podemos asumir que necesitamos resolver el siguiente problema: encontrar z ≥ 0 st Rzr . Multiplicando todos los coeficientes racionales por el denominador común, podemos suponer que todos los coeficientes son números enteros.

Paso 2: reducir la búsqueda a verificación de viabilidad . El problema de encontrar z ≥ 0 st Rzr se puede reducir al problema de decisión binaria: " ¿existe un z ≥ 0 tal que Rzr ? ". Esto puede hacerse de la siguiente manera. Si la respuesta al problema de decisión es "no", entonces la respuesta al problema de búsqueda es "Ninguno" y hemos terminado. De lo contrario, tome la primera restricción de desigualdad R 1 zr 1 ; reemplácelo con una igualdad R 1 z = r 1 ; y aplicar el problema de decisión nuevamente. Si la respuesta es "sí", mantenemos la igualdad; si la respuesta es "no", significa que la desigualdad es redundante y podemos eliminarla. Luego procedemos a la siguiente restricción de desigualdad. Para cada restricción, la convertimos a igualdad o la eliminamos. Finalmente, solo tenemos restricciones de igualdad, que pueden resolverse mediante cualquier método para resolver un sistema de ecuaciones lineales.

Paso 3 : el problema de decisión se puede reducir a un problema de optimización diferente. Defina la función residual f(z) := max[(Rz) 1 -r 1 , (Rz) 2 -r 2 , (Rz) 3 -r 3 ,...]. Claramente, f ( z )≤0 si y solo Rzr . Por tanto, para resolver el problema de decisión, basta con resolver el problema de minimización: min z f ( z ). La función f es convexa (es un máximo de funciones lineales). Denota el valor mínimo por f *. Entonces la respuesta al problema de decisión es "sí" sif*≤0.

Paso 4 : En el problema de optimización min z f ( z ), podemos suponer que z está en una caja de longitud lateral 2 L , donde L es la longitud de bits de los datos del problema. Por tanto, tenemos un programa convexo acotado, que puede resolverse con cualquier precisión ε mediante el método del elipsoide, en tiempo polinomio en L .

Paso 5 : Se puede demostrar que, si f*>0, entonces f*>2 -poly(L) , para algún polinomio. Por lo tanto, podemos elegir la precisión ε=2 -poly(L) . Entonces, la solución ε-aproximada encontrada por el método del elipsoide será positiva, si y solo f*>0, y si y sólo si el problema de decisión no tiene solución.

Variantes

El método del elipsoide tiene varias variantes, dependiendo de qué cortes se utilicen exactamente en cada paso. [1 segundo. 3 

Diferentes cortes

En el método del elipsoide de corte central , [1] : 82, 87–94  los cortes siempre pasan por el centro del elipsoide actual. La entrada es un número racional ε >0, un cuerpo convexo K dado por un oráculo de separación débil y un número R tal que S(0, R ) (la bola de radio R alrededor del origen) contiene K. El resultado es uno de los siguientes:

El número de pasos es , el número de dígitos de precisión requeridos es p  := 8 N , y la precisión requerida del oráculo de separación es d  := 2 - p .

En el método del elipsoide de corte profundo , [1] : 83  los cortes eliminan más de la mitad del elipsoide en cada paso. Esto hace que sea más rápido descubrir que K está vacío. Sin embargo, cuando K no está vacío, hay ejemplos en los que el método de corte central encuentra un punto factible más rápido. El uso de cortes profundos no cambia el orden de magnitud del tiempo de ejecución.

En el método del elipsoide de corte superficial , [1] : 83, 94–101  los cortes eliminan menos de la mitad del elipsoide en cada paso. Esta variante no es muy útil en la práctica, pero tiene importancia teórica: permite probar resultados que no se pueden derivar de otras variantes. La entrada es un número racional ε >0, un cuerpo convexo K dado por un oráculo de separación poco profundo y un número R tal que S(0, R ) contiene K. La salida es una matriz definida positiva A y un punto a tal que se cumple una de las siguientes condiciones:

El número de pasos es y el número de dígitos de precisión requeridos es p  := 8 N.

Diferentes elipsoides

También hay una distinción entre los métodos del elipsoide circunscrito y del elipsoide inscrito: [7]

Los métodos difieren en su complejidad de tiempo de ejecución (a continuación, n es el número de variables y épsilon es la precisión):

La eficiencia relativa de los métodos depende del tiempo requerido para encontrar un hiperplano de separación, que depende de la aplicación: si el tiempo de ejecución es para entonces el método circunscrito es más eficiente, pero si entonces el método inscrito es más eficiente. [7]

Métodos relacionados

Notas

  1. ^ abcde Grötschel, Martín ; Lovász, László ; Schrijver, Alexander (1993), Algoritmos geométricos y optimización combinatoria, Algoritmos y combinatoria, vol. 2 (2ª ed.), Springer-Verlag, Berlín, doi :10.1007/978-3-642-78240-4, ISBN 978-3-642-78242-8, señor  1261419
  2. ^ L. Lovász : una teoría algorítmica de números, gráficas y convexidad , Serie de conferencias regionales CBMS-NSF en matemáticas aplicadas 50, SIAM, Filadelfia, Pensilvania, 1986.
  3. ^ V. Chandru y MRRao, Programación lineal, Capítulo 31 del Manual de algoritmos y teoría de la computación , editado por MJ Atallah , CRC Press 1999, 31-1 a 31-37.
  4. ^ V. Chandru y MRRao, Programación entera, Capítulo 32 del Manual de algoritmos y teoría de la computación , editado por MJAtallah, CRC Press 1999, 32-1 a 32-45.
  5. ^ "MIT 6.854 Primavera de 2016 Conferencia 12: De la separación a la optimización y viceversa; Método elipsoide - YouTube". www.youtube.com . Archivado desde el original el 22 de diciembre de 2021 . Consultado el 3 de enero de 2021 .
  6. ^ abc Nemirovsky y Ben-Tal (2023). "Optimización III: Optimización convexa" (PDF) .[ enlace muerto permanente ]
  7. ^ ab Newman, DJ; Primak, ME (1 de diciembre de 1992). "Complejidad de métodos de elipsoides circunscritos e inscritos para resolver modelos económicos de equilibrio". Matemáticas Aplicadas y Computación . 52 (2): 223–231. doi :10.1016/0096-3003(92)90079-G. ISSN  0096-3003.
  8. ^ https://elibrary.ru/item.asp?id=38308898
  9. ^ Primak, YO; Kheyfets, BL (1 de junio de 1995). "Una modificación del método del elipsoide inscrito". Modelado Matemático e Informático . 21 (11): 69–76. doi :10.1016/0895-7177(95)00080-L. ISSN  0895-7177.

Otras lecturas

enlaces externos