+ All Categories
Home > Documents > Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n...

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

Date post: 30-Sep-2018
Category:
Upload: doanhuong
View: 221 times
Download: 0 times
Share this document with a friend
90
Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal Resultados Computacionales Programación no-lineal entera para problemas de optimización de portafolios Juan Pablo Vielma Shabbir Ahmed George L. Nemhauser H. Milton Stewart School of Industrial and Systems Engineering Georgia Institute of Technology Universidad Adolfo Ibañez Julio – 2008
Transcript
Page 1: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 2: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 3: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 4: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 5: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 6: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 7: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 8: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 9: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 10: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 11: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 12: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 13: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 14: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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,. . . ).

Page 15: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 16: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 17: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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

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.

Page 18: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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

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.

Page 19: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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} ∀ j

Modelo Markowitz.Permitimos invertir en alo mas K activos.Agregamos variablesbinarias que indican siinvertimos en un activo.

Page 20: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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.

Page 21: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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.

Page 22: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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.

Page 23: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-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 ≤ 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.

Page 24: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 25: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 26: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 27: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 28: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 29: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 30: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 31: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 32: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 33: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 34: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 35: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 36: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 37: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 38: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 39: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 40: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 41: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 42: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 43: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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:

Page 44: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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:

Page 45: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 46: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 47: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 48: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 49: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 50: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 51: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 52: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 53: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 54: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 55: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 56: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 57: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 58: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 59: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 60: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 61: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 62: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 63: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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 ).

Page 64: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 65: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 66: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 67: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 68: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 69: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 70: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 71: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 72: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 73: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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.

Page 74: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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)!

Page 75: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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)!

Page 76: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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)!

Page 77: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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)!

Page 78: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 79: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 80: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 81: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 82: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 83: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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).

Page 84: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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}.

Page 85: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 86: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 87: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 88: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 89: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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

Page 90: Programaci[PleaseinsertPrerenderUnicode{ó}intopreamble]n ...jvielma/presentations/CONIC_UAI_08.pdf · Introduccion Optimización de Portafolios B&B para Programación Entera No-Lineal

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


Recommended