Recherche Opérationnelle
Recherche Opérationnelle
Recherche Opérationnelle
ECONOMIQUES ET SOCIALES.
MARRAKECH
Problématique
Modélisation
Modèle
Résolution
Solution
interpretation
décision
Rejet
rejet la mise en oeuvre
IV. Disciplines liées à la RO
Informatique:
- Sources de données
- Traitement des données
Economie: Mathématique:
- Economie d'entreprise - Théorie des systèmes
- Analyse économique - méthodes d'optimisation
- méthodes statistiques
R.O.
V. Domaines d’application
Exemple typique : Fixer une politique de prix de vente, sachant que les résultats d'une
telle politique dépendent de la politique que les concurrents adopteront.
Chapitre 2 : Programmation linéaire
I. Définition
II. Hypothèses de la programmation linéaire
III. Modélisation : formulation du modèle mathématique
1- Exemples d’application
2- Interprétation économique du programme linéaire
3- Exercices
4- Solutions
IV. Les formes d’un programme linéaire :
1- La forme canonique
2- La forme standard
3- L’écriture Matricielle
4- Exemples d’application
5- Exercices
6- Solutions
V. Résolution d’un programme linéaire
1- La méthode Graphique :
a. Etapes de la méthode :
b. Exemple 1 : Problème de maximisation
c. Exemple 2 : Problème de minimisation
d. Exercices
e. Solutions
2- Dualité : résolution par passage au dual
a. Correspondance Dual - Primal
b. Théorèmes fondamentaux de la dualité
c. Exemples
d. Dualité et interprétation économique
3- Algorithme du simplexe :
a. Méthode du tableau
b. Exemples d’application
c. Exercices
d. Solutions
Programmation linéaire
I. Définition
Vocabulaire :
- Solution admissible : ce sont celles qui satisfont toutes les contraintes du
problème.
- Solution optimale : Elles se distinguent des différentes solutions car elles
optimisent la fonction dont on cherche le maximum et le minimum.
Exemples :
On présente une série d’exemples permettant d’introduire et d’expliciter la notion de
modélisation. Ces exemples portent sur des problèmes pour lesquels la modélisation en
programme linéaire est bien adaptée et clairement explicitée.
Une usine fabrique deux produits « A » et « B » à partir des matières premières M1, M2 et
M3 qui sont limités. Le profit réalisé à la vente du produit est 4 Dh pour le produit A, 5
Dh pour le produit B.
Le tableau suivant explique la nomenclature de chaque produit, ainsi que le stock
disponible pour chaque matière.
A B Stock
M1 2 1 8
M2 1 2 7
M3 0 1 3
C'est-à-dire que pour fabriquer une unité de A, on aura besoin de 2 unités de M1 et une
unité de M2.
Formulation :
1- Variables de décision :
Soit :
x1 le nombre des unités A à fabriquer
x2 le nombre des unités B à fabriquer
2- Fonction objectif :
Le critère de choix de ces quantités est lié au gain généré en fabriquant les produit A et B.
on va produire le maximum de produit afin de réaliser le maximum de bénéfice.
La fonction économique est Z = 4*x1 + 5*x2
3- Contraintes du modèle :
D’une autre part, la fabrication de ces produits ne peut pas être illimitée, car la matière
première est limitée qu’on ne doit pas dépasser.
Pour M1 : 2*x1 + x2 ≤ 8
Pour M2 : x1 + 2*x2 ≤ 7
Pour M3 : x2 ≤ 3
Le Modèle complet :
On écrit le programme linéaire qui modélise ce problème sous forme :
x1 ≥ 0 ; x2 ≥ 0
Exemple 2 :
Une entreprise XYZ est spécialisée dans la production de deux types de produits : des
climatiseurs et des ventilateurs. Les deux produits nécessitent un certain nombre d’heures
machine et un certain nombre d’heures de main d’œuvre. Le tableau suivant donne les
nombres d’heures machine et d’heures main d’œuvre nécessaires à la fabrication d’une unité
de chacun de ces produits, ainsi que le profit généré par la production d’une unité de ce
produit :
Formulation :
1- Variables de décision :
La compagnie veut décider du nombre de climatiseurs et du nombre de ventilateurs à
produire pour maximiser le profit.
Soit x1 le nombre de climatiseurs et x2 le nombre de ventilateurs à produire.
2- Fonction objectif : l’objectif de l’entrepris, implicite dans le texte, est de
déterminer le programme de production qui maximisera son profit. La fonction
objectif s’écrit alors :
Max Z = 25 x1 + 15 x2
3- Contrainte du modèle : la limitation des ressources contraint l’entreprise de la
manière suivante :
a. Contrainte heures machine 2x1+ 2x2 ≤ 240
b. Contrainte main d’œuvre 3x1 + x2 ≤ 140
c. Contraintes de non-négativité qui exprime que les niveaux d’activité ne
peuvent être négatifs x1 ≥ 0, x2 ≥ 0
Le Modèle complet :
x1 le nombre de climatiseurs
x2 le nombre de ventilateurs
Max Z = 25 x1 + 15 x2
Sous contraintes (S.C) :
2x1+ 2x2 ≤ 240
3x1 + x2 ≤ 140
x1 ≥ 0, x2 ≥ 0
1- La méthode Graphique
C’est une méthode de résolution d’un programme linéaire ne comportant que deux
variables de décision. Elle consiste en la délimitation de l’intersection des demi-plans
représentant les inéquations des contraintes et en la recherche sur le bord de ce domaine des
points donnant l’optimum de la fonction objectif.
a. Etapes de la méthode :
Remarque : si le PL admet une solution, il est unique et nécessairement l’un des sommets de
programme de base
(S/C) : 3x1+2x2 ≤ 15
x1+3x2 ≤ 12
x1 ≥ 0 ; x2 ≥ 0
(Δ1) : 3x1+2x2 = 15 d’où, les points appartenant à (Δ1) (0 ;4) et (12 ;0)
(Δ2) : x1+3x2 = 12 d’où, déduit les points appartenant à (Δ2) (0 ; 7,5) et (5 ;0)
6 (Δ2)
(Δ2)
5
A(0 ;4) 4
A(0 ;4)
B(3 ;3) 3
B(3 ;3)
(Δ1)
2
(Δ1)
C(5 ;0) 1
C(5 ;0)
-1 0 1 2 3 4 5 6 7 8 9 x
-1
Z=0
-2
Graphe 1
L’aire limitée par les droits est appelés l’espace des solutions admissibles
Les points A(0 ;4) ; B(3 ;3) et C (5 ;0) sont les solutions possibles
L’aire limitée par les droits est appelés l’espace des solutions admissibles
Les points A(0 ;30) ; B(10; 20) et C (40 ; 0) sont les solutions possibles
40
A(0 ; 30)
30
(Δ1)
20
(Δ2)
B(10 ; 20)
10
C(40 ;0)
0 10 20 30 40 50 60 x
2- Dualité : résolution par passage au dual
La dualité est une méthode pour formuler d’une autre façon un problème de PL, ce qui peut
simplifier l’étude de résolution et apporter divers applications intéressantes.
Primal Dual
Max C[X] Min B[Y]
S/C : S/C :
A[X] ≤ B At [Y]≥C
X≥0 Y≥0
At : Transposée de la matrice A
Remarque : le dual du dual c’est le primal.
Exemple 1 :
Primal :
Max Z= 3x1+4x2+5x3+7x4
x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0 ; x4 ≥ 0
Dual :
Min Z’ = 20y1+ 30y2
(S/C) :
y1+ 8y2 ≥ 3
y1+ 7y2 ≥ 4
3y1+ 7y2 ≥ 5
y1+ 8y2 ≥ 7
y1 ≥ 0 ; y2 ≥ 0
Exemple 2 :
Primal :
Max Z= 350x1+250x2+400x3
x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0
Dual :
Min Z = 35y1+ 77y2 + 73y3+ 180y4+ 320y5+ 250y6
(S/C) :
y1/4+ y2/12 + y4 ≥ 350
y1/3 + y3/13 + y5 ≥ 250
+ y2/13 + y3/15+ + y6 ≥ 400
y1 ≥ 0 ; y2 ≥ 0 ; y3 ≥ 0 ; y4 ≥ 0 ; y5 ≥ 0 ; y6 ≥ 0
Remarque :
On utilise le dual si le nombre de contraintes = 2 et le nombre de variable est ≥ 3
b. Exemples :
y1 ≥ 0 ; y2 ≥ 0 ; y3 ≥ 0
Dual :
Max Z= 5x1+7x2
x1 ≥ 0 ; x2 ≥ 0
(Δ1) : x1+ 2x2 = 12 d’où, les points appartenant à (Δ1) (0 ;6) et (12 ;0)
(Δ2) : x1+ x2 = 7 d’où, les points appartenant à (Δ2) (0 ;7) et ( 7 ;0)
(Δ3) : 3x1+ 2x2 = 18 d’où, les points appartenant à (Δ3) (0 ;9) et ( 6 ;0)
A(0 ;6) Z= 42
B(2 ;5) Z= 45
C (4 ;3) Z= 41
D (6 ;0) Z= 30
y
(Δ3)14
13
12
11
10
(Δ2) 9
8
7
6
A(0 ;6)
5 B(2 ;5)
4
3
C(4 ;3)
(Δ1)
2
1
D(6 ;0)
-4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19x
-1
-2
-3
Les points A(0 ;6) , B(2 ;5), C (4 ;3) et D (6 ;0) sont les solutions possibles
Développée par Dantzig en 1947, cette méthode se base sur le principe suivant : on
part du sommet du polygone qui est solution de base, pour le quel la fonction économique Z
est nulle, généralement le point (0 ; 0). Ensuite en passe de proche en proche à des sommets
voisins en augmentant à chaque étape la valeur de Z. Comme le nombre de sommets est
limité, on parvient après plusieurs itérations à la solution optimale.
Elle peut être présenté soit en utilisant la méthode algébrique ou la représentation en
tableau. La première étant plus lourd et moins pratique, laisse à la deuxième l’utilisation
répondue.
Méthode du tableau :
Etapes à suivre :
Etape 1 :
Construire le tableau du programme linéaire
Etape 2 : recherche du pivot. Le pivot est l’intersection de la colonne de la variable entrante
qui correspond au coefficient strictement positif le plus grand de la fonction économique et la
ligne de la variable sortante qui correspond au plus petit rapport positif des rapports du second
membre des contraintes et le coefficient de la variable entrante :
Second membre
Rapport = .L’infini et le nombre négatif étant exclus.
Coefficient de la variable entrante
Etape 3 : transformer le premier tableau comme suite :
1- Remplacer la variable sortante par la variable entrante dans la base
2- Diviser toute la ligne du pivot par le pivot
3- faire apparaître des zéros sur la colonne du pivot en remplaçant chacune des autres
lignes par un calcul matriciel L’j = Lj - k*L’i, c'est-à-dire choisir le coefficient k pour
avoir des zéros sur la colonne du pivot.
Etape 4 : refaire les étapes jusqu’à ce que les coefficients de la fonction économique sont
tous négatifs ou nuls, on sait donc que l’on a atteint le maximum
Etape 5 : lecture du tableau tel que :
- les variables hors base ont toujours la valeur 0.
- Les valeurs des variables dans la base se lient directement dans la colonne « second
membre du tableau considéré.
- La valeur de la fonction économique Z pour chaque programme admissible est
l’opposé du nombre sur la ligne de Z dans la colonne « second membre ».
a. Exemples d’application
Exemple 1:
Max Z= 5x1+7x2
x1 ≥ 0 ; x2 ≥ 0
Max Z= 5x1+3x2+0*x3+0*x4+0*x5
x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0 ; x4 ≥ 0 ; x5 ≥ 0
x1 x2 x3 x4 x5 bi coef
x2 1/2 1 1/2 0 0 6 12 L’1= (L1) / 2
x4 2 0 -1 1 0 6 3 L’2 = L2 - 2L’1
x5 1/2 0 -1/2 0 1 1 2 L’3= L3- L’1
Z 3/2 0 -7/2 0 0 -42 L’4 = L4-7L’1
2ème itération :
x1 x2 x3 x4 x5 bi coef
x2 0 1 1 0 -1 5 L’’1 = L’1-1/2* L’’3
x4 0 0 1 1 -4 2 L’’2= L’2 - 2L’’3
x1 1 0 -1 0 2 2 L’’3=(L’3)/(1/2)
Z 0 0 -2 0 -3 -45 L’’4 = L’4 - 3/2 L’’2
Tous les coefficients sur la ligne de la fonction économique sont négatifs ou nuls, le
maximum est donc atteint.
La valeur maximale de Z est 45, et elle est atteinte pour x1 = 2 et x2 = 5.
On vérifie que Z = (5*2) + (7*5) = 45
Exemple 2:
Max Z= 5x1+3x2+4x3
x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0
Max Z= 5x1+3x2+4x3+0*x4+0*x5+0*x6
x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0 ; x4 ≥ 0 ; x5 ≥ 0 ; x6 ≥ 0
Le pivot
Second
Variable de décision Variables d’écart
membre
x1 x2 x3 x4 x5 x6 bi coef
Variables
x4 3 1 1 1 0 0 2 2/3 L1
dans la x5 1 1 2 0 1 0 1 1 L2
base x6 0,5 7 1 0 0 1 12 24 L3
Fonction 5
Z 3 4 0 0 0 0
économique
Plus grand
ère
1 itération :
x1 x2 x3 x4 x5 x6 bi coef
x1 1 1/3 1/3 1/3 0 0 2/3 2 L’1= (L1) / 3
x5 0 2/3 5/3 -1/3 1 0 1/3 1/5 L’2= L2 - L’1
x6 0 41/6 5/6 -1/6 0 1 35/3 14 L’3= L3 - 1/2L’1
Z 0 4/3 7/3 -5/3 0 0 -10/3 L’4 = L4 - 5L’1
2ème itération :
x1 x2 x3 x4 x5 x6 bi coef
x1 1 1/5 0 2/5 -1/5 0 3/5 3 L’’1 = L’1- 1/3*L’’2
x4 0 2/5 1 -1/5 3/5 0 1/5 1/2 L’’2=(L’2)/(5/3)
x6 0 13/2 0 0 -0,5 1 23/2 23/13 L’’3= L’3- 5/6*L’’2
Z 0 2/5 0 -6/5 -7/5 0 -19/5 L’’4 = L’4 - 7/3* L’’2
3ème itération :
x1 x2 x3 x4 x5 x6 bi
x1 1 0 -1/2 1/2 -1/2 0 1/2 L’’’1 = L’’1- 1/5*L’’’2
x3 0 1 5/2 -1/2 3/2 0 1/2 L’’’2 = (L’’2)/(2/5)
x6 0 0 -65/4 13/4 -41/4 1 33/4 L’’’3 = L’’3- 13/2*L’’2
Z 0 0 -1 -1 -2 0 -4 L’’’4 = L’’4 - 2/5* L’’2
Tous les coefficients sur la ligne de la fonction économique sont négatifs ou nuls, le
maximum est donc atteint.
La valeur maximale de Z est 4, et elle est atteinte pour x1 = 0,5 ; x2 = 0,5 et x3 =0.
On vérifie que Z = (5*0,5) + (3*0,5) + (4*0) = 4