Vous êtes sur la page 1sur 6

Recherche opérationnelle

OBJECTIFS :
Ce cours a pour objectif de présenter les principales méthodes et techniques utilisées dans
la recherche opérationnelle. Cette dernière est à la croisée de trois disciplines : la
résolution de problèmes, les mathématiques et l’informatique. Les graphes sont un
instrument puissant pour modéliser de nombreux problèmes combinatoires. La
programmation linéaire aide à résoudre un problème de maximisation ou minimisation
d’une fonction objective sous un certain ensemble de contraintes. Ce cours propose des
algorithmes très efficaces pour la résolution de nombreux problèmes connus, comme les
algorithmes de la recherche du plus court chemin ou le problème d’ordonnancement.

Chapitre I : Introduction à la Recherche Opérationnelle

1- Introduction:
La Recherche Opérationnelle (RO) (aussi appelée aide à la décision) est une discipline
qui s'occupe de l'application des méthodes analytique pour résoudre des problèmes
complexes de prise de décision. Elle englobe l'utilisation de méthodes mathématiques,
statistiques et informatiques pour trouver des solutions optimales ou quasi-optimales. Les
projets de recherche sont souvent pluridisciplinaires (sciences de la décision, ingénierie,
économie, médecine, etc. . . ).
Par exemple, une entreprise peut utiliser la RO pour déterminer comment acheminer
efficacement ses produits vers différents points de vente tout en minimisant les coûts de
transport.

2- Historique :
La recherche opérationnelle (R.O.) s’est développée depuis la seconde guerre mondiale
en Grande-Bretagne durant, quand l’armée fit appel à des équipes de mathématiciens
pour résoudre des problèmes de choix militaires. En 1940, Patrick Blackett est appelé par
l'état-major anglais à diriger la première équipe de recherche opérationnelle, pour
résoudre certains problèmes lorsqu'on décida d'employer des méthodes scientifiques pour
étudier divers aspects des opérations militaires tels que l'implantation optimale de radars
de surveillance ou la gestion des convois d'approvisionnement.
Depuis lors, et grâce au succès obtenu, elle a été par ailleurs adoptée dans d'autres
domaines d'application tels que l'économie, l'industrie, le commerce, physique,
l'urbanisme, les finances, probabilité et statistique, le service social, le service sanitaire,
etc. . . , actuellement, en l'utilise dans tous les domaines pour optimiser les ressources
disponibles et d'améliorer l'efficacité pour obtenir des bénéfices, il s'agit souvent de
déterminer un maximum (tel que le profit, la performance ou le rendement) ou le
minimum (comme la perte, le risque ou le coût).
Parmi les sujets d'application récents de la RO, on peut mentionner
Ø les études logistiques (forces armées),
Ø la sécurité ferroviaire,
Ø la conception d'emballages,
Ø la gestion prévisionnelle du personnel,
Ø le transport aérien,
Ø les opérations forestières,
Ø l'optimisation du carburant nucléaire,
Ø l'affectation des ressources dans un hôpital,
Ø l'étude des réseaux de commutation,
Ø la planification de la production,
Ø l’apprentissage artificiel.

3- Types de problems traits:


La recherche opérationnelle peut aider le décideur lorsque celui-ci est confronté à un
problème combinatoire, aléatoire ou concurrentiel.

3.1. Type combinatoire : Un problème est dit combinatoire lorsqu’il comprend un grand
nombre de solutions admissibles parmi lesquelles on cherche une solution optimale ou
proche de l’optimum.
Par exemple le problème de déterminer ou installer 5 centres de distributions parmi 30
sites d’implantation possibles, de sorte que les couts de transport entre ces centres et les
clients soient minimums. Ce problème ne peut être résolu par une simple énumération des
solutions possibles par l'esprit humain. Et même si un problème de cette taille peut être
résolu par énumération par un ordinateur, les décideurs sont régulièrement confrontés à
des problèmes infiniment plus complexes, où le nombre de solutions acceptables se
compte en milliards de milliards (voir explosion combinatoire).
Autres exemples :
- Définition des investissements les plus rentables
- Optimisation des problèmes d’affectation
- Optimisation des problèmes de transport
- Optimisation des problèmes d’ordonnancement

3.2. Type aléatoire : Un problème est dit aléatoire s’il consiste à trouver une solution
optimale à un problème qui se pose en termes incertains.
Par exemple, le problème suivant :
Connaissant la distribution aléatoire du nombre de personnes entrant dans une
administration en une minute et la distribution aléatoire de la durée de traitement du cas
d’une personne, déterminer le nombre minimum de guichets à ouvrir pour qu'une
personne ait moins de 5% de chances de devoir attendre plus de 15 minutes.
Autres exemples :
- Files d’attente
- Problèmes de stocks
- Réparation et renouvellement des équipements

3.3. Type concurrentiel : Un problème est dit concurrentiel s'il consiste à trouver une
solution optimale face à un problème dont les termes dépendent de l'interrelation entre
ses propres agissements et ceux d'autres décideurs.
Exemple typique : fixer une politique de prix de vente, sachant que les résultats d'une
telle politique dépendent de la politique des concurrents.
Autres exemples :
- Définition des politiques d’approvisionnement
- Définition des politiques de vente.

4- Méthodologie de la recherche opérationnelle:


Pour résoudre un problème en recherche opérationnelle, l'on adopte un processus logique
composé des étapes suivantes :

a. Formulation du Problème : Identifiez le problème du monde réel et traduisez-le en


termes de variables, d'objectifs et de contraintes. Par exemple, un problème de
planification de la production pourrait impliquer des variables telles que les quantités de
produits à fabriquer, un objectif de maximisation des profits et des contraintes de capacité
de production.

b. Modélisation Mathématique : Transformez le problème formulé en un modèle


mathématique. Pour un problème de distribution de ressources, vous pourriez utiliser des
équations linéaires pour représenter les contraintes budgétaires et les demandes.

c. Choix de la Méthode de Résolution : Sélectionnez une méthode de résolution


appropriée en fonction de la nature du modèle. Par exemple, les problèmes de
programmation linéaire peuvent être résolus à l'aide de méthodes telles que le simplexe.

d. Résolution et Interprétation : Appliquez la méthode choisie pour obtenir une


solution. Interprétez les résultats à la lumière du problème d'origine. Dans le contexte de
la distribution de ressources, la solution pourrait indiquer comment allouer efficacement
les ressources tout en respectant les contraintes.

5- Rappels Mathématiques :
L’utilisation d’un modèle mathématique permet de représenter la réalité en schématisant
les relations entre les variables identifiées pour pouvoir lui appliquer les outils, les
techniques et les théories mathématiques, puis généralement, en sens inverse, la
traduction des résultats mathématiques obtenus en prédictions ou opérations dans le
monde réel.
Les problèmes d'organisation rencontrés dans une entreprise ne sont pas mathématiques
dans leur nature. Mais les mathématiques peuvent permettre de résoudre ces problèmes.
Pour cela, il faut traduire le problème dans un cadre mathématique, cadre dans lequel les
techniques de la recherche opérationnelle pourront s'appliquer. Cette traduction est le
modèle du problème.
Cette phase essentielle s'appelle la modélisation.

3-1 modélisations et optimisation :


La résolution d'un problème dépend crucialement du modèle choisi. En effet, pour un
même problème, différentes modélisations sont possibles et il n'est pas rare que le
problème semble insoluble dans une modélisation et trivial dans une autre.
D'autre part, tous les éléments d'un problème ne doivent pas être modélisés. Par exemple,
lorsqu'on souhaite planifier une tournée, la couleur du véhicule n'a pas d'intérêt. Le statut
du conducteur, la nature du véhicule ou du produit transporté peuvent, eux, en avoir, et
seule une compréhension de l'objectif de l'optimisation de la tournée peut permettre de
trancher.
Souvent, la phase de modélisation est accompagnée ou précédée de nombreuses
discussions avec le commanditaire (lequel n'a d'ailleurs pas toujours une idée claire de ce
qu'il cherche à obtenir _ ces discussions lui permettent alors également de préciser ses
objectifs).
Une des vraies difficultés de départ est de savoir quels éléments doivent être modélisés et
quels sont ceux qui n'ont pas besoin de l'être. Il faut parvenir à trouver le juste équilibre
entre un modèle simple, donc plus facilement soluble, et un modèle compliqué, plus
réaliste, mais plus difficile à résoudre. Cela dit, pour commencer, un modèle simple est
toujours préférable et permet souvent de capturer l'essence du problème, de se construire
une intuition et de proposer des solutions faciles à implémenter.
Ce qui est demandé au chercheur opérationnel, c'est de proposer une meilleure utilisation
des ressources, voire une utilisation optimale. Les bonnes questions à se poser, face à un
problème du type recherche opérationnelle, sont les suivantes :
_ Quelles sont les variables de décision ? C'est-à-dire quels sont les éléments de mon
modèle que j'ai le droit de faire varier pour proposer d'autres solutions ?
_ Quelles sont les contraintes ? Une fois identifiées les variables de décision, quelles
sont les valeurs autorisées pour ces variables ?
_ Quel est l'objectif ou le critère ? Quelle est la quantité que l'on veut maximiser ou
minimiser ? Rappelons immédiatement que, en toute rigueur, on n'optimise qu'une seule
quantité à la fois.
On ne peut pas demander d'optimiser à la fois la longueur d'un trajet et son temps de
parcours : le trajet le plus court peut très bien passer par un chemin vicinal et le trajet le
plus rapide être très long mais sur autoroute. L'optimum par rapport à un critère n'a pas de
raison de coïncider avec l'optimum par rapport à l'autre critère. Il existe bien ce qu'on
appelle l'optimisation multi-objectif ou multi-critère, mais ce n'est jamais directement une
optimisation. C'est une méthode qui consiste à hiérarchiser les objectifs, ou leur donner
une certaine pondération, ce qui revient enfin à un vrai problème d'optimisation ; ou alors
de proposer toute une famille de solutions dite Pareto-optimale.

Une fois le modèle écrit, le chercheur opérationnel va proposer un algorithme de


résolution qui tiendra compte de l'objectif qui lui a été fixé. Comme nous le verrons à de
nombreuses reprises dans ce cours, pour un même modèle, un grand nombre
d'algorithmes peut être proposé. Ces algorithmes se différencient par la qualité de la
solution qu'ils fournissent, le temps d'exécution, la simplicité d'implémentation. Dans
certains cas, il peut être crucial de pouvoir fournir une solution en 1 ms, avec une certaine
tolérance sur la qualité de la solution. Dans d'autres cas, 1 semaine de calcul peut être
acceptable mais en revanche on souhaite trouver l'optimum. En général, on se situe entre
ces deux extrêmes.
La recherche opérationnelle dispose d'outils théoriques qui permettent a priori d'apprécier
ces points (rapidité de l'algorithme, qualité de la solution,...) sans avoir à expérimenter.
On parle de validation théorique. Ensuite, il faut réaliser un prototype de l'algorithme (on
peut parler de « code académique » si ce prototype est développé en laboratoire) qui
permet de démontrer sa réalisabilité pratique _ on parle de validation pratique. Enfin, si
ces étapes sont validées, on passe au déploiement de la solution, qui consiste à produire
un code robuste, programmer une interface, discuter les formats des fichiers d'input, de
discuter la question de la maintenance du code, etc.

3-2 Techniques principales :

La recherche opérationnelle (RO) est un domaine interdisciplinaire qui englobe plusieurs


techniques et méthodes pour résoudre des problèmes d'optimisation et de prise de
décision. Voici quelques-unes des techniques principales de la recherche opérationnelle :

1. Théorie des Graphes : La théorie des graphes est couramment utilisée pour
modéliser des problèmes de réseau, tels que les problèmes de flux maximal, les
problèmes de plus court chemin, etc.

Exemple : Pour optimiser les itinéraires de livraison, une entreprise de logistique


utilise la théorie des graphes pour trouver le chemin le plus court entre les points
de livraison.

2. Programmation Linéaire (PL) : La PL est l'une des techniques les plus


fondamentales en RO. Elle est utilisée pour résoudre des problèmes d'optimisation
linéaire où l'objectif et les contraintes sont linéaires. L'algorithme du simplexe est
l'approche classique pour résoudre des problèmes de PL.

Exemple : Une chaîne d'approvisionnement doit décider de la quantité de


matières premières à acheter pour minimiser les coûts de stockage tout en
satisfaisant la demande. La programmation linéaire est utilisée pour résoudre ce
problème.

3. Programmation Non Linéaire : La programmation non linéaire traite des


problèmes d'optimisation où la fonction objective ou les contraintes ne sont pas
linéaires.

Exemple : Une entreprise pharmaceutique souhaite maximiser la rentabilité d'un


nouveau médicament, mais la relation entre les coûts de production et les prix de
vente n'est pas linéaire. La programmation non linéaire peut être utilisée pour
résoudre ce problème.

4. Programmation Dynamique : Cette technique est utilisée pour résoudre des


problèmes séquentiels ou récursifs en décomposant le problème en sous-
problèmes plus simples. Elle est couramment utilisée pour résoudre des
problèmes de planification à long terme et de gestion de projet.

Exemple : Le problème : Calculer la plus longue sous-séquence commune (LCS


- Longest Common Subsequence). La plus longue sous-séquence commune entre
deux chaînes (ou séquences) est une séquence de caractères qui apparaît dans les
deux chaînes, sans nécessairement être consécutive, et qui est la plus longue
parmi toutes les sous-séquences communes possibles.

5. Théorie des Jeux : La théorie des jeux est utilisée pour modéliser des situations
de conflit ou de coopération entre des décideurs et résoudre des problèmes tels
que les jeux à somme nulle ou les jeux coopératifs.

Exemple : Deux entreprises concurrentes peuvent utiliser la théorie des jeux pour
déterminer leurs stratégies de prix afin de maximiser leurs profits.

6. Méthodes Heuristiques et Métaheuristiques : Ces méthodes sont utilisées pour


trouver des solutions de qualité acceptable dans des délais raisonnables pour des
problèmes complexes. Les exemples incluent la recherche locale, le recuit simulé,
les algorithmes génétiques, et les essaims de particules.

Exemple : Problème : Le problème du voyageur de commerce (TSP - Traveling


Salesman Problem). Le problème du voyageur de commerce consiste à trouver le
chemin le plus court qui visite chaque ville une seule fois et revient à la ville de
départ. Il est difficile à résoudre de manière optimale pour un grand nombre de
villes, il est donc courant d'utiliser des méthodes heuristiques comme le recuit
simulé.

Ces techniques sont largement utilisées en recherche opérationnelle pour résoudre des
problèmes complexes dans divers domaines tels que la gestion, l'ingénierie, la logistique,
l'économie et bien d'autres. Le choix de la technique dépend du type de problème, de sa
complexité et des objectifs de résolution spécifiques. Souvent, plusieurs techniques sont
combinées pour aborder des problèmes réels.

Vous aimerez peut-être aussi