13/10/2024
1. Introduction
Recherche Opérationnelle
et Optimisation 2. Programmation Linéaire
1. Introduction à la programmation linéaire
2. Formulation du programme linéaire
Pr.Mohamed ER-RATBY
[email protected]
1 2
→ Définition : → Rôle de la R.O :
La Recherche Opérationnelle (aide à la décision), est la discipline des outils et Approche quantitative pour produire les meilleurs décisions
méthodes scientifiques utilisable pour élaborer des meilleurs décisions. Une discipline à la croisée des mathématiques et de l’informatique
La science de " comment mieux faire avec moins". C’est un sensemble d’outils pour : • prolongement de l’algorithmique
❑ Rationaliser • manipulant des structures plus élaborées : graphes,...
❑ simuler Uneboite àoutils deméthodes, tant positives que négatives, pour aborder sainement
❑ optimiser et sereinement les problèmes d’optimisation
❑ planifier → Objectif :
L’architecture et le fonctionnement des systèmes industriels et économiques, ce qui permet - Modélisation d’un problème
aux décideurs de faire des choix efficaces et robustes. - Analyse d’optimalité des modèles linéaires
- Techniques Algorithmiques des résolutions
- Post-Analyse de la solution
3 4
→ Domaines d’applications :
- Gestion de la chaine logistique
• Confection des tournées
• Localisation des entrepôt
• Gestion des inventaires ...
→ Compétences ciblées :
- Finance - Apprendre à modéliser quelques problèmes réels,
• Composition optimale de portefeuilles - Argumenter vos stratégies de résolutions et d’analyse,
- Marketing - Acquérir une démarche rigoureuse de prise de décision
• Répartition d’un budget de publicité
• Partage des territoires de ventes
• Tarification
- Gestion des R.H
• Affectation de personnel à des tâches ou postes.
• Confection de la charge horaire
5 6
1
13/10/2024
→ Bref historique de la R.O: •Du point de vue mathématique, dans les XVIIe et XVIIIe siècles, Newton, Leibnitz,
Bernoulli et Lagrange, ont travaillé pour obtenir le maximum et le minimum
À propos de la RO, on aparlé d’une méthode, d’uneapproche, d’un ensemblede conditionnés de certaines fonctions
techniques, d’une activité née d’une collaboration multidisciplinaire, d’un prolongement
desmathématiques, de la statistique, de l’économie et de l’ingénierie. La R.O, c’est •Néanmoins, la Recherche Opérationnelle n’était pasconsidéréecomme une science
tout cela et un peu plus, mais c’est surtout la recherche d’optimisation d’un processus. que jusqu’à la Seconde Guerre mondiale, pendant la bataille d’Angleterre
•L’usage de la RO pendant la 1ére Guerremondiale enAngleterre, grâceà l’étude •Après la Seconde Guerre mondiale, on a déterminé d’organiser les ressources des
mathématique deFrederick William Lanchester sur la puissance balistique desforces Etats-Unis (énergie, armement, et tous types dedistribution) grâceaux exemples
opposantes. d’optimisation, résolus par l’Optimisation linéaire.
•Thomas Alva Edison aaussi employé la RO pour contribuer dansla lutte
anti-sous-marine.
7 8
1- Introduction à la programmation linéaire : 1- Introduction à la programmation linéaire :
On cherche à:
→ Determiner le meilleur circuit de Tata vers Marrakech.
Pour cela, il faut péciser :
→ les iténaires possibles .
→ le critère de choix
Le plus court?
Le plus rapide?
Le plus touristique?
9 10
1 Introduction à la programmation linéaire :
La programmation linéaire est une méthode permettant d’optimiser une fonction → Identifier les restrictions (contraintes) du problème et les exprimer par un système
linéaire, soumise à des contraintes linéaires sur des variables réelles. d’équations linéaires.
En PL, le modèle d’un problème s’exprime par des variables numériques combinées dans → Identifier le critère desélection (fonction objective) et le représenter sousune
des contraintes linéaires et régies (diriger) par une fonction objectif linéaire et par des forme linéaire enfonction desvariables dedécision. Spécifier si le critère de
bornes sur les variables sélection est à maximiser ou à minimiser.
Exemple
2 Modélisation : Unecompanie spécialiséedansla production de deux types de produits : climatiseurs
a- Les étapes de la modélisation : et desventilateurs. Lesdeuxproduits nécessitent un certain nombre d’heures de main
Généralement il y a trois étapesàsuivre pour pouvoir construire le modèle d’un
d’oeuvre. Le tableau suivant donneles informations nécessairessur les deuxproduits, c’est-
programme linéaire : à-dire les nombresd’heures machine et d’heures main d’oeuvre nécessairesà la fabrication
→ Identifier les variables du problème à valeur non connues (variables de décision) d’une unité dechacun decesproduits, ainsi que le profit générépar la production d’une
et les représenter sous forme symbolique (exp. x1, x2, x2, y1, ... ). unité de ce produit.
11 12
2
13/10/2024
Le tableau nous donne aussi le nombre total d’heures machines et d’heures main 2- Modélisation :
d’oeuvre disponibles. b- Variables de décision :
doivent complètement décrire les décisions à prendre.
Heures machine Main d’oeuvre profit
⇒ La compagnie veut décider du nombre de climatiseurs et du nombre de ventilateurs à
produire pour maximiser le profit. Ceci nous amène à choisir les deux variables de
Climatiseur 2h/unité 3h/unité 2500 dhs/ unité
décision suivantes :
Ventilateur 2h/unité 1h/unité 1500 dhs/ unité x1 = nombre des climatiseurs
x2 = nombre des ventilateurs
Totale disponible 240 h 140 h
13 14
c. Contraintes du modèle :
La limitation des ressources contraint l’entreprise de la manière suivante :
- Contraintes heure machine : 2x1 + 2x2 ≤ 240 Modèle complet : x1 = nbre de climatiseurs, x2 = nbre de ventilateurs
- Contraintes main d’oeuvre : 3x1 + x2 ≤ 140
- Contraintes de non-négativité : x1 ≥ 0, x2 ≥ 0 Max Z = 2500x1 + 1500x2
S.c 2x1 + 2x2 ≤ 240
d. Fonction objectif :
Dans n’importe quel programme linéaire, le responsable de décision veut maximiser ou 3x1 + x2 ≤ 140
minimiser une fonction des variables de décisions. x1 ≥ 0, x2 ≥ 0
⇒ L’objectif de l’entreprise est dedéterminer le programme deproduction qui
maximisera son profit (Z =profit). La fonction objectif s’écrit alors,
Max Z = 2500x1 + 1500x2
15 16
17 18
3
13/10/2024
19 20
21 22
23 24
4
13/10/2024
25 26
27 28
29 30
5
13/10/2024
31 32
Application
33 34
35 36
6
13/10/2024
37 38
39 40
41 42
7
13/10/2024
Application
43 44
Application
45 46
47 48
8
13/10/2024
Application
(0,8)
49 50
Application
51 52
Application
Problème de médecine :
Un spécialiste en médecine a fabriqué un médicament (des comprimés) pour guérir les
sujets atteints d’un rhume. Cescomprimés sont fabriquées selon deux formats :
• Petite taille : elle contient 2 grains d’aspirine, 5 grains de bicarbonate et 1 grain de
codéine.
• Grande taille : elle contient 1 grain d’aspirine, 8 grains de bicarbonate et 6 grains
de codéine.
Pour guérir la maladie, le sujet a besoin de 12 grains d’aspirine, 74 grains de
bicarbonate et 24 grains decodéine. Déterminer le nombre de comprimés minimales à
prescrire au sujet pour qu’il soit guérit.
53 54
9
13/10/2024
Le programme linéaire est le suivant :
2- Solutions réalisables :
Min z = x + y.
Parmi les solutions possiblesd’un problème, il y aceux qui vont satisfaire toutes les
contraintes du programme, appelés solutions réalisables, et ceux qui vont satisfaire une
s.c 2x + y ≥ 12 partie ou aucune de ces contraintes, appelés solutions non réalisables.
5x + 8y ≥ 74
x + 6y ≥ 24 Une représentation graphique des inégalités (des contraintes) va nous permettre de
déterminer l’ensemble des solutions réalisables.
x ≥ 0 et y ≥ 0
Dessiner la région réalisable du problème de médcine.
C’est quoi le bon choix qui sebasesur une lecture desdifférents paramètres pour ce
programme linéaire?
55 56
– On commence par la droite: 2x + y = 12: – Pour la contrainte 5x + 8y = 74:
Pour trouver la partie du quadrant positive qui verifie 2x + y ≥ 12, il suffit de tester On n’utilise que la droite qui passe par les points (2,8) et (10,3). On teste toujours que
avec un point qui n’appartient pas à la droite (souvent (0,0)). le point (0,0) pour identifier la partie 5x + 8y ≥ 74.
57 58
– Pour la contrainte x + 6y = 24:
Résolution graphique
Si nous retraçons l’ensemble desdroites parallèles relatives àdifférentes valeurs dela
fonction objectif sur la figure qui représentel’ensemble dessolutions réalisables, on peut
localiserla solution optimale. Elle correspond à la solution réalisable qui intercepte la
droite à la plus petite valeur de z.
Exemple de médecine
Pour z fixé, La fonction objectif z = x + y est une droite de coefficient directeur −1.
On peut tracer toutes les droites pour localiser l’optimum mais cette démarche n’est
pas précise.
On retrouve alors que les solutions réalisables réside dans un domaine non borné.
59 60
10
13/10/2024
On remarque que la solution optimale du problème de médecine est un point extrême
qui setrouve sur le bord del’ensemble dessolutions. Unetelle solution est dite solution À l’aide de la méthode de résolution par énumération, retrouvons la solution du
réalisable de base. problème de médecine.
3 Résolution par énumération :
• On peut admettre le résultat suivant : Si un programme linéaire admet une
solution optimale alors il existe unesolution réalisable debasepour laquelle la
fonction objectif atteint la valeur optimale.
• Une méthode de résolution du programme linéaire consiste donc à déterminer les
solutions réalisables de base (les points d’intersection des droites qui forment les
contraintes) et à calculer pour chaque point la valeur de la fonction objectif. La
solution du programme linéaire est la solution à qui on associe la valeur optimale
de la fonction objectif.
61 62
À l’aide de la méthode de résolution par énumération, retrouvons la solution du
problème de médecine. • Le point C est l’intersection de la la deuxième et la troisième contrainte:
Listons ici les sommets de notre domaine réalisable: (
• Le point A est l’intersection de la première contrainte avec la droite x = 0: x + 6y = 24 126 23
( ⇒x= ,y =
5x + 8y = 74 11 11
2x + y = 12
⇒ x = 0, y = 12
x=0 • Le point Gest l’intersection de la deuxième contrainte avec la droite y = 0:
(
• Le point F est l’intersection de la première et la deuxième contrainte: x + 6y = 24
( ⇒ x = 24, y = 0
y=0
2x + y = 12
⇒ x = 2, y = 8
5x + 8y = 74
63 64
Résumé
Évaluation des solutions de base réalisable.
Pour chaque sommet énuméré, nous évaluons la fonction objectif:
→ zA = xA + yA = 0 + 12 = 12
→ zF = xF + yF = 2 + 8 = 10
→ zC = xC + yC = 126
11
+ 11
23 = 149
11
→ zG = xG + yG = 24 + 0 = 24
On trouve alors que l’optimum z = 10 est réalisé au point F: x = 2, y = 8.
65 66
11
13/10/2024
Application
67 68
Cas particulier de la résolution graphique
69 70
71 72
12
13/10/2024
73 74
75 76
77 78
13
13/10/2024
• Une usine peut produire cinq produits :
• Les deux premiers stades sont effectués sur machine tandis
• La marge bénéficiaire unitaire est donnée pour chacun des que le troisième ne nécessite que l’intervention de main
produits : d’œuvre.
Produit PROD1 PROD2 PROD3 PROD4 PROD5 • Pour les deux premiers stades, l’usine travaille 2x8 par jour
Marge 550 600 350 400 200
et ceci pendant 6 jours. Dans la troisième étape, l’usine
travaille 1x8 par jour pendant 6 jours par semaine.
Stade Ressources en facteurs Heures par jour Jours par semaine
• Le temps de fabrication de chaque produit (en heures) :
Stade 1 3 machines 16 6
Produit PROD1 PROD2 PROD3 PROD4 PROD5 Stade 2 2 machines 16 6
Stade 1 12 20 0 25 15 Stade 3 8 personnes 8 6
Stade 2 10 8 16 0 0 Ressources en facteurs
Stade 3 20 20 20 20 20
79 80
• Une usine peut produire cinq produits :
• La marge bénéficiaire unitaire est donnée pour chacun des produits
• Quelles sont les quantités à fabriquer de chaque produit pour
maximiser le profit net ?
• Le temps de fabrication de chaque produit (en heures) :
• Construction du modèle :
– le choix des variables de décisions,
– l’expression de l’objectif en fonction de ces variables,
– l’expression des contraintes en fonction de ces variables.
Stade Ressources en Heures par jour Jours par semaine
facteurs
Stade 1 3 machines 16 6
Stade 2 2 machines 16 6
Stade 3 8 personnes 8 6
81 82
• Variables de décisions : • 1ère contrainte :
On note xi, la quantité du produit i fabriquée par semaine, i Au stade 1, il y a trois machines utilisées en 2x8 heures et ceci au
allant de un à cinq. maximum 6 jours par semaine, le nombre maximum d’heures par
semaine vaut :
• Objectif : 3 x (2 x 8) x 6 = 288 heures disponibles
L’objectif ici est la somme des contributions de Une unité de produit 1 demande 12 heures sur machine à l’étape 1. Si x1
unité de produit 1 sont produites par semaine, cela demande 12 x1
chacune des productions au profit net de l’usine. heures au stade 1.
• On a : On obtient donc la contrainte :
max z = 550x1 + 600x2 + 350x3 + 400x4 + 200x5 12x1 + 20x2 + 0x3 + 25x4 + 15x5 ≤ 288
Produit PROD1 PROD2 PROD3 PROD4 PROD5
Marge 550 600 350 400 200
83 84
14
13/10/2024
• 2ème contrainte :
Le nombre maximum d’heures par semaine au stade 2 : • 3ème contrainte :
2 x (2 x 8) x 6 = 192 heures disponibles La limite d’utilisation du personnel au stade 3. Le nombre
maximum d’heures en une semaine par les 8 personnes est
La contrainte s’exprime comme suit : • de
3ème
: contrainte :
10x1 + 8x2 + 16x3 + 0x4 + 0x5 ≤ 192 8 x (1 x 8)du
La limite d’utilisation x 6personnel
= 384 heuresau disponibles
stade 3. Le
nombre maximum
la contrainte s’exprimed’heures
: en une semaine par
Produit PROD1 PROD2 PROD3 PROD4 PROD5 les 8 personnes est de :
20x1 + 20x2 + 20x3 + 20x4 + 20x5 ≤ 384
8 x (1 x 8) x 6 = 384 heures disponibles
Stade 1 12 20 0 25 15
la contrainte
Produit s’exprime
PROD1 :
PROD2 PROD3 PROD4 PROD5
Stade 2 10 8 16 0 0
Stade 120x1 + 20x
12 2 + 20x203 + 20x4 + 020x5 ≤ 38425 15
Stade 3 20 20 20 20 20 Stade 2 10
Produit PROD1 PROD2 8 PROD3 16PROD4 0
PROD5 0
Stade13
Stade 12 20 20 20 0 20 25 20 15 20
Stade 2 10 8 16 0 0
Et on a : Stade 3 20 x1, x220, x3 , x4 ,20x5 ≥ 0 20 20
Et on a : x1, x2 , x3 , x4 , x5 ≥ 0
85 86
Construction du modèle
Max z = 550x1 + 600x2 + 350x3 + 400x4 + 200x5
•12x1 + 20x2 + 0x3 + 25x4 + 15x5 ≤ 288
•10x1 + 8x2 + 16x3 + 0x4 + 0x5 ≤ 192
•20x1 + 20x2 + 20x3 + 20x4 + 20x5 ≤ 384
• x1, x2 , x3 , x4 , x5 ≥ 0
- C’est un programme linéaire (Méthode de simplexe).
- La solution consiste à déterminer x1, x2, x3, x4 et x5 afin de
maximiser l’objectif.
- Le maximum des contributions de chacune des productions au profit
net de l’usine est égal à 10920.
87 88
89 90
15
13/10/2024
91 92
93 94
95 96
16
13/10/2024
97 98
99 100
101 102
17
13/10/2024
103 104
105 106
107 108
18
13/10/2024
109 110
111 112
113 114
19
13/10/2024
115 116
117 118
119 120
20
13/10/2024
121 122
123 124
125 126
21
13/10/2024
127 128
129 130
131 132
22
13/10/2024
133 134
135 136
23