Vous êtes sur la page 1sur 34

Master en Systèmes Embarqués et Robotique (SER)

Recherche Opérationnelle

Mohammed Bouchangour

5 mai 2023 FST, El Hoceïma


Motivation
1

Pouvons-nous fournir des méthodes mathématiques pour


répondre à un type précis de problème, c’est-à-dire à élaborer
une démarche mathématiques universelle pour un type de
problème qui aboutit à la ou les solutions les plus efficaces ?

M. Bouchangour | Recherche Opérationnelle


Historiquement
Formule de Wilson : calcul de la quantité économique 2

Savoir gérer ses stocks c’est trouver un compromis entre coût


et disponibilité des pièces. La méthode de Wilson apporte une
réponse pour arbitrer entre coût de commandes
d’approvisionnement et coût de stockage en définissant la
quantité économique optimale à commander.

M. Bouchangour | Recherche Opérationnelle


Historiquement
Formule de Wilson : calcul de la quantité économique 3

Cette formule est donné par :



2D × CC
Q=
CS
avec :
▶ Q : La quantité optimale à commander.
▶ La Demande (ou consommation) en quantité sur la période
considérée.
▶ Le Coût d’une Commande (ou coût de lancement
intégrant : coût de passation de commande + coût de
transport + coût de réception).
▶ Le Coût unitaire de possession de Stock.

M. Bouchangour | Recherche Opérationnelle


Historiquement
4

F IGURE – Les membres du 442nd Groupe de transporteurs de


troupes planifiant des missions en Europe pendant la Seconde
Guerre mondiale - 442nd Fighter Wing

M. Bouchangour | Recherche Opérationnelle


Plan global
5

▶ Introduction
▶ Programmation linéaire :
▶ Propriétés fondamentales d’un programme linéaire.
▶ Méthode du simplexe (Algorithme du simplexe).
▶ Dualité en programmation linéaire.

▶ Applications :
▶ Version linéaire du problème de transport.
▶ Version linéaire du problème d’affectation.
▶ Version linéaire du problème de flot à coût minimum.

M. Bouchangour | Recherche Opérationnelle


Définitions
6

▶ Operational research UK, US operations research, or


simply OR.
▶ Cambridge Dictionary : The systematic study of how best
to solve problems in business and industry.
▶ Wikipedia : Is the use of mathematical models, statistics
and algorithms to help in decision-making.
▶ Roadef ( société française de recherche opérationnelle et
daide à la décision ) : Approche scientifique pour la
résolution de problèmes de gestion de systèmes
complexes.

M. Bouchangour | Recherche Opérationnelle


Formalisation
7

Face à un problème pratique de décision


▶ Aspects mathématiques : Contraintes, objectifs,
simplifications.
▶ Modélisation : Graphes, programmation linéaire, . . .
▶ Analyse des modèles et résolution :
▶ Etude de complexité : que peut-on espérer pour le temps
disponible ?
▶ Mise au point d’algorithmes.
▶ Implémentation et analyse des résultats :
▶ Valider par rapport à la demande.
▶ Itérer avec le demandeur si nécessaire.
▶ Déploiement des solutions : Intégration logicielle.

M. Bouchangour | Recherche Opérationnelle


Domaines d’application
8

▶ Conception, configuration et exploitation de systèmes


techniques complexes (réseaux de communication,
systèmes d’information...).
▶ Gestion de la chaîne logistique (transports, production,
stocks...).
▶ Gestion stratégique d’investissements.
▶ Et aussi : santé, instruction publique, voirie, ramassage et
distribution de courrier, production et transport dénergie,
télécommunications, banques, assurances...

M. Bouchangour | Recherche Opérationnelle


Domaines d’application
9

▶ Production : maximiser le profit selon la disponibilité de la


main d’oeuvre, demande du marché, capacité de
production, prix de revient du matériau brut...
▶ Transport : minimiser la distance totale parcourue selon
les quantités de matériaux à transporter, capacité des
transporteurs, points de ravitaillement en carburant...

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : 10

▶ En Recherche Opérationnelle (RO), modéliser un


problème consiste à identifier :
▶ Les variables intrinsèques (inconnues).
▶ L’objectif visé (optimisation).
▶ Les différentes contraintes auxquelles sont soumises ces
variables.

▶ Dans un problème de programmation linéaire (PL) les


contraintes et l’objectif sont des fonctions linéaires des
variables. On parle aussi de programme linéaire.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 11

Un usine fabrique deux produits A et B, en utilisant une


machine m et deux matières premières p et q. On dispose
chaque jour de 8 heures de m, de 10 kg de p et de 36 kg de q.
On suppose que :
▶ la production d’une unité de A nécessite 2 kg de p et 9 kg
de q, et utilise la machine m durant 1 heure ;
▶ la production d’une unité de B nécessite 2 kg de p et 4 kg
de q, et utilise la machine m durant 2 heure ;
▶ les profits réalisés sont de 50 dh par unité de A et 60 dh
par unité de B.
L’objectif que poursuit l’usine est de maximiser le profit qu’elle
pourra tirer, par jour, de ces 2 produits en utilisant au mieux ses
ressources.
M. Bouchangour | Recherche Opérationnelle
Programmation linéaire
Modélisation : Exemple 12

Le tableau suivant résume les données afférentes à ce


problème de production :

A B Disponibilité
m 1h 2h 8h
p 2 kg 2 kg 10 kg
q 9 kg 4 kg 36 kg
Profit unitaire 50 dh 60 dh

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 13

Quelles sont les informations dont doit disposer le directeur de


l’usine pour considérer que son problème est résolu ?
Il suffit de connaître la quantité du produit A et la quantité du
produit B à fabriquer quotidiennement, n’est-ce pas ?

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Rappel 14

On rappel que la formulation d’un problème d’optimisation


comporte toujours les trois étapes suivantes :
1. choix des variables du modèle, (Variables de décision) ;
2. formulation de l’objectif, (Fonction objectif) ;
3. formulation des contraintes, (Contraintes fonctionnelles et
contraintes de positivité)

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 15

1 Variables de décision :

Agissons comme si ces quantités nous étaient connues et


dénotons-les par :
x1 = la quantité du produit A à produire.
x2 = la quantité du produit B à produire.
Les variables x1 et x2 sont dites variables de décision.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 16

2 Fonction objectif :

Quel profit l’usine retirera-t-elle de la vente de ces deux


produits ?
Il s’agit d’additionner les bénéfices à tirer de chacun des 2
produits :
▶ pour le produit A, elle retire 50 dh par unité et en fabrique
x1 unités ; cette production lui rapporte donc un profit de
(50x1 ) dh ;
▶ de même, la quantité x2 du produit B lui permet de faire un
profit de (60x2 ) dh.
Le profit total à tirer des deux produits s’élève donc à :
(50x1 + 60x2 )dh.
M. Bouchangour | Recherche Opérationnelle
Programmation linéaire
Modélisation : Exemple 17

Nous dénoterons ce profit total par z et laisserons implicite


l’unité monétaire :

z(x1 , x2 ) = 50x1 + 60x2 .

Nous cherchons évidemment à rendre z aussi grand que


possible en donnant à x1 et x2 des valeurs appropriées.

La grandeur z est une fonction qui, à chaque plan de


production (une quantité de A, une quantité de B), associe le
nombre de dirhams que l’entreprise retirerait comme profit si
elle adoptait ce plan. Cette fonction z, qui traduit l’objectif de
notre problème, s’appelle fonction objectif ou fonction
économique

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 18

Et, comme nous cherchons à rendre z aussi grand que


possible, nous écrivons :

Maximiser z où z = 50x1 + 60x2 ,

ou encore tout simplement :

Max z(x1 , x2 ) = 50x1 + 60x2 .

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 19

S’il ne s’agissait pour l’entreprise que de maximiser z, il suffirait


de laisser augmenter x1 ou x2 pour que z prenne une valeur
aussi grande qu’elle le souhaite.
Mais il y a bien sûr des empêchements naturels, appelés
contraintes, qui freinent le rêve d’un profit infini. Prenons en
considération tour à tour chacune des contraintes.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 20

3 Contraintes :

Contrainte relative à la machine m : Le temps d’utilisation de la


machine m pour fabriquer les produits A et B ne peut excéder
les 8 heures disponibles :

Temps d’utilisation de m ≤ 8.

Or, ce temps utilisé est la somme des heures consacrées à


chacun des types de produits. Pour le produit A, le temps
nécessaire à la fabrication de la quantité x1 se calcule ainsi :

1 heure / (unité de A) ×x1 (unité de A) = x1 heures

Pour le produit B, on procède de façon analogue :

2 heure / (unité de B) ×x2 (unité de B) = 2x2 heures


M. Bouchangour | Recherche Opérationnelle
Programmation linéaire
Modélisation : Exemple 21

3 Contraintes :

La contrainte relative à la machine m s’écrit donc :

x1 + 2x2 ≤ 8 (m)

On emploie le signe ” ≤ ”, et non ” = ”, car il nest pas


obligatoire que toutes les heures disponibles soient utilisées
pour la fabrication des produits A et B, bien qu’il ne soit pas
interdit qu’il en soit ainsi.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 22

Contraintes relatives aux matières premières : En s’inspirant de


la contrainte relative à la machine, ces contraintes s’écrivent
tout naturellement :

2x1 + 2x2 ≤ 10 (p)


9x1 + 4x2 ≤ 36 (q).

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 23

Remarque : Contraintes de positivité

Elles assurent que la solution ne comporte pas des valeurs


négatives (inacceptables), i.e :

x1 , x2 ≥ 0.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exemple 24

Le modèle se résume ainsi :




 Max z = 50x1 + 60x2



 x1 + 2x2 ≤8

(P) 2x1 + 2x2 ≤ 10



 9x1 + 4x2 ≤ 36



x1 , x2 ≥ 0.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : Exercice 25

Une usine fabrique des tables et des chaises tel que


1. Chaque table nécessite 2.5 h pour l’assemblage, 3h pour
le polissage et 1h pour la maise en caisse.
2. Chaque chaise nécessite 1 h pour l’assemblage, 3h pour
le polissage et 2h pour la maise en caisse.
L’entreprise ne peut disposer, chaque semaine, plus de 10h
pour l’assemblage, 15h pour le pollisage et de 8h pour la mise
en caisse.
La marge de profit est de 30h par table et 40dh par chaise.

▶ Modéliser le problème ci-dessus sous forme d’un


programme linéaire.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : 26

Étape 1 : Identification des variables.

Puisque le profit hebdomadaire de l’entreprise évolue en


fonction du nombres des tables et des chaises fabriqués, alors
on choisie comme variables :
1. x1 le nombre de table a fabriquer par semaine.
2. x2 le nombre de bureau a fabriquer par semaine.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : 27

Étape 2 : Fonction objectif.

Le profit hebdomadaire qu’on va le noté z s’obtient a partir de


l’expression :
z = 30x1 + 40x2 . (1)
Pour avoir un rendement maximal il suffit de maximisé
l’expression précédent, c’est-à-dire chercher le couple (x1 , x2 )
tel que le profit hebdomadaire (1) est maximal, ou encore :

Max z = 30x1 + 40x2 .

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : 28

Étape 3 : Contraintes.

Bien sur les valeurs de x1 et x2 sont limités par les disponibilité


de des ateliers, ainsi on distingue deux type de contraints :
▶ Contraines de production : Le temps necessaire pour
assembler les tables et les chaises ne peut dépasser les
10h disponible. Cela s’écrit :

2.5x1 + x2 ≤ 10.

De même pour le polissage et la mise en caisse qui ne


peut pas déppaser 15h et 15h respectivement. On écrit :

3x1 + 3x2 ≤ 15

x1 + 2x2 ≤ 8.
M. Bouchangour | Recherche Opérationnelle
Programmation linéaire
Modélisation : 29

▶ Contraines de non-négativité : Ce type de contraints ne


figure d’une manière implicite. En effet, le nombre de
tables et de chaises ne peut étre que positives ou nulles,
c’est-à-dire :
x1 ≥ 0 et x2 ≥ 0.

M. Bouchangour | Recherche Opérationnelle


Programmation linéaire
Modélisation : 30

Ainsi le programme linéaire peut s’écrire de la manière suivant :




 Max z = 30x1 + 40x2



 2.5x1 + 2x2 ≤ 10

3x1 + 3x2 ≤ 15



 x1 + 2x2 ≤ 8



x1 ≥ 0, x2 ≥ 0.

M. Bouchangour | Recherche Opérationnelle


Exercice 2
31

Une usine fabrique deux produits P1 et P2 à l’aide de trois


matières premières M1 , M2 et M3 dont on dispose en quantité
limitée. On se pose le problème de l’utilisation optimale de ce
stock de matières premières c’est-à-dire la détermination d’un
schéma, d’un programme de fabrication tel que :
▶ les contraintes de ressources en matières premières
soient respectées,
▶ le bénéfice réalisé par la vente de la production soit
maximum.

M. Bouchangour | Recherche Opérationnelle


Exercice 2
32

Caractéristiques de fabrication. Elles sont données dans le


tableau ci-dessous :
M1 M2 M3
P1 1 1 2
P2 3 1 1

M. Bouchangour | Recherche Opérationnelle


Merci pour votre attention

Vous aimerez peut-être aussi