Académique Documents
Professionnel Documents
Culture Documents
Aram YESAYAN,
• Avant 1930,
nombreuses méthodes, mais peu d’applications.
• 1930-1950, Application militaires :
RADAR, défense aérienne et côtière, organisation de convois.
• 1950 à nos jours, R.O. « civile » :
réseaux de transport (trains, avions, électricité, etc.), aide à la décision.
1
On appelle Programmation Linéaire, le problème mathématique qui consiste à optimiser
(maximiser ou minimiser) une fonction linéaire de plusieurs variables qui sont reliées par
des relations linéaires appelées contraintes.
n
[Optimiser ] Z = f ( x1 , x2 ,..., xn )= c1 x1 + c2 x2 + ... + cn xn = ∑c x i i
i =1
n
∑ aij xi ≤ b j , 1 ≤ j ≤ α
i =1
n
∑ aik xi ≥ bk , α ≤ k ≤ β
i =1
n
∑ a= il xi bl , β ≤ l ≤ m
i =1
xi ≥ 0 , ∀ i =1,..., n
α ≥ 1, β > α , β < m
Dans un problème de programmation linéaire nous avons n variables xj, qui s’appellent
variables de décision.
cj sont des nombres réels, les coefficients des variables de décision dans la fonction
objectif.
Nous avons aussi m contraintes, équations et/ou inéquations, contraintes que doivent
vérifier les variables de décision. Ces contraintes forment un système dans lequel:
2
aij (nombre réel) représente le coefficient de la variable xj dans la
contrainte i;
À partir de ces contraintes on doit optimiser une fonction également linéaire appelée
fonction objectif.
Forme canonique: On dit qu’un problème de programmation linéaire est mis sous forme
canonique si toutes les contraintes se présentent sous forme d’inégalités.
1) Recherche d’un maximum:
n
[MAX ] Z = ∑ c j x j
j =1
∑a x ij j ≤ bi , ∀i ∈ [1, m ]
j =1
x j ≥ 0 , ∀j ∈ [1, n ]
2) Recherche d’un minimum:
n
[MIN ] Z = ∑ c j x j
j =1
sous les contraintes suivantes:
n
∑a x ij j ≥ bi , ∀i ∈ [1, m ]
j =1
x j ≥ 0 , ∀j ∈ [1, n ]
3
Forme standard: Pour obtenir cette forme équivalente, toutes les contraintes (en dehors
des contraintes de non-négativité) sont mises sous forme d’égalités.
1) Recherche d’un maximum:
n
[MAX ] Z = ∑ c j x j
j =1
∑a ij x=
j bi , ∀i ∈ [1, m ]
j =1
x j ≥ 0 , ∀j ∈ [1, n ]
2) Recherche d’un minimum:
n
[MIN ] Z = ∑ c j x j
j =1
∑ a x= ij j bi , ∀i ∈ [1, m ]
j =1
x j ≥ 0 , ∀j ∈ [1, n ]
Définitions
A = matrice réelle de dimension [m, n], la matrice des coefficients des variables de
décision dans le système de contraintes.
c1
c2
c=
...
cn
Donc, la fonction objectif peut être écrite sous différentes formes :
Z = f ( X )= c1 x1 + c2 x2 + ... + cn xn = cT X
5
METHODES DE RESOLUTION DU PROBLEME DE
PROGRAMMATION LINEAIRE
RESOLUTION GRAPHIQUE
Nous utiliserons l’exemple suivant : Une entreprise peut fabriquer deux types de produits,
P1 et P2. Cette fabrication utilise trois machines, M1, M2 et M3, comme indiqué dans le
tableau suivant :
Machine
Produit
M1 M2 M3
P1 2h 2h 1h
P2 3h 1h 3h
• Pendant un mois, les trois machines sont disponibles ainsi :
M1 : 180 h ;
M2 : 120 h ;
M3 : 150 h.
• Sachant que le bénéfice unitaire pour le produit P1 est de 4 € et que celui de P2 est
de 3 €, combien de produits P1 et P2 faut-il fabriquer pour maximiser le bénéfice ?
6
2x + 3y ≤ 180
2x + y ≤ 120
x + 3y ≤ 150
x, y ≥ 0
• Enfin, on tente de maximiser le profit qui est le total des bénéfices sur la vente des
produits P1 et P2 :
[MAX] Z = 4x + 3y
[MAX] Z = 4x + 3y
2 x + 3 y ≤ 180 ; (C1)
2 x + y ≤ 120 ; (C2 )
x + 3 y ≤ 150 ; (C3)
x, y ≥ 0
7
• La droite 2x + 3y = 180 coupe les axes x et y aux points
x = 90 x =0
et
y = 0 y = 60
respectivement.
x = 60 x =0
et
y = 0 y = 120
respectivement.
x = 150 x =0
et
y=0 y = 50
respectivement.
8
Par conséquent, les solutions satisfaisantes correspondent à tout point situé à l’intérieur
du polygone convexe délimité par les segments de ces trois droites et les axes x et y (parce
que les contraintes de non-négativité imposent que x ≥ 0 et y ≥ 0).
9
Considérons maintenant la fonction objectif
[MAX] Z = 4x + 3y.
Nous avons obtenu une solution optimale unique, mais on peut avoir et d’autres types de
solutions. Nous avons ici une caractérisation géométrique des solutions :
10
• solution optimale unique ;
[ MAX ] =
f 4x + 3y
2 x + 3 y ≤ 180
2 x + y ≤ 120
x + 3 y ≤ 150
x, y ≥ 0
y y
A (0;50)
B (30;40) [MAX ] f = 4x + 3y
C (42;36)
D (45;30) B
A • B C
•
A •
f
• E (60;0) • D augmente
• D
∆4
• x x
E ∆3
E O
O
∆2
(1) (2) (3) ∆1
11
Solution optimale unique
[ MAX ]=
f 2 x1 + 3 x2
x1 ≤ 3
x1 + x2 ≥ 5
x1 − 4 x2 ≥ 4
x1 , x2 ≥ 0
12
Aucune solution
[ MAX ]=
f 2 x1 + 3 x2
x1 ≤ 3
x1 + x2 ≥ 5
x1 − 4 x2 ≤ 4
x1 , x2 ≥ 0
13
Solution optimale infinie
[ MAX ]=
f 5 x1 + 5 x2
x1 + x2 ≤ 8
−2 x1 + 3 x2 ≤ 6
x1 − x2 ≤ 2
x1 , x2 ≥ 0
14
Synthèse
• On appelle solution admissible toute solution qui satisfait toutes les contraintes du
problème (à ne pas oublier les contraintes de non-négativité du type xi ≥ 0) ;
• La solution optimale est celle qui optimise la fonction objectif parmi toutes les
solutions admissibles ;
15
THEOREMES FONDAMANTAUX
Théorème 1. L'ensemble des solutions réalisables d'un PPL est un polyèdre convexe.
p
=X ∑λ Xi =1
i
i
ou X i est le sommet i , i ∈ [1, p ]
p
∑=
λ
i =1
i 1, λi ≥ 0
Théorème 3.
Si une solution optimale existe, elle est au moins sur un des sommets. Si
deux sommets sont solutions optimales, alors toute l'arête joignant ces deux
sommets est constituée de solutions optimales (une infinité de solutions
optimales).
16
METHODE DU SIMPLEXE
La méthode graphique n'est applicable que dans le cas où il n'y a que deux
variables. Son avantage est de pouvoir comprendre ce que fait la méthode générale
du Simplexe.
17
Soit à résoudre le programme linéaire suivant sous sa forme canonique
3 x1 + 4 x2 ≤ 160
6 x1 + 3 x2 ≤ 180
x1 ≥ 0 ; x2 ≥ 0
* Forme standard
3 x1 + 4 x2 + 1 t1 + 0 t2 = 160
6 x1 + 3 x2 + 0 t1 + 1 t2 = 180
x1 ≥ 0 ; x2 ≥ 0 ; t1 ≥ 0 ; t2 ≥ 0
* Tableau 0
En ne conservant que les coefficients des équations ci-dessus, on obtient le tableau de départ
18
Ce tableau nous donne la première solution admissible:
- Les variables Hors Base (HB) sont nulles: x1 = 0 ; x2 = 0 (t1 et t2 en rouge ne sont pas hors
base; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables) ;
- Les valeurs des variables dans la Base (B) se lisent dans la colonne C: t1 = 160 et t2 =180 ;
- La dernière cellule (intersection de C et ∆) donne la valeur de -z : -z = 0 donc z = 0 ;
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x1 ferait
accroître la fonction objectif de 1200, et une augmentation de 1 unité de x2 ferait accroître la
fonction objectif de 1000.
* Tableau 1
On augmente la fonction objectif en faisant entrer une variable dans la base, prenant la place
d'une variable qui va sortir de la base.
Pour sélectionner la variable sortante de la base, il est nécessaire de rajouter une colonne R au
tableau, obtenue en faisant le rapport membre à membre de la colonne C et de la colonne de
la variable entrant dans la base (x1).
19
Remarques sur la colonne R:
- Un 0 dans la colonne C est remplacé par un infiniment petit positif ε pour effectuer le calcul
de R
- Dans la colonne R on ne tient pas compte des valeurs négatives ou indéterminées.
HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30
∆ 1200 1000 0 0 0
HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30 variable sortante
∆ 1200 1000 0 0 0
variable entrante
20
La règle du rectangle est la suivante:
HB x1 x2 t1 t2 C
B
t1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30
∆ 0 400 0 -200 -36000
21
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x2 ferait
accroître la fonction objectif de 400, et une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 200 (il est à noter qu'une augmentation de 1 unité de la variable d'écart t2
revient à diminuer le second membre de l'équation correspondante de 1 unité).
* Tableau 2:
HB x1 x2 t1 t2 C R
B
t1 0 5/2 1 -1/2 70 28 variable sortante
x1 1 1/2 0 1/6 30 60
∆ 0 400 0 -200 - 36000
variable entrante
d'où le tableau 2
HB x1 x2 t1 t2 C
B
x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
∆ 0 0 -160 -120 - 47200
22
- La ligne ∆ donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de t1 ferait
diminuer la fonction objectif de 160, et une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 120 (il est à noter qu'une augmentation de 1 unité d'une variable d'écart
revient à diminuer le second membre de l'équation correspondante de 1 unité).
Remarques importantes:
- S'il existe une variable HB ayant un coefficient positif dans la ligne ∆ et telle que tous les
coefficients correspondants dans le tableau soient nuls ou négatifs, alors la solution est
infinie.
- Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la ligne ∆, alors
on a une arête (plan, ...) optimale. Les autres sommets solutions sont obtenus en faisant
rentrer cette variable dans la base.
23
24
25
26
27
28
29
30
LE PROBLEME DU BOULANGER
Produits
Ressources A 5 4 a = 80
B 1 2 b = 24
C 3 2 c = 36
p = 40 et q = 50.
Donc la limitation des ressources se traduit par les contraintes suivantes (une par
ressource): 5 x + 4 y ≤ a
x + 2y ≤ b
3 x + 2 y ≤ c
x, y ≥ 0
31
Si l’objectif est de réaliser le chiffre d’affaires maximum, le problème équivaut à la
détermination du :
[ MAX =
]f 40 x + 50 y
5 x + 4 y ≤ 80
x + 2 y ≤ 24
3 x + 2 y ≤ 36
x, y ≥ 0
32
DUALITE
u, v, w
Pour dissuader le vendeur de produire lui-même, il faut que soient vérifiées les relations:
5u + v + 3w ≥ 40
4u + 2v + 2w ≥ 50
et aussi,
u, v, w ≥ 0
Parmi les solutions ainsi dissuasives, l’acheteur cherche celles qui lui font dépenser le
moins, donc:
Pour les solutions optimales les valeurs des fonctions objectifs sont égales.
Car
- l’inégalité < veut dire que le boulanger perd de l’argent et donc ne travaille pas ;
33
Si dans une contrainte i du problème primal pour la solution optimale on a une inégalité
stricte, alors dans la solution optimale du problème dual la valeur de la variable
correspondante est égale à 0.
Donc
• De même si y* > 0
On voit que les solutions du primal permettent de déterminer facilement celles du dual,
car les inéquations deviennent des équations.
Pour notre exemple, comme x* > 0 et y* > 0, les contraintes du dual deviennent
5u + v + 3w = 40
4u + 2v + 2w = 50
De plus, pour les valeurs de x* et y*, la première contrainte du primal est stricte donc
u* = 0 et donc
v + 3w = 40
2v + 2w = 50
34
d’où
u* = 0 ; v* = 17,5 ; w* = 7,5 ;
35
PROBLEME DE TRANSPORT
– Un produit doit être transporté de sources (usines) vers des destinations (dépôts,
clients).
– Objectif : déterminer la quantité envoyée de chaque source à chaque destination en
minimisant les coûts de transport. Les coûts sont proportionnels aux quantités
transportées.
– Contraintes d’offre limitée aux sources et de demande à satisfaire aux destinations.
– Une firme automobile a trois usines à Los Angeles, Detroit et New Orleans, et deux
centres de distribution à Denver et Miami.
– Les capacités des trois usines sont de 1000, 1500 et 1200 respectivement, et les
demandes aux centres de distribution sont de 2300 et 1400 voitures.
– Coûts :
xij=
(i 1, 2,3,=j 1, 2) − la quantité transportée de source (usine) i vers la destination j.
36
Représentation tableau
37
ALGORITHME POUR LE PROBLEME DE TRANSPORT
Coin Nord-Ouest
Partir du coin supérieur gauche du tableau.
1. Allouer le plus possible à la cellule courante et ajuster l’offre et la demande ;
2. se déplacer d’une cellule vers la droite (demande nulle) ou le bas (offre nulle) ;
3. répéter jusqu’au moment où toute l’offre est allouée.
38
Moindres coûts
Sélectionner la cellule de coût minimum.
1. Allouer le plus possible à la cellule courante et ajuster l’offre et la demande ;
2. sélectionner la cellule de coût minimum ayant une demande et une offre non nulles ;
3. répéter jusqu’au moment où toute l’offre est allouée.
39
Interprétation du dual
On suppose qu’il y a une organisation de transport qui propose pour chaque unité de
β j . Quels sont les prix unitaires de α i et de β j à définir pour que cette organisation ait
un profit maximum, et pour que ça soit raisonnable qu’on profite de ses services.
C’est-à-dire on aura
m n
−∑ α i ai + ∑ β j b j
max w =
=i 1 =j 1
s.c. − α i + β j ≤ cij= =
i 1, 2,..., m, j 1, 2,..., n.
Si l’on note −α
= i ui , β=j v j , on aura le problème dual formulé au-dessus.
Trois étapes :
1. détermination des variables duales (multiplicateurs) ;
2. vérification du critère d’optimalité et détermination de la variable entrante ;
3. détermination de la variable sortante pour préserver l’admissibilité et pivotage.
40
Vérification du critère d’optimalité et détermination de la variable entrante
Si pour les variables hors-bases les valeurs de tous les Pij sont inférieures ou égales
à 0, alors la solution optimale est atteinte.
Parmi les Pij on cherche les valeurs positives. S’il y a plusieurs on prend la cellule de coût
minimum et la variable correspondante entre dans la base.
Objectifs :
Méthode :
1. construction d’un cycle parcourant des variables en base en partant de et revenant
à la variable entrante ;
2. parmi les moins (-) on cherche le minimum θ = min{5; 5; 10}. Ici il y a deux
cellules qui correspondent à 5. Pour arriver à notre but le plus vite possible, on fait
sortir la variable (c.-à-d. on l’annule en supprimant) dont la cellule correspondante
comporte le coût maximum;
41
3. déplacement le long de lignes et colonnes en alternant ajout et retrait d’une même
quantité ( θ =5).
On remarque que pour les variables hors-bases les valeurs de tous les Pij sont
inférieures ou égales à 0, alors la solution optimale est atteinte.
Coût =2*5+11*10+7*10+9*15+4*5+18*5=435.
BIBLIOGRAPHIE
42