Programación n binivel l€¦ · Programación n binivel l José Manuel Arroyo Sánchez Área de...

Post on 15-May-2020

2 views 0 download

Transcript of Programación n binivel l€¦ · Programación n binivel l José Manuel Arroyo Sánchez Área de...

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