Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n...

Post on 30-Sep-2018

221 views 0 download

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