You are on page 1of 14

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Recherche opérationnelle

Tentative de définition
Programmation linéaire et recherche
Ensemble de méthodes (algorithmiques, mathématiques,
opérationnelle modélisation) afin de prendre des décisions optimales ou proches
de l’optimum dans des problèmes complexes, qui traitent de la
maximisation d’un profit ou la minimisation d’un coût.
Ioan Todinca
Ioan.Todinca@univ-orleans.fr • Comment aller le plus vite d’Orléans à Berlin, en voiture?
tél. 02 38 41 72 93
bureau : en bas à gauche • Comment ordonnancer les tâches d’un projet en fonction de la
main d’œuvre, tout en minimisant sa durée?
• Comment investir ses 1000 euros d’économie de sorte à
maximiser le profit obtenu après deux ans?

1/56 2/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Des problèmes de RO que vous savez résoudre Programmation linéaire

• Trouver un (plus court) chemin entre deux villes


Les problèmes de programmation linéaire (PL) sont des problèmes
→plus courts chemins dans les graphes d’optimisation où la fonction objectif et les contraintes sont toutes
• Broadcast de coût minimum dans un réseau linéaires.
→ arbres recouvrants de poids minimum.
• Envoi d’un maximum d’information dans un réseau • Modélisation d’un problème réel
→ problème du flot maximum. • Si l’on constate que ce problème s’exprime comme un PL, le
résoudre

3/56 4/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Pourquoi un cours sur la programmation linéaire? Plan du cours

Objectif : apprendre à modéliser les problèmes réels et à résoudre


les programmes linéaires.
1. Introduction + une approche naı̈ve : la méthode graphique
• De nombreux problèmes réels peuvent être exprimés comme 2. L’algorithme du simplexe
des programmes linéaires.
3. Simplexe : comment éviter les pièges
• Les programmes linéaires peuvent être résolus efficacement
4. Dualité
par certains algorithmes.
5. Programmation linéaire en nombres entiers
• Ce sont d’excellents exemples de questions pratiques dont la
résolution nécessite une combinaison de méthodes
algorithmiques, de mathématiques élémentaires et de bon Bibliographe : [V. Chvátal, Linear Programming]
sens.

5/56 6/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Un exemple : le problème Le même exemple après modélisation

Considérons un agriculteur qui possède des terres, de superficie


égale à H hectares, dans lesquelles il peut planter du blé et du
maı̈s. L’agriculteur possède une quantité E d’engrais et I maximiser Pb xb + Pm xm (maximiser le revenu net)
d’insecticide. Le blé nécessite une quantité Eb d’engrais par contraintes xb + xm ≤ H (surface)
hectare et Ib d’insecticide par hectare. Les quantités xb ≥ 0
correspondantes pour le maı̈s sont notées Em et Im . xm ≥ 0
Eb xb + Em xm ≤ E (engrais)
Soit Pb le prix de vente du blé et Pm celui du maı̈s. Si l’on note Ib xb + Im xm ≤ I (insecticide)
par xb et xm le nombre d’hectares à planter en blé et en maı̈s,
comment exprimer le fait que l’agriculteur souhaite maximiser son
gain, tout en restant dans les limites de ses ressources?

7/56 8/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Un autre exemple
Programme linéaire : définition

• Variables réelles : Vous disposez de 10000 euros que vous souhaitez investir. Votre
x1 , x2 , . . . , xn banque vous propose trois types d’investissements. Pour
• Fonction objectif linéaire, à optimiser (min ou max) :
l’investissement A le rendement est de 9% et la somme maximum
que l’on peut investir est de 4000 euros. Pour l’investissement B
z = c1 x1 + c2 x2 + · · · + cn xn
on peut investir jusqu’à 5000 euros, avec un rendement de 4%.
• Contraintes linéaires (égalités ou inégalités) :
Enfin le produit C a un rendement de 8% pour un montant
a11 x1 + a12 x2 + · · · + a1n xn ≤ b1 maximum de 5000 euros.
a21 x1 + a22 x2 + · · · + a2n xn ≥ b2
··· 1. Exprimer ce problème comme un PL. Donner la solution
am1 x1 + am2 x2 + · · · + amn xn = bm optimale.
2. La banque change d’avis. Si vous souhaitez faire un
Solution : toute affectation des variables qui respecte les investissement (A, B ou C) il faut y mettre la somme exacte
contraintes (respectivement 4000, 5000, et 5000 euros). Mettre à jour
Solution optimale : solution qui optimise (maximise ou minimise) votre modèle ; est-ce toujours un PL?
la fonction objectif.
9/56 10/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

La méthode graphique La méthode graphique

Idée : représenter graphiquement les contraintes et visualiser


l’ensemble des solutions. Identifier une solution optimale. • Variables : x et y (ou x1 et x2 ).
• L’ensemble de points qui satisfont une équation (égalité)
Exemple : linéaire forme une droite.
max x1 + x2 • Les points qui satisfont une inégalité linéaire forment un
contraintes : 2x1 + x2 ≤ 14 demi-plan.
x1 − 2x2 ≥ −8 • L’ensemble des solutions d’un ensemble de contraintes :
2x1 − x2 ≤ 10 polygone convexe.
x1 ≥ 0 • Solution optimale (si elle existe) : sommet du polygone.
x2 ≥ 0

11/56 12/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Trois variables ou plus Questions

• Variables : x1 , . . . , xn
• Donner un exemple de programme linéaire qui n’a pas de
• L’ensemble de points qui satisfont une équation (égalité) solution.
linéaire forme un hyperplan.
• Proposer un PL qui a des solutions, mais pas de solution
• Les points qui satisfont une inégalité linéaire forment un optimale.
demi-espace.
• Proposer un PL qui a plusieurs solutions optimales.
• L’ensemble des solutions d’un ensemble de contraintes :
• Essayer de résoudre par la méthode graphique le système
polyèdre convexe.
suivant :
• Solution optimale (si elle existe) : sommet du polyèdre.
objectif : max 2x + y
Limites : précision ; maximum 3 variables. contraintes : x2 + y2 ≤ 1
Si vous arrivez à visualiser un PL avec 4 variables ou plus... pensez x ≥ 0, y ≥ 0
à consulter un bon psy.

13/56 14/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Algorithme du simplexe PL sous forme standard

n
X
[G. Dantzig, 1947] max cj xj
j=1
• Algorithme de résolution de programmes linéaires
• Facile à comprendre et à implanter n
X
• Efficace en pratique, même pour un nombre important de contraintes : aij xj ≤bi i = 1, 2, . . . , m
j=1
variables et de contraintes
xj ≥ 0 j = 1, 2, . . . , n
• Efficacité au pire cas : on en reparlera, voir aussi cours
d’algorithmique. Question : comment mettre un problème quelconque sous forme
standard?

15/56 16/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Simplexe : un exemple Variables d’écart

PL équivalent :

x4 = 5 − 2x1 − 3x2 − x3
max 5x1 + 4x2 + 3x3 x5 = 11 − 4x1 − x2 − 2x3
contraintes 2x1 + 3x2 + x3 ≤ 5 x6 = 8 − 3x1 − 4x2 − 2x3
4x1 + x2 + 2x3 ≤ 11 z = 5x1 + 4x2 + 3x3
3x1 + 4x2 + 2x3 ≤ 8
x1 , x2 , x3 ≥ 0 max z, sous contraintes : x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
Solution initiale : x1 = x2 = x3 = 0, x4 = 5, x5 = 11, x6 = 8 ;
z = 0.
Si on augmente x1 , ça augmente z!

17/56 18/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Augmenter x1 Nouveau dictionnaire

5 3 1 1
1. De combien ? x1 = 2 − 2 x2 − 2 x3 − 2 x4
x1 ≤ 52 car x4 = 5 − 2x1 − 3x2 − x3 ≥ 0. x5 = 1 + 5x2 + 2x4
1 1 1 3
2. Nouvelle solution ? x6 = 2 + 2 x2 − 2 x3 + 2 x4
x1 = 12 , x2 = x3 = x4 = 0, x5 = 1, x6 = 1
2 ;z= 25
2 . 25 7 1 5
z = − 2 x2 + 2 x3 − 4 x4
3. Reformuler le système afin d’exprimer les variables x1 , x5 , x6 en 2
fonction de x2 , x3 , x4 .
x1 = 52 − 23 x2 − 12 x3 − 21 x4 Augmenter qui? De combien? Qu’obtient-on?
x3 x3 = 1 (x6 = . . . ) à droite : x2 , x3 , x6

19/56 20/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Nouveau dictionnaire (et de trois...) Algorithme du simplexe : cas général


Entrée :
n
X
max cj xj
x3 = 1 + x2 + 3x4 − 2x6 j=1
x1 = 2 − 2x2 − 2x4 + x6
n
X
x5 = 1 + 5x2 + 2x4
contraintes : aij xj ≤ bi i = 1, 2, . . . , m
z = 13 − 3x2 − x4 − x6
j=1
Solution actuelle : x2 = x4 = x6 = 0, x1 = 2, x3 = 1, x5 = 1 ; xj ≥ 0 j = 1, 2, . . . , n
objectif : z = 13
• On introduit m variables d’écart :
Peut-on faire mieux ? Non car x2 , x4 , x6 ≥ 0 et donc z ≤ 13 n
X
xn+i = bi − aij xj (i = 1 . . . , m)
j=1

• La ième contrainte devient xn+i ≥ 0.


21/56 22/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Premier dictionnaire Dictionnaires : un peu de vocabulaire


n
X
xn+i = bi − aij xj (i = 1, . . . , m)
j=1 x4 = 5 − 2x1 − 3x2 − x3
n
X x5 = 11 − 4x1 − x2 − 2x3
z = cj xj x6 = 8 − 3x1 − 4x2 − 2x3
j=1
z = 5x1 + 4x2 + 3x3
max z, sous contraintes : xk ≥ 0 (k = 1, . . . n + m)
• Dictionaire faisable : en mettant à 0 toutes les variables des
membres droits, on obtient une solution du PL
Dictionnaires : équivalents au PL d’origine
• On suppose que notre premier dictionnaire est faisable
• Nous verrons plus tard comment faire pour que ce soit
• n + m + 1 variables x1 , . . . , xn+m et z
toujours le cas
• m équations linéaires de type xk = . . .
• Variables “de gauche” (sauf z) : variables de base x4 , x5 , x6
• tous les membres droits ont les mêmes n variables
• Variables “de droite” : variables hors base x1 , x2 , x3
• objectif : max z sous contraintes ci-dessus plus
xk ≥ 0 (k = 1, . . . n + m)
23/56 24/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Vers une meilleure solution Algorithme du simplexe


x4 = 5 − 2x1 − 3x2 − x3
x5 = 11 − 4x1 − x2 − 2x3
x6 = 8 − 3x1 − 4x2 − 2x3 Initialisation : introduire les variables d’écart et calculer un
z = 5x1 + 4x2 + 3x3 premier dictionnaire faisable ; mettre à 0 les variables hors base
1. Solution courante : variables hors base à 0
tantque il existe une variable hors base xk ayant un coeff positif
2. Trouver une variable hors base xk dont le coefficient dans dans l’expression de z faire
l’expression de z soit strictement positif.
• soit xl = · · · la contrainte la plus contraignante pour
3. S’il n’en existe pas, la solution courante est optimale! augmenter xk
4. Trouver la contrainte la plus forte pour l’augmentation de xk ; • pivoter afin de sortir xl de la base en y faisant rentrer xk
soit xl = · · · cette contrainte.
retourner la solution courante
5. Augmenter xk jusqu’à ce que l’on ait xl = 0.
6. Exprimer xk en fonction de xl et des autres variables hors base.
7. Mettre à jour le dictionnaire, en faisant rentrer xk dans la
nouvelle base et en sortant xl . 25/56 26/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Simplexe : un deuxième exemple Mise sous forme standard

min x1 + 2x2
contraintes x1 + x2 = 10
x1 − x2 ≥ −10
max 5x1 + 5x2 + 3x3 x1 ≥ 0
contraintes x1 + 3x2 + x3 ≤ 3
−x1 + 3x3 ≤ 2 • min z
2x1 − x2 + 2x3 ≤ 4 → max −z
P
2x1 + 3x2 − x3 ≤ 2 • ai xP
i =b P
x1 , x2 , x3 ≥ 0 → ai xi ≤ b et ai xi ≥ b
P
• ai xP
i ≥b
→ −ai xi ≤ −b
• pas de contrainte x ≥ 0
→ on remplace x par x + − x − , avec x + , x − ≥ 0

27/56 28/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Simplexe : les pièges Itération

• Choix de la variable qui entre dans la base.


• Choix de la variable qui sort de la base.
1. Difficulté à trouver une solution initiale Et si aucune contrainte ne limite l’augmentation de la variable
2. Itération : peut-on toujours augmenter strictement l’objectif? hors base?
3. Terminaison, complexité.
Peut-on toujours augmenter strictement l’objectif?
Non. Il se peut que l’on ait une variable hors base avec coéfficient
positif dans z, mais qu’elle ne puisse être augmentée à cause d’une
contrainte.

29/56 30/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Dictionnaires dégénérés Terminaison

Lemme
Si deux dictionnaires ont les mêmes variables de base, ils sont
identiques.
• Une ou plusieurs variables de base ont une valeur nulle.
• On ne peut augmenter aucune variable hors base. Théorème
L’algorithme du simplexe termine sur une solution optimale, ou
On fait néanmoins un changement de base. alors il boucle.
La valeur de l’objectif n’augmente pas
... mais ça devrait aller mieux dans quelques étapes. • Les cas de bouclage sont très rares.
• Le bouclage est facile à détecter.
• Il existe des solutions simples pour éviter le bouclage, par
exemple en choisissant à chaque itération comme variables
sortante et entrante celles d’indice minimum.
31/56 32/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Complexité : nombre d’itérations Initialisation : premier dictionnaire non faisable

Dans la pratique :
• Le nombre d’itérations est proportionnel au nombre de • Trouver un autre dictionnaire faisable.
contraintes initiales (typiquement entre 3m/2 et 3m).
• Ou prouver que le problème n’a pas de solution!
• Croit très peu avec le nombre n de variables initiales.

La méthode du simplexe à deux phases : d’une pierre deux coups.


En théorie (au pire cas) :
• Introduction d’un problème auxiliaire.
• Il existe des exemples qui nécessitent 2n itérations [Klee,
Minty 1972]. • En le résolvant, nous trouverons un dictionnaire faisable du
problème initial ou bien nous saurons que notre problème n’a
• Nombre
 de dictionnaires : autant que de bases possibles, donc
n+m pas de solution.
.
m

33/56 34/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Initialisation : le problème auxiliaire Initialisation : exemple


n
X
max cj xj
j=1

n
X
contraintes : aij xj ≤ bi i = 1, 2, . . . , m max x1 − x2 + x3
j=1 contraintes 2x1 − x2 + 2x3 ≤ 4
xj ≥ 0 j = 1, 2, . . . , n 2x1 − 3x2 + x3 ≤ −5
devient : −x1 + x2 − 2x3 ≤ −1
x1 , x2 , x3 ≥ 0
min x0

n
X
contraintes : aij xj −x0 ≤ bi i = 1, 2, . . . , m
j=1
xj ≥ 0 j = 0, 1, . . . , n

35/56 36/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Simplexe : interprétation géométrique Simplèxe par les tableaux

• Observer graphiquement l’évolution de l’algorithme du


simplexe sur cet exemple :
max x1 + x2
max x1 + x2
contraintes : 2x1 + x2 ≤ 14
contraintes : 2x1 + x2 ≤ 14
−x1 + 2x2 ≤ 8
−x1 + 2x2 ≤ 8
2x1 − x2 ≤ 10
2x1 − x2 ≤ 10
x1 , x2 ≥ 0
x1 , x2 ≥ 0
• Une autre vision du même algorithme
• Chaque solution intermédiaire du simplexe correspond à un • Version très facilement implantable
sommet du polyèdre des contraintes.
• Les “déplacements” d’une solution à la suivante se font le
long des arêtes.

37/56 38/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

D’un tableau à l’autre Tableaux : changement de base


2 1 1 0 0 14 2 1 1 0 0 14
−1 2 0 1 0 8 −1 2 0 1 0 8
2 −1 0 0 1 10 2 −1 0 0 1 10
1 1 0 0 0 0 1 1 0 0 0 0

2 1 1 0 0 14 • Diviser la ligne pivot par le coefficient pivot (pivot := 1)


−1 2 0 1 0 8 • Annuler les autres coefficients de la colonne pivot :
2 −1 0 0 1 10 Li := Li − ri · Lpivot
1 1 0 0 0 0
2 1 1 0 0 14
• Choix de la colonne pivot : coefficient positif sur la dernière − 12 1 0 1
2 0 4
ligne. S’il n’en existe pas, l’optimum est atteint : 2 −1 0 0 1 10
z = −t[m + 1, n + m + 1]. 1 1 0 0 0 0
• Choix de la ligne pivot : celle qui minimise sri parmi toutes les 5
i
2 0 1 − 12 0 10
lignes avec ri positif (ri , resp. si sont les éléments de la ième ligne − 12 1 0 1
2 0 4
se trouvant sur la colonne pivot, resp. la dernière colonne.)
39/56 2 −1 0 0 1 10 40/56

1 1 0 0 0 0
5
2 0 1 − 12 0 10
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

... et on recommence Dualité


5
2 0 1 − 12 0 10
− 12 1 0 1
2 0 4
3
0 0 1
1 14 Idée de base : associer au programme linéaire initial, appelé primal,
2 2
3
0 0 − 12 0 −4 un deuxième programme linéaire appelé le programme dual tel
2
que :
1 0 2 1 • le dual a m variables (autant que de contraintes industrielles
5 −5 0 4
− 12 1 0 1
0 4 dans le primal)
2
3 1
2 0 0 2 1 14 • il a n contraintes industrielles (autant que de variables dans le
3
2 0 0 − 12 0 −4 primal)
2
1 0 5 − 15 0 4 • le dual est un problème de minimisation
1 2
0 1 5 5 0 6 • pour toute solution du dual et toute solution du primal,
3 1
2 0 0 2 1 14 l’objectif du dual est supérieur ou égal à celui du primal
3
2 0 0 − 12 0 −4
2 1
1 0 5 −5 0 4
1 2
0 1 5 5 0 6 41/56 42/56
3 1
0 0 −5 5 1 8
3
2 0 0 − 12 0 −4
2
1 0 5 − 51 0 4
1 2
0 1 5 5 0 6
0 0 − 53 1
5 1 8
0 0 − 35 − 51 0 −10

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Primal :
Théorème (Dualité faible)
n
X
max cj xj Pour toute solution du primal et toute solution du dual, z,
j=1 l’objectif du primal, est inférieur ou égal à w , l’objectif du dual.

n
X Preuve:
contraintes : aij xj ≤ bi i = 1, 2, . . . , m n
X m
X
j=1 z = cj xj contraintes dual :cj ≤ aij yi
xj ≥ 0 j = 1, 2, . . . , n j=1 i=1
Xn Xm
Dual : ≤ ( aij yi )xj commutativité, associativité
m j=1 i=1
X Xm X n n
X
min bi y i = ( aij xj )yi contraintes primal : aij xj ≤ bi
i=1
i=1 j=1 j=1
Xm
m
X ≤ bi yi objectif dual
contraintes : aij yi ≥ cj j = 1, 2, . . . , n
i=1
i=1 = w
yi ≥ 0 i = 1, 2, . . . , m
43/56 44/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Dualité et applications Applications du théorème de dualité

Théorème (Dualité) • Si le primal a beaucoup de contraintes et moins de variables,


Si le primal a une solution optimale x1∗ , . . . , xn∗ alors le dual a une le simplexe sera plus efficace sur le problème dual!
solution optimale y1∗ , . . . , ym
∗ et, pour ces solutions, l’objectif du
• Le dernier dictionnaire du simplexe nous donnera
primal est égal à l’objectif du dual : simultanément une solution optimale pour le primal et pour le
n m dual.
X X
cj xj∗ = bi yi∗ . • Certification : si l’on a les solutions du primal du dual, on
j=1 i=1 vérifie facilement leur optimalité.
• Si l’on a une solution du primal, on vérifiera assez facilement
Observation simple : le dual du dual est le primal. Donc le primal son optimalité!
a une solution optimale si et seulement si le dual a une solution • Interprétation économique : la solution optimale du dual nous
optimale. dira s’il est intéressant d’investir plus pour augmenter
Question : que peut-il se passer si le primal (ou le dual) n’a pas de certaines ressources.
solution, ou si le problème est non borné?
45/56 46/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Preuve du théorème de dualité


D’après le premier dictionnaire
Soit
n
X m
X n
X
z = z∗ + c j xi + c n+i xn+i
z= cj xj
j=1 i=1
j=1
l’expression de z dans le dernier dictionnaire obtenu par le simplexe.
On montre que et d’après le dernier
yi∗ := −c n+i n
X m
X
z = z∗ + c j xj + c n+i xn+i
j=1 i=1
1. est une solution admissible du dual ;
2. satisfait Par construction des dictionnaires, ces expréssions sont égales pour
n
X toute affectation des variables xi (même les affectations qui ne
bi yi∗ = z ∗ ,
sont pas des solutions admissibles)
i=1

c’est donc une solution optimale du dual.


47/56 48/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

z= dernier dico
n m m
X n
X m
X n
X
X X
= z∗ + c j xj + c n+i xn+i yi∗ = −c n+i (z ∗ − bi yi∗ ) + (c j + aij yi∗ )xj = cj xj
j=1 i=1 i=1 j=1 i=1 j=1
n
X m
X n
X En mettant xj := 0, j = 1, . . . , n on obtient
= z∗ + c j xj − yi∗ xn+i xn+i = bi − aij xj
j=1 i=1 j=1 m
X
Xn Xm n
X bi yi = z ∗ ,
= z∗ + c j xj − yi∗ (bi − aij xj ) comm., assoc.
i=1
j=1 i=1 j=1
Xm Xn m
X donc
= (z ∗ − bi yi ) + (c j + aij yi∗ )xj premier dico
w∗ = z∗
i=1 j=1 i=1
n
X (objectif primal = objectif dual).
= cj xj
j=1

49/56 50/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

L’égalité s’écrit maintenant :


Comment interpréter la solution optimale du dual?
n
X m
X n
X
(c j + aij yi∗ )xj = cj xj
j=1 i=1 j=1
Théorème (Ecarts complémentaires)

Pour prouver que les yi∗ forment une solution du dual, remarquer Soient x1∗ , . . . , xn∗ une solution du primal et y1∗ , . . . , ym
∗ une solution

que du primal. Ces deux solutions sont simultanément optimales si et


• les coeffs de z dans le dernier dico sont ≤ 0 donc
seulement si
1. pour tout j = 1, . . . , n,
yi∗ ≥ 0 ;
m
X
• Un prenant xj := 1 et xk := 0 pour tout k 6= j, 1 ≤ k ≤ n on a aij yi∗ = cj ou xj∗ = 0 (ou les deux)
m i=1
X
aij yi∗ + c j = cj 2. et pour tout i = 1, . . . , m,
i=1
n
X
donc, puisque les c j sont négatifs ou nuls,
aij xj∗ = bi ou yi∗ = 0 (ou les deux)
m
X j=1
aij yi∗ ≥ cj .
i=1 51/56 52/56
Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Rappel :
Théorème (Ecarts complémentaires version II)
n
X m
X
z = cj xj contraintes dual :cj ≤ aij yi Une solution x1 , . . . , xn du primal est optimale si et seulement si il
j=1 i=1 existe des nombres y1∗ , . . . , ym
∗ tels que :

Xn Xm
• y1∗ , . . . , ym
∗ forment une solution du dual ;
≤ ( aij yi )xj commutativité, associativité
j=1 i=1
• si xj∗ > 0 alors la jème contrainte du dual est atteinte
m X n n Xm
X X
= ( aij xj )yi contraintes primal : aij xj ≤ bi ( aij yi∗ = cj ) ;
i=1 j=1 j=1 i=1
m
X • si la ième contrainte du primal n’est pas atteinte
≤ bi yi objectif dual Xm
i=1 ( aij xj∗ < bi ) alors yi∗ = 0.
= w j=1

On a z = w ssi les deux inégalités deviennent des égalités : Application : si l’on nous propose une solution du primal, pour
• la jème contrainte du dual est atteinte ou xj = 0 ; vérifier son optimalité il suffit de résoudre le système d’équations
• la ième contrainte du primal est atteinte ou yi = 0 ; (de variables yi∗ ) qui en découle.
53/56 54/56

Introduction Méthode graphique Simplexe Dualité Introduction Méthode graphique Simplexe Dualité

Interprétation économique de la dualité yi∗ : profit obtenu par une unité supplémentaire de ressource i.

Théorème
Primal Dual
X n
Xm Pour des valeurs ti suffisament faibles, le programme linéaire
max cj xj min bi yi Pn
j=1 i=1
max j=1 cj xj
n
X m
X
contr : aij xj ≤ bi contr : aij yi ≥ cj Pn
contr. : j=1 aij xj ≤ bi + ti i = 1, 2, . . . , m
j=1 i=1
xj ≥ 0 j = 1, 2, . . . , n
xj ≥ 0 yi ≥ 0
pour tout i = 1, . . . , m et tout j = 1, . . . , n. a une solution optimale de valeur

z : profit (en euros). m


X
xj : quantité du produit j. z∗ + yi∗ ti
bi : quantité de la ressource i. i=1

cj : euros/unité du produit j. où z∗


est la valeur optimale du PL initial et y1∗ , . . . , ym
∗ est une
aij : unités de ressource i / unité de produit j. solution optimale de son dual.
yi : euros/unité de ressource i.
55/56 56/56

You might also like