Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
15/12/2013
1
RCP104
Optimisation en Informatique
2013 – 2014
Dr. Nazih [email protected]
http://nouwayed.yolasite.com
Chapitre 4: Programmation Linéaire (PL)
Sommaire
� Introduction
� Terminologie de base
� Exemples de modélisation
� Modèle général de PL
� Méthodes de résolution� Utilisation d’un solveur
� Résolution graphique� Un problème à deux variables
� Méthode du simplexe
� Dualité en PL
2 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
2
Introduction
RCP104 – Optimisation en Informatique3
� Un problème en Recherche Opérationnelle
� Exemple : problème classique de planification� Affecter des ressources limitées à plusieurs activités concurrentes
� Programme = Plan (solution de ce problème)� Fonction linéaire : fonction dans laquelle chaque variable évolue
linéairement
f (x1, x2...... xn) = c1 x1 + c2 x2 +...+ cn xn
� Exemple : on dira que le prix d'un plein d'essence est une fonction linéaire du nombre de litres mis dans le réservoir car :� pour zéro litre, on paie zéro euro,� pour un litre, on paie 1,40 euro,� pour 2 litres on paie 2,80 euros,� et pour N litres, on paie 1,4 x N euros.
� Programme linéaire� Programme mathématique où toutes les fonctions sont linéaires
Prix(x)=1,4x
Novembre 2013
Exemple d’un modèle de PL (1/4)
RCP104 – Optimisation en Informatique4
Données du problème (Entreprise Clotûres Martin)
� Trois usines (Usine 1, Usine 2, Usine 3)
� Deux types de produits (Produit 1, Produit 2)
� Capacité limitée de production de chaque usine (par semaine)
� Profit par lot (20 unités de chaque produit)
Temps de production (h / lot) Capacité de
production (h/semaine)
Produit 1 Produit 2
Usine 1 1 0 4
Usine 2 0 2 12
Usine 3 3 2 18
Profit (€) / lot 3000 5000
Novembre 2013
15/12/2013
3
RCP104 – Optimisation en Informatique5
Énnoncé du problème : déterminer le taux de production pour chaque produit
(nombre de lots par semaine) de façon à maximiser le profit total
Nota : Chaque lot du produit 1 (2) est le résultat combiné de la production aux
usines 1 et 3 (2 et 3)
� Variables
� x1 : nombre de lots du Produit 1
� x2 : nombre de lots du Produit 2
� Fonction objectif : Maximizer Z = Profit total en milliers d’euros
� Z = 3 x1 + 5 x2
Exemple d’un modèle de PL (2/4)
Novembre 2013
Exemple d’un modèle de PL (3/4)
RCP104 – Optimisation en Informatique6
� Contraintes
� Contraintes de capacité de production
x1 ≤ 4 (Usine 1)
2 x2 ≤ 12 (Usine 2)
3 x1 + 2 x2 ≤ 18 (Usine 3)
� Contraintes de non-négativité :
x1 ≥ 0, x2 ≥ 0 (nombre d’unités produites ≥ 0)
Novembre 2013
15/12/2013
4
Exemple d’un modèle de PL (4/4)
RCP104 – Optimisation en Informatique7
Maximiser Z = 3 x1 + 5 x2
x1 ≤ 4Sous les contraintes 2 x2 ≤ 12
3x 1 + 2x2 ≤ 18x1 ≥ 0, x2 ≥ 0
Novembre 2013
Terminologie de base en PL (1/2)
RCP104 – Optimisation en Informatique8
� Solution optimale� Solution ayant la meilleure valeur possible de l’objectif
� Solution réalisable (admissible)� Solution pour laquelle toutes les contraintes sont satisfaites (appartient au domaine
réalisable)
� Solution non réalisable� Solution pour laquelle au moins une contrainte n’est pas satisfaite (n’appartient pas au
domaine réalisable)
� Modèle n’ayant aucune solution optimale � Domaine réalisable vide
� Objectif non borné
� Modèle ayant une infinité de solutions optimales
Novembre 2013
15/12/2013
5
Terminologie de base en PL (2/2)
RCP104 – Optimisation en Informatique9
Maximiser Z = 3x1 + 5x2 Maximiser Z = 3x1 + 5x2
x1 ≤ 4 x2 ≤ 4
s.c. x 1 ≥ 5 s.c. x1 ≥ 5
x1 ≥ 0, x2 ≥ 0 x1 ≥ 0, x2 ≥ 0
Maximiser Z = x1 + x2
s.c. x1 + x2 ≤ 4
x1 ≥ 0, x2 ≥ 0
Solution non réalisable
Une infinité de solutions optimales
Objectif non borné
A
C
B
Novembre 2013
Modélisation de problèmes
RCP104 – Optimisation en Informatique10
� Exemple 1 : Gestion des horaires du personnel
� Chaque jour est divisé en Périodes
� On a pu estimer un nombre minimum d’employés (MinEmp) devant être affectés durant chaque période
� Chaque jour est divisé en quarts de travail de 8 heures
� Plusieurs quarts partagent une même période
� Chaque quart de travail exige un salaire particulier
Novembre 2013
15/12/2013
6
Exemple 1 : Données du problème
RCP104 – Optimisation en Informatique11 Novembre 2013
Exemple 1 : Modèle
RCP104 – Optimisation en Informatique12
Énnoncé du problème : combien d’employés doit-on affecter à chaque quart de travail
de façon à minimiser le total des salaires versés, en respectant le nombre minimum
d’employés pour chaque période ?
� Variables
� xj : nombre d’employés affectés au quart j
� Fonction objectif : Minimizer Z
� Z = 170x1 + 160x2 + 175 x3 + 180x4 + 195x5
� Contraintes
� Pour chaque période, le nombre d’employés affectés aux différents quarts doit couvrir le minimum d’employés requis pour cette période
� Exemple, période de 14h à 16h :
x2 + x3 ≥ 64Novembre 2013
15/12/2013
7
Exemple 1 : Modèle détaillé
RCP104 – Optimisation en Informatique13
Minimiser Z = 170x1 + 160x2 +175x3 + 180x4 + 195 x5
x1 ≥ 48x1 + x2 ≥ 79x1 + x2 ≥ 65x1 + x2 + x3 ≥ 87
Sous les contraintes x2 + x3 ≥ 64x3 + x4 ≥ 73x3 + x4 ≥ 82x4 ≥ 43x4 + x5 ≥ 52x5 ≥ 15x j ≥ 0, j = 1,2,3,4,5
Novembre 2013
Exemple 1 : Conclusions
RCP104 – Optimisation en Informatique14
� x1 + x2 ≥ 79 ⇒ x1 + x2 ≥ 65
Cette dernière contrainte est donc redondante et peut être enlevée
� x3 + x4 ≥ 82 ⇒ x3 + x4 ≥ 73
Même observation avec cette contrainte
� Solution optimale (obtenue par le solveur d’Excel) :
(x1, x2, x3, x4, x5) = ( 48, 31, 39, 43, 15)
Novembre 2013
15/12/2013
8
Exemple 2 : un réseau de distribution
RCP104 – Optimisation en Informatique15
� Deux usines (U1, U2)� Un centre de distribution (CD)� Deux entrepôts (E1, E2)� Chaque usine confectionne un certain nombre d’unités d’un
même produit (offre)� Chaque entrepôt requiert un certain nombre d’unités de ce
même produit (demande)� Sur chaque lien (arc) du réseau, il y a un coût de transport par
unité de produit (coût unitaire)� Sur certains arcs, il y a une capacité sur le nombre
d’unités transportées� Conservation du flot : en chaque sommet du réseau,
� Flot sortant = Flot entrant
� Nbre d’unités produites (usines) = Nbre d’unité requises (entrepôt)
Novembre 2013
Exemple 2 : Données du problème
RCP104 – Optimisation en Informatique16 Novembre 2013
15/12/2013
9
Exemple 2 : Modèle
RCP104 – Optimisation en Informatique17
Énnoncé du problème : minimiser le coût de transport total
� Variables � xi,j = nombre d’unités du produit transportées sur l’arc (i, j) (entre
les sommets i et j)
� Fonction Objectif : Minimiser Z= coût de transport en centaines d’€� Z = 2xU1,U2 + 4xU1,CD + 9xU1,E1 + 3xU2,CD + xCD,E2 + 3xE1,E2+ 2 xE2,E1
� Contraintes
� Capacité (sur certains arcs)� Exemple pour l’arc (U1, U2) : xU1,U2 ≤ 10
� Contraintes de non-négativité
Novembre 2013
Exemple 2 : Modèle détaillé
RCP104 – Optimisation en Informatique18
Minimiser Z = 2xU1,U2 + 4xU1,CD + 9xU1,E1+ 3xU2,CD + xCD,E2+ 3xE1,E2+ 2xE2,E1
xU1,U2 + xU1,CD + xU1,E1 = 50__xU1,U2 + xU2,CD = 40
__xU1,CD __ xU2,CD + xCD,E2 = 0
s.c. __ xU1,E1 + xE1,E2__ xE2,E1 = __ 30
__ xCD,E2 __ xE1,E2+ xE2,E1 = __60
xU1,U2 ≥ 0, xU1,CD ≥ 0, xU1,E1 ≥ 0, xU2,CD≥ 0, xCD,E2 ≥ 0, xE1,E2 ≥ 0, xE2,E1≥ 0
Novembre 2013
15/12/2013
10
Exemple 2 : Conclusions
RCP104 – Optimisation en Informatique19
� C’est un problème de flot à coût minimum (ou problème de transport)
� Solution optimale :(xU1,U2, xU1,CD, xU1,E1, xU2,CD, xCD,E2, xE1,E2, xE2,E1) = (0, 40, 10, 40, 80, 0, 20)
Novembre 2013
Modèle général de PL (1/2)
RCP104 – Optimisation en Informatique20
� m ressources� Exemple : 3 usines
� n activités� Exemple : 2 produits
� xj : niveau de l’activité j � Taux de production du produit j
� Mesure de performance globale : Z� Z : Profit total
� Accroissement de Z résultant de l’augmentation d’une unité du niveau de l’activité j : cj
� Quantité disponible de la ressource i : bi� Capacité de prodution maximale (h/semaine)
� Quantité de ressource i consommée par l’activité j : aij� Temps de production d’un lot de produit (h/lot)
Novembre 2013
15/12/2013
11
Modèle général de PL (2/2)
RCP104 – Optimisation en Informatique21
A. Fonction ObjectifMaximiser Z = c1x1 + c2x2 +…+ cnxn
B. Contraintes fonctionnelles a11x1 + a12x2 +…+ a1nxn ≤ b1
a21x1 + a22x2 +…+ a2nxn ≤ b2
am1x1 + am2x2 +…+ amnxn ≤ bm
C. Contraintes de non négativitéx1 ≥ 0, x2 ≥ 0,…, xn ≥ 0
Novembre 2013
Utilisation d’un solveur
RCP104 – Optimisation en Informatique22
� Résoudre le PL servant d’exemple à l’aide du solveur d’Excel
� Bouton Office (rond)
� Options Excel
� Compléments
Installer Complément Solveur
Novembre 2013
15/12/2013
12
Utilisation d’un solveur
RCP104 – Optimisation en Informatique23
� Exemple (Entreprise Clotûres Martin)
Maximiser Z = 3 x1 + 5 x2
x1 ≤ 4
sous les contraintes 2 x2 ≤ 12
3x 1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Novembre 2013
Utilisation d’un solveur
RCP104 – Optimisation en Informatique24
� Exemple (Entreprise Clotûres Martin)
Variable Valeur
x1 2
X2 6
Fonction f(x1,x2) = 3x1 + 5x2 36Contraintes x1<=4 2
2x2<=12 12
3x1 + 2x2 <=18 18
x1>=0 2
x2>=0 6
Novembre 2013
15/12/2013
13
Résolution graphique (1/3)Un problème à deux variables
RCP104 – Optimisation en Informatique25
� Tracer les droites correspondant aux contraintes
� Déterminer le domaine réalisable en vérifiant le sens des inégalités pour chaque contrainte
� Tracer les droites correspondant à la variation de l’objectif� Dans l’exemple : Z = 3x1 + 5x2 x2 = -3/5 x1 + 1/5 Z
� Ordonnée à l’origine (dépend de la valeur de Z) : 1/5Z
� Pente : -3/5
� Maximiser correspond donc à augmenter Z
� Mais : uniquement pour les modèles à deux variables
Novembre 2013
Résolution graphique (2/3)Un problème à deux variables
RCP104 – Optimisation en Informatique26
Maximiser Z = 3 x1 + 5 x2
x1 ≤ 4
s. c. 2 x2 ≤ 12
3x 1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Novembre 2013
� Exemple (Entreprise Clotûres Martin)
15/12/2013
14
RCP104 – Optimisation en Informatique27 Novembre 2013
� Exemple (Entreprise Clotûres Martin)
Résolution graphique (2/3)Un problème à deux variables
Exercice 1Composition d’aliments pour le bétail
RCP104 – Optimisation en Informatique28
� On désire déterminer la composition, à côut minimal, d’un aliment pourbétail qui est obtenu en mélangeant au plus trois produits bruts : orge,arachide, sésame. L’aliment ainsi conditionné devra comporter au moins22% de protéineset 3,6% de graisses, pour se conformer aux exigencesde la clientèle. On a indiqué ci-dessous les pourcentages deprotéines et degraisses contenus, respectivement, dans l’orge, les arachides et le sésame,ainsi que le coût par tonne de chacun des produits bruts :
� On notera xj (j = 1,2,3) la fraction de tonne de produit brut j contenu dans une tonne d’aliment. Formuler le problème algébriquement.
� Montrer qu’il est est possible de réduire la dimension du problème en éliminant x1.� Résoudre graphiquement ce problème.
Produit brut 1ORGE
2ARACHIDES
3SESAME
Pourcentage requis
Pourcentage deprotéines
12% 52% 42% 22%
Pourcentage degraisses
2% 2% 10% 3,60%
Coût par tonne 25 41 39
Novembre 2013
15/12/2013
15
Exercice 1 – Solution (1/2)Composition d’aliments pour le bétail
RCP104 – Optimisation en Informatique29 Novembre 2013
Exercice 1 – Solution (2/2)Composition d’aliments pour le bétail
RCP104 – Optimisation en Informatique30 Novembre 2013
15/12/2013
16
Méthode du simplexeIntroduction
� On a vu comment résoudre graphiquement un PL à deuxvariables. Or la majorité des problèmes réels ontplusieurs variables. D’où la nécessité d’avoir une méthodealgébrique pour résoudre des PLs ayant plus que 2variables
� La méthode du Simplexe est l’une des méthodes les plusanciennes (Dantzig, 1947), et la plus utilisée jusqu’à nosjours, pour résoudre même des problèmes de grandestailles avec quelques milliers de variables et quelquesmilliers de contraintes
31 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeMise en Forme Standard (FS)
Un PL peut avoir des contraintes :� d’égalité (=)� et d’inégalité ( ≥ et ≤ )
Avant l’application du Simplexe, le PL doit être converti enun PL équivalent où :
�Toutes les contraintes sont des égalités,�Toutes les variables sont non négatives (≥ 0),� Le second membre est non négatif (AX ≤ b, b≥0).
Un tel PL est dit sous la forme standard
32 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
17
Méthode du simplexeExemple : Usine de ceintures
Une usine fabrique 2 sortes de ceintures : luxe et standard
Chaque type demande 1m2 de cuir� Une ceinture standard demande 1h de travail� Une ceinture de luxe demande 2h
Chaque semaine, on dispose de 40m2 de cuir et de 60h de travail� Chaque ceinture standard rapporte 3 Euros� Chaque ceinture de luxe 4 Euros
Objectif : Maximiser le profit
33 RCP104 – Optimisation en Informatique Novembre 2013
� x1 = nombre de ceintures de luxe produites par semaine
� x2 = nombre de ceintures standard produites par semaine
� Maximiser Z = 4x1 + 3x2, avec
x1 + x2 ≤ 40 contrainte sur le cuir (1)
2x1 + x2 ≤ 60 contrainte sur le travail (2)
x1, x2 ≥ 0 contrainte de signe (3)
Méthode du simplexeExemple : Usine de ceintures
34 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
18
� Pour convertir la ième contrainte ≤ en une contrainte d’égalité, on définit lavariable d’écart, si (slack variables) qui représente la quantité deressource non utilisée dans cette contrainte
s1 = 40 - x1 - x2 � x1 + x2 + s1 = 40
On doit ajouter s1 ≥ 0 pour que (x1 , x2) satisfasse x1 + x2 ≤ 40.
� Pour une contrainte ≥, on définit ei (excess variables), variable d’excédent,qui est aussi ≥ 0
On obtient alors:Maximizer Z = 4x1 + 3x2s.c. x1 + x2 + s1 = 40
2x1 + x2 + s2 = 60x1, x2, s1, s2 ≥ 0
Méthode du simplexeExemple : Usine de ceintures
35 RCP104 – Optimisation en Informatique Novembre 2013
� Remarque : L'impact de ces variables d'écart sur la fonction objectif estnul. Ceci explique le fait que leur existence soit tout simplement liée à unemise en forme du programme linéaire initial.
� En général, la mise en forme d’un PL donne :
),...2,1(,0
...
...
.....n
xn
c...2
x2
c1
x1
cmax Z
2211
22222121
11212111
nix
bxaxaxa
bxaxaxa
bxaxaxacs
i
mnmnmm
nn
nn
=≥
=+++
=+++
=+++
+++=
…
Méthode du simplexeExemple : Usine de ceintures
36 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
19
� On définit A = (ai j) , ; ;
� (PL) : Max ct xs.c. Ax = b
x ≥ 0
=
nx
x
x
xM
2
1
=
mb
b
b
bM
2
1
=
nc
c
c
cM
2
1
Méthode du simplexeExemple : Usine de ceintures
37 RCP104 – Optimisation en Informatique Novembre 2013
FS
Remarque : pour avoir la forme standard, les équations doivent, si nécessaire, être multipliées par (-1) pour avoir b ≥≥≥≥ 0
Méthode du simplexeAnalyse algébrique
1. Variables de base
� On appelle Base une sous matrice régulière de A. Il faut que lamatrice A(m,n) soit de rang m
�Pas de contrainte (ou équation) redondante
Rappel : n : nombre de variables, m: nombre de contraintes
� Une solution de base est obtenue en posant n − m variableségales à 0, et en résolvant les m ( n-(n-m)=m ) variablesrestantes, qui sont les variables de base (VB)
� Les n−m variables à 0 sont les variables hors base (VHB)
� Des choix différents de VHB donnent lieu à des différentessolutions de base
38 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
20
� Représentation
xtB xt
H
ctb ct
H
B
base
H
hors base
m colonnes n − m colonnes
39 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
� Représentation matriciellexB
A = [B | H] , x = , ct = [ctB| ct
H]
xH
Ce qui donne Z = ct x = ct
B xB + ctH xH
Ax = b � B xB + H xH = b
Une solution de base est telle quexH = 0 BxB = b
xB = B−1b
40 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
21
Exemple
� Soit le système suivant :
x1 + x2 = 3
−x2 + x3 = −1
� n=3 , m=2 : n-m=3-2=1 = nombre de Variables HB (VHB)
� Si on pose VHB = {x3}, alors VB = {x1, x2}. On résout
x1 + x2 = 3
−x2 = −1
� Ce qui donne x1 = 2 et x2 = 1.
Remarque : certains choix de variables peuvent ne pas générer de solution de base
41 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
2. Solutions de base réalisables (SBR)
� Une solution de base est dite réalisable si :
xB = B−1b ≥ 0
� Si le vecteur xB contient des termes nuls, on dira que cettesolution est une solution de base dégénérée (peut être associéeà plus qu’une base).
42 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
22
Exemple de SBR (1/2)� Soit le problème : min − x1 − 2x2
s.c. x1 + 2x2 ≤ 4
2x1 + x2 ≤ 5
x1 , x2 ≥ 0
� Trouver la FS ?
on a : min − x1 − 2x2
s.c x1 + 2x2 + x3 = 4
2x1 + x2 + x4 = 5
x1 , x2 , x3 , x4 ≥ 0
� 4 variables (n=4) et 2 contraintes (m=2)
43 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
(PL) : min − x1 − 2x2s.c x1 + 2x2 + x3 = 4
2x1 + x2 + x4 = 5x1 , x2 , x3 , x4 ≥ 0
� On peut essayer de constituer une base en utilisant l’ensemble B = {1, 3},� Trouver xB ?
B = [A1A3] = 1 1 H = [A2A4] = 2 02 0 1 1
xB = x1 , xH = x2x3 x4
� L’inverse de B existe, donc B correspond à une base B−1 = 0 1/2
1 −1/2
1 2 1 0
2 1 0 1A =
44 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
Exemple de SBR (2/2)
15/12/2013
23
� La solution de base correspondante est donc :
xB = B−1b = 0 1/2 4 = 5/2 = x1 > 0
1 −1/2 5 3/2 x3
Cette solution est bien une SBR
Rappel
45 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
3. Conditions d’optimalité d’une SBR
Soit x une SBR associée à la base B. On a alors
Soit x une solution réalisable quelconque de PL
On a z(x)= c x et z(x) = cx = cB B-1 b
Calculons z(x) - z(x)
On a b=Ax ; Par conséquent :
z(x) - z(x) = c x-cx = cx - cB B-1 b = cx - cB B-1 Ax = (c – cB B-1 A)x
Appelons ∆ (x) = (c - cB B-1 A), alors z(x) - z(x) = ∆∆∆∆ (x). x
− ←= ←
B1
H
xB b
xx0
46 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
24
� Théorème : soit x une SBR de PL. ∆∆∆∆(x) ≤≤≤≤ 0 ⇒⇒⇒⇒ x est optimal.
Démonstration
Remarque: pour simplifier la notation, nous allons utiliser la notation ∆ au lieu de ∆(x)
� Soit x une solution réalisable de PL. z(x) peut s’écrire :
z(x) = cB B-1 b + ∆. x = z(x) + ∆. x
∆ ≤ 0 ⇒ z(x) ≥ z(x), puisque x ≥ 0
Ceci est vrai ∀ x solution réalisable; d'oùx est optimal.
Remarque : c’est une condition suffisante. Elle devient aussi nécessaire si la SBR est non dégénérée.
47 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
4. Théorèmes fondamentaux
� Théorème 1 : La région réalisable pour tout problème deprogrammation linéaire est un ensemble convexe. Si un PLpossède une solution optimale, alors un point extrême de larégion réalisable doit être optimal.
� Théorème 2 : Pour tout LP, il existe un point extrêmeunique de la région réalisable qui correspond à chaquesolution de base réalisable. Egalement, il existe au moinsune SBR qui correspond à chaque point extrême de larégion réalisable.
48 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
25
� Illustration des théorèmesOn reprend l’exemple des ceintures de cuir, c-à-d maximiser z, avec :
z = 4x1 + 3x2
x1 + x2 + s1 = 40
2x1 + x2 + s2 = 60
x1, x2, s1, s2 ≥ 0
49 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
Solution optimale x1=4; x2=20 z=140
Compléter le tableau suivant ?
Base Hors-base SBR Point extrême
x1, x2 s1, s2 s1 = s2 = 0, x1 = x2 = 20 Ex1, s1 x2, s2 x2 = s2 = 0, x1 = 30, s1 = 10 Cx1, s2 x2, s1 x2 = s1 = 0, x1 = 40, s2 = −20 Non réalisable, s2 < 0x2, s1 x1, s2 x1 = s2 = 0, s1 = −20, x2 = 60 Non réalisable, s1 < 0x2, s2 x1, s1 x1 = s1 = 0, x2 = 40, s2 = 20 Bs1, s2 x1, x2 x1 = x2 = 0, s1 = 40, s2 = 60 F
50 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
26
On a l’équivalence entre SBR et points extrêmes suivants :
Base Hors-base SBR Point extrême
x1, x2 s1, s2 s1 = s2 = 0, x1 = x2 = 20 Ex1, s1 x2, s2 x2 = s2 = 0, x1 = 30, s1 = 10 Cx1, s2 x2, s1 x2 = s1 = 0, x1 = 40, s2 = −20 Non réalisable, s2 < 0x2, s1 x1, s2 x1 = s2 = 0, s1 = −20, x2 = 60 Non réalisable, s1 < 0x2, s2 x1, s1 x1 = s1 = 0, x2 = 40, s2 = 20 Bs1, s2 x1, x2 x1 = x2 = 0, s1 = 40, s2 = 60 F
51 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
5. Nombre de solutions possibles
� Le nombre de bases candidates est égal à
Cmn = n! / (m! (n−m)!)
� Le nombre de SBR est donc ≤ Cmn c-à-d fini, mais peut être très large
� Puisque le nombre de telles bases peut être très large, il est pratiquementimpossible de trouver la solution optimale à partir d’une formule compacte
Il nous faut donc utiliser un algorithme systématique (procédureitérative) de recherche
52 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
15/12/2013
27
� Définition d’un algorithme
Un algorithme est un ensemble de règles employées pourobtenir des résultats à partir de données spécifiques, dans lequelchaque étape est bien définie et peut être traduite sous formed’un programme informatique.
� Simplexe
Le simplexe est un algorithme ou méthode de recherche quigarantit de trouver un optimum d’un PL (s’il existe) en unnombre fini d’itérations.
53 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeAnalyse algébrique
1. Principe
L’algorithme du simplexe pour une maximisation suit les étapes suivantes :
1.Trouver une SBR pour le PL, appelée la SBR initiale
2. Déterminer si la SBR courante est optimale (Δ ≤ 0)
Sinon,
Trouver une autre SBR qui possède une valeur z plus élevée
3. Retourner au point (2) avec la nouvelle SBR comme SBR courante
54 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
28
2. Tableau canonique
� (PL) : Max z = ct xs.c. Ax = b
x ≥ 0
Comme on a :xB
A = [B | H] , x = , ct = [ctB| ct
H]
xH
Le PL peut ainsi s’écrire comme suit :
B xB + 0 (-z) + H xH = bcB xB + (- z) + cHxH = 0
55 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
� Sous forme matricielle on aura :
� Sous forme d’un tableau, le PL peut être présenté comme suit :
B
B H
H
xB 0 H b
zc 1 c 0
x
− =
0cH1cB
bH0B
xH-zxB
2ème membre1er membre
56 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
29
� Le tableau canonique relatif à la base B est obtenu en transformant la matrice sous les variables xB et –z en une matrice identité d’ordre m+1
� Pour ce faire, on multiplie à gauche chaque colonne du tableau par la matrice :
0cH1cB
bH0B
xH-zxB
2ème membre1er membre
−=
−
−−−
1
0
1
0
1
111
Bc
B
c
B
BB
57 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
� Le tableau canonique relatif à B est donc le suivant :
où B-1b ≥ 0.
On rappelle que : Δ = c - cB B-1 A et peut être aussi partitionnée en ΔB et ΔH
selon la SBR x
On aura alors : ∆∆∆∆ = (∆∆∆∆B ∆∆∆∆H) = (cB – cB B-1B cH – cB B-1H) = (0 cH – cB B-1H)
xB -z xH
I 0 B-1H B-1b
0 1 cH – cB B-1H – cB B-1b
58 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
30
Soient ,
Notons par : et
=
m
B
x
x
x
xM
2
1
= +
+
n
m
m
H
x
x
x
xM
2
1
=
−
jm
j
j
jm
j
j
a
a
a
B
a
a
a
,
,2
,1
1
,
,2
,1
MM
=
−
jm
j
j
jm
j
j
b
b
b
B
b
b
b
,
,2
,1
1
,
,2
,1
MM
59 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
� Notre tableau canonique devient ainsi :
Variablesde base
x1 …xm -z xm+1 … xn Valeurs desvariables de
base
x1..
xm
1 … 0 0 a1,m+1 … a1,n
0 … 1 0 am,m+1 … am,n
b1..
bm
-z 0 … 0 1 ∆ m+1 … ∆ n – cB B-1b
60 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
xB -z xH
I 0 B-1H B-1b
0 1 cH – cB B-1H – cB B-1b
15/12/2013
31
3. Itérations de Simplexe� Définition : Pour tout problème de PL, deux SBR sont adjacentes si leur
ensembles de variables de base ont m − 1 variables de base en commun.
La question quelle est la variable entrante, et celle sortante?
Construction du tableau initial
Etape 1
Solution optimale FinOui
Non
Déplacement (pivotage) vers une SBR adjacente
Etape 2
61 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
Remarque : Si la SBR est non dégénérée, le déplacement implique un point
extrême adjacent ;
Si la SBR est dégénérée, la base change mais on reste au même point extrême
(une nouvelle variable nulle).
Pour se déplacer d’une SBR à une autre adjacente, une variable hors base (variable entrante xe) va prendre la place de l’une
des variables de base (xs)
62 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
32
Variables de base
x1 …xs …xm -z xm+1 … xe … xn Valeurs des var. de base
x1.
xs.
xm
1 … 0 … 0 0 a1,m+1 … a1,e …a1,n
0 … 1 … 0 0 as,m+1 … as,e…as,n
0 … 0… 1 0 am,m+1 am,e … am,n
b1.bs.
bm
-z 0 … 0 … 0 1 ∆ m+1 … ∆ e … ∆ n -cBB-1b = -z
Comment choisir la variable entrante & la variable sortante?
63 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
3.1. Choix de la variable entrante
Dans une SBR toutes les variables hors base sont nulles (xe =0). Pour faireentrer xe, on augmente sa valeur, par exemple de λ ≥ 0 (xe = xe + λ) tout enmaintenant à zéro toutes les autres variables hors base.
1er critère de Dantzig : nous indique le choix de la variable entrante. Cedernier est basé sur la contribution éventuelle de xe à la fonction objectif.
Puisque z(x) = z(x) + ∆. x � ∂ z(x)/ ∂xj= ∆j = taux de variation de z parrapport à xj.
Par conséquent on choisit la variable, xe, ayant le taux d’augmentationmaximal de z(x)(PL de max), c-à-d le∆j maximal :
xe est telle que ∆∆∆∆e = max{ ∆∆∆∆j , où j= m+1, …, n ; ∆∆∆∆j > 0}
64 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
33
2ème critère de Dantzig : nous indique la valeur de la variable entrante (λ).
Pb de maximisation : on désire donc augmenter xe le maximum possible,tout en satisfaisant les contraintes. Donc, les valeurs des variables de basedoivent changer tout en satisfaisant les contraintes suivantes :
xi + ai,m+1 xm+1 + …+ ai,e xe…+ai,n xn = bi ∀ i = 1, …, m
Comme xe = λ ⇒ xi =bi - ai,e λ
La valeur deλ doit être choisie telle que : xi = bi - ai,e λ ≥ 0, ∀ i = 1, …, m
65 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
� Pour i tel queai,e > 0, on doit choisir λ telle que λ ≤ bi /ai,e
� La valeur maximale de λ qui satisfait ces contraintes est
λλλλmax = min {bi /ai,e : ∀∀∀∀ i = 1, …, m et ai,e > 0}
� On en déduit la variable sortante :
xs telle quebs /as,e = min {bi /ai,e : ∀ i = 1, …, m et ai,e > 0}
66 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
34
� On appelle :as,e : élément pivot
Ligne s : ligne pivot
Colonne e : colonne pivot
� Maintenant on a donc une nouvelle base B’ = {1, …, e, …, m} avec xs étantune nouvelle variable hors base
� Il faudra ainsi représenter le PL sous la forme canonique associée à B’
� La colonne de xe doit être transformée afin de conserver la matriced’identité :
s
0
1
0
a
a
a
e,m
e,s
e,1
Ligne ←
→
M
M
M
M
67 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
� Pour ce faire, on applique les opérations élémentaires suivantes (selon Gauss-Jordan) :
OP1 : Division de la ligne pivot par l’élément pivot as,e
asj’ = as,j /as,e ∀ j, �ase’ = 1
68 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
Variables de base
x1 …xs …xm -z xm+1 … xe … xn Valeurs des var de base
x1.
xs.
xm
1 … 0 … 0 0 a1,m+1 … a1,e …a1,n
0 … 1/ as,e… 0 0 as,m+1’ … 1 …as,n’
0 … 0… 1 0 am,m+1 am,e … am,n
b1.
bs/as,e
.bm
-z 0 … 0 … 0 1 ∆ m+1 … ∆ e … ∆ n -cBB-1b = -z
15/12/2013
35
Variables de base
x1 …xs …xm -z xm+1 … xe … xn Valeurs des var de base
x1.
xs.
xm
1 … 0 … 0 0 a1,m+1 … a1,e …a1,n
0 … 1/ as,e… 0 0 as,m+1’ … 1 …as,n’
0 … 0… 1 0 am,m+1 ...am,e … am,n
b1.
bs/as,e
.bm
-z 0 … 0 … 0 1 ∆ m+1 … ∆ e … ∆ n -cBB-1b = -z
OP 2 : ∀ i ≠s, soustraction d’un multiple approprié de la ligne pivot pour
annuler le coefficient de la ligne i , colonne e.
0
0
1
0
69 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
aij’ = aij – aie as,j/as,e ∀ j = 1 , …, n+1 (n+ dernière ligne du tableau) � aie’ = 0
∆j’ = ∆j - ∆e as,j/as,e ∀ j = 1, …, n+1 (n variables plus -z )
Le nouveau tableau canonique est donc le suivant :
Var. de base
x1 … xs … xm -z xm+1 …xe … xn Valeurs des var. de base
x1.xs
.xm
1 … -a1,e (1/as,e) … 0 0 a1,m+1’…0 …a1,n’
0 … 1/as,e … 0 0 as,m+1’…1 …as,n’
0 … -am,e (1/as,e)…1 0 am,m+1’ …0 …am,n
b1–a1,e (bs/as,e) .
bs/as,e
.bm’
-z 0 … - ∆e (1/as,e) 0 1 ∆ m+1 ’ … 0 … ∆ n’ - z - ∆e (bs/as,e)
70 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
36
Exemple (1/3)max z = 3x1 + 2x2
s.c. 3x1 + 2x2 ≤ 120x1 + 1x2 ≤ 50x1, x2 ≥ 0
Question : Trouver la solution optimale en appliqaunt la méthode du Simplexe ?
A. Forme Standard
max z = 3x1 + 2x2
s.c. 3x1 + 2x2 +S1= 120x1 + 1x2 +S2 = 50x1, x2 ≥ 0
71 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
#1 x1 x2 s1 s2 bi
s1 3 2 1 0 120 →
s2 1 1 0 1 50
cj 3 2 0 0 0
↑
#2 x1 x2 s1 s2 bi
x1 3/3=1 2/3 1/3 0 40
s2 1-1=0 1/3 -1/3 1 10 →
∆j 3-3=0 0 -1 0 -120
↑
72 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
Exemple (2/3)B. Tableau canonique
15/12/2013
37
C'est un tableau optimal, mais on remarque la présence d'une variable hors base à ∆j= 0. Cela veut dire que si on la fait entrer dans la base, on va obtenir une autre SB optimale sans que la valeur de z ne change ⇒ le segment formé par ces deux SB optimales contient toutes les solutions optimales du problème.
Un autre tableau optimal :
#3 x1 x2 s1 s2 bi
x1 1 0 1 -2 20
x2 0 1 -1 3 30 →∆j 0 0 -1 0 -120
73 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
Exemple (3/3)B. Tableau canonique
4. Résumé de l’algorithme du simplexe
1. Mettre le PL sous la forme standard2. Trouver une solution initiale de base (SBR initiale)3. Ecrire le PL sous la forme canonique relative à la SBR initiale4. Itérations :
4.1. Si le critère d'arrêt est satisfait (Δ ≤ 0), donner le résultat final (solution optimale) ; sinon aller à l'étape 4-2.4.2. Déterminer la variable entrante (ou la colonne pivot) selon le 1er critère de DANTZIG 4.3. Déterminer la variable sortante (ou la ligne pivot) selon le 2ème critère de DANTZIG4.4. Calculer le nouveau tableau en effectuant une opération de pivot. Retour à 4-1.
74 RCP104 – Optimisation en Informatique Novembre 2013
Méthode du simplexeDétails de la méthode
15/12/2013
38
Dualité en PLIntroduction
Il est possible à partir d’un PL (P) de former un autre programme linéairequ’on appelle programme dual (D) associé à (P). Dans ce contexte, on appelle(P) problème primal.
(P) : max cx (D) : min w = yb
s.c.Ax ≤ b s.c. yA ≥ c
x ≥ 0 y ≥ 0
La notion de dualité est très importante pour le mathématicien, car dans lecas où le primal a beaucoup de contraintes, le dual peut être plus facile àrésoudre que le primal.
Pour l'économiste et le gestionnaire, la dualité est très importante. On verradans la suite son interprétation économique.
75 RCP104 – Optimisation en Informatique Novembre 2013
� bi : quantité totale de la ressource i
� aij : quantité de la ressource i consommée pour fabriquer une unité duproduit j
� cj : coût unitaire du produit j
� yi représente la valeur unitaire de la ressource i
Elle est souvent appelée coût fictif ou prix ombre. C’est le montantmaximum que l’on sera prêt à payer (Client) pour une unitésupplémentaire de le ressource i ou encore le prix minimum auquel onserait prêt à vendre (Fournisseur) une unité de la ressource i.
76 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLInterprétation économique
15/12/2013
39
Considérons l'exemple suivant : une usine fabrique des bureaux, des tableset des chaises.
La fabrication de chaque type de produit nécessite de la matière première(bois) et deux types d’activités : menuiserie et finition. La quantité requise dechaque ressource est donnée comme suit :
ProduitRessource
Bureau Table Chaise Quantité de ressource disponible
Bois (plaque) 8 6 1 48
Menuiserie (heure) 2 1.5 0.5 8
Finition (heure) 4 2 1.5 20
Prix de revient (D) 60 30 20
77 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de maximisation
On désire maximiser le revenu
Question : Modéliser ce problème ?
Variables de décision :
x1 = nombre de bureaux fabriquésx2 = nombre de tables fabriquéesx3 = nombre de chaises fabriquées
(P) max z = 60 x1 + 30 x2 + 20 x3
s.c. 8 x1 + 6 x2 + x3 ≤ 48 (ressource bois)2 x1 + 1.5 x2 + 0.5 x3 ≤ 8 (ressource menuiserie)4 x1 + 2 x2 + 1.5 x3 ≤ 20 (ressource finition)x1, x2, x3 ≥ 0
78 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de maximisation
15/12/2013
40
Supposons qu'un entrepreneur veut acheter toutes les ressources de l’usine(bois, heure menuiserie, heure finition) . Il veut certainement que le prix totalde ces ressources soit minimal. On définit alors :
y1 = prix d'une plaque de bois
y2 = prix d'une heure de menuiserie
y3 = prix d'une heure de finition
L'entrepreneur doit payer : w(y) = 48 y1 + 8 y2 + 20 y3 et désire minimiser w,mais il doit payer suffisamment pour convaincre l’usine de vendre sesressources.
79 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de maximisation
Par exemple, il doit payer au moins 60D pour une combinaison de :
8 plaques de bois + 2 heures de menuiserie + 4 heures de finition car l’usinepeut utiliser ces ressources pour fabriquer un bureau et le vendre pour 60D.
L'entrepreneur doit payer au moins 60D, sinon l’usine ne verra aucune raisonde lui vendre ses ressources ⇒ 8y1 + 2 y2 + 4 y3 ≥ 60
De même on a : 6y1 + 1.5 y2 + 2 y3 ≥ 30
y1 + 0.5 y2 + 1.5 y3 ≥ 20
avec y1, y2, y3 ≥ 0 ← coûts fictifs ou prix ombre (resource shadow price)
80 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de maximisation
15/12/2013
41
Le problème dual est ainsi le suivant :
(D) min w = 48y1 + 8 y2 + 20 y3
s.c. 8y1 + 2 y2 + 4 y3 ≥ 606y1 + 1.5 y2 + 2 y3 ≥ 30y1 + 0.5 y2+ 1.5 y3 ≥ 20y1, y2, y3 ≥ 0
81 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de maximisation
Considérons l’exemple suivant : Une famille désire préparer un menuéquilibré à coût minimal. Ce menu doit être constitué de 6 aliments (notés 1,2, 3, 4, 5 et 6) et doit contenir au moins 9 unités de vitamine A et 19 unités devitamine C.
Les proportions en vitamine A et C de chaque aliment ainsi que les quantitésminimales requises de chaque vitamine et les coûts des différents alimentssont présentés dans le tableau suivant :
Proportions vitamine /Kg d'aliment
1 2 3 4 5 6
Qté min requises /jour
Vitamine AVitamine C
1 0 2 2 1 20 1 3 1 3 2
919
Coût de l'aliment 35 30 60 50 27 22
82 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de minimisation
15/12/2013
42
Question : Modéliser ce problème ?
On définit : xj quantité en kg de l'aliment j, j = 1, ..., 6.
(P) : min z = 35x1 + 30 x2+ 60 x3 + 50 x4 + 27 x5+ 22 x6s.c. x1 + 2 x3 + 2 x4 + x5 + 2 x6 ≥ 9 (Vitamine A)
x2 + 3 x3 + x4 + 3 x5 + 2 x6 ≥ 19 (Vitamine C)xj ≥ 0 ∀ j = 1, ..., 6
Un fabriquant compte lancer un projet dans le domaine alimentaire. Il proposede fabriquer des comprimés de chaque vitamine et de les vendre à la famille.Pour que cette affaire se réalise et prospère, le fabricant doit persuader lafamille d'obtenir les quantités requises des vitamines en utilisant lescomprimés au lieu des aliments. La famille, étant consciente de l'aspectmonétaire, n'utilisera les comprimés que si leurs prix sont compétitifs parrapport aux prix des aliments. Ceci impose plusieurs contraintes sur les prixdes comprimés que le fabriquant doit fixer.
83 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de minimisation
Soient y1 : prix de la vitamines A
y2 : prix de la vitamine C
Prenons par exemple l'aliment 5 : Un kg de ce dernier contient 1 unité de A et 3 unités de C. Du point de vue du fabricant, le kg de l'aliment 5 vaut y1 + 3 y2. Or un kg de l’aliment 5 coûte 27.
Il faut donc que y1 + 3 y2 ≤ 27, sinon la famille réalisera que les prix du fabriquant ne sont pas compétitifs (elle aura intérêt à acheter l’aliment 5).
De l'autre côté, puisque le fabricant veut gagner dans cette affaire, y1 et y2doivent être ≥ 0. De plus, si la famille décide d'utiliser les comprimés, elle en achètera juste le nécessaire (9 et 19 unités), sinon, ça coûtera cher étant donné que y1 et y2 ≥ 0.
84 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de minimisation
15/12/2013
43
Le revenu du fabricant sera alors w(y) = 9 y1 + 19 y2, et par conséquent, les prix que le fabricant va fixer sont obtenus en trouvant la solution optimale du problème suivant :
max w(y) = 9 y1 + 19 y2
s.c. y1 ≤ 35y2 ≤ 302 y1 + 3 y2 ≤ 602 y1 + y2 ≤ 50y1 + 3 y2 ≤ 272 y1 + 2 y2 ≤ 22y1, y2 ≥ 0
85 RCP104 – Optimisation en Informatique Novembre 2013
Dualité en PLProblème de minimisation
Exercice 2Reprenons l'exemple de MEUBLE
max z = 60 x1 + 30 x2 + 20 x3
(P) s.c. 8 x1 + 6 x2 + x3 ≤ 48 (ressource bois)2 x1 + 1.5 x2 + 0.5 x3 ≤ 8 (ressource menuiserie)4 x1 + 2 x2 + 1.5 x3 ≤ 20 (ressource finition)x1, x2, x3 ≥ 0
Question : Trouver la solution optimale en appliqaunt la méthode du Simplexe ?
86 RCP104 – Optimisation en Informatique Novembre 2013
15/12/2013
44
Exercice 2Reprenons l'exemple de MEUBLE
max z = 60 x1 + 30 x2 + 20 x3
(P) s.c. 8 x1 + 6 x2 + x3 ≤ 48 (ressource bois)2 x1 + 1.5 x2 + 0.5 x3 ≤ 8 (ressource menuiserie)4 x1 + 2 x2 + 1.5 x3 ≤ 20 (ressource finition)x1, x2, x3 ≥ 0
Question : Trouver la solution optimale en appliqaunt la méthode du Simplexe ?
87 RCP104 – Optimisation en Informatique Novembre 2013
x1 x2 x3 S1 s2 s3
s1 0 -2 0 1 -8 2 24
x1 1 1.25 0 0 1.5 -0.5 2
x3 0 -2 1 0 -4 2 8
∆j 0 -5 0 0 -10 -10 -280
Références
RCP104 – Optimisation en Informatique88
� Cours Optimisation en Informatique – Eric Soutif
� Cours Programation Linéaire - Rim Larbi
� Wikipédia
Novembre 2013