Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizacion_Robusta_I

318 views

Published on

  • Login to see the comments

  • Be the first to like this

Optimizacion_Robusta_I

  1. 1. Programaci´on Lineal Robusta: Parte I Luis I. Reyes Castro, M. Sc. Escuela Superior Polit´ecnica del Litoral (ESPOL) Guayaquil - Ecuador Viernes 18 de julio de 2014 L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 0 / 24
  2. 2. Estructura de la Charla 1 Introducci´on y Motivaci´on 2 Construcci´on de Conjuntos de Incertidumbre Utilizando el Teorema del L´ımite Central Utilizando Elipsoides Alineados con la Correlaci´on Utilizando un Modelo Linear en sus Factores Utilizando Estimaci´on de Densidad de Kernel 3 Soluci´on de Programas Lineales Robustos Transcripci´on de la Incertidumbre a una Forma General Solucionabilidad en Tiempo Polin´omico L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 1 / 24
  3. 3. Estructura de la Charla 1 Introducci´on y Motivaci´on 2 Construcci´on de Conjuntos de Incertidumbre Utilizando el Teorema del L´ımite Central Utilizando Elipsoides Alineados con la Correlaci´on Utilizando un Modelo Linear en sus Factores Utilizando Estimaci´on de Densidad de Kernel 3 Soluci´on de Programas Lineales Robustos Transcripci´on de la Incertidumbre a una Forma General Solucionabilidad en Tiempo Polin´omico L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 1 / 24
  4. 4. Introducci´on y Motivaci´on Programa lineal est´andar en nv variables de decisi´on y nr restricciones: min c x s.a. x ∈ Rnv ai x ≤ bi , ∀ i ∈ nr Aplicaciones en Investigaci´on de las Operaciones: Alocaci´on de recursos (e.g., planeaci´on de la producci´on). Flujos de comodidades a trav´es de redes log´ısticas, de comunicaciones, etc. Algoritmos para solucionar estos programas num´ericamente: Simplex: R´apido en la pr´actica pero sin garant´ıas de eficiencia. Elipsoide: Termina en tiempo polin´omico pero es impr´actico. Punto Interior: Terminan en tiempo polin´omico y son pr´acticos. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 2 / 24
  5. 5. Introducci´on y Motivaci´on Progamas lineales con incertidumbre en los datos del problema: E.g., cuando el costo c es una variable aleatoria. E.g., cuando los coeficientes de la iava restricci´on son aleatorios. Principales enfoques de modelamiento y resoluci´on: Minimizar una funci´on de utilidad del costo, e.g., E[c x] + κ var[c x]. Descenso por Gradientes Estoc´asticos. Programaci´on Estoc´astica utilizando M´etodos de Planos de Corte (e.g., Descomposici´on de Benders). Buscar la mejor soluci´on que es admisible con cierta probabilidad. M´etodos Libres de Gradientes. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 3 / 24
  6. 6. Introducci´on y Motivaci´on Estos m´etodos son ´utiles, pero tambi´en tienen sus limitaciones: Descenso por Gradientes Estoc´asticos: Limitado a la minimizaci´on de la expectaci´on del costo. Programaci´on Estoc´astica: Aversi´on al riesgo del tomador de decisiones no puede ser siempre f´acilmente quantificada en t´erminos de expectaciones, covariancias, etc. Requiere enumerar todas las instancias del problema posibles. M´etodos Libres de Gradientes. Cada iteraci´on requiere correr una simulaci´on. Dif´ıcil projectar una soluci´on no admisible a la region admisible. Tasa de convergencia es bastante lenta. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 4 / 24
  7. 7. Introducci´on y Motivaci´on Programaci´on Lineal Robusta es una nueva alternativa. Enfoque para el caso de incertidumbre en la restricci´on ˜aj x ≤ bj : Nivel de confianza p ∈ (0, 1). Construimos un conjunto de incertidumbre Uj (p) ⊆ Rn de tal manera que la siguiente implicaci´on se justifique: aj x ≤ bj , ∀aj ∈ Uj (p) ⇒ P ( ˜aj x ≤ bj ) ≥ p Solucionamos el siguiente programa lineal semi-infinito: min c x s.a. x ∈ Rnv ai x ≤ bi , ∀ i ∈ nr {j} aj x ≤ bj , ∀aj ∈ Uj (p) L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 5 / 24
  8. 8. Introducci´on y Motivaci´on En d´onde entra en juego la robust´ez? N´otese la siguiente equivalencia: aj x ≤ bj , ∀aj ∈ Uj (p) ⇐⇒ max aj ∈ Uj aj x ≤ bj Consecuentemente, el anterior programa lineal semi-infinito es equivalente al siguiente programa lineal con una restricci´on adversarial: min c x s.a. x ∈ Rnv ai x ≤ bi , ∀ i ∈ nr {j} max aj ∈ Uj aj x ≤ bj L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 6 / 24
  9. 9. Estructura de la Charla 1 Introducci´on y Motivaci´on 2 Construcci´on de Conjuntos de Incertidumbre Utilizando el Teorema del L´ımite Central Utilizando Elipsoides Alineados con la Correlaci´on Utilizando un Modelo Linear en sus Factores Utilizando Estimaci´on de Densidad de Kernel 3 Soluci´on de Programas Lineales Robustos Transcripci´on de la Incertidumbre a una Forma General Solucionabilidad en Tiempo Polin´omico L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 6 / 24
  10. 10. Construcci´on de Conjuntos de Incertidumbre Consideramos la soluci´on x ∈ Rn ≥0 y la restricci´on incierta ˜a x ≤ b. Nuestro primer conjunto de incertidumbre: Conjunto construido usando los soportes de las coordenadas del vector: U = a ∈ Rn ai ≤ ai ≤ ai , ∀ i Si a x ≤ b para cada a ∈ U entonces P ( ˜a x ≤ b ) = 1. Esto es obvio, dado que sop(˜a) ⊆ U. N´otese que es posible que todas las coordenadas del vector a tomen sus valores mas bajos o mas altos simult´aneamente. E.g., que ai = ai para todo i, o que ai = ai para todo i. Usualmente una construcci´on como esta resulta en una soluci´on ´optima excesivamente conservadora! L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 7 / 24
  11. 11. Construcci´on de Conjuntos de Incertidumbre Algunos puntos filos´oficos: Pensar en la naturaleza como un adversario. Utilizar la distribuci´on de los param´etros inciertos (i.e., los datos disponibles), junto con las conclusiones de la teor´ıa de la probabilidad, para limitar el poder de la naturaleza, i.e., para que el tama˜no y geometr´ıa de nuestros conjuntos de incertidumbre sean razonables. [GK54]: Gnedenko and Kolmorogov, 1954 “All epistemological value of the theory of probability is based on this: That large scale random phenomena in their collective action create strict, non random regularity.” L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 8 / 24
  12. 12. Construcci´on de Conjuntos de Incertidumbre Un conjunto de incertidumbre mucho mas razonable: Si asumimos que las coordenadas del vector ˜a son independientes, entonces el Teorema del L´ımite Central dice que: Si n → ∞ entonces 1≤i≤n ˜ai − E[˜ai ] std[˜ai ] √ n d −→ N(0, 1) Definimos la funci´on z : [0, 1) → R≥0 de tal manera que P ( N(0, 1) ∈ [−z(p), +z(p)] ) = p . E.g., z(0.68) ≈ 1, z(0.95) ≈ 2, etc. Conjunto construido usando los quantiles de la distribuci´on normal: U(p) =    a ∈ Rn ai ≤ ai ≤ ai , ∀ i; −z(p) ≤ 1≤i≤n ai − E[˜ai ] std[˜ai ] √ n ≤ +z(p)    L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 9 / 24
  13. 13. Construcci´on de Conjuntos de Incertidumbre Si a x ≤ b para cada a ∈ U(p) entonces lim inf n→∞ P ( ˜a x ≤ b ) ≥ p . N´otese que ya no es posible que todas las coordenadas del vector a tomen sus valores mas bajos o mas altos simult´aneamente. E.g., que ai = ai para todo i, o que ai = ai para todo i. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 10 / 24
  14. 14. Construcci´on de Conjuntos de Incertidumbre Como procedemos si las coordenadas del vector ˜a estan correlacionadas? Una opci´on: Si no conocemos nada mas que el vector de expectaci´on E[˜a] y la matriz de covariancia V[˜a]. Definimos la funci´on δ: [0, 1) → R≥0 de tal manera que: δ(p) = p 1 − p Definimos el siguiente elipsoide para cada p ∈ [0, 1) : U(p) = a ∈ Rn V[˜a]−1/2 (a − E[˜a]) 2 ≤ δ(p) [EGOO03]: La siguiente inecualidad aplica: P max a ∈ U(p) a x ≥ ˜a x ≥ p L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 11 / 24
  15. 15. Construcci´on de Conjuntos de Incertidumbre Otra opci´on: Si tenemos un buen modelo lineal en sus factores: ˜a = B ˜d + ˜ε . B ∈ Rn×m es una matriz de coefficientes. ˜d ∈ Rm y ˜ε ∈ Rn son vectores cuyas coordenadas son independientes. Conjunto construido usando los quantiles de la distribuci´on normal: U(p) =    a ∈ Rn ∃ d ∈ Rm , ∃ ε ∈ Rn : a = B d + ε; dj ≤ dj ≤ dj , ∀ j; εk ≤ εk ≤ εk , ∀ k; −z(p) ≤ 1≤j≤m dj − E[ ˜dj ] std[ ˜dj ] √ m ≤ +z(p); −z(p) ≤ 1≤k≤n εi − E[˜εi ] std[˜εi ] √ n ≤ +z(p)    L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 12 / 24
  16. 16. Construcci´on de Conjuntos de Incertidumbre Y a´un otra opci´on: Si el vector ˜a esta distribuido de acuerdo a una funci´on de densidad probabilistica continua f : Rn → R≥0. Para cada p ∈ [0, 1] existe un conjunto U(p) ⊆ sop(˜a) tal que: P ( ˜a ∈ U(p) ) = p. Si adentro ∈ U(p) y afuera /∈ U(p) entonces f (adentro) ≥ f (afuera). Conjunto puede o no ser convexo, pero esto no importa, dado que: arg min a ∈ U(p) x a = arg min a ∈ cvx( U(p) ) x a Claramento, esto implica lo siguiente: a x ≤ b, ∀a ∈ cvx( U(p) ) =⇒ P ( ˜a x ≤ b ) ≥ p De hecho, si el conjunto U(p) es convexo entonces la probabilidad de admisibilidad es exactamente igual a p. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 13 / 24
  17. 17. Construcci´on de Conjuntos de Incertidumbre Usualmente no tenemos acceso a la densidad f , por lo que debemos utilizar Estimaci´on de Densidad de Kernel (EDK). Si tenemos m muestras del vector ˜a, denotadas {a(k) }1≤k≤m, entonces un EDK es la funci´on ˆf : Rn → R≥0, donde ˆf (a) = 1 m m k=1 Kh a − a(k) . Kernel Kh : Rn → R≥0 es una funci´on quasi-concava y radialmente sim´etrica que satisface x∈Rn Kh(x) dx = 1, x∈Rn K2 h (x) dx < ∞, y sup x∈Rn Kh(x) < ∞ Si consideramos las mp muestras con los mas altos estimados de densidad, denotadas en orden como {ˆa(k) }1≤k≤ mp , entonces el casco convexo de estas muestras converge al casco convexo de U(p). L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 14 / 24
  18. 18. Construcci´on de Conjuntos de Incertidumbre Consecuentemente un conjunto de incertidumbre aproximado es: ˆU(p) =    a ∈ Rn ∃ q ∈ R mp ≥0 : 1≤k≤ mp qk = 1 ; a = 1≤k≤ mp ˆa(k) qk    N´otese que hemos descrito este poliedro sin necesidad de computar sus v´ertices (i.e., puntos extremos), lo cual es generalmente intractable. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 15 / 24
  19. 19. Construcci´on de Conjuntos de Incertidumbre Ejemplo: Cambio en el precio de las acciones con s´ımbolos SLB y LVS. 0.5 1.0 1.5 2.0 2.5 SLB: ST /S0 0.5 1.0 1.5 2.0 2.5 LVS:ST/S0 0.5 1.0 1.5 2.0 2.5 SLB: ST /S0 0.5 1.0 1.5 2.0 2.5 LVS:ST/S0 L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 16 / 24
  20. 20. Construcci´on de Conjuntos de Incertidumbre Ejemplo: Cambio en el precio de las acciones con s´ımbolos SLB y LVS. 0.5 1.0 1.5 2.0 2.5 SLB: ST /S0 0.5 1.0 1.5 2.0 2.5 LVS:ST/S0 68% 95% 0.5 1.0 1.5 2.0 2.5 SLB: ST /S0 0.5 1.0 1.5 2.0 2.5 LVS:ST/S0 L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 16 / 24
  21. 21. Construcci´on de Conjuntos de Incertidumbre Mas sobre la construcci´on de conjuntos de incertidumbre: En general, son buenas referencias los papers de: A. Ben-Tal (Technion). A. Nemirovski (Georgia Tech). L. El Ghaoui (UC Berkeley). D. Bertsimas (MIT). Recientemente, en [BGK13] se describen varios m´etodos para la construcci´on de conjuntos de incertidumbre utilizando ex´amenes de hip´otesis. Finalmente, el tama˜no y geometr´ıa del conjunto a usarse depende de: Datos hist´oricos disponibles. Nivel de aversi´on al riesgo del tomador de decision. Capacidad computacional que el tomador de decisi´on tiene disponible para solucionar las contrapartes robustas. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 17 / 24
  22. 22. Estructura de la Charla 1 Introducci´on y Motivaci´on 2 Construcci´on de Conjuntos de Incertidumbre Utilizando el Teorema del L´ımite Central Utilizando Elipsoides Alineados con la Correlaci´on Utilizando un Modelo Linear en sus Factores Utilizando Estimaci´on de Densidad de Kernel 3 Soluci´on de Programas Lineales Robustos Transcripci´on de la Incertidumbre a una Forma General Solucionabilidad en Tiempo Polin´omico L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 17 / 24
  23. 23. Soluci´on de Programas Lineales Robustos Sin falta de generalidad, consideraremos el siguiente programa lineal robusto en nv variables de decisi´on y nr restricciones: min c x s.a. x ∈ Rnv max ai ∈ Ui ai x ≤ bi , ∀ i ∈ nr N´otese lo siguiente: Incertidumbre solo afecta al lado izquierdo de las restricciones, no al lado derecho de las restricciones ni al vector de costo. Incertidumbre en cada fila de la matriz de restricciones es independiente de aquella correspondiente a las otras filas. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 18 / 24
  24. 24. Soluci´on de Programas Lineales Robustos Como procedemos si la incertidumbre afecta a ambos lados de una restricci´on al mismo tiempo, i.e., si existe un ´ındice i tal que (ai , bi ) ∈ Ui ? Introducimos una variable yi ∈ R y forzamos la restricci´on yi = 1. Reemplazamos la restricci´on adversarial anterior con la siguiente: max (ai ,bi ) ∈ Ui ai x − bi yi ≤ 0 Como procedemos si la incertidumbre tambien afecta al vector de costo, i.e., si c ∈ Ucostos? Introducimos una variable w ∈ R y reemplazamos el objetivo anterior con la minimizaci´on de esta nueva variable exclusivamente. A˜nadimos la siguiente restricci´on adversarial: max c ∈ Ucostos c x − w ≤ 0 L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 19 / 24
  25. 25. Soluci´on de Programas Lineales Robustos Como procedemos si la incertidumbre afecta dos o mas filas de la matriz de restricciones conjuntamente? I.e., si nuestro programa lineal robusto es de la siguiente forma? min c x s.a. x ∈ Rnv A x ≤ b, ∀A ∈ U ⊆ Rnr ×nv Tambien podemos tratar con este tipo mas general de problemas, aunque no hablaremos hoy de estos casos por falta de tiempo... V´ease [BTN99], Secci´on 2. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 20 / 24
  26. 26. Soluci´on de Programas Lineales Robustos Teorema: Solucionabilidad en Tiempo Polin´omico Asumamos que nr ∈ O( poly(nv ) ). Si para cada i ∈ nr podemos encontrar una soluci´on ε-aproximada al problema de maximizar una funci´on lineal sobre el conjunto convexo Ui en tiempo O( poly(nv , ε−1 ) ), entonces podemos encontrar una soluci´on ε-aproximada a nuestro programa lineal robusto en tiempo O( poly(nv , ε−1 ) ). S´ıntesis de la Demostraci´on: Utilizamos el M´etodo del Elipsoide, capaz de solucionar aproximadamente cualquier programa lineal en tiempo polin´omico. Requiere un or´aculo capaz de verificar en tiempo polin´omico la admisibilidad de una soluci´on candidata x ∈ Rn . Si x no es admisible debe retornar un hiper-plano de separaci´on. Para cualquier soluci´on x ∈ Rn podemos verificar si maxai ∈ Ui x ai ≤ bi para cada i ∈ nr en tiempo polin´omico. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 21 / 24
  27. 27. Soluci´on de Programas Lineales Robustos M´etodo del Elipsoide para decidir si el poliedro P ⊆ Rn es admisivo: Asume que v < vol(P) < V , donde v > 0. En la kava iteraci´on comienza con un elipsoide Ek ⊇ P con centro x[k] . Le pregunta al ´oraculo de separaci´on si x[k] ∈ P. SI: Soluci´on x[k] es admisible; algoritmo termina. NO y un hyper-plano de separaci´on asep ∈ Rn : Se calcula un elipsoide Ek+1 de tal manera que: Ek+1 ⊇ x ∈ Ek asepx ≤ asepx[k] y vol(Ek+1) vol(Ek ) < e − 1 2(n+1) . Declara que P es inadmisivo si k ≥ 2(n + 1) log(V /v) . Si P = { x | A x ≤ b } entonces se puede demostrar que log(V /v) ∈ O( n3 log( n A ∞ ) ) . L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 22 / 24
  28. 28. Conclusi´on de la Primera Parte Lo que hemos aprendido hoy: Programaci´on lineal robusta es una metodolog´ıa que ofrece una alternativa a los enfoques cl´asicos para modelar y resolver programas matem´aticos cuyos datos son inciertos. Utilizando las conclusiones de la teor´ıa de la probabilidad, podemos construir conjuntos de incertidumbre de geometr´ıas razonables que adem´as ofrecen garant´ıas probabilisticas de admisibilidad. Estos programas pueden ser eficientemente resultos, al menos en teor´ıa. Lo que aprenderemos en la Segunda Parte: Dos algoritmos pr´acticos para solucionar estos programas: M´etodo de Planos de Corte. M´etodo de la Dualidad (i.e., transcripci´on a un programa convexo). Un ejemplo concreto de la aplicaci´on de esta metodolog´ıa. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 23 / 24
  29. 29. Bibliograf´ıa Dimitris Bertsimas, Vishal Gupta, and Nathan Kallus, Data-driven Robust Optimization, ARXIV Preprint (arXiv:1401.0212) (2013). Aharon Ben-Tal and Arkadi Nemirovski, Robust Solutions of Uncertain Linear Programs, Operations Research Letters 25 (1999), no. 1, 1–13. Laurent El Ghaoui, Maksim Oks, and Francois Oustry, Worst-case Value-at-Risk and Robust Portfolio Optimization: A Conic Programming Approach, Operations Research 51 (2003), no. 4, 543–556. Boris Vladimirovich Gnedenko and Andrey Nikolaevich Kolmogorov, Limit Distributions for Sums of Independent Random Variables, Addison-Wesley Publishing Company, 1954. L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta: Parte I 24 / 24

×