$30 off During Our Annual Pro Sale. View Details »

Dualité lagrangienne

Dualité lagrangienne

Présentation pour l'examen oral de "INFO-F524 Continuous optimization" (ULB).

https://bitbucket.org/OPiMedia/dualite-lagrangienne

More Decks by 🌳 Olivier Pirson — OPi 🇧🇪🇫🇷🇬🇧 🐧 👨‍💻 👨‍🔬

Other Decks in Science

Transcript

  1. Dualité lagrangienne
    Olivier Pirson
    Présentation pour l’examen oral de
    INFO-F524 Continuous optimization
    Département d’Informatique
    Université Libre de Bruxelles
    19 juin 2017
    (Some corrections November 26, 2017)
    Dernière version : https://bitbucket.org/OPiMedia/dualite-lagrangienne

    View Slide

  2. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    1 Introduction
    2 Dual lagrangien
    3 Qualité du dual lagrangien
    4 Résolution du dual lagrangien
    5 Références
    Dualité lagrangienne 2 / 22

    View Slide

  3. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Principe général de relaxation
    Pour le programme
    z = max{c(x) | x ∈ X ⊆ Rn}
    zR = max{f (x) | x ∈ T ⊆ Rn}
    est une relaxation si
    X ⊆ T
    c(x) ≤ f (x) ∀x ∈ X
    =⇒ zR est une borne supérieure du problème initial
    Dualité lagrangienne 3 / 22

    View Slide

  4. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Programme en nombre entiers (PE)
    Soit
    z = max cx
    sous les contraintes Ax ≤ b, k contraintes “faciles”
    Dx ≤ d, m contraintes “difficiles”
    x ∈ Nn
    avec m, n ∈ N∗
    c ∈ Rn
    A ∈ Rk,n
    b ∈ Rk
    D ∈ Rm,n
    d ∈ Rm
    Dualité lagrangienne 4 / 22

    View Slide

  5. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Reformulation du problème
    Remplaçons les contraintes “faciles” par une formulation implicite :
    z = max cx
    s.c. Dx ≤ d, m contraintes “difficiles”
    x ∈ X = {x ∈ Nn | Ax ≤ b}
    Dualité lagrangienne 5 / 22

    View Slide

  6. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Relaxation lagrangienne (RL(u))
    ∀u ∈ Rm
    +
    on défini le problème RL(u) :
    z(u) = max cx + u(d − Dx)
    pénalités
    s.c. x ∈ X
    u est appelé multiplicateur de Lagrange
    ∀u ∈ Rm
    +
    : RL(u) est une relaxation de (PE) car
    {x ∈ X | Dx ≤ d} ⊆ X
    u ≥ 0
    Dx ≤ d
    =⇒ cx + u(d − Dx) ≥ cx
    =⇒ RL(u) fournit une borne supérieure pour (PE)
    Dualité lagrangienne 6 / 22

    View Slide

  7. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    1 Introduction
    2 Dual lagrangien
    3 Qualité du dual lagrangien
    4 Résolution du dual lagrangien
    5 Références
    Dualité lagrangienne 7 / 22

    View Slide

  8. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Dual lagrangien
    z(u) = max cx + u(d − Dx)
    Prenons la meilleure relaxation possible :
    wLD
    = min
    u≥0
    z(u)
    Dualité lagrangienne 8 / 22

    View Slide

  9. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Dual lagrangien
    z(u) = max cx + u(d − Dx)
    Prenons la meilleure relaxation possible :
    wLD
    = min
    u≥0
    z(u)
    Proposition
    Une solution x(u) optimale de RL(u)
    qui est admissible pour (EP)
    et telle que (Dx(u))i
    = di
    si ui > 0 (complémentarité) a
    est aussi optimale pour (EP)
    a. Toujours vrai si contraintes d’égalités.
    En effet :
    wLD
    = min
    u≥0
    z(u) ≤ cx(u) + u(d − Dx(u)) = cx(u)
    x(u) ∈ X
    Dx(u) ≤ d
    =⇒ cx(u) ≤ z⋆
    z⋆ ≤ wLD
    =⇒ x(u) est solution optimale de (PE)
    Dualité lagrangienne 9 / 22

    View Slide

  10. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    1 Introduction
    2 Dual lagrangien
    3 Qualité du dual lagrangien
    4 Résolution du dual lagrangien
    5 Références
    Dualité lagrangienne 10 / 22

    View Slide

  11. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Qualité du dual lagrangien
    Supposons, par simplicité, X = {x1
    , x2
    , . . . , xT } fini, avec T très grand
    wLD
    = min
    u≥0
    z(u)
    = min
    u≥0
    {max
    x∈X
    cx + u(d − Dx)}
    = min
    u≥0
    { max
    t=1,...,T
    cxt + u(d − Dxt )}
    = min η
    s.c. η ≥ cxt + u(d − Dxt ) pour t = 1, . . . , T
    u ∈ Rm
    +
    η ∈ R
    η représente une borne supérieure de z(u)
    Dualité lagrangienne 11 / 22

    View Slide

  12. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Qualité du dual lagrangien
    wLD
    = min η
    s.c. η ≥ cxt + u(d − Dxt ) pour t = 1, . . . , T
    u ∈ Rm
    +
    η ∈ R
    est un programme linéaire.
    Prenons son dual :
    wLD
    = max
    T
    t=1
    µt
    cxt
    s.c.
    T
    t=1
    µt
    = 1

    T
    t=1
    µt
    (d − Dxt ) ≤ 0
    µt
    ∈ RT
    +
    Dualité lagrangienne 12 / 22

    View Slide

  13. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Qualité du dual lagrangien
    wLD
    = max
    T
    t=1
    µt
    cxt
    s.c.
    T
    t=1
    µt
    = 1

    T
    t=1
    µt
    (d − Dxt ) ≤ 0
    µt
    ∈ RT
    +
    Théorème
    En posant x =
    T
    t=1
    µt
    xt avec
    T
    t=1
    µt
    = 1 et µt
    ∈ RT
    +
    :
    wLD
    = max cx
    s.c. Dx ≤ d
    x ∈ conv(X)
    Il est possible de montrer que ce résultat reste valable pour X infini.
    Dualité lagrangienne 13 / 22

    View Slide

  14. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Qualité du dual lagrangien
    La preuve de ce résultat révèle la structure du dual lagrangien.
    z(u) est convexe, linéaire par morceaux et non différentiable.
    Figure – [Wolsey 1998]
    Dualité lagrangienne 14 / 22

    View Slide

  15. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Qualité du dual lagrangien
    Corollaire
    Si conv(X) = {x ∈ Rn
    +
    | Ax ≤ b}
    alors wLD
    = max{cx | Ax ≤ b, Dx ≤ d, x ∈ Rn
    +
    } = zrelaxation linéaire
    Moyen de résoudre un programme linéaire
    avec un nombre exponentiel de contraintes
    sans les traiter explicitement.
    Dualité lagrangienne 15 / 22

    View Slide

  16. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    1 Introduction
    2 Dual lagrangien
    3 Qualité du dual lagrangien
    4 Résolution du dual lagrangien
    5 Références
    Dualité lagrangienne 16 / 22

    View Slide

  17. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Résolution du dual lagrangien
    wLD
    = min
    u≥0
    z(u)
    avec z(u) = max
    t=1,...,T
    {cxt + u(d − Dxt )}
    Grand nombre de contraintes.
    Algorithme de plans coupants souvent difficile et peu efficace.
    Dualité lagrangienne 17 / 22

    View Slide

  18. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Sous-gradient
    Définition
    Soit f : Rm −→ R convexe.
    Un sous-gradient en u de f est un vecteur γ(u) ∈ Rm tel que
    f (v) ≥ f (u) + γ(u)T (v − u) ∀v ∈ Rm
    Si f est de classe C1 alors c’est le gradient
    γ(u) = ∇f (u) = ∂f
    ∂u1
    , ∂f
    ∂u2
    , . . . , ∂f
    ∂um
    , (u)
    Dualité lagrangienne 18 / 22

    View Slide

  19. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Algorithme de sous-gradient
    Initialisation : u = u0
    Itération k : u = uk
    Résoudre RL(uk), de solution optimale x(uk )
    uk+1 = max{0, uk − µk
    (d − Dx(uk))}
    k ← k + 1
    d − Dx(uk ) est un sous-gradient de z(u) en uk
    Algorithme simple, mais difficulté de choisir les pas µk
    Dualité lagrangienne 19 / 22

    View Slide

  20. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Algorithme de sous-gradient
    Théorème
    k
    µk
    → ∞
    µk
    → 0
    ⇒ z(µk
    ) → wLD
    ρ < 1
    µk
    = µ0ρk
    µ0
    et ρ suffisamment grands
    ⇒ z(µk
    ) → wLD
    w ≥ wLD
    µk
    = εk
    z(uk )−w
    d−Dx(uk ) 2
    0 < εk < 2

    z(µk
    ) → wLD
    ou l’algorithme trouve uk tel que
    w ≥ z(µk
    ) ≥ wLD
    Dualité lagrangienne 20 / 22

    View Slide

  21. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    1 Introduction
    2 Dual lagrangien
    3 Qualité du dual lagrangien
    4 Résolution du dual lagrangien
    5 Références
    Dualité lagrangienne 21 / 22

    View Slide

  22. Dualité
    lagrangienne
    Introduction
    Dual
    lagrangien
    Qualité du
    dual
    lagrangien
    Résolution du
    dual
    lagrangien
    Références
    Références
    Références :
    Bernard Fortz.
    Cours INFO-F524 Continuous optimization.
    Université Libre de Bruxelles, 2017
    Laurence A. Wolsey.
    Integer Programming.
    Wiley, 1998
    Luigi Rados d’après Bosio.
    Gravure Joseph Louis de Lagrange.
    Académie des Sciences, Paris
    Dualité lagrangienne 22 / 22

    View Slide