Vous êtes sur la page 1sur 48

Optimisation Combinatoire

Chapitre 6 : Méthodes de décomposition

Master 1, ROMARIN, 2021-2022

Méziane Aı̈der
January 5, 2022
LaROMaD, Faculty of Mathematics, USTHB, B.P. 32
El Alia, Bab Ezzouar 16111 Algiers, Algeria.
Emails: m-aider@usthb.dz, meziane.aider@usthb.edu.dz

1
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Plan du chapitre.

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

2
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

3
Introduction

Les méthodes de décomposition ont initialement été introduites pour


traiter des programmes linéaires de grande dimension. Cependant, l’outil
informatique a énormément évolué, aussi bien d’un point de vue matériel,
que dans ses aspects logiciels, de sorte que les logiciels conçus pour la
résolution de programmes linéaires commercialisés actuellement peuvent
faire face à la quasi-totalité des problèmes concrets rencontrés dans la
pratique. Ainsi, ces dernières décennies, l’intérêt de l’utilisation des
méthodes de décomposition s’est davantage porté vers la résolution de
programmes linéaires en nombres entiers et, plus généralement vers les
programmes linéaires mixtes.

Dans ce chapitre nous présentons les méthodes de décomposition


traditionnelles, à savoir la méthode de Dantzig et Wolfe, la décomposition
de Benders et les méthodes de type relaxation Lagrangienne.

4
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

5
Présentation

Les méthodes que nous présentons peuvent être étendues à un cadre bien
plus général, mais nous considérons uniquement des programmes linéaires
en nombres entiers purs, dont la région réalisable est bornée et non vide
et est constituée des vecteurs entiers contenus dans le polyèdre

Q = {x ∈ Rn | Ax ≤ b, x ≥ 0}.

où

A ∈ Qm×n est la matrice des contraintes et


b ∈ Qm est le vecteur des seconds membres.

Notons

F = {x ∈ Rn | Ax ≤ b, x entier} = Q ∩ Zn , l’ensemble des solutions


réalisables de (PE );
P = conv(F ) l’enveloppe convexe de F .
6
Problème canonique

Nous nous intéressons au problème canonique d’optimisation :



PE T
 z = max c x

(PE ) Ax ≤ b

 x entier
ou, sous forme condensée :
z PE = max{c T x | Ax ≤ b, x entier} = max c T x = max c T x,
x∈F x∈P

et sa relaxation linéaire s’écrit :



PL T
 z = max c x

(PL) Ax ≤ b

 x ≥ 0
ou, sous forme condensée :
z PL = max{c T x | Ax ≤ b, x ≥ 0} = max c T x.
x∈Q

Notons que, puisque P ⊂ Q, nous avons : z PE ≤ z PL .


7
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

8
Motivation

Les algorithmes de type branch-and-bound s’avèrent être des méthodes


efficaces pour résoudre des problèmes d’optimisation combinatoire et le
calcul de bornes pour la valeur optimale de la fonction objectif constitue
l’élément fondamental de la procédure d’évaluation. Les bornes sont
souvent calculées en résolvant un (sous-)problème obtenu par relaxation
du problème initial. La relaxation la plus utilisée est la relaxation linéaire
mais celle-ci s’avère très souvent être de qualité médiocre (trop large)
pour être efficace dans la résolution de programmes linéaires en nombres
entiers.

En utilisant d’autres types de relaxation, nous pouvons obtenir de


meilleures bornes pour la valeur optimale de la fonction objectif. L’idée
consiste à relaxer le polyèdre P plutôt que par Q, mais par un polyèdre
plus petit, contenu dans Q, sur lequel il existe un algorithme efficace
d’optimisation de la fonction objectif, ce qui permettrait d’obtenir une
meilleure borne pour la valeur optimale de la fonction objectif de (PE ).
9
Utilité de la décomposition

Supposons que les contraintes de (PE ) puissent être réparties en deux


blocs : 

 z PE = max cT x

 A0 x ≤ b0
(PE )

 A1 x ≤ b1

x entier

où A0 ∈ Qm0 ×n , A1 ∈ Qm1 ×n , b0 ∈ Qm0 et b1 ∈ Qm1 et m = m0 + m1 .

Notons :

Q0 = {x ∈ Rn | A0 x ≤ b0 , x ≥ 0},
F 0 = {x ∈ Rn | A0 x ≤ b0 , x entier} = Q0 ∩ Zn ,
P 0 : l’enveloppe convexe de F 0 .

10
Observations

Nous avons les relations suivantes :


I F ⊂ F0 ;
I Q = Q0 ∩ Q 1 ;
I F = P 0 ∩ Q 1 ∩ Zn .

Pour que la décomposition ait un sens, il est nécessaire d’avoir


P 0 ∩ Q1 ⊂ Q, de sorte que la borne obtenue en optimisant sur
P 0 ∩ Q1 soit meilleure que celle de la relaxation linéaire.
La description de Q 1 doit aussi être petite de sorte à pouvoir la
construire explicitement. Finalement, nous supposons qu’il existe un
algorithme efficace pour optimiser sur P 0 .
Les méthodes de décomposition peuvent être vues comme des
techniques pour le calcul itératif de la borne :

z D = min0 {c T x | A1 x ≤ b1 } = min {c T x} = min {c T x}.


x∈P x∈F 0 ∩Q1 x∈P 0 ∩Q 1

11
Exemple

Considérons l’exemple numérique suivant :




 z PE = max x1

− x1 + 4x2 ≤ 14 (1)








 2x 1 − x2 ≤ 5 (2)
− x1 + 3x2 ≤ 4 (3)





 − 3x1 + x2 ≤ −2 (4)
(PE )

 3x1 + 2x2 ≤ 19 (5)

− 2x1 + 3x2 ≤ 7 (6)








 − 5x1 − 3x2 ≤ −15 (7)
− x2 ≤ −2 (8)





 x1 , x2 ∈ N

12
Exemple, suite

x2 6
(4)  (6) (1)
5 b b b
 J 
b b b
 .... ...
.... ... .
4 b b
.b.....rb J..J....b  b (3)
 

...
. br ...brJ
. b 
3 b(7) Sb... rb
S 
. ... ...b..... .
.... J (8)

2 b bS ....
.. ..rb. ....... b Jb
 
 SS 
1 b b b b b bJ
J

(2) (5)
0 b b b b b b -
0 1 2 3 4 5 x1
Figure 1: Résolution graphique du programme linéaire relaxé de l’exemple [?]

13
Exemple, suite

b b b b b b b b b b b b b b b
..........
........... .. ....
b ..
. ...
..
..
..
...
...................... .
...b.........q.q..q.qqrb.q.q.q.q.q..........b
................ .... ..
.
b b
.....
b.........q.q.q.qrb.qqq ..... b b b b..........q.q.q.qb.q.q.q........ b b
. . ...
.. qqqqqqq qqqqqqqq.q.q.... ....qqqqqqqqq qqqqqqqqq.q....
....... .
... ........
.. qqqqq qqqq ..
...........
..
.. .. . . qq
..rbqqqqqq br qqqq.q..qrqb
.. .. .
.......
b
..... ..
..... ...
...
...
b .
b . qqbrqq
. br qqqqq.qq.rqb b b ..qqrbqq rb .q.q.q..q.qq.qrqb b
......
..qq .q.q.q..q.q ... ..

..qq ..q.q.q.q..q.q.q.q..q.q.q.q.q..q .... qqq qq.q.q.q..q.q.q..q.q.q.q.q.q..q..... ..qq .q.q.q.q..q.q.q.q.q..q


.
.
. . ..
... .
... . ...
. ..
.........
...qqrb.q.q.q..q.q.q.q.q. b b
...... ..
...... ...
..rbq.q.q.q.q b b b .......qbr.q.q.q... b
..
...... ... ......
b .
. .. ........... .........
... .........
.......... .. .. ... ..
... ..
... ..
... ..... .. ... ..
... ..
... .. ... ..
... ..... ..
... .. ... ..
..
b
..... b b b b
.....

b b b b b b b b b b b b b b b

Figure 2: Différents polyèdres de l’exemple

14
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

15
Présentation

La méthode de Dantzig-Wolfe a d’abord été introduite pour la résolution


de programmes linéaires de grandes tailles. Elle a connu une large
utilisation pour la décomposition de plusieurs problèmes complexes issus
de la pratique, et est devenue un outil standard en programmation
linéaire. Nous présentons dans cette section son principe, son application
à un cas particulier et quelques méthodes de résolution.

Rappelons que F 0 = {x ∈ Nn : A0 x ≤ b0 } et supposons que F 0 soit fini


et que ses éléments s’écrivent x k , k ∈ K . Tout élément x ∈ F 0 peut
s’écrire :
X X
x= λk x k avec λk = 1, λk ∈ {0, 1}, k ∈ K .
k∈K k∈K

16
Idée principale

L’idée principale de la méthode de décomposition de Dantzig-Wolfe en


programmation en nombres entiers consiste à réécrire le problème (PE ),
en utilisant le fait que toute solution de (PE ) est nécessairement dans X ,
de la manière suivante :

 X

 z PEDW = max c T x k λk

k∈K


 X
A1 x k λk ≤


 b1
(M) k∈K X



 λk = 1

k∈K



λk ∈ {0, 1} k ∈K

(M) est appelé problème maı̂tre.

17
Relations entre les objectifs

Considérons les relaxations linéaires de (PE ) et (M) :


 PE R

 z = max c T x
≤ b0


 A0 x
(PE R )

 A1 x ≤ b1


 x ≥ 0

R
 X

 z M = max c T x k λk

k∈K


 X
A1 x k λk ≤ b1



R
(M ) k∈K X



 λk = 1

k∈K



λk ≥ 0 k ∈K

18
Relations entre les objectifs

Il est bien connu que


R R
z PE ≥ z M ≥ z M ≥ z PE .

En effet, il est facile de voir que (M R ) est équivalent à :



PL T
 z = max c x

(PL) A1 x ≤ b1

 x ∈ conv(X )

R R R
Ainsi, z PE ≥ z M , puisque z PE = max{c T x : A1 x ≤ b1 , x ∈ Q 0 } et
conv(F 0 ) ⊂ Q 0 .

19
Conséquences

Par conséquent, lorsque le polyèdre Q 0 présente des propriétés d’intégrité


(Q 0 = P 0 ), nous aurons :
R R
z PE = z M .

De plus, lorsque conv(F ) = {A0 x ≤ b0 } ∩ conv (Q 1 )¡ nous aurons


R
z PE = z M .

Ces deux derniers cas sont assez particuliers et, en général, nous avons :
R R
z P > z M > z M > z PE .

Ces inégalités sont très importantes puisque nous devons calculer des
bornes supérieures les plus serrées possibles, pour la résolution exacte des
programmes linéaires en nombres entiers de grande dimension, ou pour
évaluer la qualité de solutions approximatives. Dans ce contexte, la
R
formulation (M) et le calcul de z M peuvent s’avérer d’une importance
réelle.
20
Conséquences, suite

Le nombre de variables dans M R peut être énorme (il est égal au cardinal
de F 0 ). Une procédure de génération de colonnes doit être appliquée
R
pour le calcul de z M . Elle consiste à générer seulement un
sous-ensemble de variables : celles qui peuvent être dans une base
optimale. En démarrant d’un sous-ensemble J de variables initiales, nous
devons résoudre à chaque itération de la procédure de génération de
colonne le problème linéaire suivant :
R
 X

 z MJ = max c T x k λk

k∈J


 X
A1 x k λk ≤ b1 (1)



(MJR ) k∈J X



 λk = 1 (2)

k∈J



λk ≥ 0 k ∈ J

et déterminer parmi toutes les variables restantes celle dont le coût réduit
est le plus élevé.
21
Conséquences, suite

Le coût réduit d’une variable λk est défini comme suit :


cek = ck − π T A1 xk − π0 .
où π dénote les variables duales associées aux contraintes (1) et π0 est la
variable duale associée à la contrainte (2). La variable dont le coût réduit
strictement positif est le plus élevé sera insérée dans la base J et (MJR )
doit être réoptimisé. La procédure s’arrête quand toutes les variables
restantes seront de coût réduit négatif et la solution optimale de (MJR )
est ainsi une solution optimale de MR .

Le problème de détermination d’une variable et dinc d’une solution dans


F 0 , avec le plus grand coût réduit, appelé le problème auxiliaire et dénoté
(Aux), se formule comme suit :

Aux
 z
 = max (c − π T A0 )x − π0
(Aux) A1 x ≤ b1

 x entier
22
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

23
Présentation

La méthode de décomposition de Benders a pour objet de décomposer et


de résoudre des programmes linéaires à variables mixtes. Cependant, il
est également possible de l’appliquer dans la résolution de programmes
linéaires bien structurés.

Elle se distingue de la méthode de Dantzig-Wolfe par le fait que c’est


l’ensemble des variables (et non celui des contraintes) qui est réparti en
deux sous-ensembles. Dans la littérature, la décomposition de Benders
est souvent décrite comme la décomposition de Dantzig-Wolfe appliquée
au dual d’un problème. En fait, on montre que dans le contexte de
programmation linéaire, ces deux méthodes sont duales l’une de l’autre.

La stratégie de Benders consiste à partitionner les variables du problème


en deux vecteurs x et y . Elle fixe le vecteur y de manière à générer un
problème, que l’on appelle le sous-problème, uniquement en termes des
variables x ; si la solution optimale de ce problème révèle que la solution
y est non réalisable, alors la solution duale correspondante est utilisée
24
afin d’identifier d’autres valeurs inacceptables de y .
Principe de la méthode

On considère le problème (P) suivant :



 z P = max c T x + dT y

 Ax + Gy ≤ b
(P)

 x ≥ 0

y ∈ Y

où c ∈ Rn , d ∈ Rp , A ∈ Rm×n , G ∈ Rm×p , b ∈ Rm , m, n, p ∈ N et


Y ⊂ Rp (si Y ⊂ Np , alors (P) est un programme linéaire mixte).

Supposons que les variables y sont des variables complicantes, dans le


sens que le problème devient significativement plus simple à résoudre
lorsque les variables y sont fixées, en raison, par exemple, de la structure
spéciale inhérente à la matrice A. La décomposition de Benders
partitionne le problème (P) en deux problèmes :
(i) un problème maı̂tre qui contient les veariables y , et
(i) un sous-problème qui contient les veariables x. 25
Principe de la méthode

En termes des variables y uniquement, (P) s’écrit comme suit :

( 0
0 z P = max c T x + z(P(y ))
(P )
y ∈Y
où v (y ) est la valeur de la fonction objectif à l’optimum du problème :

P(y )
 z
 = max c T x
(P(y )) Ax ≤ b − Gy

 x ≥ 0

A chaque fois que les valeurs de y sont fixées, (P(y )) est un programme
linéaire. Notons que si (P(y )) est non borné pour un certain y ∈ Y , alors
il en est de même de (P 0 ), ce qui entraı̂ne que le problème (P) est aussi
non borné.

26
Principe de la méthode

Considérons le problème dual de (P(y )) :



D(y )
 w
 = min u T (b − Gy )
(D(y )) uT A ≥ c

 u ≥ 0

27
Principe de la méthode

Pour la suite, nous émettons l’hypothèse que le problème (P) admet une
solution optimale finie, ce qui signifie que, pour tout vecteur y ∈ Y , soit
(P(y )) n’a pas de solution, soit il possède une valeur optimale finie.

Notons que l’ensemble des solutions réalisables de (D(y )) ne dépend pas


des valeurs choisies pour le vecteur y , qui affectent uniquement la
fonction objectif. Quelque soit le vecteur y , les contraintes (D(y ))
définissent un même polyèdre.

Par conséquent, si l’ensemble des solutions réalisables de (D(y )) est vide,


alors soit il en est de même pour l’ensemble des solutions réalisables du
problème primal (P(y )) pour toutes valeurs de y ∈ Y , ou bien celui-ci est
non borné pour certaines valeurs de y ∈ Y .

En supposant que l’ensemble des solutions réalisables de (D(y )) n’est pas


vide, alors il définit un polyèdre, ayant un nombre fini de points extrêmes
p 1 , . . . , p I et un nombre fini de rayons extrêmes r 1 , . . . , r J .
28
Principe de la méthode

Alors pour un vecteur y donné, (D(y )) peut être résolu en :


(i) vérifiant si (r j )T (b − G y ) < 0 pour un rayon extrême r j , auquel cas,
(DLM(y )) serait non borné et (PLM(y )) serait irréalisable;
(ii) trouvant un point extrême p i qui maximise la valeur de la fonction
objectif (p i )T (b − G y ), auquel cas chacun des deux problèmes
duaux (DLM(y )) et (PLM(y )) aurait une solution optimale finie.

En se basant sur ces faits, (D(y )) peut être reformulé comme suit :


 w PMB(y ) = max w
0 ≤ (r j )T (b − Gy ) j = 1, . . . , J


(PMB(y ))

 w ≤ (p i )T (b − Gy ) i = 1, . . . , I

w ∈

R
Notons que (PMB(y ) est appelé programme maı̂tre de Benders. Il
consiste en un programme linéaire à une seule variable w et un grand
nombre de contraintes.
29
Principe de la méthode

A présent, nous pouvons remplacer z P(y ) par sa valeur qui correspond à


la valeur de la fonction objectif ϕPMB(y ) à l’optimum de (PMB(y )) et
obtenir une reformulation du problème original en termes de w et des
variables y :

 PMB(y )

 ϕ = max w + dT y
− (r j )T (b − Gy ) ≤ 0



 j = 1, . . . , J
(PMB(y )) w − (p i )T (b − Gy ) ≤ 0 i = 1, . . . , I




 w ∈ R
y ∈ Y

En raison des nombres de points extrêmes et de rayons extrêmes qui


peuvent être très grand, il n’est pas pratique de générer toutes les
contraintes de (PMB(y )).
30
Principe de la méthode

En effet, la décomposition de Benders débute par la résolution du


“problème maı̂tre restreint” (PMRB) qui ne contient qu’un
sous-ensemble de contraintes (éventuellement vide) :

PMBR
 ϕ
 = max w
(PMRB) w ∈ R

 y ∈ Y

31
Principe de la méthode

Soit (y ∗ , w ∗ ) une solution optimale de (PMRB).

Si, en résolvant (D(y ), la valeur de la fonction objectif à l’optimum


vérifie w D(y ) = w ∗ , alors l’algorithme s’arrête.

Autrement, si le dual est non borné, alors une contrainte de type


(r j )T (b − Gy ) ≤ 0j = 1, . . . , J, appelées “coupes de faisabilité” est
générée et rajoutée au problème restreint maı̂tre qui est alors résolu à
nouveau.

Similairement, si le sous-problème possède une solution optimale telle que


if the w D(y ) < w ∗ alors une contrainte de type
w − (p i )T (b − Gy ) ≤ 0i = 1, . . . , I , appelées “coupes d’optimalité” est
générée et rajoutée au problème restreint maı̂tre qui est alors résolu à
nouveau.

Puisque I et J sont finis et de nouvelles coupes de faisabilité ou


d’optimalité sont générées à chaque itération, cette méthode converge
32
vers une solution optimale en un nombre fini d’itérations.
Démarche de la décomposition de Benders

1. Ecrire le problème original.


2. Supposer que les variables y sont constantes et reformuler le
problème original:
(a) Déplacer les constantes y , dans les contraintes, du côté droit de
l’inégalité.
(b) Déplacer les variables y dans l’objectif dehors (ils sont constants).
(c) Standardiser la forme des contraintes (“ ≤00 pour les problèmes de
maximisation et “ ≥00 pour les problèmes de minimisation).
3. Dualiser le modèle (nous avons besoin de trouver les valeurs des
variables duales en gardant constantes les variables y dans le dans
l’objectif). C’est le sous-problème primal de Benders (SPPB).

33
Démarche de la décomposition de Benders

4. Supposer qu’une valeur arbitraire de y est obtenue (à l’intérieur du


domaine de définition).
5. Fixer les valeurs de y dans (SPPB) et le résoudre : soit u la solution
optimale z UP la borne obtenue.
6. Générer une nouvelle contrainte pour le Problème Maı̂tre de Benders
(PMB).
7. Rajouter la contrainte produite (aux autres contraintes) dans
(PMB).
8. Résoudre (PMB) pour obtenir de nouvelles valeurs de y (et déduire
z LO ).
9. Terminer si z UP − z LO ≤ .
10. Allez en 5.

34
Sommaire

Introduction

Définitions et notations

Principe de décomposition

Décomposition de Dantzig et Wolfe

Décomposition de Benders

Décomposition lagrangienne

35
Décomposition lagrangienne

La décomposition lagrangienne est utilisée lorsque la conjonction entre


deux blocs de contraintes complique le problème.

Pour (PLNE), la conjonction des contraintes A0 x ≤ b0 et A1 x ≤ b1 peut


rendre sa résolution difficile. Il s’agit alors de dupliquer les variables et de
construire un problème équivalent :
 PE

 z = max c T x
A0 x ≤ b0





 x − y = 0
(PE )

 A1 y ≤ b1

x entier





y entier

36
Décomposition lagrangienne

En relâchant la contrainte x = y suivant le multiplicateur u ∈ Rn , on


obtient le lagrangien

Lx,y (u) = max{(c − u T )x + u T y |A0 y ≤ b0 , y ∈ Y , A1 x ≤ b1 , x ∈ Nn }

qui peut être formulé comme suit :

Lx,y (u) = Lx (u) + Ly (u)

où
Lx (u) = max{(c − u T )x|A1 x ≤ a, x ∈ Nn }
et
Ly (u) = max{u T y |A0 y ≤ a1 , y ∈ Y }.

37
Décomposition lagrangienne

Le dual de la décomposition lagrangienne est donné par :


n
(DDL) z DDL = min Lx,y (u) y ∈ Rn

Notons que :

(a) La décomposition lagrangienne est une relaxation lagrangienne sur


un problème transformé qui décompose le problème initial en une
série de sous-problèmes.
(b) La valeur optimale de (DDL) est égale à celle du problème

max{c T x|x ∈ Zx ∩ Zy }

où Zx = conv {x ∈ Nn |A1 x ≤ b1 }


et Zy = conv {y ∈ Y |A0 x ≤ b0 }Z (voir Figure).

38
Décomposition lagrangienne

..... ..
...... ....... ...
.
...... ...... ......
....... .....
....... .......................... .... ..
........q.q.q.q.q. ......
. .. ..
............ .... ..... .
..............
... . ........... ...... ... ...
.

...... qqqqqq qqqqqqqqqq ......


............ . ..... .
. .
.. .......
..
...
... ..
.
..

...... qqqqqqqqq
........... ..
... ...
......
.
qqqq ... ...
... ...
..
.......
qqqq ..
.. qqqqqq
.
. .
qqqq ..
.. . ..... .
.... .... .
.....

... qqqq q.q.qq.q


.... . . ...
.... ... ....
...... ..
...
q qqqq qq .. ...
q
...
.. qq qqq . ... ...
qqqqq ....
... .
... .. ... ...

..... qqq qqqqq..q.q.q.q.q..q.q.q.q.q...............


... ... .
..
..
...
. ...
... ..
. ...
......... .. ...
...
... ..
.......
.
.
..........qq..q.q.q.q.q.q.q......
..... .. . ...
. ... ...... .........
. ...
.. .... ..
...... ...... ...
. ..
.......
. ......... ....
..
.........
. ..
. ..
... ..
... ..
... ..
.. . ..
.. . ..
... ..
... ..
... ..
... ..
... ..
... ..
.
.. ..
.
.. ..
... ..
... ..
... ..
..
. ..
. .. ..
.
.. ..
..
. ..
..
. ..
... ......
... ....... ............
... ....

Figure 3: Illustration de l’approximation du domaine P avec la décomposition


lagrangienne, pour l’exemple

39
Décomposition lagrangienne

Cette méthode a été appliquée pour la résolution de nombreux problèmes


tels que le problème de localisation avec capacités, les bornes obtenues
sont de bonne qualité, mais la résolution est coûteuse en temps. Nous
exploitons dans ce qui suit la génération de colonnes pour résoudre le
dual de la substitution lagrangienne.

Les lagrangiens Lx (u) et Ly (u) peuvent être réécrits comme suit :

Lx (u) = {min w1 |w1 ≥ (c − u T )x, x ∈ Zx }


= {min w1 |w1 ≥ (c − u T )xk , k ∈ K }

et
Ly (u) = {min w2 |w2 ≥ u T y , y ∈ Zy }
= {min w2 |w2 ≥ u T yl , l ∈ L}
où K (resp. L) désignent l’ensemble des points extrêmes du polyèdre Zx
(resp. Zy ).
40
Décomposition lagrangienne

Supposons que les ensembles Zx et Zy sont convexes et bornés, le


problème (DDL) peut être alors linéarisé comme suit :



 min w1 + w2
≥ (c − u T )x x ∈ Zx



 w1
(DDL) w2 ≥ u T y y ∈ Zy




 w1 , w2 ∈ R
u ∈ Rn



 min w1 + w2
≥ (c − u T )x k k ∈K



 w1
w2 ≥ uT y l l ∈L




 w 1 w2
, ∈ R
u ∈ Rn

41
Décomposition lagrangienne

En posant w = w1 + w2 et en agrégeant les contraintes de cette


formulation, on obtient :



 min w
+ u T (x k − y l ) ≥ c T x k

 w k ∈ K, l ∈ L
(DDLA)

 u ∈ Rn

w ∈ R

En ne considérant que les multiplicateurs u ∈ Rn de la forme λA ∈ Rn ,


où λ est un vecteur de Rm , et en substituant dans (DDL), on retombe
sur (DL).

Autrement dit,
z DDLA = minn Lx,y (u) ≤ min Lx,y (λT A) = minm v (DL(λ)) = z DL .
u∈R λT ∈Rm λ∈R

42
Test

On considère un problème d’affectation de coût minimum, spécifié pour


une matrice carrée D d’ordre n à composantes non-négatives.

a) Montrer que la somme M des minima en lignes constituent une


borne inférieure du coût de toute solution.
b) Soit M 0 la somme des minima en colonnes de la matrice obtenue à
partir de D en retranchant de chaque élément de chaque ligne la
valeur de l’élément minimum de cette ligne. Montrer que M + M 0
est une évaluation, en général plus serrée que M.
c) Appliquer cette méthode d’évaluation pour résoudre l’exemple donné
par la matrice :
 
7 3 5 7
 6 ∞ ∞ 8 
D=
 

 6 5 1 5 
11 4 ∞ 11

43

Vous aimerez peut-être aussi