1. Programaci´on Lineal Robusta
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 0 / 34
2. Estructura de la Charla
1 Recapitulaci´on de la Primera Parte
2 Soluci´on de Programas Lineales Robustos
M´etodo Pr´actico: Planos de Corte
M´etodo Pr´actico: Transcripci´on a un Programa Convexo
3 Ejemplo Ilustrativo: Dise˜no de Portafolios
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 1 / 34
3. Estructura de la Charla
1 Recapitulaci´on de la Primera Parte
2 Soluci´on de Programas Lineales Robustos
M´etodo Pr´actico: Planos de Corte
M´etodo Pr´actico: Transcripci´on a un Programa Convexo
3 Ejemplo Ilustrativo: Dise˜no de Portafolios
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 2 / 34
4. Recapitulaci´on de la Primera Parte
Programa lineal en nv variables de decisi´on y nr restricciones inciertas, cada una
asociada con el conjunto de incertidumbre Ui ⊆ Rnv
:
min c x
s.a. x ∈ Rnv
ai x ≤ bi , ∀ ai ∈ Ui , ∀ i ∈ nr
N´umero infinito de restricciones.
Programa anterior es equivalente al siguiente:
min c x
s.a. x ∈ Rnv
max
ai ∈ Ui
ai x ≤ bi , ∀ i ∈ nr
N´umero finito de restricciones adversariales.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 3 / 34
5. Recapitulaci´on de la Primera Parte
Construcci´on de conjuntos de incertidumbre con garant´ıas probabil´ısticas:
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.
Soluci´on de Programas Lineales Robustos:
Algoritmo del Elipsoide.
Nos permiti´o demostrar que estos programas pueden ser eficientemente
resueltos, i.e., en tiempo polin´omico.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 4 / 34
6. Estructura de la Charla
1 Recapitulaci´on de la Primera Parte
2 Soluci´on de Programas Lineales Robustos
M´etodo Pr´actico: Planos de Corte
M´etodo Pr´actico: Transcripci´on a un Programa Convexo
3 Ejemplo Ilustrativo: Dise˜no de Portafolios
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 5 / 34
7. Soluci´on de Programas Lineales Robustos
En contraste, un m´etodo eficiente en la pr´actica pero sin garant´ıas de
terminaci´on en tiempo polin´omico es el M´etodo de Planos de Corte:
1 Escogemos un vector ai,0 ∈ Ui para cada i ∈ nr .
2 Definimos el conjunto de hiper-planos separadores S = ∅.
3 Encontramos la soluci´on del siguiente programa, denotada ˆx ∈ Rn
.
min c x
s.a. x ∈ Rnv
ai,0 x ≤ bi , ∀ i ∈ nr
asepx ≤ bsep, ∀ (asep, bsep) ∈ S
4 Si encontramos que maxaj ∈ Uj
aj ˆx > bj para algun j ∈ nr :
Extraemos el vector maximizador a∗
j ∈ Rn
.
A˜nadimos el par (a∗
j , bj ) al conjunto S y regresamos al Paso 3.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 6 / 34
8. Soluci´on de Programas Lineales Robustos
Otra alternativa pr´actica es el M´etodo de la Dualidad:
Consideremos una restricci´on espec´ıfica i ∈ nr , y supongamos que
Ui = { a ∈ Rnv
| Mi a ≤ di } , donde Mi ∈ Rni ×nv
y di ∈ Rni
.
Forma primal del programa lineal
correspondiente a la iava
restricci´on:
max x ai
s.a. ai ∈ Rnv
Mi ai ≤ di
Forma dual del programa lineal
correspondiente a la iava
restricci´on:
min di pi
s.a. pi ∈ Rni
≥0
Mi pi = x
Teorema: Dualidad Fuerte de La Programaci´on Lineal
F´ıjese x ∈ Rn
. Si existe una soluci´on primal ´optima, entonces existe una
soluci´on dual ´optima y los valores objetivos del primal y del dual coinciden.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 7 / 34
9. Soluci´on de Programas Lineales Robustos
Dualidad de la programaci´on lineal en dos diapositivas:
Suponemos que el programa primal admite una soluci´on ´optima a∗
i ∈ Rn
con un valor objetivo v∗
i = x a∗
i .
Definimos la funci´on Li : Rnv
× Rni
≥0 → R de tal manera que:
L(ai , pi ) = x ai − pi (Mi ai − di ) = (x − pi Mi ) ai + pi di
Notamos que la siguiente inecualidad aplica para cualquier pi ∈ Rni
≥0.
v∗
i ≤ L(a∗
i , pi ) ≤ max
ai ∈Rn
L(ai , pi )
A su vez esta inecualidad implica el siguiente tope superior:
v∗
i ≤ min
pi ∈R
ni
≥0
max
ai ∈Rn
L(ai , pi )
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 8 / 34
10. Soluci´on de Programas Lineales Robustos
Utilizando la forma de la funci´on L en color caf´e reconocemos lo siguiente:
max
ai ∈Rn
L(ai , pi ) =
pi di , si (x − pi Mi ) = 0
+∞, de cualquier otra manera
Por lo tanto el siguiente programa lineal provee el mejor tope superior
posible, i.e., el tope superior mas cercano al valor de v∗
i .
min di pi
s.a. pi ∈ Rni
≥0
Mi pi = x
Se ha demostrado que si la soluci´on ´optima es p∗
i ∈ Rni
≥0 entonces
di p∗
i = v∗
i y pi (Mi ai − di ) = 0 .
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 9 / 34
11. Soluci´on de Programas Lineales Robustos
Programa lineal robusto original es equivalente al siguiente:
min c x
s.a. x ∈ Rnv
... otras restricciones ...
min di pi
s.a. pi ∈ Rni
≥0
Mi pi = x
≤ bi
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 10 / 34
12. Soluci´on de Programas Lineales Robustos
A su vez, el programa anterior es equivalente al siguiente:
min c x
s.a. x ∈ Rnv
... otras restricciones ...
∃ pi ∈ Rni
≥0 : di pi ≤ bi
Mi pi = x
N´otese lo siguiente:
Para que un vector x ∈ Rn
sea admisible, debe existir un vector pi ∈ Rni
≥0
que satisfaga las restricciones en color caf´e.
Si tal vector existe, entonces el tomador de decisiones puede escojerlo!
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 11 / 34
13. Soluci´on de Programas Lineales Robustos
En otras palabras, el programa anterior es equivalente al siguiente:
min c x
s.a. x ∈ Rnv
, pi ∈ Rni
≥0
... otras restricciones ...
di pi ≤ bi
Mi pi = x
N´otese lo que ha cambiado con respecto al programa lineal robusto original:
A˜nadido ni variables de decisi´on no negativas.
A˜nadido nv + 1 restricciones lineales est´andar.
Eliminado la iava
restricci´on adversarial!
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 12 / 34
14. Soluci´on de Programas Lineales Robustos
Programa lineal robusto:
min c x
s.a. x ∈ Rnv
... otras restricciones ...
max
ai ∈ Ui
ai x ≤ bi
Contraparte robusta:
min c x
s.a. x ∈ Rnv
, pi ∈ Rni
≥0
... otras restricciones ...
di pi ≤ bi
Mi pi = x
Corolario:
Dado el programa lineal robusto original, si para cada ´ındice i ∈ nr
el conjunto de incertidumbre Ui es un poliedro, entonces la
contraparte robusta es un programa lineal est´andar.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 13 / 34
15. Soluci´on de Programas Lineales Robustos
Como procedemos si el conjunto Ui es un ellipsoide? I.e., si
Ui = ai ∈ Rn
M
1/2
i (ai − ai ) 2 ≤ di ,
donde Mi ∈ Rnv ×nv
es positiva definitiva, ai ∈ Rnv
, y di ∈ R≥0.
Matriz M
1/2
i ∈ Rnv ×nv
es tal que M
1/2
i M
1/2
i = Mi .
Forma primal del programa convexo
correspondiente a la iava
restricci´on:
max x ai
s.a. ai ∈ Rnv
M
1/2
i (ai − ai ) 2 ≤ di
Forma dual del programa convexo
correspondiente a la iava
restricci´on:
x ai + di M
−1/2
i x 2
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 14 / 34
16. Soluci´on de Programas Lineales Robustos
Demostraci´on:
Reescribirmos el programa primal como sigue:
max x ai
s.a. ai , u ∈ Rnv
ui = M
1/2
i (ai − ai )
u 2 ≤ di
Definimos la funci´on Li : Rnv
× Rnv
× Rnv
× R≥0 → R de tal manera que:
L(ai , ui , λi , µi )
= x ai + λi (ui − M
1/2
i (ai − ai )) − µi ( ui 2 − di )
= ( x − λi M
1/2
i ) ai + (λi ui − µi ui 2) + λi M
1/2
i ai + µi di
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 15 / 34
17. Soluci´on de Programas Lineales Robustos
Para cualquier α ≥ 0 podemos escoger ui = α λi . En este caso:
λi ui − µi ui 2 = α λi 2 ( λi 2 − µ)
Utilizando la forma de la funci´on L en color caf´e y la observaci´on en la
vi˜neta anterior, reconocemos lo siguiente:
max
ai ,ui ∈Rn
L(ai , ui , λi , µi ) =
λi M
1/2
i ai + µi
√
di , si ( x − λi M
1/2
i ) = 0 y
λi 2 ≤ µi
+∞, de cualquier otra manera
Eliminando el vector λ, obtenemos el siguiente programa dual:
min x ai + µi di
s.a. µi ∈ R≥0
M
−1/2
i x 2 ≤ µi
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 16 / 34
18. Soluci´on de Programas Lineales Robustos
Programa lineal robusto:
min c x
s.a. x ∈ Rnv
... otras restricciones ...
max
ai ∈ Ui
ai x ≤ bi
Contraparte robusta:
min c x
s.a. x ∈ Rnv
... otras restricciones ...
ai x + di M
−1/2
i x 2 ≤ bi
Corolario:
Dado el programa lineal robusto original, si para cada ´ındice i ∈ nr
el conjunto de incertidumbre Ui es un elipsoide, entonces la
contraparte robusta es un programa c´onico de segundo orden.
Solucionadores: CPLEX R
, Gurobi R
, ECOS, SeDuMi, OpenOpt.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 17 / 34
19. Soluci´on de Programas Lineales Robustos
En general, siempre que los conjuntos de incertidumbre Ui sean convexos
podemos hacer uso del siguiente resultado.
Teorema: Dualidad Fuerte de La Programaci´on Convexa
F´ıjese x ∈ Rn
. Si la condici´on de Slater es satisfecha y si existe una
soluci´on primal ´optima, entonces existe una soluci´on dual ´optima y
los valores objetivos del primal y del dual coinciden.
Receta para escribir la contraparte de una restricci´on robusta:
1 Escribimos la forma dual del programa max ai ∈Ui x ai .
2 A˜nadimos las variables de decisi´on del dual a la contraparte robusta.
3 A˜nadimos las restricciones del dual a la contraparte robusta.
4 Sustituimos el lado izquierdo de la restricci´on con el objetivo del dual.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 18 / 34
20. Estructura de la Charla
1 Recapitulaci´on de la Primera Parte
2 Soluci´on de Programas Lineales Robustos
M´etodo Pr´actico: Planos de Corte
M´etodo Pr´actico: Transcripci´on a un Programa Convexo
3 Ejemplo Ilustrativo: Dise˜no de Portafolios
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 19 / 34
21. Ejemplo Ilustrativo: Dise˜no de Portafolios
Problema: Inversi´on en un mercado financiero donde se comercializan n acciones,
con un horizonte de T d´ıas laborables.
Vector de precios de las acciones al momento de la inversi´on es:
S0 (S
[i]
0 )i∈ n ∈ Rn
Vector incierto de precios de las acciones al final del horizonte de inversi´on es:
˜ST (S
[i]
T )i∈ n ∈ Rn
Vector incierto de retornos de las acciones es:
˜rs ˜r[i]
s
S
[i]
T
S
[i]
0 i∈ n
∈ Rn
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 20 / 34
22. Ejemplo Ilustrativo: Dise˜no de Portafolios
Para cada una de las acciones i ∈ n , se comercializan mi distintas
opciones europeas de compra (i.e., tipo call) y de venta (i.e., tipo put).
Opci´on de tipo call asociada con la iava
acci´on, con precio de ejercicio
(i.e., strike price) kij y con maduraci´on al final del horizonte de inversi´on,
es un contrato con precio cij que nos da la oportunidad de comprar una
unidad de la iava
acci´on al precio de ejercicio al final del horizonte de inversi´on.
Si la java
opci´on de la iava
acci´on es de tipo call entonces la utilidad de
poseerla es la siguiente funci´on deterministica del retorno incierto de la acci´on:
u[i,j]
(˜r[i]
s ) = max { 0, S
[i]
0 ˜r[i]
s − kij }
Definici´on de una opci´on tipo put es an´aloga, excepto que tiene precio pij y
nos da la oportunidad de vender una unidad de la iava
acci´on al precio de
ejercicio al final del horizonte de inversi´on.
Si la java
opci´on de la iava
acci´on es de tipo put entonces la utilidad de
poseerla es la siguiente funci´on deterministica del retorno incierto de la acci´on:
u[i,j]
(˜r[i]
s ) = max { 0, kij − S
[i]
0 ˜r[i]
s }
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 21 / 34
23. Ejemplo Ilustrativo: Dise˜no de Portafolios
Si la java
opci´on asociada con la iava
acci´on es de tipo call entonces su
retorno por d´olar invertido es:
r[i,j]
o (˜r[i]
s ) = max 0, −
kij
cij
aij
+ +
S
[i]
0
cij
bij
˜r[i]
s
Si la java
opci´on asociada con la iava
acci´on es de tipo put entonces su
retorno por d´olar invertido es:
r[i,j]
o (˜r[i]
s ) = max 0, +
kij
pij
aij
+ −
S
[i]
0
pij
bij
˜r[i]
s .
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 22 / 34
24. Ejemplo Ilustrativo: Dise˜no de Portafolios
N´otese que la funci´on r
[i,j]
o (˜r
[i]
s ) puede ser descrita como sigue:
r[i,j]
o (˜r[i]
s ) = min ρ
s.a. ρ ∈ R≥0
ρ ≥ aij + bij ˜r[i]
s
Vector de retornos de las opciones:
˜ro(˜rs ) r[i,j]
o (˜r[i]
s )
i∈ n , j∈ mi
∈ Rn
Por conveniencia, definimos el vector a ∈ Rm
y la matriz B ∈ Rm×n
,
donde m = i∈ n mi , de tal manera que:
˜ro(˜rs ) = componentwise min ρ
s.a. ρ ∈ Rm
≥0
ρ ≥ a + B ˜rs
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 23 / 34
25. Ejemplo Ilustrativo: Dise˜no de Portafolios
Nuestra riqueza inicial es uno, sin falta de generalidad.
Escojemos un nivel de confianza p ∈ (0, 1) y construimos el correspondiente
conjunto de incertidumbre de los retornos de las acciones.
De nuevo, los retornos de las opciones son funciones determin´ısticas de los
retornos de las acciones!
Tenemos que escojer las fracciones de nuestro portafolio a ser invertidas en
cada una de las acciones y en cada una de las opciones.
Planteamos un problema de dise˜no de portafolio robusto [ZRK11]:
max
xs , xo
min
rs ∈U(p)
rs xs + ro( rs ) xo
s.a. xs ∈ Rn
≥0 , xo ∈ Rm
≥0
1n xs + 1m xo = 1
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 24 / 34
26. Ejemplo Ilustrativo: Dise˜no de Portafolios
M´as precisamente, planteamos el siguiente programa lineal robusto:
max
xs , xo, w
w (1)
s.a. xs ∈ Rn
≥0 , xo ∈ Rm
≥0 , w ∈ R
1n xs + 1m xo = 1
w ≤
minrs , ro
rs xs + ro xo
s.a. rs ∈ U(p) ⊆ Rn
≥0, ro ∈ Rm
≥0
ro≥ a + B ˜rs
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 25 / 34
27. Ejemplo Ilustrativo: Dise˜no de Portafolios
Vector de expectaci´on de los retornos de las acciones es E[˜rs].
Matriz de covariancia del vector de retornos de las acciones es V[˜rs].
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) :
E(p) = r ∈ Rn
V[˜rs]−1/2
( r − E[˜rs] ) 2 ≤ δ(p)
[EGOO03]: La siguiente inecualidad aplica:
P min
r ∈ E(p)
r x ≤ ˜rs x ≥ p
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 26 / 34
28. Ejemplo Ilustrativo: Dise˜no de Portafolios
Topes inferiores y superiores del vector de retornos de las acciones son
rmin
s y rmax
s , respectivamente.
I.e., P rmin
s ≤˜rs ≤ rmax
s = 1.
Nuestro conjunto de incertidumbre al nivel de confianza p es:
U(p) r ∈ Rn
rmin
s ≤ r ≤ rmax
s ∩ E(p) (2)
Como es de ser esperado, este conjunto exhibe la siguiente garant´ıa
probabil´ıstica:
P min
r ∈ U(p)
r x ≤ ˜rs x ≥ p
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 27 / 34
29. Ejemplo Ilustrativo: Dise˜no de Portafolios
Teorema: Contraparte Robusta
El Programa (1), en el caso cuando el conjunto de incertidumbre U(p)
est´a dado por la Expresi´on (2), es equivalente al siguiente programa
c´onico de segundo orden.
max
xs , xo, w, µLO , µHI , ν
w
s.t. xs ∈ Rn
≥0 , xo ∈ Rm
≥0 , w ∈ R ,
µLO ∈ Rn
≥0 , µHI ∈ Rn
≥0 , ν ∈ Rm
≥0
1n xs + 1m xo = 1
ν ≤ xo
δ(p) V[˜rs]
1/2
(xs − µLO + µHI + B ν) 2
≤ E[˜rs] (xs − µLO + µHI + B ν)
+ (rmin
s ) µLO − (rmax
s ) µHI − a ν − w
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 28 / 34
30. Ejemplo Ilustrativo: Dise˜no de Portafolios
Demostraci´on: N´otese que los dos programas siguiente son duales.
min
rs , ro
xs rs + xo ro (3)
s.t. rs ∈ Rn
, ro ∈ Rm
≥0
rmin
s ≤ rs ≤ rmax
s
V[˜rs]
−1/2
( rs − E[˜rs] ) 2 ≤ δ(p)
ro ≥ a + B rs
max
µLO , µHI , ν
− δ(p) V[˜rs]
1/2
(xs − µLO + µHI + B ν) 2 (4)
+ E[˜rs] (xs − µLO + µHI + B ν)
+ (rmin
s ) µLO − (rmax
s ) µHI − a ν
s.t. µLO ∈ Rn
≥0 , µHI ∈ Rn
≥0 , ν ∈ Rm
≥0
ν ≤ xo
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 29 / 34
41. Conclusi´on de la Conferencia
Lo que aprendimos en la Primera Parte:
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 aprendimos 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 33 / 34
42. Bibliograf´ıa
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.
Steve Zymler, Berc¸ Rustem, and Daniel Kuhn, Robust Portfolio Optimization
with Derivative Insurance Guarantees, European Journal of Operational
Research 210 (2011), no. 2, 410–424.
L. I. Reyes Castro (ESPOL) Programaci´on Lineal Robusta 34 / 34