Chapitre6 Ilyas
Chapitre6 Ilyas
Chapitre6 Ilyas
Ilyas Himmich
i.himmich@insea.ac.ma
13 janvier 2022
Motivation
Définition de la dualité
Complémentarité
2
Motivation
Étant donnée un programme linéaire sous la forme vectorielle :
max z = ct x
Ax ≤ b (1)
x≥0
Questions
Est ce qu’on peut maximiser jusqu’à l’infini ?
Peut-on trouver une borne supérieur sur x ?
Exemple
max z = x1 + x2
4x1 + 5x2 ≤ 20
2x1 + x2 ≤ 6 (2)
x2 ≤ 2
x1 , x2 ≥ 0
3
Motivation
La région admissible (domaine réalisable) est bornée. La solution optimale est alors
finie.
Soit x = (x1 , x2 ) une solution réalisable quelconque. On a :
z = x1 + x2 ≤ 2x1 + x2 ≤ 6 (4)
Cette borne peut être améliorée davantage :
z = x1 + x2 = 12 (2x1 + 2x2 )
= 12 (2x1 + x2 ) + 21 x2
(5)
≤ 12 6 + 12 2
≤4
4
Motivation
On peut alors borner z supérieurement avec une combinaison linéaire des termes de
gauche des contraintes comme suit :
4y1 + 2y2 ≥ 1
5y1 + y2 + y3 ≥ 1 (7)
y1 , y2 , y3 ≥ 0
La meilleure borne supérieure est la solution du système :
min 20 y1 + 6 y2 + 2 y3
s.c. 4y1 + 2y2 ≥ 1
(8)
5y1 + y2 + y3 ≥ 1
y1 , y2 , y3 ≥ 0
5
Motivation
Résumé
Trouver une combinaison valide des contraintes permettant de borner terme à
terme la fonction objectif :
max z = x1 + x2
4x1 + 5x2 ≤ 20 ×y1
2x1 + x2 ≤ 6 ×y2
x2 ≤ 2 ×y3
(4y1 + 2y2 ) x1 + (5y1 + y2 + y3 ) x2 ≤ 20y1 + 6y2 + 2y3
6
Définition
min zD = yT b min zD = bT y
yT A ≥ cT ≡ AT y ≥ c
y ∈ Rm+ y ∈ Rm+
7
Dé nition de la dualité
Remarques
8
Dé nition de la dualité
Exercice 1
Montrer que le dual du dual est le primal.
Exercice 2
Donner le dual du problème primal suivant :
max z = aT x + bT y
AT x ≤ c
BT y ≤ d (10)
T
c y=e
y≥0
9
Dé nition de la dualité
Exercice 3
Donner le dual du problème primal suivant :
max z = c x
( ) ( )
{ A b
Ax = b x≤
(P) ⇔ −A −b
x ≥ 0
x≥0
10
Remarque
On peut construire le dual en utilisant la définition de la dualité après passage à la
forme canonique. Néanmoins, on peut le faire directement en se basant sur ls règles
suivantes.
Théorème
Les liens entre le programme primal et son dual sont les suivants :
Primal Dual
maximisation minimisation
coefficient de z second membre des contraintes
second membre
des contraintes coefficient
de w
= sans contrainte de signe
contrainte ≤ variable ≥0
≥ ≤0
sans contrainte de signe =
variable ≥0 contrainte ≥
≤0 ≤
11
Interprétation économique de la dualité
Problème de l’agriculteur
L’agriculteur cherche à maximiser le profit sous contraintes de ressources
disponibles.
Le problème primal (P) est :
s.c x1 + x2 ≤ 150
4x1 + 2x2 ≤ 440
x1 + 4 x2 ≤ 480
x1 ≤ 90
x1 ≥ 0 et x2 ≥ 0
12
Interprétation économique de la dualité
Scénario
Supposons qu’un client (grossiste) voudrait acheter la totalité de nos ressources
disponibles. Notre agriculteur acceptera certainement cette proposition si le prix
offert par ce client lui procure au moins le même profit.
Le problème du client consiste à minimiser les frais d’achat des ressources : c’est à
dire 150y1 + 440y2 + 480y3 + 90y4 sous la contrainte que les prix satisfont notre
agriculteur. Il devrait donc proposer des prix à chacune de ces ressources.
• y1 représente le prix d’un hectare de terrain.
• y2 le prix d’un m3 d’eau.
• y3 le prix d’une heure de main d’oeuvre.
• y4 le prix de la permission de la culture d’un hectare de tomates.
13
Interprétation économique de la dualité
14
Interprétation économique de la dualité
Problème du client
Le client cherche alors à minimiser les coûts d’achat des ressources sous contraintes
de profits imposés par le client.
Ainsi le problème du client est (D) :
s.c y1 + 4 y2 + y3 + y4 ≥ 1000
y1 + 2 y2 + 4 y3 ≥ 2000
y1 , y2 , y3 et y4 ≥ 0
15
Interprétation économique de la dualité
16
Dualité forte et faible
Notation
cT x ≤ yT b
17
Dualité forte et faible
Corrolaire 1
• Si (P) est réalisable non borné (zP = +∞), alors (D) est non réalisable (Y = ∅).
• Si (D) est réalisable non borné (zD = −∞), alors (P) est non réalisable (X = ∅).
Corrolaire 2
S’il existe x∗ ∈ X et y∗ ∈ Y, tels que : cT x∗ = y∗ T b, alors :
• x∗ est optimale pour (P).
• y∗ est optimale pour (D).
18
Dualité forte et faible
Corrolaire 1
• Si (P) est réalisable non borné (zP = +∞), alors (D) est non réalisable (Y = ∅).
• Si (D) est réalisable non borné (zD = −∞), alors (P) est non réalisable (X = ∅).
19
Dualité forte et faible
Rappelons les trois cas qui peuvent se produire pour un programme linéaire (PL) :
• RB : il existe une ou plusieurs solutions optimales finies.
• RNB : la solution optimale est infinie (z = +∞).
• NR : le PL ne possède pas de solutions réalisables.
Théorème
Seuls les trois cas suivants peuvent se produire :
A : (P) et (D) possèdent des solutions optimales finie et zP = zD
B : (P) ou (D) possède une solution réalisable, mais pas les deux.
C : (P) et (D) ne sont pas réalisables.
20
Dualité forte et faible
(D)
RB RNB NR
RB A × ×
(P) RNB × × B
NR × B C
Théorème
Seuls les trois cas suivants peuvent se produire :
A : (P) et (D) possèdent des solutions optimales finie et zP = zD
B : (P) ou (D) possède une solution réalisable, mais pas les deux.
C : (P) et (D) ne sont pas réalisables.
21
Dualité forte et faible
Exercice
Analyser l’ensemble des solutions du problème :
(P) zP = max cT x
x
Ax = 0
c≥0
22
Complémentarité
Notation
(P) zP = maxx cT x avec x ∈ X = {x ∈ Rn /A x ≤ b , x ≥ 0}
(D) zD = miny yT b avec x ∈ Y = {b ∈ Rm /yT A ≤ cT , y ≥ 0}
[y∗ T A − cT ] x∗ = 0 = y∗ T [A x∗ − b]
Définition
• [A x∗ − b] : Écart primal.
• [y∗ T A − cT ] : Écart dual.
23
Complémentarité
Remarque
Pour vérifier si x∗ est une solution optimale de (P), il suffit de vérifier l’existence d’une
solution y∗ ∈ Rm telle que :
• y∗i = 0 lorsque (A x∗ )i < bi
T
• (y∗ A)j = cj lorsque x∗j > 0.
Puis on vérifie si y∗ est dual réalisable.
24
Complémentarité
Exercice
Est ce que la solution y = (0, 43 , 32 , 53 , 0)T est optimale pour le problème primal suivant ?
Max zP = 7 y1 + 6 y2 + 5 y3 − 2 y4 + 3 y5
s.c : y1 + 3 y2 + 5 y3 − 2 y4 + 2 y5 ≤ 4
4 y1 + 2 y2 − 2 y3 + y4 + y5 ≤ 3
2 y1 + 4 y2 + 4 y3 − 2 y4 + 5 y5 ≤ 5
3 y1 + y2 + 2 y3 − y4 − 2 y5 ≤ 1
y1 , y2 , y3 , y4 et y5 ≥ 0
25