PPrrooggrraammaacciióónn bbiinniivveell
JJoosséé MMaannuueell AArrrrooyyoo SSáánncchheezz
ÁÁrreeaa ddee IInnggeenniieerrííaa EEllééccttrriiccaa DDeeppaarrttaammeennttoo ddee IInnggeenniieerrííaa EEllééccttrriiccaa,, EElleeccttrróónniiccaa,, AAuuttoommááttiiccaa yy CCoommuunniiccaacciioonneess
UUnniivveerrssiiddaadd ddee CCaassttiillllaa –– LLaa MMaanncchhaa
1
Contenidos
• Introducción • Formulación • Resolución
2
Bibliografía
• J. F. Bard. “Practical Bilevel Optimization. Algorithms and Applications”. Springer, Dordrecht, The Netherlands. 1999.
• B. Colson, P. Marcotte, G. Savard. “An
Overview of Bilevel Optimization”. Annals of Operations Research, vol. 153, no. 1, pp. 235–256, September 2007.
3
Introducción
• Juego de 2 jugadores con suma no cero e información perfecta
• Principal diferencia respecto a un juego de 2
jugadores ⇒ Los jugadores participan secuencialmente según un orden de juego predeterminado
• Juego secuencial, no cooperativo de una
ronda • Caso particular de programación multinivel
4
Introducción
• La región de restricciones (factibilidad) está implícitamente caracterizada por 2 problemas de optimización en serie que deben resolverse en una secuencia predeterminada
• Las estrategias de los jugadores no tienen por
qué ser disjuntas ⇒ Los movimientos del segundo jugador pueden estar limitados por las acciones del primer jugador
5
Introducción. Dos jugadores
• Líder, agente del nivel superior o exterior (leader, upper-level agent, outer-level agent)
Controla variables de decisión x ∈ X
Optimiza su función objetivo seleccionando
una estrategia (variables x) que anticipa las reacciones del otro jugador
Conoce la función objetivo del otro jugador
6
Introducción. Dos jugadores
• Seguidor, agente del nivel inferior o interior (follower, lower-level agent, inner-level agent)
Controla variables de decisión y ∈ Y
Reacciona ante la estrategia del líder
(variables x) seleccionando su estrategia (variables y) para optimizar su función objetivo sin considerar las consecuencias externas de sus acciones
Puede no saber la función objetivo del líder
7
Aplicaciones prácticas
• Determinación de peajes • Determinación de tarifas de vuelos • Determinación de precios de comercialización
de energía eléctrica • Transporte de mercancías peligrosas
8
Relación con juego de Stackelberg
• Juego de Stackelberg:
Juego con 2 grupos de agentes sin cooperación pero información perfecta
El líder toma primero sus decisiones anticipando la reacción de los agentes seguidores
• Problema de programación binivel ≡ Juego estático de Stackelberg con restricciones conjuntas en las estrategias de ambos agentes
9
Contenidos
• Introducción • Formulación • Resolución
10
Formulación general
( )y,xF Minyx,
Sujeto a:
Xx∈
( ) 0y,xG ≤
( )'y,xfminargy'y
∈
Sujeto a:
( ) 0'y,xg ≤
Y'y ∈ 11
Problema relajado
( )y,xF Minyx,
Sujeto a:
Xx∈
( ) 0y,xG ≤
( ) 0y,xg ≤
Yy∈
12
Problema relajado
• Solución óptima ≡ Cota inferior del óptimo del problema binivel original
• Región factible relajada:
( ) ( ) ( ){ }0y,xg,0y,xG,Yy,Xx:y,x ≤≤∈∈=Ω
13
Otras definiciones
• Para x fijo ( Xx̂∈ ), se define el conjunto de factibilidad del nivel inferior como:
( ) ( ){ }0y,x̂g,Yy:yx̂ ≤∈=Ω
• Conjunto de reacción del nivel inferior
(conjunto de reacción racional):
( ) ( ) ( ){ }{ }x̂y:y,x̂fminargy:yx̂R Ω∈∈= • Cada ( )x̂Ry∈ es una respuesta racional
14
Otras definiciones
• R(x) es una función multivaluada de x, definida implícitamente, que puede estar vacía para algunos valores de su argumento
• Región inducida o inducible:
( ) ( ) ( ){ }xRy,0y,xG,Xx:y,xIR ∈≤∈= • Representa el conjunto de factibilidad del líder • Típicamente no convexo, puede ser no
conexo o vacío en presencia de G(x,y) ≤ 0 15
Inexistencia de solución
• Puede suceder si:
Para x fijo ( Xx̂∈ ), el agente del nivel inferior es indiferente respecto a su función objetivo ⇒ ( )x̂R no es único
Pero los distintos ( )x̂Ry∈ dan lugar a
distintos valores de F • Si el líder no controla las variables del
seguidor ⇒ No se puede asegurar la existencia del óptimo
16
Programación binivel optimista (débil)
• Si R(x) no es único (múltiples soluciones del nivel inferior para un x fijo) ⇒ El líder puede seleccionar el elemento de Ω(x) que más le convenga
• Asume una cierta cooperación entre líder y
seguidor
17
Programación binivel optimista (débil)
• (x*,y*) es una solución optimista local si:
X*x ∈
( )*xR*y ∈
( ) 0*y*,xG ≤
( ) ( ) ( )*xRy,y*,xF*y*,xF ∈∀≤
18
Programación binivel pesimista (fuerte)
• Cooperación entre líder y seguidor no permitida o imposible
• El líder no puede influir al seguidor • El líder sólo puede limitar el daño resultante
de una selección indeseable del seguidor
19
Programación binivel pesimista (fuerte)
• (x*,y*) es una solución pesimista local si:
X*x ∈
( )*xR*y ∈
( ) 0*y*,xG ≤
( ) ( ) ( )*xRy,y*,xF*y*,xF ∈∀≥
20
Contenidos
• Introducción • Formulación • Resolución
21
Caracterización matemática
• Problema de optimización • Incluso con restricciones lineales ⇒ Problema
no convexo ⇒ Óptimos locales • Desarrollo de algoritmos de resolución ⇒
Tarea complicada • Algoritmos existentes de aplicación limitada
22
Métodos de resolución
• Puntos extremos ⇒ Linealidad • Branch & bound ⇒ Convexidad • Pivote complementario ⇒ Linealidad • Funciones de penalización ⇒ Muy complejo • Métodos de descenso ⇒ Simplificaciones • Regiones de confianza ⇒ Aproximado
23
Métodos de resolución
• Bajo ciertas condiciones de convexidad y diferenciabilidad ⇒ Conversión a problema de programación matemática estándar
• Transformación del problema del nivel inferior:
Condiciones de optimalidad de Karush-Kuhn-Tucker
Problema nivel inferior lineal ⇒ Problema dual + Teorema de dualidad fuerte
Problemas max-min ⇒ Problema dual 24
Métodos de resolución Problema estándar equivalente
• Las indiferencias del problema del nivel
inferior desaparecen • El líder controla las múltiples soluciones
óptimas del agente del nivel inferior • Por lo tanto, la equivalencia de ambos
problemas supeditada a este nivel de “cooperación”
25
Uso de condiciones KKT
• Formulación general del problema del nivel inferior:
( )y,xfMin
y
Sujeto a:
( ) I,,1i :0y,xg ii K=λ=
( ) J,,1j :0y,xh jj K=μ≥
26
Uso de condiciones KKT
• Función Lagrangiana:
( ) ( ) ( ) ( )∑∑==
μ−λ−=μλJ
1jjj
I
1iii y,xhy,xgy,xf,,yL
27
Uso de condiciones KKT
• Si f, g y h son continuamente diferenciables y convexas en y para x fijo ⇒ El óptimo del problema del nivel inferior y* cumple:
( ) 0,*,yLy =μλ∇
( ) I,,1i 0*y,xgi K==
( ) J,,1j 0*y,xhj K=≥
( ) J,,1j 0*y,xhjj K==μ
J,,1j 0j K=≥μ
28
Uso de condiciones KKT
• Es decir:
( ) ( ) ( ) 0*y,xh*y,xg*y,xfJ
1jjyj
I
1iiyiy =∇μ−∇λ−∇ ∑∑
==
( ) I,,1i 0*y,xgi K==
( ) J,,1j 0*y,xhj K=≥
( ) J,,1j 0*y,xhjj K==μ
J,,1j 0j K=≥μ
29
Uso de condiciones KKT
• La condición necesaria para que (x*, y*, λ*, μ*) sea el óptimo del problema binivel es que (y*, λ*, μ*) cumpla las condiciones de Karush-Kuhn-Tucker del problema del nivel inferior para x = x*
30
Reformulación
( )y,xFMin,y,x, μλ
Sujeto a: Xx∈
( ) 0y,xG ≤
( ) ( ) ( ) 0y,xhy,xgy,xfJ
1jjyj
I
1iiyiy =∇μ−∇λ−∇ ∑∑
==
( ) I,,1i 0y,xgi K==
( ) J,,1j 0y,xhj K=≥
( ) J,,1j 0y,xhjj K==μ
J,,1j 0j K=≥μ
31
Problemas
• No linealidad y no convexidad en restricciones de complementariedad ⇒ Solución de Fortuny-Amat
• ↑↑ número de restricciones • ↑↑ número de variables (duales)
32
Relación con MPEC
• MPEC ≡ Mathematical Program with Equilibrium Constraints
• MPEC incluye problemas de programación
binivel con problemas de nivel inferior convexos
• Un MPEC se puede formular como un
problema binivel 33
Problema nivel inferior lineal en y
• Se puede definir el problema dual asociado al problema del nivel inferior:
34
Problema primal Problema dual
yp Min T
y
Sujeto a:
mQy ≥
0y ≥
σσ
Tm Max
Sujeto a:
pQT ≤σ
0≥σ
Problema nivel inferior lineal en y Teorema de dualidad fuerte
• Los valores óptimos de las funciones objetivo de los problemas primal y dual son iguales:
*m*yp TT σ=
35
Problema nivel inferior lineal en y Resolución basada en dualidad
• Problema del nivel inferior se sustituye por:
Restricciones del problema del nivel inferior
Restricciones del problema dual asociado
Igualdad de funciones objetivo • Problema resultante de un único nivel de
optimización 36
Problema nivel inferior lineal en y Reformulación
( )y,xF Min
y,x, σ
Sujeto a: Xx
∈
( ) 0y,xG ≤
mQy ≥
0y ≥
pQT ≤σ
0≥σ
σ= TT myp
37
Problema nivel inferior lineal en y Resolución basada en dualidad
• Principal ventaja frente al uso de condiciones
de KKT ⇒ Desaparece la no linealidad de las restricciones de complementariedad
• En realidad, este método se puede derivar de
la aplicación de las condiciones de KKT
38
Problema nivel inferior lineal en y Formulación general
( ) yxdxc Min TT
y+
Sujeto a:
( ) λ=+ :byxBAx 1
( ) μ≥+ :byxDCx 2
39
Problema nivel inferior lineal en y Formulación general equivalente
( ) yxd Minxc T
y
T +
Sujeto a:
( ) λ−= :AxbyxB 1
( ) μ−≥ :CxbyxD 2
40
Problema nivel inferior lineal en y Problema dual
( ) ( )CxbAxb Maxxc 2T
1T
,
T −μ+−λ+μλ
Sujeto a:
( ) ( ) ( )xdxDxB TT =μ+λ (Variables y sin signo)
0≥μ (Restricción primal de ≥)
41
Problema nivel inferior lineal en y Problema nivel inferior resultante
( ) ( ) ( )xdxDxB TT =μ+λ
( ) 1byxBAx =+
( ) 2byxDCx ≥+
( ) ( ) ( )CxbAxbyxd 2T
1TT −μ+−λ=
0≥μ
42
Inconvenientes y ventajas
• Inconveniente:
No linealidad en restricción de dualidad fuerte
• Ventajas:
Sólo hay productos con variables x del líder
No hay restricciones no lineales de complementariedad
43
Problema nivel inferior lineal en y Condiciones de KKT
• Función Lagrangiana:
( ) ( ) ( )( )( )( )2
T1
TTT
byxDCx
byxBAxyxdxc,,yL
−+μ−
−+λ−+=μλ
44
Problema nivel inferior lineal en y Condiciones de KKT
( ) ( ) ( ) ( ) 0xDxBxd,*,yL TT
y =μ−λ−=μλ∇ (1)
( ) 0byxBAx 1 =−+ (2)
( ) 0byxDCx 2 ≥−+ (3)
( )( ) 0byxDCx 2
T =−+μ (4)
0≥μ (5)
45
Problema nivel inferior lineal en y Condiciones de KKT
• De (1):
( ) ( ) ( ) λ−=μ TT xBxdxD • De (4):
46
( )( ) ( ) ( )( )( ) ( )
0 byxByxdCx
byxBxdCxbyxDCx
2TTTT
2TTTT
2T
=μ−λ−+μ=
μ−λ−+μ=−+μ
Problema nivel inferior lineal en y Condiciones de KKT
• De (2):
( ) ( )AxbAxbyxB 1TT
1TT −λ=λ−λ=λ
• Finalmente:
( ) ( ) ( )CxbAxbyxd 2T
1TT −μ+−λ=
• Coincide con Teorema de dualidad fuerte
47
Uso de condiciones de KKT Problema nivel inferior resultante
( ) ( ) ( ) 0xDxBxd TT =μ−λ−
( ) 0byxBAx 1 =−+
( ) 0byxDCx 2 ≥−+
( ) ( ) ( )CxbAxbyxd 2
T1
TT −μ+−λ= 0≥μ
48
Uso de condiciones de KKT Problema nivel inferior resultante
• Problemas idénticos
• El número de variables duales es mayor con
KKT ⇒ Restricciones de signo forman parte de la matriz de restricciones
• Variables de holgura de restricciones de
desigualdad
49
Problema max-min con nivel inferior lineal
• Problema max-min es un caso particular de
programación binivel:
F = -f
No hay restricciones G(x,y) ≤ 0 • En el caso max-min lineal ⇒ Conversión a
problema max-max (1 optimización) a partir del dual del problema del nivel inferior
50
Formulación general
( ) ( ) yxdxcy,xF Min TT
yx,+=
Sujeto a:
Xx∈
( ) ( )
( ) 'yxdxc maxarg
'yxdxc'y,xf minargy
TT
'y
TT
'y
+=
−−=∈
Sujeto a:
( ) 1b'yxBAx =+
51
( ) 2b'yxDCx ≥+
Uso del dual
( ) ( ) ( )CxbAxbxc,,xF Min 2T
1TT
,x,−μ+−λ+=μλ
μλ
Sujeto a:
Xx∈
( ) ( ) ( )Cxb'Axb'xc minarg, 2T
1TT
','−μ+−λ+∈μλ
μλ
Sujeto a:
( ) ( ) ( )xd'xD 'xB TT =μ+λ
0'≥μ
52
Problema equivalente
( ) ( ) ( )CxbAxbxc,,xF Min 2T
1TT
,x,−μ+−λ+=μλ
μλ
Sujeto a:
Xx∈
( ) ( ) ( )xdxDxB TT =μ+λ
0≥μ
53
Ventajas e inconvenientes
• Ventajas:
Menor número de restricciones
Menor número de variables • Inconvenientes:
Solución en el espacio dual ⇒ Requiere resolución del problema del nivel inferior para x = x*
54