stringtranslate.com

Oráculo de separación

Un oráculo de separación (también llamado oráculo de plano de corte ) es un concepto de la teoría matemática de la optimización convexa . Es un método para describir un conjunto convexo que se proporciona como entrada a un algoritmo de optimización. Los oráculos de separación se utilizan como entrada para los métodos de elipsoide . [1] : 87, 96, 98 

Definición

Sea K un conjunto convexo y compacto en R n . Un oráculo de separación fuerte para K es un oráculo ( caja negra ) que, dado un vector y en R n , devuelve uno de los siguientes: [1] : 48 

Un oráculo de separación fuerte es completamente preciso y, por lo tanto, puede ser difícil de construir. Por razones prácticas, se considera una versión más débil, que permite pequeños errores en el límite de K y las desigualdades. Dada una pequeña tolerancia de error d > 0, decimos que:

La versión débil también considera números racionales , que tienen una representación de longitud finita, en lugar de números reales arbitrarios. Un oráculo de separación débil para K es un oráculo que, dado un vector y en Q n y un número racional d >0, devuelve uno de los siguientes:: [1] : 51 

Implementación

Un caso especial de un conjunto convexo es un conjunto representado por desigualdades lineales: . Un conjunto de este tipo se denomina politopo convexo . Se puede implementar un oráculo de separación fuerte para un politopo convexo, pero su tiempo de ejecución depende del formato de entrada.

Representación por desigualdades

Si se dan como entrada la matriz A y el vector b , de modo que , entonces se puede implementar un oráculo de separación fuerte de la siguiente manera. [2] Dado un punto y , calcule :

Este oráculo se ejecuta en tiempo polinomial siempre que el número de restricciones sea polinomial.

Representación por vértices

Supongamos que el conjunto de vértices de K se da como entrada, de modo que la envoltura convexa de sus vértices. Entonces, decidir si y está en K requiere comprobar si y es una combinación convexa de los vectores de entrada, es decir, si existen coeficientes z 1 ,..., z k tales que: [1] : 49 

Este es un programa lineal con k variables y n restricciones de igualdad (una para cada elemento de y ). Si y no está en K , entonces el programa anterior no tiene solución y el oráculo de separación necesita encontrar un vector c tal que

Nótese que las dos representaciones anteriores pueden ser muy diferentes en tamaño: es posible que un politopo pueda representarse mediante un pequeño número de desigualdades, pero que tenga exponencialmente muchos vértices (por ejemplo, un cubo n -dimensional). A la inversa, es posible que un politopo tenga un pequeño número de vértices, pero requiera exponencialmente muchas desigualdades (por ejemplo, la envoltura convexa de los 2 n vectores de la forma (0,...,±1,...,0).

Representación específica del problema

En algunos problemas de optimización lineal, aunque el número de restricciones sea exponencial, se puede escribir un oráculo de separación personalizado que funcione en tiempo polinómico. Algunos ejemplos son:

Conjuntos no lineales

Sea f una función convexa en R n . El conjunto es un conjunto convexo en R n +1 . Dado un oráculo de evaluación para f (una caja negra que devuelve el valor de f para cada punto dado), uno puede verificar fácilmente si un vector ( y , t ) está en K . Para obtener un oráculo de separación, también necesitamos un oráculo para evaluar el subgradiente de f . [1] : 49  Supóngase que algún vector ( y , s ) no está en K , entonces f ( y ) > s . Sea g el subgradiente de f en y ( g es un vector en R n ) . Denotemos . Entonces, , y para todo ( x , t ) en K : . Por definición de un subgradiente: para todo x en R n . Por lo tanto, , entonces , y c representa un hiperplano separador.

Uso

Se puede proporcionar un oráculo de separación fuerte como entrada al método del elipsoide para resolver un programa lineal. Considere el programa lineal . El método del elipsoide mantiene un elipsoide que inicialmente contiene todo el dominio factible . En cada iteración t , toma el centro del elipsoide actual y lo envía al oráculo de separación:

Después de realizar un corte, construimos un nuevo elipsoide más pequeño que contiene la región restante. Se puede demostrar que este proceso converge a una solución aproximada, en un polinomio temporal con la precisión requerida.

Convertir un oráculo débil en un oráculo fuerte

Dado un oráculo de separación débil para un poliedro , es posible construir un oráculo de separación fuerte mediante un método cuidadoso de redondeo o mediante aproximaciones diofánticas . [1] : 159 

Véase también

Referencias

  1. ^ abcdef 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. ^ "MIT 6.854 Primavera 2016 Clase 12: De la separación a la optimización y viceversa; Método elipsoide - YouTube" www.youtube.com . Consultado el 3 de enero de 2021 .
  3. ^ ab Vempala, Santosh (2016). "Oráculo de la separación" (PDF) .