Post on 30-Sep-2018
transcript
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Programación no-lineal entera para problemasde optimización de portafolios
Juan Pablo Vielma Shabbir Ahmed George L.Nemhauser
H. Milton Stewart School of Industrial and Systems EngineeringGeorgia Institute of Technology
Universidad Adolfo IbañezJulio – 2008
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Outline
1 Introduccion
2 Optimización de Portafolios
3 B&B para Programación Entera No-Lineal
4 Resultados Computacionales
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Optimización de Portafolios y Programación No-LinealEntera
Optimización de Portafolios Tradicional (Markowitz):Problema no-linear quadrático que puede ser resueltoeficientemente.No muy realista.
Optimización de Portafolios “Realista”:Problema no-linear entero difícil de resolver.Requiere el desarrollo de nuevos algoritmos.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Selección de un Portafolio de Inversión
Opción de invertir en n activos diferentes (e.g. 100acciones, 3 tipos de bonos y un deposito a plazo).Problema: seleccionar fracción de capital a invertir encada activo.Información sobre los activos:
Retorno r de un activo:(Valor en periodo t + 1) = (1 + r)(Valor en periodo t).r es una variable aleatoria. Solo información parcial: valoresperado, desviación estándar, covarianza entre activos,etc.
Objetivo de la selección:1 Maximizar el retorno esperado del portafolio.2 Minimizar el riesgo del portafolio.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Selección de un Portafolio de Inversión
Opción de invertir en n activos diferentes (e.g. 100acciones, 3 tipos de bonos y un deposito a plazo).Problema: seleccionar fracción de capital a invertir encada activo.Información sobre los activos:
Retorno r de un activo:(Valor en periodo t + 1) = (1 + r)(Valor en periodo t).r es una variable aleatoria. Solo información parcial: valoresperado, desviación estándar, covarianza entre activos,etc.
Objetivo de la selección:1 Maximizar el retorno esperado del portafolio.2 Minimizar el riesgo del portafolio.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Selección de un Portafolio de Inversión
Opción de invertir en n activos diferentes (e.g. 100acciones, 3 tipos de bonos y un deposito a plazo).Problema: seleccionar fracción de capital a invertir encada activo.Información sobre los activos:
Retorno r de un activo:(Valor en periodo t + 1) = (1 + r)(Valor en periodo t).r es una variable aleatoria. Solo información parcial: valoresperado, desviación estándar, covarianza entre activos,etc.
Objetivo de la selección:1 Maximizar el retorno esperado del portafolio.2 Mantener el riesgo del portafolio controlado.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j
yj fracción de capitalinvertido en activo j.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.qi, j: covarianza entre elretorno del activo i y j.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ σ
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.qi, j: covarianza entre elretorno del activo i y j.Limite en la varianza delportafolio (Markowitz).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ σ
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.qi, j: covarianza entre elretorno del activo i y j.Limite en la varianza delportafolio (Markowitz).Problema deProgramación CónicaQuadrática que puedeser resueltoeficientemente.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ σ
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.qi, j: covarianza entre elretorno del activo i y j.Limite en la varianza delportafolio (Markowitz).Problema deProgramación CónicaQuadrática que puedeser resueltoeficientemente.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Modelo Matemático para Optimización de Portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j
√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj fracción de capitalinvertido en activo j.r̄j: retorno esperado deactivo j.qi, j: covarianza entre elretorno del activo i y j.Limite en la varianza delportafolio (Markowitz).Problema deProgramación CónicaQuadrática que puedeser resueltoeficientemente.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Extensiones del Modelo
1 Restricciones Combinatoriales:límites en el numero de activos en el portafolio.Niveles mínimos invertidos en cada activo.Hacen que el problema sea muy difícil de resolver.(Bienstock, 1996; Chang et al., 2000; Maringer andKellerer, 2003; Bertsimas and Shioda, 2004,. . . ).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Extensiones del Modelo
1 Restricciones Combinatoriales:límites en el numero de activos en el portafolio.Niveles mínimos invertidos en cada activo.Hacen que el problema sea muy difícil de resolver.(Bienstock, 1996; Chang et al., 2000; Maringer andKellerer, 2003; Bertsimas and Shioda, 2004,. . . ).
2 Medidas de riesgo más allá de la varianza:límites en la probabilidad de baja rentabilidad (e.g.Prob(retorno ≥ 0.9) ≥ 0.8 y Prob(retorno ≥ 0.7) ≥ 0.97).(Lobo et al. 1998, 2007).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Extensiones del Modelo
1 Restricciones Combinatoriales:límites en el numero de activos en el portafolio.Niveles mínimos invertidos en cada activo.Hacen que el problema sea muy difícil de resolver.(Bienstock, 1996; Chang et al., 2000; Maringer andKellerer, 2003; Bertsimas and Shioda, 2004,. . . ).
2 Medidas de riesgo más allá de la varianza:límites en la probabilidad de baja rentabilidad (e.g.Prob(retorno ≥ 0.9) ≥ 0.8 y Prob(retorno ≥ 0.7) ≥ 0.97).(Lobo et al. 1998, 2007).
3 Considerar errores en la estimación de los retornosesperados r̄j:
Considerar una versión robusta del objetivo.(Ceria and Stubbs, 2006).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
Modelo Markowitz.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxy
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
Modelo Markowitz.Permitimos invertir en alo mas K activos.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxx, y
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj ≤ xj ∀ j
xj ∈ {0, 1} ∀ j
Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxx, y
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj ≤ xj ∀ j
xj ∈ {0, 1} ∀ jn∑
j=1
xj ≤ K
Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.Limite es impuesto conuna restricción lineal.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxx, y
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj ≤ xj ∀ j
xj ∈ {0, 1} ∀ jn∑
j=1
xj ≤ K
Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.Limite es impuesto conuna restricción lineal.Problema deProgramación CónicaQuadrática Mixta que esdifícil de resolver.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxx, y
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj ≤ xj ∀ j
xj ∈ {0, 1} ∀ jn∑
j=1
xj ≤ K
Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.Limite es impuesto conuna restricción lineal.Problema deProgramación CónicaQuadrática Mixta que esdifícil de resolver.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
límites en el numero de activos en el portafolio
maxx, y
n∑j=1
r̄jyj
sujeto an∑
j=1
yj = 1
yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
yj ≤ xj ∀ j
xj ∈ {0, 1} ∀ jn∑
j=1
xj ≤ 10
Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.Limite es impuesto conuna restricción lineal.Problema deProgramación CónicaQuadrática Mixta que esdifícil de resolver.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Medidas de riesgo mas allá de la varianza
Varianza:√∑n
i=1∑n
j=1 qi, j yi yj ≤ σ.
Retorno:∑n
j=1 r̄jyj.Prob(retorno ≥ w) ≥ η puede ser aproximado por:
Φ−1(η)
√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤n∑
j=1
r̄jyj − w
donde Φ(·) es la distribución de probabilidad de unanormal con media 0 y varianza 1.También es una restricción de Problema de ProgramaciónCónica Quadrática.η1 = 0.8, w1 = 0.9 y η2 = 0.97, w2 = 0.7.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y
n∑j=1
r̄jyj
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
Modelo Markowitz conlímites en el numero deactivos.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y
n∑j=1
r̄jyj
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
Modelo Markowitz conlímites en el numero deactivos.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj ≥ r
Modelo Markowitz conlímites en el numero deactivos.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj ≥ r
Modelo Markowitz conlímites en el numero deactivos.Suposición: los retornosesperados r̄j tienen unadistribución normalconjunta. Media es r̄j ycovarianza entre r̄i y r̄j
es si, j.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj − α
√√√√ n∑i=1
n∑j=1
si, j yi yj ≥ r
Modelo Markowitz conlímites en el numero deactivos.Suposición: los retornosesperados r̄j tienen unadistribución normalconjunta. Media es r̄j ycovarianza entre r̄i y r̄j
es si, j.Versión robusta delobjetivo.α = nivel de seguridad.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj − α
√√√√ n∑i=1
n∑j=1
si, j yi yj ≥ r
Modelo Markowitz conlímites en el numero deactivos.Suposición: los retornosesperados r̄j tienen unadistribución normalconjunta. Media es r̄j ycovarianza entre r̄i y r̄j
es si, j.Versión robusta delobjetivo.α = nivel de seguridad.Restricción de Problemade Programación CónicaQuadrática.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj − α
√√√√ n∑i=1
n∑j=1
si, j yi yj ≥ r
Modelo Markowitz conlímites en el numero deactivos.Suposición: los retornosesperados r̄j tienen unadistribución normalconjunta. Media es r̄j ycovarianza entre r̄i y r̄j
es si, j.Versión robusta delobjetivo.α = nivel de seguridad.Restricción de Problemade Programación CónicaQuadrática.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Considerar errores en retornos esperados r̄j
maxx, y, r
r
s.a.n∑
j=1
yj = 1,n∑
j=1
xj ≤ 10
yj ≤ xj, xj ∈ {0, 1}, yj ≥ 0 ∀ j√√√√ n∑i=1
n∑j=1
qi, j yi yj ≤ 0.2
n∑j=1
r̄jyj − 3
√√√√ n∑i=1
n∑j=1
si, j yi yj ≥ r
Modelo Markowitz conlímites en el numero deactivos.Suposición: los retornosesperados r̄j tienen unadistribución normalconjunta. Media es r̄j ycovarianza entre r̄i y r̄j
es si, j.Versión robusta delobjetivo.α = nivel de seguridad.Restricción de Problemade Programación CónicaQuadrática.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
B&B para Programación Entera No-Lineal
Branch-and-Bound básico:Relajación del Problema.Ramificación.Problema Relajado + Ramificación: Subproblema.
Métodos basados en relajación no-lineal:Relajan restricciones de integralidad.Subproblema es un problema no-lineal convexo.
Métodos basados en relajaciones polyhedrales:Relajan restricciones de integralidad y no-lineales.Subproblema es un problema lineal.Reutilizan tecnología para Programación lineal entera yaprovechan warm starts de simplex.Dos Tipos:
1 Relajaciones polyhedrales por tangentes.2 Relajaciones polyhedrales extendidas o por proyección
(Nuevo Método).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x∗1 = x∗2 ≈ 1.77 /∈ Z.Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x∗1 = x∗2 ≈ 1.77 /∈ Z.Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x∗1 = x∗2 ≈ 1.77 /∈ Z.Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1 ≤ 1
x∗1 = 1, x∗2 ≈ 2.29 /∈ Z.Ramificación:x2 ≤ 2 ∨ x2 ≥ 3.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1 ≤ 1
x∗1 = 1, x∗2 ≈ 2.29 /∈ Z.Ramificación:x2 ≤ 2 ∨ x2 ≥ 3.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1 ≤ 1
x∗1 = 1, x∗2 ≈ 2.29 /∈ Z.Ramificación:x2 ≤ 2 ∨ x2 ≥ 3.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1 ≤ 1
x2 ≤ 2
x∗1 = 1, x∗2 = 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Métodos Basados en Relajación No-Lineal
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1 ≤ 1
x2 ≤ 2
x∗1 = 1, x∗2 = 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2.5
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2.5
x∗1 = x∗2 = 2.5 /∈ Z.Cortes: xi ≤ b2.5c.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2.5
x∗1 = x∗2 = 2.5 /∈ Z.Cortes: xi ≤ b2.5c.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x∗1 = x∗2 = 2,√x∗1
2 + x∗22 > 2.5.
Corte: x1 + x2 ≤ 2.5√
2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x∗1 = x∗2 = 2,√x∗1
2 + x∗22 > 2.5.
Corte: x1 + x2 ≤ 2.5√
2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x∗2 = 2, x∗1 ≈ 1.53 /∈ Z,√x∗1
2 + x∗22 > 2.5.
Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x∗2 = 2, x∗1 ≈ 1.53 /∈ Z,√x∗1
2 + x∗22 > 2.5.
Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x∗2 = 2, x∗1 ≈ 1.53 /∈ Z,√x∗1
2 + x∗22 > 2.5.
Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x∗2 = 2, x∗1 ≈ 1.53 /∈ Z,√x∗1
2 + x∗22 > 2.5.
Ramificación:x1 ≤ 1 ∨ x1 ≥ 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x1 ≤ 1
x∗1 = 1, x∗2 = 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyhedrales Tangentes
x1
x2c
x∗
maxx
x1 + x2√x2
1 + x22 ≤ 2.5
x1, x2 ∈ Z
Subproblema:
maxx
x1 + x2
− 2.5 ≤ xi ≤ 2
x1 + x2 ≤ 2.5√
2
x1 ≤ 1
x∗1 = 1, x∗2 = 2.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Características de Relajaciones PolyhedralesTangentes
Introduction Lifted LP Algorithm Computational Results Final Remarks
“Convex” Mixed Integer Non-Linear Programming(MINLP) Problems
zMINLP := maxx,y
cx + dy
s.t. (x, y) ! C " n+p (MINLP)x ! n
C is a convex compact set.Advanced algorithms and Software:
NLP based branch-and-bound algorithms (Borchers and Mitchell,
1994, Gupta and Ravindran, 1985, Leyffer 2001 and Stubbs and Mehrotra, 1999,. . . )Polyhedral relaxation based algorithms (Duran and Grossmann, 1986,
Fletcher and Leyffer, 1994, Geoffrion, 1972,Quesada and Grossmann, 1992, Westerlund and
Pettersson, 1995,Westerlund et al., 1994,. . . )CPLEX 9.0+ (ILOG, 2005), Bonmin (Bonami et al., 2005), FilMINT(Abhishek et al., 2006), . . .
Polyhedral relaxation algorithms try to exploit thetechnology for Mixed Integer Linear Programming
Restricciones no linealesaproximada por cortes de primerorden (gradiente, tangente,benders).Cortes construidos en espaciooriginal.Usualmente pocos cortes sonsuficientes.Convergencia puede ser lenta(e.g. Restricciones cuadráticas).
Solución: usar unaaproximación polyhedral globaly fija.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyedrales√∑d
j=1 x2j ≤ r, d = 2, ε = 0.41
r(1
+ε)r
Se necesitan a lo menosexp(d/(2(1 + ε))2)restricciones lineales en elespacio original.Ben-Tal and Nemirovski(2001) dan relajación como laproyección de un polyhedrocon O(d log(1/ε)) variables yrestricciones.Glineur (2000) refina laaproximación y muestra queno es “práctica” paraProgramación no-linealcontinua.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyedrales√∑d
j=1 x2j ≤ r, d = 2, ε = 0.08
r
(1+ε)r
Se necesitan a lo menosexp(d/(2(1 + ε))2)restricciones lineales en elespacio original.Ben-Tal and Nemirovski(2001) dan relajación como laproyección de un polyhedrocon O(d log(1/ε)) variables yrestricciones.Glineur (2000) refina laaproximación y muestra queno es “práctica” paraProgramación no-linealcontinua.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyedrales√∑d
j=1 x2j ≤ r, d = 2, ε = 0.08
r
(1+ε)r
Se necesitan a lo menosexp(d/(2(1 + ε))2)restricciones lineales en elespacio original.Ben-Tal and Nemirovski(2001) dan relajación como laproyección de un polyhedrocon O(d log(1/ε)) variables yrestricciones.Glineur (2000) refina laaproximación y muestra queno es “práctica” paraProgramación no-linealcontinua.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Relajaciones Polyedrales√∑d
j=1 x2j ≤ r, d = 2, ε = 0.08
r
(1+ε)r
Se necesitan a lo menosexp(d/(2(1 + ε))2)restricciones lineales en elespacio original.Ben-Tal and Nemirovski(2001) dan relajación como laproyección de un polyhedrocon O(d log(1/ε)) variables yrestricciones.Glineur (2000) refina laaproximación y muestra queno es “práctica” paraProgramación no-linealcontinua.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
B&B Usando Relajación Polyhedral Extendida(proyección).
Reemplazar restricciones no-lineales por relajacionespolyhedrales extendidas para precisión ε.Obtenemos problema de Programación lineal entera quepuede ser resuelto por software comercial (e.g. CPLEX).Pequeñas modificaciones al software comercial aseguranobtener solución exacta.Obtención de solución exacta es independiente deprecisión ε.Elección de precisión ε puede afectar velocidad.Vielma, et. al, “A Lifted Linear ProgrammingBranch-and-Bound Algorithm for Mixed Integer ConicQuadratic Programs”, IJOC.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Experimentos Computacionales
3 tipos de problemas de Optimización de portafolios:Numero de activos disponibles: 20 y 30 (limite de inversiónel 10 activos).Retornos estimados de acciones de S&P 500.200 instancias en total.
Computador: Dual 2.4GHz Xeon Linux workstation with2GB of RAM.Solvers:
CPLEX 11 B&B de relajación no-lineal (CPLEX QCP).CPLEX 11 B&B de relajación polyedral tangente (CPLEXLP).Algoritmo B&B de relajación polyedral extendida basado enCPLEX 11 ( LP(ε) -BB ).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Tiempos de Solución Promedio [s]
0.1
1
10
100
LP(!)-BB CPLEX QCP CPLEX LP 0.1
1
10
100
LP(!)-BB CPLEX QCP CPLEX LP
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Tiempos de Solución (Desviación Estándar) [s]
0.1
1
10
100
1000
LP(!)-BB CPLEX QCP CPLEX LP 0.1
1
10
100
1000
LP(!)-BB CPLEX QCP CPLEX LP
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Using Ben-Tal Nemirovski Approximation to ExploitMixed Integer Linear Programming Solver Technology
Lifted linear programming relaxation: PolyhedronP ⊂ Rn+p+q such that
C ⊂ {(x, y) ∈ Rn+p : ∃ v ∈ Rq s.t. (x, y, v) ∈ P} ≈ C
Use a state of the art MILP solver to solve
maxx,y,v
cx + dy
s.t. (x, y, v) ∈ P (MILP)x ∈ Zn
Problem: Obtained solution might not even be feasible forMINLPSolution: Modify Solve of MILP
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Idea: Simulate NLP Branch-and-Bound
Problem solved in NLP B&B node (lk, uk) ∈ Z2n is:
zNLP(lk,uk) := maxx,y
cx + dy
s.t. (x, y) ∈ C ⊂ Rn+p (NLP(lk, uk))
lk ≤ x ≤ uk
Problem solved by state of the art MILP solver is:
zLP(lk,uk) := maxx,y,v
cx + dy
s.t. (x, y, v) ∈ P (LP(lk, uk))
lk ≤ x ≤ uk
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Idea: Simulate NLP Branch-and-Bound
Problem solved in NLP B&B node (lk, uk) ∈ Z2n is:
zNLP(lk,uk) := maxx,y
cx + dy
s.t. (x, y) ∈ C ⊂ Rn+p (NLP(lk, uk))
lk ≤ x ≤ uk
Problem solved by state of the art MILP solver is:
zLP(lk,uk) := maxx,y,v
cx + dy
s.t. (x, y, v) ∈ P (LP(lk, uk))
lk ≤ x ≤ uk
Advantages of second subproblem:Algorithmic Advantage: Simplex has warm starts.Computational Advantage: Use MILP solver’s technology.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Idea: Simulate NLP Branch-and-Bound
Problem solved in NLP B&B node (lk, uk) ∈ Z2n is:
zNLP(lk,uk) := maxx,y
cx + dy
s.t. (x, y) ∈ C ⊂ Rn+p (NLP(lk, uk))
lk ≤ x ≤ uk
Problem solved by state of the art MILP solver is:
zLP(lk,uk) := maxx,y,v
cx + dy
s.t. (x, y, v) ∈ P (LP(lk, uk))
lk ≤ x ≤ uk
Issues:1 Integer feasible solutions may be infeasible for C.2 Need to be careful when fathoming by integrality.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
First Issue: Correcting Integer Feasible Solutions
Let (x∗, y∗, v∗) ∈ P such that x∗ ∈ Zn, but (x∗, y∗) /∈ C.We reject (x∗, y∗, v∗) and try to correct it using:
zNLP(x∗) := maxy
cx∗ + dy
s.t.
(x∗, y) ∈ C ⊂ Rn+p. (NLP(x∗))
This can be done for solutions found by heuristics, atinteger feasible nodes, etc.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Second Issue: Correct Fathoming by Integrality
Suppose that for a node (lk, uk) with lk 6= uk we have thatthe solution (x∗, y∗, v∗) of LP(lk, uk) is such that x∗ ∈ Zn
If (x∗, y∗) ∈ C then (x∗, y∗) is also the optimal for NLP(lk, uk)and we can fathom by integrality.If (x∗, y∗) /∈ C it is not sufficient to solve NLP(x∗):
Problem: Corrected solution is not necessarily optimal forNLP(lk, uk).Solution: Solve NLP(lk, uk) and process node according toits solution.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Second Issue: Correct Fathoming by Integrality
Suppose that for a node (lk, uk) with lk 6= uk we have thatthe solution (x∗, y∗, v∗) of LP(lk, uk) is such that x∗ ∈ Zn
If (x∗, y∗) ∈ C then (x∗, y∗) is also the optimal for NLP(lk, uk)and we can fathom by integrality.If (x∗, y∗) /∈ C it is not sufficient to solve NLP(x∗):
Problem: Corrected solution is not necessarily optimal forNLP(lk, uk).Solution: Solve NLP(lk, uk) and process node according toits solution.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Second Issue: Correct Fathoming by Integrality
Suppose that for a node (lk, uk) with lk 6= uk we have thatthe solution (x∗, y∗, v∗) of LP(lk, uk) is such that x∗ ∈ Zn
If (x∗, y∗) ∈ C then (x∗, y∗) is also the optimal for NLP(lk, uk)and we can fathom by integrality.If (x∗, y∗) /∈ C it is not sufficient to solve NLP(x∗):
Problem: Corrected solution is not necessarily optimal forNLP(lk, uk).Solution: Solve NLP(lk, uk) and process node according toits solution.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
LP(−∞, 1):x∗ = 1, y∗ = 2,(x, y) /∈ B2(2).NLP(x∗)→ (xcor, ycor).If we fathom we looseoptimum (0, 2)!
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
LP(−∞, 1):x∗ = 1, y∗ = 2,(x, y) /∈ B2(2).NLP(x∗)→ (xcor, ycor).If we fathom we looseoptimum (0, 2)!
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
(xcor, ycor)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
LP(−∞, 1):x∗ = 1, y∗ = 2,(x, y) /∈ B2(2).NLP(x∗)→ (xcor, ycor).If we fathom we looseoptimum (0, 2)!
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
(xcor, ycor)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
LP(−∞, 1):x∗ = 1, y∗ = 2,(x, y) /∈ B2(2).NLP(x∗)→ (xcor, ycor).If we fathom we looseoptimum (0, 2)!
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 1:Branch: x ≤ 0 ∨ x ≥ 1.Solve LP(−∞, 0).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 1:Branch: x ≤ 0 ∨ x ≥ 1.Solve LP(−∞, 0).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 1:Branch: x ≤ 0 ∨ x ≥ 1.Solve LP(−∞, 0).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 1:Branch: x ≤ 0 ∨ x ≥ 1.Solve LP(−∞, 0).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 2:Solve NLP(−∞, 1).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Correcting Integer Feasible Solutions is Not Enough
x
yc (x∗, y∗)
maxx,y
y
(x, y) ∈ B2(2) (MINLP)x ∈ Z
maxx,y
y
(x, y) ∈ [−2, 2]2 (LP)
Solution 2:Solve NLP(−∞, 1).We get optimum (0, 2).
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Instance Data
Maximum number of stocks K = 10.Maximum risk σ = 0.2.Shortfall constraints: η1 = 80%, W low
1 = 0.9, η2 = 97%,W low
2 = 0.7 (Lobo et al., 1998, 2007).Data generation for Classical and Shortfall from S&P 500data following Lobo et al. (1998), (2007).Data generation for Robust from S&P 500 data followingCeria and Stubbs (2006).Riskless asset included for Shortfall.Random selection of n stocks out of 462.100 instances for n ∈ {20, 30, 40, 50}, 10 for n ∈ {100, 200}.
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Average Solve Times [s] for n ∈ {20, 30}
0.1
1
10
100
1000
10000
classical(20) classical(30) shortfall(20) shortfall(30) robust(20) robust(30)
LP(!)-BBI-QGI-HybI-BB
Cplex
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Performance Profile for n ∈ {20, 30}
0
0.2
0.4
0.6
0.8
1
1 10 100 1000 10000
I-BBI-HybI-QG
CplexLP(!)-BB
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Average Solve Times [s] for n ∈ {40, 50}
0.1
1
10
100
1000
10000
classical(40) classical(50) shortfall(40) shortfall(50) robust(40) robust(50)
LP(!)-BBI-HybI-BB
Cplex
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Performance Profile for n ∈ {40, 50}
0
0.2
0.4
0.6
0.8
1
1 10 100 1000
I-BBI-HybCplex
LP(!)-BB
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Average Solve Times [s] for n ∈ {100, 200}
1
10
100
1000
10000
100000
classical(100) shortfall(100) robust(100) robust(200)
LP(!)-BBI-BB
Cplex
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales
Performance Profile for n ∈ {100, 200}
0
0.2
0.4
0.6
0.8
1
1 10
I-BBCplex
LP(!)-BB