La recherche opérationnelle est une discipline dont le but est de fournir des méthodes pour
répondre à un type précis de problème, c’est-à-dire à élaborer une démarche universelle pour
un type de problème qui aboutit à la ou les solutions les plus efficaces. La particularité de la
recherche opérationnelle est que les méthodes proposées sont des démarches rationnelles
basées sur des concepts et outils mathématiques et/ou statistiques.
Généralement, ces méthodes sont employées sur des problèmes tels que leur utilisation
"manuelle" devient impossible. C’est pourquoi, du fait qu’elles sont rationnelles, les
démarches proposées par la recherche opérationnelle peuvent être traduites en programmes
informatiques.
Cette traduction d’une démarche en un programme informatique n’est pas sans difficulté.
Tout d’abord, le temps d’exécution du programme résultant et/ou la place occupée dans la
mémoire de l’ordinateur peuvent ne pas être acceptables. Ainsi, une méthode en recherche
opérationnelle sera jugée sur ces critères de temps et de place. Plus une méthode sera rapide
et peu gourmande en mémoire, plus elle sera considérée bonne.
Les ordinateurs ont une structure particulière qui fait que toutes les propriétés des
mathématiques traditionnelles ne sont pas toujours respectées. Ainsi, une démarche prouvée
fonctionner admirablement en théorie peut s’avérer être complètement inexploitable en
pratique. Notamment, les nombres réels dans un ordinateur ne peuvent pas être représentés
de manière exacte, ils sont arrondis. On voit donc facilement qu’une répétition excessive
d’arrondis dans un calcul peut entraîner des erreurs importantes dans les résultats finaux. Les
méthodes employées en recherche opérationnelle doivent prendre en compte ce genre de
problème.
Dans ce cours, nous verrons différents outils de recherche opérationnelle sans apporter de
justifications mathématiques très détaillées et rigoureuses. Après quelques exemples qui
permettront de mieux cerner le domaine de la recherche opérationnelle, nous introduirons un
outil à la fois graphique et théorique: les graphes. Afin de mieux appréhender la complexité
d’un problème ou la rapidité d’un algorithme, nous nous intéresserons à la théorie de la
complexité. Enfin, nous verrons un autre outil important de la recherche opérationnelle qui
est la programmation linéaire. L’avantage de cet outil est d’apporter une solution générique
à la résolution de nombreux problèmes. De plus, cet outil est disponible sous différentes
formes pour une utilisation informatique. Voici le plan du cours.
Présentation
Les graphes