Programmation Linéaire
Chapitre 3 : Fondements théoriques
Ilyas Himmich
[Link]@[Link]
24 novembre 2022
Outline
Forme standard et forme canonique
Bases et solutions de base
Points extrêmes et solutions de base
Théorème fondamental de la programmation linéaire
2
Itroduction
La résolution graphique souligne l’importance des points extrêmes dans la
recherche d’une solution optimale d’un modèle continu. Dans un plan
cartésien, ces points sont faciles à repérer ; mais dès que le nombre de
variables de décision est supérieur à 3, il devient impossible de le déterminer
graphiquement.
En pratique, la plupart des modèles linéaires rencontrés mettent en jeu un
grand nombre de variables. Il faut donc traduire en langage algébrique la
notion géométrique de point extrême.
3
Forme standard et forme canonique
Formulation générale
Min f (x1 , x2 , ..., xn ) = c1 x1 + c2 x2 + ...cn xn
et qui vérifie les égalités linéaires :
a11 x1 + a12 x2 + ...a1n xn ≥ b1
a21 x1 + a22 x2 + ...a2n xn ≥ b2
.........................................
a x + am2 x2 + ...amn xn ≥ bm
m1 1
x1 , x2 , ..., xn ≥ 0
où n et m sont des entiers naturels non nuls ; aij , cj et bj sont des réels
donnés, i ∈ I = {1, ..., m} , j ∈ J = {1, ..., n}.
4
Forme standard et forme canonique
Problème de minimisation sous forme standard
n
∑
Min z= cj xj
j=1
Sous les contraintes :
n
∑
aij xj = bi , i = 1, 2, ..., m
j=1
xj ≥ 0, j = 1, 2, ..., n
5
Forme standard et forme canonique
Problème de maximisation sous forme standard
n
∑
Max z= cj xj
j=1
Sous les contraintes :
n
∑
aij xj = bi , i = 1, 2, ..., m
j=1
xj ≥ 0, j = 1, 2, ..., n
6
Forme standard et forme canonique
Problème de minimisation sous forme canonique
n
∑
Min z= cj xj
j=1
Sous les contraintes :
n
∑
aij xj ≥ bi , i = 1, 2, ..., m
j=1
xj ≥ 0, j = 1, 2, ..., n
7
Forme standard et forme canonique
Problème de maximisation sous forme canonique
n
∑
Max z= cj xj
j=1
Sous les contraintes :
n
∑
aij xj ≤ bi , i = 1, 2, ..., m
j=1
xj ≥ 0, j = 1, 2, ..., n
8
Passage entre forme standard et forme canonique
Passage d’un problème de Min à un problème de Max
• Maximum[f(x)] = −Minimum[−f(x)]
• Minimum[f(x)] = −Maximum[−f(x)]
Vérification de la non-négativité des variables
• Une variable négative xj peut être remplacée par une variable non négative
′
xj en posant :
′
xj = −xj
• Une variable de signe quelconque xj peut être remplacée par 2 variables
−
non négatives x+
j et xj en posant :
−
xj = x+
j − xj
9
Passage entre forme standard et forme canonique
Passage d’une égalité aux inégalités
∑n
Toute équation j=1 aij xj = bi peut être remplacée avec deux inéquations :
∑n
• j=1 aij xj ≥ bi
∑n
• j=1 aij xj ≤ bi
Changement de sens de l’inégalité
∑n
• Toute inéquation j=1 aij xj ≥ bi peut être remplacée avec une inéquation :
∑
− nj=1 aij xj ≤ −bi
∑n
• Toute inéquation j=1 aij xj ≤ bi peut être remplacée avec une inéquation :
∑
− nj=1 aij xj ≥ −bi
10
Passage entre forme standard et forme canonique
Passage d’un inégalité à une égalité
∑
• Toute inéquation nj=1 aij xj ≥ bi peut être remplacée avec une équation
∑n s s
j=1 aij xj − xi = bi avec xi ≥ 0
∑
• Toute inéquation nj=1 aij xj ≤ bi peut être remplacée avec une équation
∑n e e
j=1 aij xj + xi = bi avec xi ≥ 0
Les variables xsi et xei sont appelées variables de surplus et variables d’écart.
11
Passage entre forme standard et forme canonique
Exemple de la fonderie
Écrire le problème de la fonderie sous forme standard :
Max z = 1000x1 + 1200x2
subject to :
10x1 + 5x2 ≤ 200 (1)
2x1 + 3x2 ≤ 60 (2)
x1 ≤ 34 (3)
x2 ≤ 14 (4)
x1 , x2 ≥ 0 (5)
12
Forme matricielle canonique d'un programme linéaire
max z = cT x,
{
Ax ≤ b
s.c.q.
x ≥0
13
Forme matricielle canonique d'un programme linéaire
max z = cT x,
{
Ax ≤ b
s.c.q.
x ≥0
{
A matrice (m × n), b vecteur (m × 1)
avec
c vecteur (n × 1), x vecteur (n × 1).
Hypothèses
- Le nombre de variables n est au moins égal au nombre de contraintes m :
n ≥ m.
- La matrice A st de plein rang : rang(A) = m.
13
Bases et solutions de base
Définition : base
On appelle matrice de base (on base) toute sous-matrice carrée (m × m)
extraite de A telle que rang(B) = m.
Définition : variable base
On appelle variables de base les m variables du programme linéaire
associées aux colonnes de la matrice de base B. On les dénote xB .
Définition : variable hors base
On appelle variables hors base les n − m variables du programme linéaire
associées aux colonnes autres que les colonnes de la matrice de base B. On
les dénote xN .
14
Bases et solutions de base
Exemple
Considérons le système d’équations suivant :
5x1 + 2x2 + 3x3 + 4x4 + x5 = 22
5x1 + x2 + x3 + 5x4 + 4x5 = 22 (6)
4x1 + 2x2 + 3x3 + 3x4 = 18
• Écrire le problème sous forme matricielle ?
• La matrice carrée composée des colonnes 1,2 et 4 est-elle une matrice de
base ?
• Quelle sont les variables de base, et les variables hors base associées ?
15
Bases et solutions de base
En permutant les colonnes de la matrice A, on peut écrire :
( )
• A= B N
xB
• x=
xN
xB
( )
• Ax = b peut s’écrire de façon équivalente B N =b
xN
ou bien : BxB + NxN = b
16
Bases et solutions de base
Définition : solution de base
On appelle solution de base, associée à la base B, la solution particulière du
système BxB + NxN = b obtenue en posant xN = 0.
Le vecteur xB peut alors être déterminé de façon unique comme suit :
xB = B−1 b
Solution de base réalisable
La solution de base xB st dite réalisable si xB ≥ 0.
La base B correspondante est appelée base réalisable.
Solution de base dégénérée
La solution de base xB st dite dégénérée si xB a au moins une composante
nulle.
17
Bases et solutions de base
Exemple
Rappelons le système d’équations de l’exemple précédent :
5x1 + 2x2 + 3x3 + 4x4 + x5 = 22
5x1 + x2 + x3 + 5x4 + 4x5 = 22 (7)
4x1 + 2x2 + 3x3 + 3x4 = 18
Parmi les matrices suivantes : B1 = [a.1 , a.2 , a.3 ], B2 = [a.1 , a.3 , a.4 ],
B3 = [a.1 , a.4 , a.5 ], B4 = [a.3 , a.4 , a.5 ] :
• Définir les matrices de base, les variables de base, et les variables hors
bases associées ?
• Pour chaque matrice de base, calculer la solution de base associée.
• Cette solution est-elle réalisable, non réalisable ?
• Existe-il une solution de base dégénérée ?
• Donner une solution réalisable qui n’est pas de base.
18
Points extrêmes et solutions de base
Considérons le programme linéaire suivant :
max z = 3x1 + 5x2
x1 ≤ 4
2x2 ≤ 12
s.c.q. 3x1 + 2x2 ≤ 18
x ≥ 0
1
x2 ≥ 0
19
Points extrêmes et solutions de base
max z = 3x1 + 5x2
x1 ≤ 4
←→
2x2 ≤ 12
s.c.q. 3x1 + 2x2 ≤ 18
x ≥ 0
1
x2 ≥ 0
Polyèdre
20
Variable d'écart
max z = 3x1 + 5x2
x1 ≤ 4
2x2 ≤ 12
s.c.q. 3x1 + 2x2 ≤ 18
x1
≥ 0
x2 ≥ 0
21
Variable d'écart
max z = 3x1 + 5x2
x1 ≤ 4
⇐⇒
2x2 ≤ 12
s.c.q. 3x1 + 2x2 ≤ 18
x1
≥ 0
x2 ≥ 0
21
Variable d'écart
max z = 3x1 + 5x2 max z = 3x1 + 5x2
x1 ≤ 4
x1 +e1 = 4
⇐⇒
2x2 ≤ 12 2x2 +e2 = 12
s.c.q. ≤ s.c.q.
3x1 + 2x2 18
3x1 +2x 2 +e3 = 18
x1
≥ 0 x1 , x2 , e1 , e2 , e3 ≥ 0
x2 ≥ 0
21
Variables hors base (v.h.b.)
x1 +e1 = 4
2x2 +e2 = 12
3x1 +2x2 +e3 = 18
22
Variables hors base (v.h.b.)
x1 +e1 = 4
2x2 +e2 = 12
3x1 +2x2 +e3 = 18
Considérons la matrice de base identité B = [e1 , e2 , e3 ].
x1 = x2 = 0 ←→
22
Variables hors base (v.h.b.)
x1 +e1 = 4
2x2 +e2 = 12
3x1 +2x2 +e3 = 18
Considérons la matrice de base identité B = [e1 , e2 , e3 ].
x1 = x2 = 0 ←→ x1 et x2 sont mises hors base.
22
Variables hors base (v.h.b.)
x1 +e1 = 4
2x2 +e2 = 12
3x1 +2x2 +e3 = 18
Considérons la matrice de base identité B = [e1 , e2 , e3 ].
x1 = x2 = 0 ←→ x1 et x2 sont mises hors base.
Dans ce cas, on obtient une solution unique en résolvant les (m = 3)
contraintes d’égalités obtenues en ajoutant les variables d’écart.
e1 = 4
e2 = 12 variables de base
e3 = 18
La solution de base associée à la la base identité B est (x1 = 0, x2 = 0).
Vu que e1 , e2 , e3 ≥ 0, la solution de base est réalisable. 22
Solution réalisable et point extrême
Observation clé
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
23
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
24
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0) oui
e1 , e2 (4, 6) (0, 0, −6)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0) oui
e1 , e2 (4, 6) (0, 0, −6) non
e1 , e3 (4, 3) (0, 6, 0)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0) oui
e1 , e2 (4, 6) (0, 0, −6) non
e1 , e3 (4, 3) (0, 6, 0) oui
x2 , e1 (4, 0) (0, 6, 6)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0) oui
e1 , e2 (4, 6) (0, 0, −6) non
e1 , e3 (4, 3) (0, 6, 0) oui
x2 , e1 (4, 0) (0, 6, 6) oui
x2 , e3 (6, 0) (−2, 12, 0)
25
Solution réalisable et point extrême
La notion géométrique de point extrême (ou sommet du polyèdre)
correspond à la notion algébrique de solution de base réalisable.
v.h.b. (x1 , x2 ) (e1 , e2 , e3 ) sommet ?
x1 , x2 (0, 0) (4, 12, 18) oui
x1 , e2 (0, 6) (4, 0, 6) oui
x1 , e3 (0, 9) (4, −6, 0) non
e2 , e3 (2, 6) (2, 0, 0) oui
e1 , e2 (4, 6) (0, 0, −6) non
e1 , e3 (4, 3) (0, 6, 0) oui
x2 , e1 (4, 0) (0, 6, 6) oui
x2 , e3 (6, 0) (−2, 12, 0) non
Correspondance entre solution de base réalisable
point extrême
25
Théorème 1
Considérons le polyèdre P = x ∈ Rn : Ax = b, x ≥ 0, ou A est une matrice de
dimension m × n et b ∈ Rm .
x̄ est un point extrême de P si est seulement si x̄ est une solution de base
réalisable de P.
26
Théorème fondamental de la programmation linéaire
Soit le programme linéaire suivant :
max z = cT x,
{
Ax = b
s.c.
x ≥0
27
Théorème fondamental de la programmation linéaire
Soit le programme linéaire suivant :
max z = cT x,
{
Ax = b
s.c.
x ≥0
Ou A est une matrice réelle de rang m, (m < n).
Théorème 2
S’il existe une solution réalisable, alors il existe une solution de base réali-
sable.
S’il existe une solution optimale, alors il existe une solution de base opti-
male.
27
Conclusion générale
Intuition de l’algorithme de simplexe
La recherche d’une solution optimale de (PLS) pourra, en vertu du théorème
2, se confiner à l’examen des solutions de base admissibles, dont le nombre
ne peut exèder Cm m
n . Malheureusement, la valeur Cn est souvent énorme dans
la pratique.
L’algorithme du simplexe permet de déterminer si un modèle (PLS) admet
une solution optimale et, le cas échéant, d’en trouver une, en examinant un
nombre de solutions de base qui, sauf exceptions, est relativement petit.
28
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
29
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6
e1 = 4, e1 = 4
e2 = 12, e2 = 0
e3 = 18, e3 = 6
29
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6
e1 = 4, e1 = 4 solutions de base adjacentes
e2 = 12, e2 = 0
e3 = 18, e3 = 6
29
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6
e1 = 4, e1 = 4 solutions de base adjacentes
e2 = 12, e2 = 0
e3 = 18, e3 = 6
}
x1 = 0, x1 = 2
x2 = 0, x2 = 6
29
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6
e1 = 4, e1 = 4 solutions de base adjacentes
e2 = 12, e2 = 0
e3 = 18, e3 = 6
}
x1 = 0, x1 = 2
solutions de base non-adjacentes
x2 = 0, x2 = 6
29
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les
variables de base sont les mêmes sauf une qui est de base dans la première
base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6
e1 = 4, e1 = 4
e = 12, e2 = 0
2
e = 18, e3 = 6
{ 3
x1 = 0, x1 = 0
x2 = 0, x2 = 6
30
Solutions de base adjacentes
On appelle solutions de base adjacentes deux solutions de base dont les variables de base
sont les mêmes sauf une qui est de base dans la première base et hors base dans la seconde.
x1 = 0, x1 = 0
x2 = 0, x2 = 6 La notion géométrique de
e1 = 4, e1 = 4 sommets adjacents correspond à
e2 = 12, e2 = 0 la notion algébrique de solutions
e = 18, e3 = 6 de base réalisables adjacentes.
{ 3
x1 = 0, x1 = 0
x2 = 0, x2 = 6
31
Exercice 1
Le docteur Zaid est chargé d’organiser le planning des infirmières du service
de cardiologie de l’hôpital ELGHASSANNI de FES. Une journée de travail est
divisée en douze tranche de 2 heures chacune. Les besoins de personnel
varient d’une tranche horaire à l’autre. Le tableau suivant donne les besoins
de personnel pour chacune des tranches horaires.
Le problème consiste à trouver le nombre minimal d’infirmières nécessaires
pour couvrir tous les besoins, sachant qu’une infirmière travaille huit heures
par jour et qu’elle a droit à une pause de deux heures au bout de quatre
heures de travail. Proposer un modèle linéaire en nombres entiers.
32
Exercice 1
33
Exercice 2
Un vendeur de produits alimentaires dispose de 10000 kg de café robusta, de
20000 kg de café arabica et de 5000 kg de café moka. Il veut en produire 2
mélanges : le premier contiendra 1 part de robusta pour chaque part
d’arabica et se vendra 2$ le kg ; le second se composera de 4 parts de moka
pour chaque part d’arabica et se vendra 2,8$ le kg. Tout le café qui ne pourra
être incorporé à ces mélanges sera écoulé au prix de 1,5$ le kg. Comment le
vendeur doit-il se’y prendre pour maximiser le revenu qu’il tirera du café dont
il dispose ? (modéliser)
34
Exercice 3
Un jeune couple, Jawad et Leila souhaitent se partager les tâches suivantes :
Courses, Cuisine, Nettoyage et Entretien. Ils ont évalué les temps nécessaires
(en heure par semaine) pour la réalisation de chacune de ces tâches. Leur
temps respectifs sont résumés ans le tableau suivant. On remarque que la
durée d’une tâche dépend de la personne.
35
Exercice 3
- Ils voudront avoir chacun la responsabilité de deux tâches et minimiser le
temps total consacré aux quatre tâches (minimiser le temps total alloué à
toutes les tâches). Proposer un modèle (linéaire).
- Le couple désire finir toutes les tâches le plus tôt possible. On suppose
que les tâches peuvent commencer à partir de t = 0 et qu’une personne
ne peut pas faire deux tâches à la fois. Proposer un modèle (linéaire).
36
Exercice 4
Un meunier produit 2 types de farine, F et G, à partir de 2 céréales A et B. La
teneur de la farine F en céréale A doit être d’au moins 50%, alors que la
teneur de la farine G en céréale B ne doit pas dépasser 40%. Le kg de la farine
de type F rapporte 16 centimes et celui du type G, 14 centimes.
Le meunier dispose de 500 kg de la céréale A et de 1000 kg de la céréale B,
qu’il a déjà payés à 4000 dh.
- Donner un programme linéaire de production qui permet de maximiser
le profit du meunier.
- Le meunier découvre qu’il lui serait possible de se procurer auprès d’un
fournisseur d’une quantité de céréale A allant jusqu’à 1500 kg aux prix
suivant : les 500 premiers kg à 3 dh le kg, les 500 kg suivants à 2.5 dh le
kg, et les 500 derniers à 2 dh le kg.
Donner un programme de production qui permet de maximiser le profit
du meunier.
37