stringtranslate.com

Método del 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 factibles de optimización lineal con datos racionales, el método del elipsoide es un algoritmo que encuentra una solución óptima en un número de pasos que es polinomial en el tamaño de entrada.

Historia

El método del elipsoide tiene una larga historia. Naum Z. Shor introdujo una versión preliminar como método iterativo . 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, el algoritmo del elipsoide fue estudiado por Leonid Khachiyan ; el logro de Khachiyan fue demostrar la resolubilidad 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 símplex , 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 que es exponencial en el tamaño del problema. Como tal, tener un algoritmo que se garantiza que sea polinómico para todos los casos fue un gran 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 demostrarse que es polinómico. En la práctica, sin embargo, el algoritmo es bastante lento y de poco interés práctico, aunque proporcionó inspiración para trabajos posteriores que resultaron ser de mucha mayor utilidad práctica. En concreto, el algoritmo de Karmarkar , un método de puntos interiores , 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 lograr 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 optimización combinatoria durante muchos años. [1] [2] [3] [4] Solo en el siglo XXI aparecieron algoritmos de punto interior con propiedades de complejidad similares. [ cita requerida ]

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 .

Por último, necesitamos 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]

La salida del método del elipsoide es:

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

Minimización sin restricciones

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

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

Por lo tanto concluimos que

Fijamos que sea el elipsoide de volumen mínimo que contiene el semielipsoide descrito anteriormente y calculamos . La actualización viene dada por

dónde

El criterio de detención viene dado por la propiedad que

Minimización restringida por 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 registre 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 todos los z posibles .

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 elipsoide en el modelo RAM real está dada por el siguiente teorema. [6] : Teorema 8.3.1 

Consideremos 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 en la familia está representado por un vector de datos Data( p ), por ejemplo, los coeficientes de valor real en matrices y vectores que representan la función f y la región factible G . El tamaño de un problema p , Size( p ), se define como el número de elementos (números reales) en Data( p ). Se necesitan los siguientes supuestos:

  1. G (la región factible) es:
    • Encerrado;
    • Tiene un interior no vacío (por lo que hay 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 datos ( p ) y un punto x en R n , se pueden calcular utilizando 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 "R-polinomial". Esto significa que existe un polinomio Poly tal que, para cada instancia del problema p y cada razó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 sobre números reales:

donde V ( p ) es una cantidad dependiente de los datos. Intuitivamente, significa que la cantidad de operaciones requeridas para cada dígito adicional de precisión es polinómica en Size( 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 los problemas de ubicación plana, donde es numéricamente estable . Nemirovsky y BenTal [6] : Sec.8.3.3  dicen 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 bajo rendimiento en la práctica [ cita requerida ] .

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 del 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 pueden resolverse en tiempo polinomial. A continuación se presenta un esbozo del teorema de Khachiyan. [6] : Sec.8.4.2 

Paso 1: reducción de la optimización a búsqueda . El teorema de 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 ; c T x=b T y. El primer problema es solucionable si y solo si el segundo problema es solucionable; en caso de que el problema sea solucionable, las componentes x de la solución al segundo problema son una solución óptima al 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 asumir que todos los coeficientes son números enteros.

Paso 2: reducir la búsqueda a la comprobación de viabilidad . El problema de encontrar z ≥ 0 st Rzr se puede reducir al problema de decisión binario: "¿ existe un z ≥ 0 tal que Rzr ? ". Esto se puede hacer de la siguiente manera. Si la respuesta al problema de decisión es "no", entonces la respuesta al problema de búsqueda es "Ninguna", y hemos terminado. De lo contrario, tome la primera restricción de desigualdad R 1 zr 1 ; reemplácela con una igualdad R 1 z = r 1 ; y aplique 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 en igualdad o la eliminamos. Finalmente, solo tenemos restricciones de igualdad, que se pueden resolver mediante cualquier método para resolver un sistema de ecuaciones lineales.

Paso 3 : el problema de decisión puede reducirse 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 si Rzr . Por lo tanto, para resolver el problema de decisión, es suficiente resolver el problema de minimización: min z f ( z ). La función f es convexa (es un máximo de funciones lineales). Denotemos el valor mínimo por f *. Entonces la respuesta al problema de decisión es "sí" si y solo si f*≤0.

Paso 4 : En el problema de optimización min z f ( z ), podemos suponer que z está en una caja de lado 2 L , donde L es la longitud de bits de los datos del problema. Por lo tanto, tenemos un programa convexo acotado, que se puede resolver hasta cualquier precisión ε mediante el método del elipsoide, en un polinomio de tiempo 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 hallada por el método del elipsoide será positiva, si y solo si f*>0, si y solo si el problema de decisión es irresoluble.

Variantes

El método del elipsoide tiene varias variantes, dependiendo de qué cortes exactamente se utilicen en cada paso. [1] : Sec. 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 . La salida es una de las 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 de corte profundo del elipsoide , [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 demostrar 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 superficial y un número R tal que S(0, R ) contiene a 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 existe 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 epsilon es la precisión):

La eficiencia relativa de los métodos depende del tiempo requerido para encontrar un hiperplano separador, 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, Sr.  1261419
  2. ^ L. Lovász : Una teoría algorítmica de números, gráficos 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 en Algorithms and Theory of Computation Handbook , editado por MJ Atallah , CRC Press 1999, 31-1 a 31-37.
  4. ^ V. Chandru y MRRao, Programación entera, Capítulo 32 en Algorithms and Theory of Computation Handbook , editado por MJAtallah, CRC Press 1999, 32-1 a 32-45.
  5. ^ "MIT 6.854 Primavera 2016 Clase 12: De la separación a la optimización y viceversa; Método elipsoide - YouTube". www.youtube.com . Archivado desde el original el 2021-12-22 . Consultado el 2021-01-03 .
  6. ^ abc Nemirovsky y Ben-Tal (2023). "Optimización III: Optimización convexa" (PDF) .[ enlace muerto permanente ]
  7. ^ ab Newman, DJ; Primak, ME (1992-12-01). "Complejidad de los 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 [ URL desnuda ]
  9. ^ Primak, ME; Kheyfets, BL (1995-06-01). "Una modificación del método del elipsoide inscrito". Modelado matemático y computacional . 21 (11): 69–76. doi :10.1016/0895-7177(95)00080-L. ISSN  0895-7177.

Lectura adicional

Enlaces externos