Dualité lagrangienne

Dualité lagrangienne

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

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

Transcript

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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