Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

UNIVERSITE DE LUBUMBASHI

Faculté Polytechnique

COURS ET EXERCICES DE

RECHERCHE OPERATIONNELLE
Destiné aux étudiants de premier grade des options :
Chimie Industrielle, Mines et Métallurgie

Par :
Prof. Dr Ir KANIKI TSHAMALA Arthur
Ass. Ir TSHIBANDA NTAKAMUTSHI Patrick

Année Académique 2011-2012


Engagements pédagogiques

ENGAGEMENTS PEDAGOGIQUES
 Intitulé du cours : Recherche Opérationnelle

 Code : SB40 (Officiel ?)

 Volume horaire : 30 heures de cours théorique et 15 heures de TP (30H+15H)


qui peuvent être réalisées en 9 séances dans l’auditoire (cours théorique et
exercices d’application) et 2 séances au laboratoire d’informatique (exercices
nécessitant l’utilisation de l’ordinateur).

 Méthodes d’enseignement et d’apprentissage : Le cours théorique est exposé


ex cathedra en utilisant un rétro ou un vidéo projecteur. Le cours n’est pas
dicté !!! Les notes et les diapositives sont mises à la disposition des étudiants
(en principe avant le début du cours). Les travaux pratiques comprennent les
exercices d’application qui seront réalisés dans l’auditoire et dans le laboratoire
d’informatique.

 Méthodes d’évaluation :
 Epreuve écrite : Questions théoriques et exercices avec ou sans notes
 Epreuve pratique : Résolution des exercices en utilisant l’outil
informatique

 Langues : Le cours est dispensé en français.

 Crédits : Le crédit attribué au cours de Recherche Opérationnelle à l’UNILU est


le quotient de la division de 45 heures « présentielles enseignant/étudiant » par
15, soit 3. Il faut noter que lorsqu’on valorise nos études à l’étranger, par
exemple en Europe, la reconnaissance académique se fait sur base des crédits
ECTS (European Credit Transfert System) où la notion d’ « heures présentielles
enseignant/étudiant » est remplacée par celle de « charge de travail de
l’étudiant ». Les crédits ECTS expriment la quantité de travail que chaque unité
d’enseignement requiert par rapport au volume global de travail nécessaire
pour réussir une année d’études complète. Les crédits ECTS attribués à un
enseignement recouvrent donc non seulement la participation aux cours
magistraux, travaux pratiques, stages, recherches ou enquêtes sur le terrain,
mais aussi le travail personnel (à la bibliothèque ou à domicile), requis pour la
préparation des travaux et la réussite des examens. Dans le cadre de l’ECTS, le
volume de travail d’une année d’études vaut conventionnellement 60 crédits.
Une année d’études représentant pour l’étudiant une charge de travail de
1.440 heures, 1 crédit ECTS équivaut, de manière absolue, à 24 heures de
travail étudiant. Le contenu de ce cours est évalué à 6 crédits ECTS soit 144
heures. Si les heures « présentielles enseignant/étudiant » sont limitées à 45,
l’étudiant est avisé qu’il doit réaliser personnellement au moins 100 heures en
plus pour maîtriser le contenu du cours.

 Objectifs (général et spécifiques) : Acquérir les connaissances des méthodes


et techniques d’analyse professionnelle de faisabilité et d’optimisation
permettant de prendre des décisions rationnelles face à des problèmes
complexes de nature combinatoire, aléatoire ou concurrentielle.

 Pré-réquis : Ce cours nécessite une connaissance préalable des notions de


mathématique (particulièrement d’algèbre linéaire).

 Finalité : La finalité du cours est de rendre l’étudiant capable d’utiliser les


méthodes et techniques rationnelles pour résoudre des problèmes complexes.

Notes de cours et exercices de Recherche Opérationnelle 2


Contenu du cours théorique

CONTENU DU COURS THEORIQUE

Introduction

Chapitre I Programmation linéaire

Définitions et notations
Théorèmes fondamentaux
Algorithme du simplexe
Méthode graphique de résolution
Résolution à l’aide du solveur Excel
Résolution à l’aide du logiciel LINDO
Exercices

Chapitre II Eléments de la théorie de jeux et stratégies

Introduction
Types de jeux
Représentations des jeux
Choix d’un critère
Exemples économiques et valeur d’un jeu
Exercices

Chapitre III Théorie des graphes et applications

Notions et rappels mathématiques


Notions de chemin et de circuit
Applications
Chemins hamiltoniens
Chemins de valeur optimale
Autres applications
Exercices

Chapitre IV Problèmes de gestion

Introduction
Gestion de stocks
Gestion d’équipements
Applications

Notes de cours et exercices de Recherche Opérationnelle 3


Introduction

INTRODUCTION
I. Définition
La recherche opérationnelle (aussi appelée aide à la décision) peut
être définie comme l'ensemble des méthodes et techniques rationnelles
d'analyse et de synthèse des phénomènes d'organisation utilisables pour
élaborer de meilleures décisions.

La recherche opérationnelle (RO) propose des modèles conceptuels


pour analyser des situations complexes et permet aux décideurs de faire les
choix les plus efficaces. Le domaine d’application de la recherche
opérationnelle est fortement lié à l'ingénierie des systèmes.

II. Historique
Dès le XVIIe siècle, des mathématiciens comme Blaise Pascal tentent
de résoudre des problèmes de décision dans l'incertain avec l'espérance
mathématique. D'autres, au XVIIIe et XIXe siècle, résolvent des problèmes
combinatoires. Au début du XXe siècle, l'étude de la gestion de stock peut être
considérée comme étant à l'origine de la recherche opérationnelle moderne
avec la formule du lot économique (dite formule de Wilson) proposée par
Harris en 1913.

Mais ce n'est qu'avec la Seconde Guerre mondiale que la pratique va


s'organiser pour la première fois et acquérir son nom. 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 tels que
l'implantation optimale de radars de surveillance. Le qualificatif
« opérationnelle » vient du fait que la première application d'un groupe de
travail organisé dans cette discipline avait trait aux opérations militaires. La
dénomination est restée par la suite, même si le domaine militaire n'est plus le
principal champ d'application de cette discipline.

Après la guerre, les techniques se sont considérablement développées,


grâce, notamment, à l'explosion des capacités de calcul des ordinateurs. Les
domaines d'application se sont également multipliés.

III. Domaine d’application


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

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.

Exemple : déterminer où installer 5 centres de distribution parmi 30 sites


d'implantation possibles, de sorte que les coûts de transport entre ces centres
et les clients soient minimum.

Ce problème ne peut être résolu par une simple énumération des


30!
5
solutions possibles par l'esprit humain, puisqu'il en existe C30 = soit
5!⋅(30 − 5)!

Notes de cours et exercices de Recherche Opérationnelle 4


Introduction

30 x 29 x 28 x 27 x 26 / (5x4x3x2) = 142 506 (!). 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.

Un problème est dit aléatoire s'il consiste à trouver une solution


optimale face à un problème qui se pose en termes incertains.

Exemple : connaissant la distribution aléatoire du nombre de personnes


entrant dans une administration communale 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.

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 : 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.

Les problèmes que la R.O. peut aider à résoudre sont soit stratégiques
(on peut citer le choix d'investir ou pas, le choix d'une implantation, le
dimensionnement d'une flotte de véhicules ou d'un parc immobilier…) ou
opérationnelles (notamment l'ordonnancement, la gestion de stock, les
prévisions de ventes…).

La gestion de projets est une composante très importante de la


communauté de recherche opérationnelle. De nombreux travaux traitent de
l'ordonnancement et de la gestion de projets, mais aussi de logistique
(tournées de véhicule, conditionnement…), de planification, et de problèmes
d'emploi du temps.

Dans le cadre de l'industrie manufacturière, la recherche


opérationnelle permet notamment de trouver des plans de productions
(ordonnancement de production), de disposer au mieux les machines dans un
atelier, de diminuer le gaspillage des matières premières (problèmes de
découpe) ou de l'énergie ou bien encore d'optimiser le conditionnement et la
livraison des produits intermédiaires ou finis.

Dans le domaine de la finance, les problèmes d'investissement sont


des problèmes classiques de recherche opérationnelle. Ils consistent en
général à maximiser le profit (ou l'espérance de profit) obtenu à partir d'un
montant donné en combinant au mieux les différentes possibilités offertes à
l'investisseur.

La recherche opérationnelle a aussi des applications dans le domaine


de l'énergie. Elle est couramment utilisée dans l'industrie pétrolière,
principalement dans l'établissement des plans de production,
l'approvisionnement des bruts, l'utilisation des unités de raffinage, et le choix
des canaux de distribution les plus rentables. De même, les opérateurs du
Marché de l'électricité font largement appel à la recherche opérationnelle tant
pour des problèmes stratégiques (par exemple des investissements sur le

Notes de cours et exercices de Recherche Opérationnelle 5


Introduction

réseau) que pour des questions plus opérationnelles (stabilité du réseau,


prévisions…).

Les applications dans le domaine de l'informatique sont très


nombreuses elles aussi. On peut citer, entre autres, le choix de la localisation
et du nombre de serveurs à mettre en place, de la capacité de stockage, de la
puissance de calcul et du débit du réseau, le choix d'une architecture
informatique (application centralisée / distribuée, traitements en temps réel
ou en différé, réseau maillé ou en étoile, etc.), et l'ordonnancement dans les
systèmes d'exploitation.

IV. La Recherche Opérationnelle et le monde des entreprises


Très peu d'entreprises emploient des chercheurs opérationnels pour
aider le décideur à résoudre ses problèmes. Lorsque de tels problèmes se
posent, ils sont généralement soumis à un gros cabinet de conseil ou au
département de recherche opérationnelle d'une université (bien que la
tendance actuelle soit à l'externalisation de ces compétences universitaires via
de petites sociétés privées appelées spin-off, répondant mieux aux besoins du
monde industriel). Certains problèmes simples peuvent être résolus au sein
même de l'entreprise, la plupart des universités ayant intégré des cours
d'introduction à la recherche opérationnelle dans les programmes des
ingénieurs, des mathématiciens, des informaticiens, des contrôleurs de gestion
et, moins souvent, des économistes.

Malgré son importance intrinsèque, la R.O. est encore peu utilisée


dans le monde industriel, soit à cause du manque d'(in)formation des
décideurs, soit par le manque de pertinence de l'outil ou sa difficulté de mise
en œuvre. Les principales craintes émises par le décideur quant à l'application
de modèles R.O. dans son entreprise sont :

 Une prise en compte limitée des facteurs

Pour les questions stratégiques, la réponse « pure et parfaite » d'une solution


mathématique semble rarement applicable de facto. Même si la recherche
opérationnelle intègre beaucoup de facteurs, si certains aspects sont
relativement faciles à modéliser au sens mathématique du terme (le coût, la
rentabilité, la distance, la durée, la cadence, par exemple), d'autres éléments
sont en revanche plus difficiles à modéliser : contraintes légales, volonté
commerciale de faire barrage à un concurrent, importance des relations avec
les élus, climat social, etc. Le poids de ces éléments dans la décision est
pourtant important, parfois déterminant.

 Un investissement important

L'outil mathématique lui-même exige un niveau élevé de connaissances


mathématiques, une bonne aptitude à modéliser les problèmes et décrire les
facteurs ; ces contraintes sont consommatrices de temps et d'argent (que ce
soit par développement interne, qui consomme des ressources; ou par
développement externe, qui consomme de l'argent). Il est alors nécessaire de
trouver un équilibre entre l'investissement nécessaire et les retombées
prévues.

 Pour des événements peu fréquents

Notes de cours et exercices de Recherche Opérationnelle 6


Introduction

L'entreprise ne bénéficie pas de l'effet d'expérience : d'une fois sur l'autre, le


problème concerne un service différent, ou les responsables ont changé entre
deux études. Il est donc difficile d'entretenir les compétences R.O. à l'intérieur
de l'entreprise.

Le décideur devra prendre ces différents aspects en compte lorsqu'il


décidera ou non de mettre en œuvre des modèles de recherche opérationnelle
dans son entreprise.

V. Relation avec d’autres disciplines


La recherche opérationnelle se situe au carrefour de différentes
sciences et technologies. Par exemple, l'analyse économique est souvent
nécessaire pour définir l'objectif à atteindre ou pour identifier les contraintes
d'un problème.

Elle est aussi liée à l'ingénierie des systèmes. Par rapport à celle-ci, le
champ d'application de la recherche opérationnelle est historiquement plus
axé sur les événements incertains et l'industrie, et ses méthodes plus
particulièrement mathématiques.

La recherche opérationnelle utilise de nombreuses méthodes issues de


théories mathématiques diverses. En ce sens, une partie de la recherche
opérationnelle peut être considérée comme une branche des mathématiques
appliquées. Les mathématiques, notamment les statistiques, contribuent aussi
à poser efficacement les termes d'un problème.

La théorie des graphes sert de support à la résolution d'un vaste


échantillon de problèmes, notamment certains issus de l'algorithmique
classique, tels que les problèmes de plus court chemin, le problème du
voyageur de commerce, les problèmes d'ordonnancement de tâches, les
problèmes de planning ou encore les problèmes d'optimisation de flux.

Les progrès de l'informatique sont intimement liés à l'accroissement


des applications de la recherche opérationnelle. Une puissance de calcul
importante est nécessaire à la résolution de problèmes de grande taille. Cette
puissance est cependant loin de constituer une panacée : la théorie de la
complexité nous apprend que certains problèmes ne peuvent pas être résolus
de manière optimale dans un temps raisonnable, même si l'on considère des
ordinateurs un milliard de fois plus puissants que ceux d'aujourd'hui.

Plusieurs méthodes de résolution de problèmes sont issues de


l'intelligence artificielle. Alors que l'approche de l'intelligence artificielle est de
proposer des méthodes de résolution génériques, la recherche opérationnelle
utilise ces méthodes en les spécialisant pour les rendre plus efficaces à
résoudre des classes plus restreintes de problèmes.

On peut aussi citer la théorie des jeux, bien connue des économistes,
qui aide à résoudre les problèmes concurrentiels.

VI. Principales techniques de Recherche Opérationnelle


Algorithmes polynomiaux
Certains problèmes de recherche opérationnelle ne sont pas NP-complets.
Dans ce cas, on utilise un algorithme polynomial pour le résoudre, si le
polynôme est de degré raisonnable.

Notes de cours et exercices de Recherche Opérationnelle 7


Introduction

Programmation dynamique

Certains problèmes ont de bonnes caractéristiques qui permettent de les


résoudre à l'aide d'une formule de récurrence. Les méthodes de
programmation dynamique peuvent alors éventuellement permettre de
résoudre le problème avec une complexité polynomiale ou pseudo-
polynomiale.

Processus stochastiques

Les processus stochastiques concernent tous les problèmes aléatoires, en


particulier des problèmes de fiabilité (de systèmes, de composants
électroniques…) et des phénomènes d'attente.

Simulation informatique

La simulation est souvent employée pour résoudre des problèmes de R.O.,


notamment dans le milieu non académique.

Programmation linéaire et non linéaire

La programmation linéaire est très souvent utilisée pour résoudre des


problèmes combinatoires. Elle permet de résoudre très efficacement les
problèmes dans lesquels les variables sont continues. Lorsqu'il y a des
variables discrètes, programmation linéaire et méthodes arborescentes (voir ci-
après) peuvent être combinées.

La programmation non-linéaire peut aussi être utilisée. La possibilité d'utiliser


des contraintes ou des fonctions objectifs non linéaires offre une puissance de
modélisation très importante mais les algorithmes de résolution des
programmes non linéaires sont significativement moins efficaces que ceux de
la programmation linéaire.

Méthodes arborescentes

Les méthodes de type A* ou branch and bound sont couramment utilisées


pour trouver la solution exacte d'un problème de recherche opérationnelle.
Pour une résolution efficace, un soin particulier est apporté au calcul de
bornes supérieures ou inférieures pour la valeur de la solution.

La programmation par contraintes permet de mettre en œuvre rapidement et


efficacement de telles méthodes de recherche arborescente. Plusieurs
bibliothèques (logiciels) d'optimisation commerciales ou non reposent sur cette
approche (ILOG Solver, Chip, Mozart/Oz, FaCiLe). De nombreux logiciels
d'optimisation de problèmes réels utilisent ainsi cette technologie.

Heuristiques et métaheuristiques

Lorsque la solution optimale ne peut être obtenue en un temps raisonnable,


on a souvent recours à des méthodes approchées de type heuristique ou
métaheuristique.

Notes de cours et exercices de Recherche Opérationnelle 8


Introduction

VII. Notion de décision


Une décision est un choix entre un ensemble d’actes possibles.

Une décision est correcte si, étant faite en fonction d’un certain critère
de valeur (critère qui permet de classer les conséquences des actes), elle
choisit l’acte engendrant les conséquences ayant la plus grande valeur.

Les éléments d’une décision sont donc :


- Le champ des actes possibles
- Leurs conséquences
- Le critère de valeur.

Dans une entreprise on se limitera, en Recherche Opérationnelle, aux


choix économiques (maximisation du profit), pour lesquels les différences
entre diverses possibilités s’expriment en termes de valeurs (c'est-à-dire de
prix et de quantités).

VIII. Prévisibilité de l’avenir et expression du critère de choix


On distingue quatre types de prévisibilité de l’avenir, qui engendrent
des problèmes de décision complètement différents.

a) L’avenir est déterminé et complètement connu

A chacune des décisions présentes se trouve associé une suite de


situations futures parfaitement connues.

Une première difficulté se présente, due à l’introduction du facteur


temps. Cette difficulté est levée en adoptant comme critère celui de la
maximisation du profit actualisé.

Une seconde difficulté est due au fait que le nombre de décisions


possibles est très élevée, voir infini. Des techniques telles que la
programmation linéaire et la théorie des graphes permettent de déterminer la
solution optimale sans devoir dénombrer toutes les décisions.

b) L’avenir est connu en probabilité

A chacune des décisions présentes se trouve associée une suite de


situations futures aléatoires.

Il s’agit de choisir entre diverses décisions, qui conduisent à des


distributions de probabilité différentes pour les profits. Le critère qu’on peut
choisir est celui de la maximisation de l’espérance mathématique du profit ou
du profit actualisé. Des techniques telles que la théorie des stocks, la théorie
des équipements, et les phénomènes d’attente, appartiennent à ce deuxième
type de connaissance du futur.

c) L’avenir est inconnu de par la nature des êtres

Nos décisions se heurtent aux décisions d’un ou plusieurs adversaires


actifs et conscients. Il s’agit ici d’introduire dans un modèle mathématique et
cohérent, l’adversaire, le concurrent, le collaborateur.

Notes de cours et exercices de Recherche Opérationnelle 9


Introduction

La théorie des jeux de stratégie appartient à ce troisième type de


connaissance du futur. Comme on le verra, l’un des critères possibles est celui
du maximin (maximiser le profit minimum), critère qui nécessite des
hypothèses sur le comportement de l’adversaire.

d) L’avenir est inconnu de par la nature des choses

A chacune des décisions présentes se trouve associé une suite de


situations futures dont on ne connait pas les probabilités.

Ce quatrième cas peut être considéré comme un jeu à deux joueurs :


le centre de décision d’une part, dont chacune des décisions peut être
considérée comme une ‘’stratégie’’, et d’autre part le monde extérieur, ici la
‘’nature’’ dont l’état est inconnu. Ainsi la ‘’nature’’ peut être considérée comme
un joueur dont les états sont des ‘’stratégies’’.

Notes de cours et exercices de Recherche Opérationnelle 10


Chapitre I Programmation linéaire

Chapitre I
PROGRAMMATION LINEAIRE
I.1. Définitions et notations
I.1.1. Programme linéaire
Un programme linéaire (ou P.L.) est un problème dans lequel on se
propose de déterminer un certain nombre d’inconnues (appelées variables de
décision) qui sont astreintes.
• à être positives ;
• à vérifier un certain nombre d’inégalités ou d’égalités linéaires
indépendantes ;
• à rendre maximum ou minimum une fonction linéaire donnée (appelée
fonction économique).

Mathématiquement on écrit :

Contraintes I : x1, x2,…,xn >= 0

Contraintes II : a11x1 + a12x2 + … + a1nxn <= b1,


a21x1 + a22x2+ … + a2nxn <= b2,
.
.
.
am1x1 + am2x2 + … + amnxn <= bm

Contrainte III : Rendre minimum ou maximum

Z = c1x1 + c2x2 + … + cnxn


I.1.2. Principales notations

a) Notation classique

- x j >= 0 j = 1,…, n
n
- ∑a
j =1
ij x j <= bi i = 1,…, m

n
- Opt. z = ∑c x
j =1
j j

b) Notation matricielle

 x1   b1   c1 
     
Si X =  x2  B =  b2  C =  c2 
x  b  c 
 n  m  n

A = (aij)

Notes de cours et exercices de Recherche Opérationnelle 11


Chapitre I Programmation linéaire

Le P.L. s’écrit :

Opt {C ' X / AX <= B, X >= 0} où X ∈ Rn, C ∈ R n , B ∈ R m , et A une m fois n


matrice (C’ désigne la transposée de C).

c) Notation vectorielle

 a1 j   b1 
   
Si Pj =  a2 j  , j = 1, . . . , n P0 =  b2 
a  b 
 mj   m

Où Pj ∈ Rm est le jième vecteur colonne de la matrice A.

Le P.L. s’écrit :

- x j >= 0 j = 1,…, n
n
- ∑x P
j =1
j j <= P0
n
- Opt. z = ∑c x
j =1
j j

I.1.3. Espaces de représentations


- L’espace des décisions est l’espace Rn associé aux variables de décisions
x1, … , xn. On y représente des décisions.

- L’espace des contraintes est l’espace Rm dans lequel on représente les


vecteurs P1,…, Pn et le vecteur P0.
I.1.4. Différentes définitions
- Une Solution est un vecteur X de Rn qui satisfait à AX <=B ;

- Une Solution réalisable (ou admissible) est une solution X telle que
vecteur X >=0 ;

- Une Base est une sous-matrice non singulière m fois m extraite de A


(on l’appellera K).

Les colonnes de K sont les vecteurs de base. Les variables correspondantes à


ces colonnes sont les variables de base (les autres étant les variables hors
base ou paramètres).

- Une solution de base est une solution obtenue en annulant les


variables hors base et en résolvant le système de Cramer associé aux
variables de base, et de matrice K.

Si l’on pose Xb le vecteur des variables de base, et si l’on annule les variables
hors base, le système AX = B se réduit à KXb =B d’où l’on tire Xb = K-1B.

La solution de base Xb est dite réalisable (ou admissible) si Xb >=0.

Notes de cours et exercices de Recherche Opérationnelle 12


Chapitre I Programmation linéaire

- Une solution optimale est une solution réalisable qui optimise la fonction
économique.

I.2. Théorèmes fondamentaux


I.2.1. Définitions

i. Un ensemble de points C de Rn est dit convexe si le segment de


droite qui relie deux points quelconque de C est contenu dans C.
En d’autres termes C est convexe si pour tout X1, X2 Є C, on a :

X 3 = αX 1 + (1 − α ) X 2 ∈ C où 0≤α≤1

C’est-à-dire toute combinaison linéaire convexe de 2 points est


encore un point de C.

ii. Un point X de sous-ensemble convexe C de Rn est appelé


sommet, si il ne peut être exprimé comme combinaison linéaire
convexe de deux autres points distincts de C, c’est-à-dire la
relation :

X = αX 1 + (1 − α ) X 2 où 0<α<1 entraîne X1=X2=X

iii. On appelle polyèdre convexe dans Rn un sous-ensemble convexe


borné C qui possède un nombre fini des sommets.

Une combinaison linéaire de 3 points A1, A2, A3 est dite convexe si


et seulement si :

X = α1 X 1 + α 2 X 2 + α 3 X 3 avec 0≤αi≤1 et ∑α i =1

Cas du triangle

Notes de cours et exercices de Recherche Opérationnelle 13


Chapitre I Programmation linéaire

M = α 1 A + (1 − α 1 ) A2 + 0 A3

Prenons maintenant un point X à l’intérieur du triangle et traçons une droite


passant par le point X. On peut écrire que :

A1

A2 A3
X1

X = α 1 A1 + (1 − α 1 ) X 1

X 1 = β 1 A2 + (1 − β 1 ) A3

X 1 = α 1 A1 + (1 − α 1 ) β 1 A2 + (1 − α 1 )(1 − β 1 ) A3

0≤αn≤1
0≤α2≤1 Les conditions premières sont vérifiées
0≤α3≤1

Vérifions que ∑α i = 1 (seconde condition)

α 1 + (1 − α 1 ) β1 + (1 − α 1 )(1 − β1 )

α 1 + (1 − α 1 )[β1 + (1 − β1 )]

N.B. Tout point du polyèdre convexe ne peut être que combinaison linéaire
convexe des points sommets (du périmètre) du polyèdre.

Cas du parallélogramme

Notes de cours et exercices de Recherche Opérationnelle 14


Chapitre I Programmation linéaire

On sait que :
X = αX 1 + (1 − α ) X 2 (1)

X 1 = βA1 + (1 − β ) A2 (2)

X 2 = γA3 + (1 − γ ) A4 (3)

(2) et (3)  (1)

Avec 0 ≤ α ≤ 1 ; 0 ≤ β ≤1 ; 0 ≤ γ ≤1

X = α [β A1 + (1 − β ) A2 ] + (1 − α )[γA3 + (1 − γ ) A4 ]

X = αβ A1 + α (1 − β ) A2 + γ (1 − γ ) A3 + (1 − α )(1 − γ ) A4

α1 + α 2 + α 3 + α 4 = 1

αβ + α (1 − β ) + γ (1 − γ ) + (1 − α )(1 − γ ) = 1

αβ + α − αβ ) + (1 − γ )(γ + 1 − γ ) = 1

N.B. On voit qu’il n’y a pas une seule façon de prouver qu’un point pris à
l’intérieur du polyèdre est une combinaison linéaire convexe des autres points
distincts sauf si le point est choisi sur le périmètre du polyèdre.
I.2.2. Théorème de WEYL
Dans Rn, tout système d’équations ou d’une équation linéaire AX ≤ B
avec ( X ∈ R n ; B ∈ R m ) détermine un ensemble convexe qui peut être soit vide,
soit un polyèdre convexe, soit un ensemble.

Corollaire :

L’ensemble des solutions réalisables d’un programme linéaire est un


ensemble qui peut être soit vide, soit un polyèdre convexe, soit un ensemble
convexe non borné.

Soient : AX = B et AY = B

Démontrons que : A[γX + (1 − γ )Y ] = B avec 0 ≤ γ ≤1

γAX + (1 − γ ) AY = γAX + AY − γAY = AY = B


I.2.3. Théorème d’optimalité
Dans un programme linéaire dont l’ensemble des solutions réalisables
est un polyèdre convexe, l’optimum de la fonction économique est
nécessairement atteint en un sommet du polyèdre.

Notes de cours et exercices de Recherche Opérationnelle 15


Chapitre I Programmation linéaire

I.2.4. Solution de bases réalisables et sommets

Le théorème suivant établit une équivalence entre la notion algébrique


de solution de base réalisable et la solution géométrique des sommets.

Théorème

Une condition nécessaire et suffisante pour qu’un point du polyèdre des


solutions réalisables d’un programme linéaire soit un sommet est que les
vecteurs associés aux coordonnées non nulles soient linéairement
indépendants.

I.3. Algorithme du simplexe


I.3.1. Principe de l’algorithme
La méthode du simplexe consiste à cheminer le long du polyèdre
convexe des sommets en sommets en améliorant à chaque étape la valeur de
la fonction économique. Comme un polyèdre possède un nombre fini de
sommets, la valeur optimum de la fonction économique sera atteinte après un
nombre fini d’opérations si la fonction est bornée.

L’application de la méthode du simplexe nécessite la connaissance des


éléments suivants :
- coordonnées d’un sommet de départ, c’est-à-dire d’une première solution de
base réalisable ;
- formule de passage d’un sommet à un autre, c’est-à-dire la formule de
changement de base ;
- influence d’un changement de base sur la valeur de la fonction économique ;
- critère de sélection d’un sommet suivant afin d’améliorer la valeur de la
fonction économique ;
- critère permettant de détecter que la fonction économique est non bornée sur
l’ensemble de solution réalisable.
I.3.2. Equations de changement de base

Le P.L. s’écrit :

- xj ≥ 0 j = 1,…, n
n
- ∑x
j =1
j P j ≤ P0
n
- opt. z = ∑c x
j =1
j j

Nous supposons connaitre une solution de base réalisable de départ


(nous verrons comment déterminer pareille solution) : (x1,. . . , xm, 0, . . . 0).

Si B est une base, nous noterons I (B) l’ensemble des indices de base et
J(B) l’ensemble des indices hors base. Nous avons alors I(B) ∪ J(B) = {1,2,,,,n}.
Si l’on suppose que les éléments de la base B sont les vecteurs unités et que
I(B) = (1, 2,…, m)
On a :

Notes de cours et exercices de Recherche Opérationnelle 16


Chapitre I Programmation linéaire

1 0 0


     
0 1 0
0 0 0
P1 =   P2 =   … Pm =  
. . .
     
. . .
0 0 1
     

Pour tout vecteur Pj hors base on a :

Pj = ∑ i∈I (B )
X ij Pi (m + 1 <= j <= n)

Soit

Pj = ∑i∈I ( B ) X ij Pi j ∈ J(B)

xij est la ième composante du vecteur hors base Pj dans la base B.

Pour passer d’une base B à une base B’ on extrait de B un vecteur Pr (r


∈ I(B)) et on remplace par un vecteur Pk (k ∈ J(B)). Il vient :

I(B’) = I(B) ∪ {k} \ {r}


I(B’) = J(B) ∪ {r} \ {r}

Dans la base B, on a les équations suivantes :

(1) P0 = ∑x P
i∈I ( B )
i i

(2) Pj = ∑
i∈I ( B )
xij Pi j ∈ J(B)

‘’Dans (1) et (2), isolons Pr qui sort de la base ; il vient’’ :

(3) P0 = ∑x P + x P
i i
i∈I ( B ) \ {r }
r r

(4) Pj = ∑x ij i
i∈I ( B ) \ {r }
P + xrj Pr j ∈ J(B)

En particulier

(5) Pk = ∑x ik i
i∈I ( B ) \ {r }
P + xrk Pr j ∈ J(B)

En supposant xrk différent de 0 on a :

(6) Pr = (1 / xrk ) Pr − ∑ (x
i∈I ( B ) \{r }
ik / xrk ) Pi

Notes de cours et exercices de Recherche Opérationnelle 17


Chapitre I Programmation linéaire

-> De (3) et (6), on obtient, par substitution :

P0 = ∑x ik
i∈I ( B ) \{r }
Pi + xr ((1 / xrt ) Pr − ∑ (x
i∈I ( B ) \{r }
ik / xrk ) Pi )

= ∑x i
i∈I ( B ) \{r }
−( xr xik / xrk )) Pi + ( xr / xrt ) Pk

c.à.d que :
P0 = ∑ x'
i∈I ( B ')
i Pi

avec x’i = xi – (xrxik/xrk), i ≠ k (7)


x’k= xr/xrt

-> De (4) et (6), on obtient, de la même façon :

Pj = ∑ x'
i∈I ( B ')
ij Pi

avec x’ij = xij – (xrjxik/xrk), i ≠ k (8)


x’kj = xrj/xrk

Les équations (7) et (8) sont les équations de changement de base.


L’élément xrk est appelé pivot du changement de base. Pour que la nouvelle
solution de base soit réalisable il est nécessaire que xrk > 0 car xr ≥ 0.
I.3.3. Influence du changement de base sur la valeur de la fonction
économique
Désignons par z0 la valeur de la fonction économique correspondant à la
solution réalisable de départ ; Nous avons :

z0 = ∑c x
i∈I ( B )
i i

Dans la nouvelle base il vient :

z '0 = ∑ c x'
i∈I ( B ')
i i

Définissons les quantités

zj = ∑c x
i∈I (B )
i ij (j = 1,…n)

et
z' j = ∑ c x'
i∈I ( B ')
i ij (j = 1,…n)

A partir des équations du changement de base, nous avons :

z '0 = ∑ c [x i
i∈I ( B ) \{r }
i − ( xr xik / xrk ) ] + ck xr / xrk

Notes de cours et exercices de Recherche Opérationnelle 18


Chapitre I Programmation linéaire

= ∑c x i i
i∈I ( B ) \{r }
− xr / xrt ( ∑c x
i∈I ( B )
i ik − ck )

= z 0 − xr / xrk ( z k + ck (9)

Si l’on souhaite diminuer (augmenter) la valeur de la fonction


économique lors d’un changement de base, il faut que (zk – ck) > 0
(< 0), le coefficient xr/xrt étant positif.

- De la même façon, à partir des équations du changement de base, nous


avons :

z' j = ∑ c [x i
i∈I ( B ) \{r }
ij − ( xrj xik / xrk ) ] + ck xrj / xrk

= ∑c x
i∈I ( B )
i ij − xrj / xrt ( ∑c x
i∈I ( B )
i ik − ck )

= z j − xrj / xrk ( z k − ck ) (10)

I.3.4. Critères déterminant le changement de base

a) Choix du vecteur Pk qui doit entrer dans la base

Dans un P.L. où il faut minimiser la fonction économique, la diminution


de la fonction économique, après changement de base est de
Xrj/xrk (zk – ck) (d’après (9)

On a donc avantage à choisir l’indice k de telle façon que cette quantité


soit la plus grande possible. Comme cette quantité dépend de deux indices, le
nombre de quantités à comparer est très élevé. C’est pourquoi on se contente
généralement à choisir l’indice k qui maximise la quantité (zj – cj) > 0.

b) Choix du vecteur Pr qui doit quitter la base

Les composantes du vecteur P0 sont, dans la nouvelle base :


x’i = xi – (xrxik/xrk), i ≠ k (d’après les relations (7)
x’k = xr/xrk

avec xr/xrk ≥ 0 et x1 – (xrxik/xrk) ≥ 0

il vient que :
xi ≥ (xrxik) soit xi/xik ≥ (xr/xrk)

On voit donc que l’indice r réalise le minimum des quantités xi/xik ≥ 0


I.3.5. Détermination de la solution

Après chaque changement de base, trois cas peuvent se présenter :

1) On a (zj – cj) <= 0

Notes de cours et exercices de Recherche Opérationnelle 19


Chapitre I Programmation linéaire

On ne peut plus améliorer la fonction économique et on a atteint un


sommet optimal. La solution optimale est fournie par les x’i situés dans la
colonne de P0.

Ce sont ces x’i qui fournissent la valeur minimum pour la fonction


économique

2) Il existe des quantités (zk – ck) > et des quantités xik > 0

Dans ce cas, on effectue un changement de base en suivant les


paragraphes 3.2 et 3.4.

3) Il existe des quantités (zk – ck) > 0 mais toutes les quantités xik ≤ 0
Dans ce cas la fonction économique n’est pas bornée.
I.3.6. Exemple
La table ci-dessous donne la composition et le coût de 9 alliages
standards de plomb, zinc et étain.

Alliage 1 2 3 4 5 6 7 8 9
Plomb (%) 20 50 30 30 30 60 40 10 10

Zinc (%) 30 40 20 40 30 30 50 30 10

Etain (%) 50 10 50 30 40 10 10 60 80

Coût unitaire 7,3 6,9 7,3 7,5 7,6 6,0 5,8 4,3 4,1

Le but est de trouver un mélange des 9 alliages qui permet de fabriquer à coût
minimal un alliage contenant :
• 30 % de plomb ;
• 30 % de zinc ;
• 40 % d’étain.
Remarquons que l’alliage 5 a la bonne composition ; son coût unitaire est de
7,6. Le mélange, à parts égaux, des alliages 6, 7, 8 et 9 donne la composition
souhaitée.
Aussi :
• plomb : 1/4(60 + 40 + 10 + 10) = 30 %
• zinc : 1/4(30 + 50 + 30 + 10) = 30 %
• étain : 1/4(10 + 10 + 60 + 80) = 40 %

1
Coût unitaire : (6,0 + 5,8 + 4,3 + 4,1) = 5,05 < 7,6.
4
Procédons de façon plus systématique pour obtenir le mélange de coût
minimal :
xj partie de l’alliage j dans le mélange recherché (j=1,. . . ,9),

(1)

Notes de cours et exercices de Recherche Opérationnelle 20


Chapitre I Programmation linéaire

Le coût unitaire du mélange recherché est le minimum de la fonction z, définie


par :

z(x1, x2 , . . ., x9 ) = 7,3 x1 + 6,9 x2 + . . . + 4,1 x9

sous les contraintes :

30% de plomb : 0,2 x1 + 0,5 x2 + . . . + 0,1 x9 = 0,3 (2)


30% de zinc : 0,3 x1 + 0,4 x2 + . . . + 0,1 x9 = 0,3 (3)
40% d’étain : 0,5 x1 + 0,1 x2 + . . . + 0,8 x9 = 0,4 (4)

Le programme linéaire consiste à minimiser z(x1, x2, . . ., x9) sous les


contraintes (1)-(4). La fonction z est souvent appelée la fonction - objectif (ou
fonction objective).

Remarque : (1)-(4) est un système linéaire de quatre équations et 9 inconnus.


Le problème est donc de trouver, dans l’espace affine des solutions, la solution
qui minimise la valeur de z(x1, . . .,x9).

I.4. Méthode graphique de résolution d’un programme linéaire


I.4.1. Exemple
Un spécialiste en médecine a fabriqué un médicament (des pilules) pour
guérir les sujets atteints d’un rhume. Ces pilules 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 de codéine. Déterminer le nombre de pilules
minimales à prescrire au sujet pour qu’il soit guérit.

Les variables de décision qui représentent des valeurs inconnues par le


décideur qui est dans ce cas le spécialiste en médecine sont :
• x1 : le nombre de pilules de petite taille à prescrire.
• x2 : le nombre de pilules de grande taille à prescrire.
On vérifie bien que les variables de décision x1 et x2 sont positives :
x1 ≥ 0, x2 ≥ 0 .
Les contraintes imposées par le problème sur les valeurs possibles de x1
et x2 sont :
• La prescription doit contenir des pilules avec au moins 12 grains
d’aspirine. Sachant qu’une petite pilule contient 2 grains d’aspirine et
qu’une grande pilule contient un seul grain d’aspirine, on obtient la
contrainte suivante :
2 x1 + x2 ≥ 12 .
• De la même façon que pour l’aspirine, la prescription du spécialiste en
médecine doit contenir au moins 74 grains de bicarbonate. Ainsi la
contrainte suivante doit être satisfaite :

Notes de cours et exercices de Recherche Opérationnelle 21


Chapitre I Programmation linéaire

5 x1 + 8 x2 ≥ 74 .
• Finalement la contrainte imposée par le fait que la prescription doit
contenir au moins 24 grains de codéine est

x1 + 6 x2 ≥ 24 .
Pour l’identification de la fonction-objectif, on remarque qu’il y a
plusieurs couples de solutions ( x1 , x 2 ) qui peuvent satisfaire les contraintes
spécifiées ci-haut. La prescription doit contenir le minimum possible de
pilules. Donc le critère de sélection de la quantité de pilules à prescrire est
celle qui minimise le nombre total des pilules : z = x1 + x 2 .
Le programme linéaire qui modélise ce problème médical est donc le
suivant :
Min x1 + x 2
s .c . 2 x 1 + x 2 ≥ 12
5 x 1 + 8 x 2 ≥ 74
x 1 + 6 x 2 ≥ 24
x1 ≥ 0 , x 2 ≥ 0

Après avoir montré comment un problème pratique peut être modélisé en


programme linéaire, il est important de voir différentes approches de la
résolution de ces modèles mathématiques. La méthode graphique est l’une des
méthodes utilisées pour cette fin.
En parlant de résolution graphique, on doit se limiter à une
représentation à deux variables et au plus à trois variables. Ceci indique que
dans ce paragraphe, on examinera seulement les programmes linéaires à deux
variables de décision.
I.4.2. Système d’axes

Une des conditions de la réussite de la représentation graphique est le


choix d'un système d’axes. Un mauvais choix peut rendre la représentation
non claire et imprécise.

A cause des contraintes de non-négativité des variables de décision, nous


nous intéressons seulement au cadran positif (voir figure ci-dessus). Cette
région s’appelle la région des solutions possibles du problème. En prenant
l’exemple-haut, relatif au problème de médecine. Le programme linéaire est le
suivant :

Notes de cours et exercices de Recherche Opérationnelle 22


Chapitre I Programmation linéaire

Min x1 + x2
s.c. 2 x1 + x2 ≥ 12
5 x1 + 8 x2 ≥ 74
x1 + 6 x2 ≥ 24
x1 ≥ 0, x2 ≥ 0
Un bon choix se base sur une lecture des différents paramètres du
programme linéaire. Dans notre cas, on ne peut qualifier de bon, le choix de
20 comme unité dans les deux axes.
Pour l’exemple, on peut choisir le système d’axes suivant :

x2

12

6
3

x1
6 12 24

I.4.3. Représentation graphique des contraintes


Parmi les solutions possibles d’un problème, il y a ceux qui vont
satisfaire toutes les contraintes du programme, appelés solutions réalisables,
et ceux qui vont satisfaire une partie ou aucune de ces contraintes, appelés
solutions non réalisables.
Une représentation graphique des inégalités (des contraintes) va nous
permettre de déterminer l’ensemble des solutions réalisables.
Revenons à l’exemple du problème de médecine.
Une des contraintes de ce problème est celle relative au grain d’aspirine :
2 x1 + x2 ≥ 12 .
L’ensemble des solutions qui vérifient cette inégalité est le même que
celui qui vérifie 2 x1 + x 2 = 12 et 2 x1 + x2 > 12 .
x2

12

6
3

x1
6 12 24

L’ensemble des solutions qui correspond à l’équation est l’ensemble des


points de la droite l définie par x 2 = −2 x1 + 12 . Cette droite admet une valeur de
la pente égale à –2 et intercepte l’axe des ordonnées en 12 (voir figure ci-
dessus).
L’inégalité 2 x1 + x 2 > 12 correspond à un demi-plan limité par la droite
x 2 = −2 x1 + 12 . Or cette droite divise le plan en deux demi-plans ouverts donc
quel est le demi-plan à choisir ?

Notes de cours et exercices de Recherche Opérationnelle 23


Chapitre I Programmation linéaire

x2

12 π1

6
3

x1
6 12 24

Pour ce faire, il suffit de prendre un point de l’un des demi-plans (c’est à


dire n’appartenant pas à la droite x 2 = −2 x1 + 12 ) et voir s’il vérifie l’inégalité
2 x1 + x 2 > 12 . Par exemple le point de coordonnées (0,0) ne vérifie pas
l’inégalité 2 x1 + x 2 > 12 donc le demi-plan π1 au-dessus de la droite est celui
recherché (voir figure ci-dessus).
L’espace hachuré représente le demi-plan fermé des solutions qui vérifient
la contrainte 2 x1 + x 2 > 12 .
Si on fait de même pour les deux autres contraintes du problème (voir figures
ci-dessous), on obtient les deux autres demi-plans π2 et π3 relatifs aux
solutions vérifiant respectivement les contraintes 5 x1 + 8 x2 ≥ 74 et x1 + 6 x2 ≥ 24 .

π3 π2
9.25

6
4
3

x1 x1
6 12 24 6 14,8 24

Une solution possible du problème est dite réalisable si et seulement si


elle vérifie toutes les contraintes, c’est à dire si elle appartient aux trois demi-
plans relatifs à chaque contrainte du programme linéaire, en d’autre terme à
π1 ∩ π2 ∩ π3 (voir figure).

x2
E nse m b le d es
12 so lu t io n s
réa lisa b le s

x1
6 12 24

Définition : Un ensemble E non vide est dit convexe si et seulement si pour


tout élément x et y de E et pour tout λ∈[0,1], λ x + (1-λ) y∈E.

Notes de cours et exercices de Recherche Opérationnelle 24


Chapitre I Programmation linéaire

On peut vérifier facilement que chacun des demi-plans π1, π2 , π3 est convexe
en vérifiant que pour toute paire de points P1 et P2, l’ensemble des points qui
forment le segment [P1P2] appartient au demi-plan.
Théorème : L’intersection d’ensembles convexes (non vide) est convexe.
Propositions : L’ensemble des solutions réalisables (non vide) est convexe.
I.4.4. Représentation de la fonction-objectif

Soit z la valeur de la fonction objectif du problème de


médecine z = x1 + x 2 .
Pour z=0, la fonction-objectif est représentée de la manière suivante :
x2

12

x1
6 24
x1 + x 2 = 0

Pour z=6, c’est à dire que le nombre de pilules à prescrire est égale à 6 pilules.
La fonction objectif est représentée comme suit :
x2

12

x1
6 24

x1 + x 2 = 6
Chaque point du segment qui relie les points (6,0) à (0,6) représente des
solutions qui engendrent une prescription avec 6 pilules des deux tailles.
On peut tracer une infinité de droites qui représentent les différentes
valeurs de la fonction-objectif, toutes ces droites ont le même coefficient
directeur (-1). Par suite elles sont parallèles entre elles. De plus on peut
diminuer la valeur de z indéfiniment dans le sens indiqué dans la figure ci-
dessous.
x2

12

x1
6
z = 18
z = 6 z = 12

Notes de cours et exercices de Recherche Opérationnelle 25


Chapitre I Programmation linéaire

Le problème est de connaître quelle est la droite qui correspond à la


valeur minimal de la fonction objectif ?
I.4.5. Recherche de la solution optimale
a. Résolution graphique
Si nous retraçons l’ensemble des droites parallèles relatives à différentes
valeurs de la fonction objectif sur la figure qui représente l’ensemble des
solutions réalisables, on peut localiser la solution optimale. Elle correspond à
la solution réalisable qui intercepte la droite à la plus petite valeur de z.
x2

12
B

x1
6 12
Z= 10

Dans notre exemple, la solution optimale est l’intersection des deux


contraintes 2 x1 + x2 ≥ 12 et 5 x1 + 8 x2 ≥ 74 . Une évaluation des coordonnées de ce
point revient à résoudre le système linéaire suivant :

 2 x1 + x 2 = 12

5 x1 + 8 x 2 = 74
Elle correspond d’après le graphique au point (2,8). Donc la prescription
optimale est de 2 pilules de petite taille et 8 pilules de grande taille. Le nombre
de pilules (la valeur de la fonction-objectif) est égale à 10.
b. Résolution par énumération :
On remarque que la solution optimale du problème de médecine est un
point extrême qui se trouve sur le bord de l’ensemble des solutions. Une telle
solution est dite solution réalisable de base.
On peut admettre le résultat suivant : « Si un programme linéaire admet
une solution optimale alors il existe une solution réalisable de base pour
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.
x2

12 A
B

3 C
D

x1
6 12

Dans le problème de médecine, l’ensemble des solutions réalisables de


base présente 4 points extrêmes A(0,12), B(2,8), C(23/11,126/11) et D(24,0).

Notes de cours et exercices de Recherche Opérationnelle 26


Chapitre I Programmation linéaire

La valeur de la fonction-objectif associée respectivement à A, B, C et D est 12,


10, 149/11 et 24. On vérifie bien que B est la solution optimale du problème
avec une valeur optimale égale à 10.
I.4.6. Exemples de résolution
Nous illustrons ici par quelques exemples la résolution graphique de
problèmes linéaires relatifs au différents cas possibles :

Problème de maximisation
Max 100 x1 + 200 x2 x2 (2 )
(4 )

s.c. x1 + x2 ≤ 150 (1) A


B

4 x1 + 2 x2 ≤ 440 (2)
110
C
(3 )

x1 + 4 x2 ≤ 480 (3) Z=0 30


D (1 )

x1 ≤ 90 (4) 40
E x1

x1 ≥ 0, x2 ≥ 0
la solution optimale est B(40,110)

Problème avec solution non bornée


Max - 2 x1 + 3 x 2 x2

s.c. x1 ≤ 5 (1) (2 )

2 x1 − 3x 2 ≤ 6 (2)
x1 ≥ 0, x 2 ≥ 0
5 x1
Z=0
(1 )

On peut augmenter la valeur de la fonction objectif dans la direction des flèches


indéfiniment donc la solution est non bornée

Notes de cours et exercices de Recherche Opérationnelle 27


Chapitre I Programmation linéaire

Problème impossible
Min 3x1 + 2 x 2 x2

s.c. x1 + 2 x 2 ≤ 2 (1)
2 x1 + 4 x 2 ≥ 8 (2)
x1 ≥ 0, x 2 ≥ 0
x1
(2 )
(1 )

L’espace des solutions réalisables est vide, il est l’intersection des deux zones grises
de la figure ci-dessus

Problème à solutions multiples


Max x1 + 3 x 2 x2
(2 )

s.c. 2 x1 + 6 x 2 ≤ 30 (1) (1 )
A (3 )
x1 ≤ 10 (2) B

x2 ≤ 4 (3)
10 x1
x1 ≥ 0, x 2 ≥ 0
Z=0

L’ensemble des points décrit par le segment [AB] représente les solutions optimales
du problème linéaire

Problème de dégénerescence
Max x1 + x 2 x2
(2 )

s.c. 3 x1 + 2 x 2 ≤ 40 (1) (1 )
B (3 )
x1 ≤ 10
A
(2)
x2 ≤ 5 (3)
x1 ≥ 0, x 2 ≥ 0 O C x1

Z=0

La solution optimale B(10,5) est dite dégénérée si trois contraintes concourent en ce


point.

Notes de cours et exercices de Recherche Opérationnelle 28


Chapitre I Programmation linéaire

I.5. Résolution d’un PL par le solveur Excel


I.5.1. Exemple

L’entreprise Genco fabrique divers modèles d’appareils électroménagers.


Suite à une réunion départementale de divers chefs de services de l’entreprise,
il a été convenu d’examiner la possibilité de modifier le programme actuel de
fabrication des grille-pains, soit 600 unités de son modèle électronique (QL-
500) et 200 unités de son modèle grille-pain/four (QL-700X).
L’assemblage se fait essentiellement en deux phases et, par la suite, une
vérification (contrôle exhaustif) est effectuée sur toutes les unités. Le tableau
suivant donne l’information concernant le nombre d’heures exigées pour
fabriquer chaque modèle ainsi que les disponibilités en heures de chaque
département.

Départements Modèles Heures


disponibles
(Nombres d’heures requises)
QL-500 QL-700X
Assemblage (phase 1) 3 4 4200
Assemblage (phase 2) 1 3 2250
Vérification/Empaquetag 2 2 2600
e

Étant donné la situation du marché, l’entreprise ne veut pas fabriquer plus de


1100 unités du modèle électronique QL-500.
La contribution au bénéfice du modèle QL-500 est de 66$ l’unité alors que
celle du modèle QL-700X est de 84$
On veut déterminer le programme optimal de fabrication à mettre en oeuvre
c’est-à-dire celui qui maximiserait les bénéfices.

Les variables de décision sont notées :


x1 : le nombre d’unités à fabriquer du modèle QL-500.
x2 : le nombre d’unités à fabriquer du modèle QL-700X

Les contraintes sont :


C1 : 3x1 + 4x2 ≤ 4200 heures (heures disponibles à l’assemblage : phase 1)
C2 : x1 + 3x2 ≤ 2250 heures (heures disponibles à l’assemblage : phase 2)
C3 : 2x1 + 2x2 ≤ 2600 heures (heures disponibles : vérification/empaquetage)
C4 : x1 ≤ 1100 unités (quantité maximale pour QL-500)
x1 ≥ 0 , x2 ≥ 0
La fonction économique à maximiser (fonction-objectif) est

Z = 66x1 + 84x2 où Z correspond au bénéfice total (en dollars $).


I.5.2. Résolution avec EXCEL
Il y a trois principales parties à fournir au solveur d’Excel.
- La cellule à maximiser/minimiser
- La plage de variables de décision (x1, x2)
- Les contraintes.

Notes de cours et exercices de Recherche Opérationnelle 29


Chapitre I Programmation linéaire

Il y a plusieurs façons de fournir au solveur ces informations. Nous


utiliserons dans cet exemple une façon qui se rapproche de la modélisation
d’un problème linéaire. Toutefois, vous verrez dans les autres exemples qu’il
est parfois plus facile de représenter l’information d’une autre façon.

Exemple :

1. Les cellules B2 et C2 seront les variables du problème (x1 et x2).


2. Chacun des coefficients reliés aux variables pour chaque contrainte est
inscrit de B5 :C8.
3. La quantité des ressources est indiquée et le sens de la contrainte. Ce
dernier élément est facultatif, il aide seulement comme aide-mémoire au
problème.
4. Il faut indiquer le bénéfice/unité pour chaque variable (B11 :C11) (figure
1).

Figure:1

5. Première contrainte : 3x1 + 4x2 ≤ 4200 Vous devez calculer l’expression de


la partie gauche de l’équation avant d’activer le solveur. Exemple dans la
cellule D5 la formule = $B$2*B5 + $C$2*C5 est inscrite, équivalente à 3x1
+ 4x2 (figure 2).

6. Copiez cette formule pour les autres contraines.

Figure: 2

Notes de cours et exercices de Recherche Opérationnelle 30


Chapitre I Programmation linéaire

7. La formule =B11*B2+C11*C2 est inscrite dans la cellule F12. C’est cette


cellule qu’on maximisera car elle correspond à la fonction-objectif 66x1 +
84x2 (figure 3).

Figure: 3

8. Menu: Outils/Solveur.
9. Entrez les paramètres du solveur (figure 4)

Figure: 4

 Cellule cible à définir: (Exemple: F12) Ceci correspond à l’adressse de la


fonction à optmiser.

Notes de cours et exercices de Recherche Opérationnelle 31


Chapitre I Programmation linéaire

 Égale à: Cochez le type d’optimisation voulu. Le Max est coché car dans
cet exemple, nous voulons maximiser le bénéfice total ($).

 Cellules variables: Sélectionnez l’endroit dans le tableur où les variables se


trouvent. Il ne doit pas avoir de cellules vides entre les variables. Les
cellules B2:C2 représentent les variables de notre problème, c’est-à-dire
celles qu’on désire déterminer.

 Contraintes: Vous devez spécifier chacune des contraintes de votre


problème.

Il ne faut pas oublier d’entrer les contraintes de non-négativité x1 ≥ 0 , x2


≥0

1. Cliquez sur « Ajouter ».


2. Cellule : Sélectionnez toutes vos variables : (Exemple : B2 :C2)
3. Inscrivez le sens >=
4. Contrainte : 0

x1, x2 doivent être des entiers afin de ne pas produire des fractions
d’unités.

1. Cliquez sur « Ajouter ».


2. Cellule : Sélectionnez toutes vos variables : (Exemple : B2 :C2)
3. Choisissez « ent »

Pour enregistrer les autres contraintes,


 Cliquez sur “Ajouter”.
Exemple : pour la première contrainte : 3x1 + 4x2 ≤ 4200 heures

1. Entrez l’adresse de la cellule contenant la formule : 3x1 + 4x2


équivalente à (=B5*B2+C5*C2). On doit donc entrer D5.
2. Le sens de l’équation <=.
3. Le nombre de ressource 4200 ou son adresse F5.

La première contrainte correspond à D5 <= F5.

Exemple : pour la dernière contrainte x1 <= 1100.


Le solveur sépare l’équation en trois.

1. Le membre gauche de l’équation : c’est-à-dire l’adresse de la


cellule contenant la formule B2*B8+C2*C8 donc D8.
2. Le sens de l’équation : <=
3. Le membre droit de l’équation : c’est-à-dire le nombre de
ressources 1100 ou son adresse F8 (figure 5).

Notes de cours et exercices de Recherche Opérationnelle 32


Chapitre I Programmation linéaire

Figure: 5

 Cliquez sur OK lorsque vous avez terminé d’entrer toutes vos contraintes.

 Étant donné que nous voulons résoudre un programme linéaire, il est


possible de le spécifier au solveur afin qu’il utilise la méthode adéquate pour
résoudre le problème. Cliquez sur “options” (voir figure: 4), cochez “Modèle
supposé linéaire” (figure 6) et cliquez sur “OK”.

Figure: 6
10. Cliquez sur “Résoudre”.
11. Le solveur a trouvé la solution optimale selon les contraintes.
Production de 1000 QL-500 et de 300 QL-700X
et un bénéfice total de 91200 $.

Notes de cours et exercices de Recherche Opérationnelle 33


Chapitre I Programmation linéaire

12. Le solveur vous demande si vous voulez garder cette solution à l’écran ou
revenir à celle de départ. Choisissez garder la solution du solveur (figure
7).

13. Appuyez sur “OK”.

Figure: 7

I.6. Résolution d’un PL avec LINDO (Linear INteractive and Discrete


Optimizer)

I.6.1. Introduction
Lindo est un logiciel utilisé pour résoudre les modèles d’optimisation
linéaires, entiers et quadratiques. Une des caractéristiques de Lindo c’est qu’il
offre des outils qui peuvent aider à l’analyse des modèles en utilisant la
méthode de Simplexe.
Nous présentons dans ce paragraphe la version étudiant 6.0 (1997). Cette
version résout des problèmes de dimension maximale de 200 variables et de
100 contraintes.
I.6.2. Installation du Logiciel
Pour utiliser cette version de Lindo il est conseillé d’avoir au moins un
processeur 486 et 8Mo de mémoire RAM. Il faut aussi prévoir un espace
disque dur de 2Mo pour pouvoir l’installer.
Les étapes de l’installation sont les suivantes:
1. Démarrer Windows.
2. Insérer le CD-ROM ou la disquette.
3. Cliquer sur l’icône Setup (install) dans votre explorateur de Windows
4. Suivre les instructions sur l’écran.
I.6.3. Résolution d’un exemple
a. exemple
Un agriculteur veut allouer 150 hectares de surface irrigable entre
culture de tomates et celles de piments. Il dispose de 480 heures de main

Notes de cours et exercices de Recherche Opérationnelle 34


Chapitre I Programmation linéaire

d’œuvre et de 440 m3 d’eau. Un hectare de tomates demande 1 heure de main


d’œuvre, 4 m3 d’eau et donne un bénéfice net de 100 dinars. Un hectare de
piments demande 4 heures de main d’œuvre, 2 m3 d’eau et donne un bénéfice
net de 200 dinars.
Le bureau du périmètre irrigué veut protéger le prix des tomates et ne lui
permet pas de cultiver plus de 90 hectares de tomates. Quelle est la meilleure
allocation de ses ressources ?

Dans cet exemple, nous allons focaliser notre attention sur les opérations
suivantes :
- introduire les données,
- résoudre le problème, et
- analyser les résultats que donne LINDO.
Le programme linéaire qui modélise le problème de l’agriculture est :
Max 100 x1 + 200 x 2
s .c . x1 + x 2 ≤ 150
4 x1 + 2 x 2 ≤ 440
x1 + 4 x 2 ≤ 480
x1 ≤ 90
x1 ≥ 0 , x 2 ≥ 0
b. Introduction des données
Double cliquer sur l’icône «lindo 6.0 for Windows » de votre menu
démarrer/programmes. Le logiciel va s’exécuter et vous aurez cette fenêtre qui
s’affiche sur votre écran :

Dans tous les modèles de Lindo la fonction-objectif est définie en


première ligne. Dans notre exemple la fonction-objectif est :
Max _ 100 _ x1 _ + _ 200 _ x 2
Les tirés bas indique la présence d’un espace obligatoire entre les entrées
pour pouvoir les différentiées.
Il faut noter qu’on peut remplacer x1 et x2 par n’importe quel mot qui indique
ces deux variables, par exemple, on peut remplacer x1 par "tomates" et x2 par
"piments". Une autre caractéristique est que Lindo ne fait pas de différence
entre majuscule et minuscule. Pour lui la variable « TOMATE » est la même
que la variable « tomAtE ».

Notes de cours et exercices de Recherche Opérationnelle 35


Chapitre I Programmation linéaire

Pour commencer à écrire les contraintes, il faut introduire la mention


« subject to » ou tout simplement son abréviation « st ».
Dans notre exemple les contraintes sont :
subject _ to
terrain) x1 _ + _ x 2 _ <= _ 150
eau) 4 _ x1 _ + _ 2 _ x 2 _ <= _ 440
Mo) x1 _ + _ 4 _ x 2 _ <= _ 480
bureau) x1 _ <= _ 90
On remarque qu’on peut appeler chaque contrainte par un nom
nominatif que Lindo va utiliser pour afficher les résultats.
L’écran qu’on obtient après avoir introduit les différents paramètres est le
suivant :

On n’a pas à ajouter les contraintes de non-négativité, Lindo suppose par


défaut que les variables de décision sont de types non-négatives.
c. Résolution du problème
Après avoir écrit convenablement le programme linéaire, on passe
maintenant à la résolution.

Pour résoudre notre programme il faut cliquer sur le bouton « » dans la


barre d’outils. Lindo va commencer ainsi à compiler le modèle. Si un message
d’erreur s’affiche c’est que le programme, par exemple, est non borné ou bien
non réalisable...
Lors de la compilation, on voit une barre qui montre le pourcentage de travail
effectué.

d. Interprétation des résultats


S’il n’y a pas d’erreur de formulation, Lindo va commencer à résoudre le
problème. Par défaut, il va vous demander si vous voulez faire une analyse de
sensibilité. Pour le moment on va répondre « Non ».

Notes de cours et exercices de Recherche Opérationnelle 36


Chapitre I Programmation linéaire

Avant que Lindo nous propose un premier rapport sur la solution


optimale, il nous donne l’état du problème exprimé par cette fenêtre :

Ce rapport préliminaire nous indique ce qui suit :


a) Status : Optimal ; Il nous informe sur l’état de la solution actuelle. Elle
peut être Optimal (optimale), Feasible (réalisable), Infeasible (non
réalisable) ou Unbounded (non bornée).
b) Iterations : 2 ; Il indique le nombre d’itérations nécessaire pour résoudre le
problème (en utilisant la version révisée de la méthode de Simplexe).
c) Infeasibility : 0 ; Ceci indique la quantité de violation dans les contraintes.
d) Objective : 26000 ; C’est la valeur de la fonction-objectif relative à la
solution actuelle.
e) Best IP : N/A ; C’est la meilleure valeur de la fonction-objectif. Ceci n’est
vrai que pour les problèmes de type entier.
f) IP Bound : N/A ; C’est la borne de la fonction-objectif pour cette solution.
Ceci n’est vrai que pour les problèmes de type entier.
g) Branches : N/A ; C’est le nombre de variables entiers « branched on » par
Lindo. Ceci n’est vrai que pour les programmes de type entier.
h) Elapsed Time : 00 :06 :45 ; C’est le temps écoulé avant que le résolveur ne
soit invoqué (ce temps est variable même pour le même exemple).

Si on ferme cette fenêtre, on remarque qu’un autre rapport s’affiche. Ce


rapport contient des informations sur la solution optimale.

Notes de cours et exercices de Recherche Opérationnelle 37


Chapitre I Programmation linéaire

Dans le tableau ci-dessus s’affichent dans la première colonne les


différentes variables de décision et aussi les variables d’écart relatives à
chaque contrainte du programme. Leurs valeurs sont données dans la
deuxième colonne. On vérifie bien que la solution optimale coïncide avec la
solution retrouvée par une autre méthode de résolution. La troisième colonne
représente les valeurs nettes, c j − z j . Pour les variables d’ecart, c’est les prix
duals.
I.6.4. Les commandes de Lindo
Dans cette section, on décrit brièvement les différentes commandes
présentes dans le logiciel Lindo. Dans l’environnement Windows, Lindo divise
ces commandes en six catégories.

1. File

a) New : Créer un nouveau document.

Notes de cours et exercices de Recherche Opérationnelle 38


Chapitre I Programmation linéaire

b) Open : Ouvrir un document existant et le placer dans une fenêtre d’édition


(cette fenêtre a une capacité maximale de 64000 caractères).
c) View : Ouvrir un document existant dans une fenêtre de vision (view
window). Ce genre de fenêtre permet d’importer des programmes à plus de
64000 caractères de votre éditeur (tels que Word). Quelques opérations ne
sont pas autorisées dans un view window tels que : couper, copier, coller,
effacer…
d) Save : Enregistrer. Le format par défaut est le *.ltx, et c’est le format texte
de Lindo.
e) Save as : Enregistrer sous. D’autres formats sont présents tels que le *.lpk
(c’est un format compressé qui ne peut être lu par aucun autre éditeur
autre que celui de Lindo) ou le *.mps (malgré qu’il n’accepte pas les
commentaires dans le rapport, ce format est utilisé par d’autres logiciels)
f) Close : fermé.
g) Print : Imprimé.
h) Priter setup : propriétés de l’imprimante.
i) Log Output : Pour ouvrir ou fermer des log file utilisés pour enregistrer les
résultats de votre session.
j) Take Commands : Pour exécuter des macros.
k) Basis Read : Pour charger du disque une solution de base pour le modèle
actif.
l) Basis Save : Enregistrer sur le disque la solution de base du modèle actif.
m) Title : Afficher le nom pour le modèle actif.
n) Date : Afficher la date.
o) Elapsed Time : Afficher le temps écoulé depuis le commencement de la
session.
p) Exit : Quitter Lindo.
2. Edition

a) Undo :Annuler la dernière opération.


b) Cut : Couper
c) Copy : Copier
d) Paste : Coller
e) Clear : Effacer
f) Find /Replace : Rechercher/Remplacer
g) Options : Utiliser pour modifier les paramètres par défaut du système.

Notes de cours et exercices de Recherche Opérationnelle 39


Chapitre I Programmation linéaire

h) Go to Line : aller à la ligne numéro .. de la fenêtre active.


i) Paste Symbol : Elle affiche une fenêtre de dialogue qui contient les
syntaxes, les variables et les noms des lignes réservés par Lindo. On peut
utiliser cette commande pour ajouter des contraintes supplémentaires au
modèle.

j) Select All : Sélectionner Tout


k) Clear All : Effacer tout
l) Choose New Font : Choisir les polices dans la fenêtre active.

3. Solve

Notes de cours et exercices de Recherche Opérationnelle 40


Chapitre I Programmation linéaire

a) Solve : Résoudre le modèle dont la fenêtre est active


b) Compile Model : Compiler (sans résoudre) le modèle dont la fenêtre est
active
c) Debug : Débugger le modèle dont la fenêtre est active, s’il est non réalisable
ou non borné. Dans le cas d’un problème non réalisable, la commande
Debug détecte l’ensemble des contraintes (sufficient set), dont l’élimination
est suffisante pour garantir une solution optimale. Et il détermine aussi un
ensemble de contraintes (necessary set), dont la modification entraîne
nécessairement un modèle réalisable. Dans le cas d’un problème non
borné, la commande Debug détecte l’ensemble des variables de décision
(sufficient set), dont la fixation de leurs valeurs est suffisante pour garantir
une solution optimale. Et il détermine aussi un ensemble de variables de
décision (necessary set), dont la modification entraîne nécessairement un
modèle borné.
d) Pivot : Une des opérations fondamentales dans la méthode de Simplexe est
l’opération pivot, qui correspond à une itération du simplexe. Lindo nous
donne la possibilité de choisir nous même les variables entrantes et
sortantes et nous permet ainsi de résoudre le programme itération par
itération.
Exemple : Résoudre le problème de l’agriculteur en utilisant la commande
« Pivot ».
La variable entrante dans le premier tableau de Simplexe est X2 et la
variable sortante est la variable d’écart de la contrainte dans la 4ième ligne.

Le rapport suivant s’affiche :

Donc cette itération a fait passer la valeur de la fonction-objectif à 24000.


Pour pouvoir choisir les variables entrantes et sortantes on peut afficher le
tableau de Simplexe relatif à la dernière itération en utilisant la commande
« Tableau » dans le menu « Reports ». On obtient :

Notes de cours et exercices de Recherche Opérationnelle 41


Chapitre I Programmation linéaire

D’après le tableau ci-dessus, la variable entrante est X1 et la variable


sortante est SLK 2.
On obtient ainsi le résultat suivant :

La valeur de la fonction-objectif est optimale et on peut vérifier que le tableau


de simplexe relatif à cette dernière itération est optimal :

e) Preemptive Goal : Cette commande peut résoudre un problème à objectif


multiples en adoptant une manière lexicographique. Ainsi on optimise le
premier objectif puis le second sous une contrainte supplémentaire que le
premier est égale à la valeur optimale déjà trouvée.
Pour être précis, supposons que l’agriculteur peut acheter des ressources
supplémentaires avec un prix de 40 dinars pour un hectare de terrain(Y1),
10 dinars le m3 d’eau (Y2) et 8 dinars l’heure supplémentaire de main
d’œuvre (Y3). Les quantités disponibles sur le marché respectivement pour
Y1, Y2 et Y3 sont de 10 hectares de terrain, 5 m3 d’eau et 4 heures de main
d’œuvre. On appelle G le gain issu de la culture et D les dépenses d’achat

Notes de cours et exercices de Recherche Opérationnelle 42


Chapitre I Programmation linéaire

des ressources supplémentaires. Le programme peut s’écrire sous cette


forme :

La résolution avec la commande « Preemptive Goal » nous donne les


résultats suivants :

Notes de cours et exercices de Recherche Opérationnelle 43


Chapitre I Programmation linéaire

4. Reports

a) Solution : Elle donne un rapport de résolution standard avec ou sans les


variables non nulles.

b) Range : Cette commande donne la marge de variation des coefficients de la


fonction-objectif et du second membre sans que la base dans la solution
optimale ne change. Pour l’exemple de l’agriculteur, cette commande donne
les résultats suivants :

c) Parametrics : Cette commande permet de faire une analyse paramétrique du


second membre des contraintes. Par exemple, après avoir résolu le
problème de l’agriculteur, on aimerait avoir une idée sur la variation de la
valeur de la fonction-objectif suite à une variation entre 150 à 300
hectares de la surface de terrain disponible. En utilisant cette commande,
une fenêtre de dialogue s’ouvre. On fait entrer le numéro de la contrainte à
étudier (2) ainsi que la variation du second membre (300). On peut aussi

Notes de cours et exercices de Recherche Opérationnelle 44


Chapitre I Programmation linéaire

choisir le type de rapport de résultat. Dans notre cas, le choix s'est porté
sur un graphique à deux dimensions.

Le rapport qu’on obtient est le suivant :

d) Statistics : Cette commande affiche des statistiques relatives au problème


actif dans la fenêtre du rapport tel que le nombre de variables de
décision, le nombre de lignes…

e) Pereuse : Cette commande est utilisée pour générer un rapport sous forme
de texte ou de graphique (en 2D ou en 3D) relatif aux résultats du problème
actif. Le menu associé à cette commande est le suivant :

On a choisi ici d’avoir un rapport graphique sur les valeurs des variables
de décision ainsi sur les variables duales qui leurs sont associées dans le
problème de l’agriculteur. Le résultat est le tableau suivant :

Notes de cours et exercices de Recherche Opérationnelle 45


Chapitre I Programmation linéaire

f) Picture : Cette commande permet de créer un texte ou une figure qui


illustre les différents paramètres du problème. La fenêtre de dialogue
associée à cette commande est la suivante :

Le résultat obtenu pour le problème de l’agriculteur est le suivant :

g) Basis Picture : Cette commande affiche dans la fenêtre rapport une figure
qui représente la matrice de base actuelle (relatif à la solution trouvée en
exécutant la commande solve du même menu). Le rapport qu’on obtient en
exécutant cette commande pour le problème de l’agriculteur est :

h) Tableau : Cette commande affiche le tableau de Simplexe relatif à la


solution en cours. Si la solution est optimale, cette commande permet

Notes de cours et exercices de Recherche Opérationnelle 46


Chapitre I Programmation linéaire

d’avoir le tableau de Simplexe optimal. Dans le problème de l’agriculteur le


tableau de Simplexe optimal obtenu en utilisant cette commande est :

i) Formulation : Elle permet de visualiser un élément sélectionné (des lignes)


ou tout le problème dans la fenêtre rapport.
j) Show Column : Cette commande vient s’ajouter à la commande
formulation, elle nous permet de visualiser des colonnes (choix relatifs aux
variables de décision) dans la fenêtre du rapport.
k) Positive Definite : Cette commande est utilisée pour les problèmes
quadratiques pour s’assurer que la valeur optimale est globale.
5. Window

a) Open Command Window : Cette commande ouvre une fenêtre de dialogue


qui sert à éditer des macros pour Lindo.
b) Open Status Window : Cette commande ouvre la fenêtre de dialogue qui
affiche l’état du programme Lindo (Lindo Solver Status).
c) Send to Back : Cette commande est utilisée pour balancer les fenêtres en
arrière plan.
d) Cascade : Cette commande arrange les fenêtres qui s’affichent sur l’écran
sous une forme dite cascade.
e) Title : Cette commande arrange les fenêtres de manière à redimensionner
ces fenêtres et les afficher horizontalement ou verticalement selon votre
choix.
f) Close All : Cette commande permet de fermer toutes les fenêtres actives.
g) Arrange Icons : Cette commande permet d’arranger les fenêtres réduites
sous forme d’icône.
6. Help

Notes de cours et exercices de Recherche Opérationnelle 47


Chapitre I Programmation linéaire

a) Contents : Cette commande ouvre la fenêtre d’aide de Lindo


b) Search for Help On… : Cette commande permet la recherche rapide par
mots clés.
c) How to Use Help : Cette commande affiche un menu qui informe sur la
manière dont on peut utiliser le menu Help.
d) About LINDO… : Cette commande affiche quelques informations
concernant la version du logiciel Lindo utilisé.
I.6.5. Programmation à nombres entiers

On peut utiliser Lindo pour résoudre des problèmes en nombres entiers.


Il suffit de mentionner que les variables du problème sont de type entier.
On va supposer ici que dans le problème de l’agriculteur les variables de
décision X1 et X2 sont de type entier. On sait déjà que la solution optimale va
demeurer inchangée puisque les valeurs de ces variables à l’optimum sont des
entiers.

Pour utiliser Lindo, il faut procéder comme précédemment :


 On fait entrer la fonction objectif
 Commencer à écrire les contraintes après avoir introduit la mention
« Subject to »
Après avoir terminé l’édition des contraintes il faut ajouter la commande
« END », qui indique que l’édition des contraintes est terminée. Ainsi on peut
définir la nature des variables de décision.

Pour dire qu’une variable X est de type


a) Entiers (X∈IN), on écrit : « GIN _ X »

b) Binaire (X={0,1}), on écrit : « INT _ X »

c) Non bornée (X∈IR), on écrit : « FREE _ X »

Pour le problème de l’agriculteur à variables entiers on écrit :

Notes de cours et exercices de Recherche Opérationnelle 48


Chapitre I Programmation linéaire

La résolution de ce problème donne le résultat suivant :

Notes de cours et exercices de Recherche Opérationnelle 49


Chapitre I Programmation linéaire

I.7. Exercices

1. Soit à rechercher [Max] Z= 3x1 + 2x2 + x3 + x4 + 5x5


Avec les contraintes 3x1 + x 3 – x 5 = 3
x1 + x2 – 3x 4 = -12
x2 + x3 + x5 = 4

Solution

P1 P2 P3 P4 P5

3x1 + 0x2 + x3 + 0x4 - x5=3


x1 + x2 + 0x3 - 3x4 + 0x5=-12
0x1 + x2 + x3 + 0x4 + x5=4

On multiplie la 2ème équation par -1/3 et on ajoute 2 variables artificielles v1


et v2 pour avoir une base des solutions réalisables.

P1 P2 P3 P4 P5 PV1 PV2 P0

3x1 + 0x2 + x3 + 0x4 - 5x5 + v1 + 0v2 =3


-1/3x1 -1/3x2 + 0x3 + x4 + 0x5 + 0v1 + 0v2 =4
0x1 + x2 + x3 + 0x4 + x5 + 0v1 + v2 =4

La fonction économique devient :


[MAX ] Z= 3x1 + 2x2 + x3 + x4 + 5x5 - Mv1 - Mv2
Avec M un nombre infiniment grand.
La 1ère itération donne le tableau suivant :

3 2 1 1 5 −M −M
Base Ci P0 P1 P2 P3 P4 P5 Pv1 Pv 2
Pv1 −M 3 3 0 1 0 −1 1 0
P4 1 4 − 1/ 3 − 1/ 3 0 1 0 0 0
← Pv 2 −M 4 0 1 1 0 1 0 1
− 7 M − 3M − M − 2M 0 0 0 0
4 − 10 / 3 − 7 / 3 −1 0 −5 0 0

Notes de cours et exercices de Recherche Opérationnelle 50


Chapitre I Programmation linéaire

La 2ème itération donne le tableau suivant :

3 2 1 1 5 −M −M
Base Ci P0 P1 P2 P3 P4 P5 Pv1 Pv 2
← Pv1 −M 7 3 1 2 0 0 1 1
P4 1 4 −1/ 3 − 1/ 3 0 1 0 0 0
P5 5 4 0 1 1 0 1 0 1
− 7M − 3M −M − 2M 0 0 0 0
24 − 10 / 3 3/8 4 0 0 0 5

La 3ème itération donne le tableau suivant :

3 2 1 1 5 −M −M
Base Ci P0 P1 P2 P3 P4 P5 Pv1 Pv 2
P1 3 7/3 1 1/ 3 2/3 0 0 1/ 3 1/ 3
P4 1 43 / 9 0 − 2/9 2/9 1 0 1/ 9 1/ 9
P5 5 4 0 1 1 0 1 0 1
0 0 0 0 0 0 +M +M
286 / 9 0 34 / 9 56 / 9 0 0 10 / 9 55 / 9

L’algorithme s’arrête par ici car il n’y a plus par où entrer.

On a donc [MAX ] Z=
286
et
9
x1 =7/3 ; x2 = 0 ; x3 = 0 ; x4 = 43/9 ; x5 = 4 ; v1 = v2=0
Vérification
On sait que [MAX ] Z= 3x1 + 2x2 + x3 + x4 + 5x5 – Mv1 – Mv2
En portant ici les valeurs de x1, x2, x3, x4, x5, v1 et v2
On aura :

[MAX ] Z= 3. 7 + 2.0 + 0 + 43 + 4.5 − M .O − M .O


3 9
43
=7 + + 20
9
286
=
9
2. Résoudre le programme linéaire suivant :
x1 + x2 ≤ 5
x1 + x2 ≥ 1 [MAX ] Z=x1 + x2
Solution
Maximiser une fonction c’est minimiser son opposé, on ajoute deux variables
d’écart t1 et t2 et une variable artificielle v1.

Notes de cours et exercices de Recherche Opérationnelle 51


Chapitre I Programmation linéaire

On a donc :
P1 P2 Pt1 Pt2 Pv1 P0

x1 + x2 + t1 + 0t2 + 0v1 = 5
x1 + x2 + 0t1 - t2 + v1 =1

La fonction économique devient [MIN ] - Z = -x1 – x2 + Mv1


La première itération est le tableau suivant :

−1 −1 0 0 M
Base Ci P0 P1 P2 Pt1 Pt 2 Pv1
Pt1 0 5 1 1 1 0 0
← Pv1 M 1 1 1 0 −1 1
M M M 0 −M 0
0 1 1 0 0 0

La 2ème itération donne le tableau suivant :

−1 −1 0 0 M
Base Ci P0 P1 P2 Pt1 Pt 2 Pv1
← Pt1 0 4 0 0 1 1 −1
P1 −1 1 1 1 0 −1 1
0 0 0 0 0 −M
−1 0 0 0 1 −1

La 3ème itération donne le tableau suivant :
−1 −1 0 0 M
Base Ci P0 P1 P2 Pt1 Pt 2 Pv1
← Pt 2 0 4 0 0 1 1 −1
P1 −1 5 1 1 1 0 0
0 0 0 0 0 −M
−5 0 0 −1 0 0

D’où [Max] − Z = −5 ou [Max]Z = 5 et x1 = 5 , x 2 = 0

3. Résoudre le programme suivant :


x1 ≤ 3000, x2 ≤ 6000, x1 + 2/3 x2 ≤ 8000
[MAX ] Z = 2x1 + 8x2
Solution
On introduit 3 variables d’écart t1, t2, et t3

Notes de cours et exercices de Recherche Opérationnelle 52


Chapitre I Programmation linéaire

P1 P2 Pt1 Pt2 Pt3 P0


x1 + 0x2 + t1 + 0t2 + 0t3 = 3000
0x1 + x2 + 0t1 + t2 + 0t3 = 6000
x1 +2/3x2 +0t1 + 0t2 + t3 = 8000
La fonction économique reste [Max ] Z= 2x1 + 8x2
La 1ère itération est :
2 8 0 0 0
Base Ci P0 P1 P2 Pt1 Pt 2 Pt 3
Pt1 0 3000 1 0 1 0 0
← Pt 2 0 6000 0 1 0 1 0
Pt 3 0 8000 1 2 / 3 0 0 1
0 − 2 −8 0 0 0

La 2ème itération est :
2 8 0 0 0
Base Ci P0 P1 P2 Pt1 Pt 2 Pt 3
← Pt1 0 3000 1 0 1 0 0
Pt 2 8 6000 0 1 0 1 0
Pt 3 0 4000 1 0 0 − 2/3 1
48000 − 2 0 0 8 0

La 3ème itération est :
2 8 0 0 0
Base Ci P0 P1 P2 Pt1 Pt 2 Pt 3
P1 2 3000 1 0 1 0 0
P2 8 6000 0 1 0 1 0
Pt 3 0 1000 0 0 −1 − 2 / 3 1
54000 0 0 2 8 0

La solution est donc : [Max] Z= 54000 et x1 = 3000, x2= 6000


t1 = t2 = 0, t3= 1000
4. Résoudre le programme : 3x1 +2x2 ≥6
6x1 + x2 ≥6
x2 ≥ 2 et [Min] Z = 10x1 + 30x2
Réponse : x1 = 2/3, x2 = 2, [Min] Z= 200/3

5. Trouvez [Min] Z= 3x1 – x2 + x3 + x4


sous contraintes : -3x1 + 5x2 - 2x3 + x4 = 1
4x1 - x2 + x4 = 4
x1 + 2x2 + 8x3 – 4x4 = 8

Notes de cours et exercices de Recherche Opérationnelle 53


Chapitre I Programmation linéaire

Réponse : x1 = 1,298 ; x2= 1,194 ; x3= 0,539 ; x4 = 0


v1 = v2 = v3 = 0
[Min] Z= 3,2402
6. Trouvez [Max ] Z= 5x1 – 2x2 + 3x 3
Soumis aux contraintes
2x1 + 2x2 – x3 ≥ 2
3x1 - 4x2 ≤ 3
x2 + 3x 3 ≤ 5
Indication : Ecrire le programme sous la forme :
2x1 + 2x2 – x3 – v1 +0v2 + 0v3 = 2
3x1 – 4x2 + 0x3 + 0v1 + v2 + 0v3 = 3
0x1 + x2 + 3x3 + 0v1 + 0v2 + v3 = 5
Ensuite sous la forme :
2x1 + 2x2 – x3 – v1 + 0v2 + 0v3 + v4 = 2
3x1 – 4x2 + 0x3 + 0v1 + v2 + 0v3 + 0v4 = 3
0x1 + x2 + 3x3 + 0v1 + 0v2 + v3 + 0v4 = 5
Réponse :
x1 = 23/3, x2 = 5, x3 = 0
v1= 70/3, v2 = v3 = v4 = 0
[Max] Z= 85/3
7. Problème de production
Une entreprise a la faculté de fabriquer, sur une machine donnée,
travaillant 45 heures par semaine trois produits différents P1, P2, et P3.
L'article P1 laisse un revenu net de 4F; l'article P2, un revenu de 12 F et
l'article P3, un revenu de 3F. Les rendements horaires de la machine sont,
respectivement pour chacun des trois produits et dans l'ordre : 50, 25 et 75.
Enfin, les ventes possibles sont limitées comme suit : 1000 objets P1, 500
objets P2, 1500 Objets P3.
Comment répartir la production de façon à maximiser le revenu de l'entreprise ?

Solution

Les contraintes du problème sont, si l'on appelle x1, la quantité à fabriquer du


produit P1 et x3 celle relative à P3 ; x2 la quantité correspondant à P2.

x1 ≤ 1000
x2 ≤ 500 → contraintes de production maximale
x3 ≤ 1500
1 1 1
x1 + x2 + x3 ≤ 45 contrainte de temps disponible, et la fonction à
50 25 75
maximiser est : Z = 4x1 + 12x2 + 3x3
D'autres contraintes sont sous-entendues x1, x2, x3≥ 0

Notes de cours et exercices de Recherche Opérationnelle 54


Chapitre I Programmation linéaire

Economiquement parlant, on pourrait raisonner de la façon suivante :


fabriquons par priorité le produit dont le rendement monétaire horaire est le
meilleur, puis, s'il reste du temps disponible, celui dont le rendement se classe
au second rang, et ainsi de suite :

On trouverait que les rendements monétaires s'ordonnent comme suit :


P2 : 300 F/h; P3 : 225 F/h; P1 : 200 F/h ;
il conviendrait par conséquent de fabriquer les quantités :
P2 : x2 = 500; P3 : x3 =1500; P1 : x1 =250 pour obtenir le revenu
maximal :

max Z = 1000 + 6000 + 4500 = 11500F

La méthode de programmation linéaire aboutit évidemment au même résultat.


Vérifiez qu'il faut 4 itérations pour arriver au résultat.

8. Problème d'investissement

Une société désire investir un capital de 100 unités monétaires. Son but
est évidemment de maximiser le revenu global de ce placement. Diverses
modalités d'investissement s'offrent à la société sur le marché financier ;
chacune d'elles lui assure un intérêt déterminé :

M1 = 3% M3 = 3,5% M5 = 5%
M2 =2,5% M4 = 4% M6 = 4,5%

Pour des raisons définies, la société se voit contrainte d'investir 40% au


moins du capital selon les modalités Ml ou M2, 35% au plus selon les
modalités M3 ou M4, et 35% au plus selon les modalités M5 ou M6. Comment
fera-t-elle ce placement ?

Solution

On observe d'abord que l'ensemble des données se réduit au tableau suivant :

Modalité M1 M2 M3 M4 M5 M6
d’investissement

Intérêt 3% 2,5% 3,5% 4% 5% 4,5%

Sommes placées x1 x2 x3 x4 x5 x6

Contraintes 40% min. 35% max 35% max

On en tire facilement le programme linéaire :

x1+ x2 + x3 + x4 + x5 + x6 = 100
x1 + x2 . . . .≥ 40
. . x3 + x 4 . ≤ 35
. . . . x5 + x6 ≤ 35

La fonction économique sera [max] Z =3x1+2,5x2+3,5x3+4x4+5x5+4,5x6

Notes de cours et exercices de Recherche Opérationnelle 55


Chapitre I Programmation linéaire

Observons que la solution de ce problème s'obtient aisément sans


calculs, mais il est intéressant de comparer les résultats que donne le
programme linéaire avec la solution immédiate.

9. Une entreprise fabrique deux types de ceintures : A et B. Le type A est de


meilleure qualité que le type B. Le bénéfice net est de 2 F pour le type A et
1,50 F pour le type B. Le temps de fabrication pour le type A est deux fois le
temps de fabrication pour le type B et si toutes les ceintures étaient du type B
l'entreprise pourrait en fabriquer 1000 par jour. L'approvisionnement en cuir
est suffisant pour 800 ceintures par jour (type A ou B ). Enfin 400 boucles de
type A et 700 boucles du type B sont disponibles chaque jour.

Quels sont les nombres respectifs de ceintures des deux types à fabriquer
chaque jour de manière à maximiser le bénéfice total de l'entreprise ?

Solution

Soit X1 le nombre de ceinture du type A et


x2 le nombre de ceintures du type B à fabriquer chaque jour.
Les contraintes sont :
x1 ≤ 400, x2 ≤ 700
x1 + x2 ≤ 800
2x1 + x2 ≤ 1000
Et la fonction économique à maximiser :
Z= 2x1 + 3/2x2
Le programme s’écrit, après introduction des variables d’écart :
x1 + 0x2 + t1 + 0t2 + 0t3 + 0t4 = 400
0x1 + x2 + 0t1 + t2 + 0t3 + 0t4 = 700
x1 + x2 + 0t1 + 0t2 + t3 + 0t4 = 800
2x1 + x2 + 0t1 + 0t2 + 0t3 + t4 = 1000

[Max] Z= 2x1 + 3
x 2 + 0 (t1 + t2 + t3 + t4)
2
Nous laissons à l’étudiant le soin de continuer les calculs.
La solution optimale est :
x1 = 200 ; x2 = 600 ; t1 = 200 ; t2 = 100 ; t3 = t4 = 0
[Max] Z = 1300.
10. Problème d’alimentation
On se propose de réaliser une alimentation économique pour des
bestiaux, qui contient obligatoirement 4 sortes de composants nutritifs, A, B,
C et D. L’industrie alimentaire produit précisément deux aliments M et N qui
contiennent ces composants : 1 Kg d’aliment M contient 100 g de A, 100 g de
C, 200 g de D ; 1 Kg d’aliment N contient 100 g de B, 200 g de C, 100 g de D.
Un animal doit consommer par jour au moins : 0.4 Kg de A ; 0.6 Kg de B ; 2
Kg de C ; 1.7 Kg de D. L’aliment M coûte 10 DT le Kg et N coûte 4 DT le Kg.
Quelles quantités d’aliments M et N doit-on utiliser par jour et par animal
pour réaliser l’alimentation la moins coûteuse ?

Notes de cours et exercices de Recherche Opérationnelle 56


Chapitre I Programmation linéaire

Résolution
Formulation du PL :

On peut résumer toutes les données du problème dans le tableau suivant


M N Quantités prescrites
A 0.1 0 0.4
B 0 0.1 0.6
C 0.1 0.2 2
D 0.2 0.1 1.7
Coût 10 4
Ce genre de tableau peut aider à mieux analyser le problème et ainsi
formuler le programme linéaire correspondant.
Les variables de décision sont :
- xM : la quantité d’aliments M à utiliser pour l’alimentation des deux
bestiaux
- xN : la quantité d’aliments N à utiliser pour l’alimentation des deux
bestiaux
Les contraintes de non-négativité sont x1 ≥ 0, x 2 ≥ 0.
Le choix de cette quantité est contraint à la présence dans l’alimentation du
composant
• A : 0.1 x1 ≥ 0.4 ⇒ x1 ≥ 4
• B : 0.1 x 2 ≥ 0.6 ⇒ x2 ≥ 6
• C : 0.1 x1 + 0.2 x 2 ≥ 2 ⇒ x1 + 2 x 2 ≥ 20
• D : 0.2 x1 + 0.1 x 2 ≥ 1.7 ⇒ 2 x1 + x 2 ≥ 17
La fonction-objectif est une fonction coût : z = 10 x1 + 4 x 2 .
Le programme linéaire est un programme de minimisation :

Min 10 x 1 + 4 x 2
s .c . x1 ≥ 4
x2 ≥ 6
x 1 + 2 x 2 ≥ 20
2 x 1 + x 2 ≥ 17
x1 ≥ 0 , x 2 ≥ 0
Méthode de résolution du PL :
Une fois le programme établi, résolvez le de manière suivante :
- La méthode du simplexe ;
- Utilisation de la méthode graphique
- Utilisation du solveur Excel,
- Utilisation du logiciel Lindo.
11. Problème de transport
Une entreprise approvisionne 4 de ces clients à partir de 3 différents
dépôts. Le chef de cette entreprise veut minimiser le coût unitaire par unité
transportée. Le tableau suivant présente toutes les données :

Coût unitaire Client 1 Client 2 Client 3 Client 4 Capacité du


dépôt
Dépôt 1 6 2 6 7 30

Notes de cours et exercices de Recherche Opérationnelle 57


Chapitre I Programmation linéaire

Dépôt 2 4 9 5 3 25
Dépôt 3 8 8 1 5 21
Demande du 15 17 22 12
client

Résoudre le problème :
- A l’aide du solveur Excel ;
- en utilisant LINDO.

12. Programme primal et dual

Ecrire et résoudre le programme dual du programme suivant :

Passage d’un programme primal à un programme dual


1) Le nombre de variables du dual est égal au nombre de contraintes hors
contraintes logiques du primal et vice-versa ;
2) Le vecteur coefficient de la fonction-objectif du primal devient vecteur
second membre des contraintes du dual et vice-versa ;
3) Les contraintes dans le dual sont de sens opposé à celles du primal ;
4) Les variables du dual comme celles du primal ne peuvent être
négatives ;
5) Si le primal est un problème à max, le dual est un problème à min, et
on montre qu’à l’optimum, la valeur de la fonction-objectif de l’un égale
la valeur de la fonction-objectif de l’autre.

Résolution
- Deux variables dans le primal, ce qui implique deux contraintes dans le
dual (règle 1) ;
- Contraintes de sens opposé (règle 3) ;
- Vecteur coefficient de la fonction-objectif devient vecteur second
membre des contraintes et vice-versa (règle 2) ;
- Le max devient le min (règle 5)

Notes de cours et exercices de Recherche Opérationnelle 58


Chapitre I Programmation linéaire

12. Le samedi 16 janvier 2010, à la suite du sinistre causé par le volcan


Nyamulagira en éruption au Nord Kivu, 1300 voitures ont été incendiées et 73
bâtiments publics détériorés. Le Conseil des Ministres du lundi matin, sur
l'hypothèse de chiffres identiques pour la nuit du lundi, décide d'envoyer un
supplément de policiers, secouristes et pompiers. Pour que ces mesures soient
efficaces, il est nécessaire que le nombre de voitures incendiées et que le
nombre de bâtiments publics dégradés ne dépassent pas les nombres moyens
usuels qui sont respectivement de 100 et 3.
On sait que la présence des forces de l'ordre correspond à un certain nombre
de voitures et bâtiments épargnés donnés dans le tableau suivant :
Nombre de voitures épargnées Nombre de bâtiments épargnés
Présence d'un policier 5 2
Présence d'un secouriste 3 4
Présence d'un pompier 14 1

D'autre part 1 policier procède à 3 interventions contre 2 pour 1 secouriste. Le


Ministre de l'Intérieur qui voudrait redorer le blason de la police désire que le
nombre d'interventions effectuées par la police soit 2 fois plus important que
celles effectuées par les secouristes. Enfin ce surcoût de travail pour les forces
de l'ordre entraînera des primes qui s'élèvent à 50, 20, et 70 $ respectivement
pour 1 policier, 1 secouriste, 1 pompier.

1) Ecrire sans le résoudre le programme linéaire permettant de minimiser


le coût et de satisfaire aux contraintes imposées.
2) Résoudre le programme linéaire établi par :
- la méthode du simplexe ;
- le solveur Excel ;
- le logiciel Lindo

Résolution
Variables d'activité:
x1= nombre de policiers
x2= nombre de gendarmes
x3= nombre de secouristes
Contraintes économiques:
* voitures épargnées : 5 x1 + 3 x2 + 14 x3 1200
* bâtiments épargnés : 2 x1 + 4 x2 + x3 70
* Interpellations : 3 x1 - 4 x2 0
Contraintes de signe:
x1, x2, x3 0
Fonction économique:
Min z = 50 x1 + 20 x2 + 70 x3

Notes de cours et exercices de Recherche Opérationnelle 59


Chapitre II Eléments de la théorie de jeux et stratégies

Chapitre II
ELEMENTS DE LA THEORIE DE JEUX ET
STRATEGIES
II.1. Introduction
La théorie des jeux constitue une approche mathématique de
problèmes de stratégie tels qu’on en trouve en recherche opérationnelle et en
économie. Elle étudie les situations où les choix de deux protagonistes - ou
davantage - ont des conséquences pour l’un comme pour l’autre. Le jeu peut
être à somme nulle (ce qui est gagné par l’un est perdu par l’autre, et
réciproquement) ou, plus souvent, à somme non-nulle.

Sur le plan historique, on rencontre trois grandes étapes :

• La théorie des jeux initiale, de John von Neumann et Oskar


Morgenstern, utilisait des cas de choix qui restaient les mêmes au
cours du temps, et qui étaient à somme nulle.

• Les jeux à somme non-nulle furent étudiés ensuite, et utilisés dans la


théorie de la négociation. On découvrit que leur étude permettait
d’aborder de façon mathématique des questions jusque là restées
d’ordre philosophique, comme la morale.

• On s’intéressa ensuite aux jeux où le choix se posait en termes


différents à chaque étape, que l’on nomma un temps théorie des jeux
combinatoires. Celle-ci est plutôt aujourd’hui, pour des raisons de
commodité et de communauté de concepts, considérée comme une
branche soit de la théorie des graphes, soit de ce qu’on nomme
l’intelligence artificielle.

Bien qu’ayant fait l’objet de résultats assez anciens, à partir des travaux
de Blaise Pascal sur la question des parties qui a donné une première
intuition des probabilités et de l’espérance mathématique, et de son étonnant
pari, la théorie des jeux n’est devenue une branche importante des
mathématiques qu’à partir des années 1940, particulièrement après la
publication en 1944 de la Théorie des jeux et du comportement économique
(Theory of Games and Economic Behavior) par John von Neumann et Oskar
Morgenstern.

La théorie rencontra lors de sa présentation une vive opposition de la


part des états-majors : si ceux-ci acceptaient volontiers l’usage de tirages au
hasard dans les jeux de Kriegspiel des écoles militaires, l’idée de remettre au
sort, au nom des stratégies mixtes le fait d’escorter réellement ou non tel ou tel
convoi n’enthousiasmait guère ceux qui, issus du terrain et sachant ce
qu’étaient des pertes humaines, jugeaient le procédé pour le moins cavalier.

La théorie des jeux étudie les comportements - prévus, réels, ou tels


que justifiés a posteriori - d’individus face à des situations d’antagonisme, et
cherche à mettre en évidence des stratégies optimales. Des situations
apparemment très différentes peuvent parfois être représentées avec des

Notes de cours et exercices de Recherche Opérationnelle 60


Chapitre II Eléments de la théorie de jeux et stratégies

structures d’incitation comparables, et constituant autant d’exemples d’un


même jeu.

La théorie des jeux non coopératifs s’applique à des situations où des


joueurs jouent sciemment alors qu’ils ont des buts au moins partiellement
antagonistes (elle ne s’applique donc pas aux situations de pleine coopération,
mais à la compétition ou à sa variante plus fréquente que l’on nomme la
coopétition). Elle ne concerne pas les situations de jeu contre une nature
dépourvue de buts, ne dressant pas de plans, situations où il y aurait donc en
fait qu’un seul joueur.

II.2. Types de jeux


La théorie des jeux classifie les jeux en catégories en fonction de leurs
approches de résolution. Les catégories les plus ordinaires sont :

II.2.1. Jeux coopératifs et compétitions


Les jeux coopératifs sont les jeux dans lesquels on cherche la meilleure
situation pour les joueurs sur des critères tels que la justice. On considère
qu'ensuite les joueurs vont jouer ce qui aura été choisi, il s'agit d'une
approche normative. Par exemple, à un croisement, chacun des deux
automobilistes a la possibilité de passer ou non. Le code de la route impose sa
stratégie à chacun des joueurs par une signalisation.

Dans les jeux coopératifs, on étudie la formation de coalitions entre les


joueurs afin d’obtenir un meilleur résultat pour ses membres. C’est un
concept qui n’existe pas dans les jeux non coopératifs. Le jeu non coopératif à
n joueurs est une simple généralisation du jeu à deux joueurs. Par contre,
dans un jeu coopératif à deux personnes il n’y a qu’une seule coalition tandis
qu’avec 4 joueurs on a déjà 15 coalitions possibles.

Un autre concept utilisé dans les jeux coopératifs est la fonction


caractéristique. Soit v(C) la fonction qui donne la valeur maximin de la
coalition C. Cette expression est appelée la fonction caractéristique du jeu. Par
exemple, si la coalition comprenant les joueurs 1 et 2 obtient un profit de 600
$, on écrit v(1,2) = 600.

On peut décrire un jeu en indiquant les valeurs de la fonction


caractéristique pour toutes les coalitions possibles, y compris celles ne
comprenant qu'un seul joueur. On parle souvent du jeu v au lieu de dire un
jeu ayant la fonction caractéristique v.

Dans un jeu a n personnes, il y a 2n − 1 coalitions non vides et autant


de valeurs de la fonction caractéristique. Par définition, la valeur de la fonction
caractéristique d'une coalition vide est égale à zéro.

Si des coalitions disjointes (C et Z) sont réunies en une grande coalition,


on peut admettre que la valeur de la fonction caractéristique de cette grande
coalition soit au moins égale à la somme des valeurs des deux coalitions :

(propriété de superadditivité)

Notes de cours et exercices de Recherche Opérationnelle 61


Chapitre II Eléments de la théorie de jeux et stratégies

Soit N={1,2,…,n} l’ensemble des joueurs et xi la somme ou l’utilité que le


joueur i reçoit. Une imputation est un vecteur qui
indique ce que chaque joueur obtient dans le jeu. Prenons maintenant deux
imputations possibles x et y de la coalition S. On dit que y est dominée par x
si :

L’ensemble des imputations qui ne sont pas dominées est appelé le


noyau ou le coeur d’un jeu coopératif. L’imputation du noyau ne peut pas être
bloquée par aucune autre imputation.

Par exemple, le jeu avec les fonctions caractéristiques suivantes :

a un noyau correspondant au point (0,0,120). Il suffit de modifier une fonction


caractéristique (par exemple, v(1,2)=120) pour obtenir un noyau vide.

Plusieurs autres solutions d’un jeu coopératif ont été proposées, entre
autres la valeur de Shapley qui est une imputation unique.
II.2.2. Théorie de la négociation
La théorie moderne de la négociation est articulée sur le fait qu’une
négociation constitue un jeu à somme non-nulle. L’art de la négociation
consiste donc moins à faire céder l’interlocuteur sur la ligne principale
d’opposition (un prix, par exemple) qu’à trouver des arrangements extérieurs à
cette ligne qui apporteront beaucoup à l’un sans coûter trop cher à l’autre
(stratégies dites Gagnant-gagnant ou win-win).

Depuis longtemps, tout cela était utilisé dans les négociations :

• « Je ne peux accepter ce coût FOB, mais puis le considérer en


CIF. »
• « Si je vous en prends deux, m’accordez-vous 5% de remise ? »
• « Je vous en offre tant, mais il faut vous décider tout de suite. »

voire entre particuliers :

• « Je veux bien te le laisser à ce prix-là, mais tu offres le café ! »


II.2.3. « Coopétition »
La coopétition est le partage d'information au sein d'un réseau socio-
professionnel de concurrence. On parle aussi de compétition transparente. La
coopétition peut s'appliquer tant à des services de recherche et développement
des organisations (qui se livrent par ailleurs une guerre féroce en matière
commerciale), qu'au monde du développement des logiciels libres, qui fait
appel au principes de fourches (un projet se scinde en deux en cas de passage
de la coopération à la compétition), tout en laissant les deux codes logiciels
produits en concurrence accessibles pour les deux groupes de développeurs.
Par extension, la coopétition s'applique dans tout contexte de gestion de la
complexité socio-professionnelle, car le principe de base est que l'information

Notes de cours et exercices de Recherche Opérationnelle 62


Chapitre II Eléments de la théorie de jeux et stratégies

prend de la valeur lorsqu'elle est partagée, et que justement, c'est en étant


émetteur d'information stratégiques qu'on prend une position dominante dans
un groupe de compétiteurs, face à divers clients potentiels.
II.2.4. Jeux de stratégie à somme nulle et non nulle
• Les jeux à somme nulle sont tous les jeux où la somme "algébrique" des
gains des joueurs est nulle. Ce que gagne l’un est nécessairement perdu
par un autre, l'enjeu est la répartition du total fixé, qu'on peut supposer
réparti à l'avance, ce qui ramène au cas où les gains sont vraiment nuls
(d'où la dénomination). Les échecs ou le poker sont des jeux à somme
nulle car les gains de l’un sont très exactement les pertes de l’autre.

• Les situations d’affaires, la vie politique ou le dilemme du prisonnier sont


des jeux à somme non-nulle car certaines issues sont globalement plus
profitables pour tous, ou plus dommageables pour tous. On a commencé
historiquement par étudier les jeux à somme nulle, plus simples. Au-delà
de la matière-énergie avec la loi de la conservation de la somme
algébrique nulle, le jeu à somme non-nulle est concevable, dans lequel le
gain de l'un peut profiter à l'autre. Tel est le cas avec l'information, la
communication et l'apprentissage où l'information est une des trois
composantes fondamentales avec la matière et l'énergie. L'exemple
illustratif le plus simple est l'information génétique de l'ADN transcrite
sur l'ARN pour être "lue", "traduite" et organiser la matière et l'énergie
biologiques. En sciences sociales, on cite parfois l'idéologie d'harmonie
industrielle du Japon moderne (coalition tripartite capital-travail-
gouvernement) comme exemple de jeu à somme non nulle. Dans le
commerce international, l'exemple de ce jeu à somme non nulle est la
concurrence coopérative des Tigres asiatiques et Dragons asiatiques où le
gain de l'un profite aux autres, dans la foulée du miracle japonais des
années 1950-1960 qui a ouvert les portes à la Corée, à Hong Kong, à
Singapour, à Taiwan et au Viêt Nam, dans une coévolution technico-
commerciale.

En écologie, la coévolution est un autre exemple, dans la nature, de la somme


non nulle où le changement de l'un facilite et fait la promotion du changement
de l'autre.

On pourrait croire qu'il suffirait pour ramener un jeu à somme non-nulle à un


jeu à somme nulle d'y ajouter un joueur simplet, le « tableau », sorte de non-
player character qui compenserait les pertes nettes des joueurs. Ce n’est pas le
cas : un joueur est censé défendre rationnellement ses intérêts dans la mesure
de ses possibilités; cet ajout formel, introduisant une dissymétrie entre les
« vrais » joueurs et le « tableau », complique l'analyse et celle-ci y perd plus
qu’elle n’y gagne.
II.2.5. Jeu synchrone ou asynchrone
Dans un jeu synchrone, les joueurs décident de leur coup
simultanément, sans savoir ce que les autres jouent. Dans un jeu asynchrone
(ou alternatif, à deux joueurs), ils jouent les uns après les autres, en disposant
à chaque fois de l’information sur le coup de l’adversaire.

Notes de cours et exercices de Recherche Opérationnelle 63


Chapitre II Eléments de la théorie de jeux et stratégies

II.2.6. Jeux répétés


La répétition d’un jeu, avec connaissance des résultats intermédiaires,
change souvent fondamentalement son déroulement (les meilleurs coups et la
conclusion).

Par exemple, il peut être utile de prendre ponctuellement le risque de


perdre « pour voir », tester les autres joueurs, et mettre en place des stratégies
de communication par les coups joués (à défaut d’autre moyen de
communication).

Il se développe également des phénomènes de réputation qui vont


influencer les choix stratégiques des autres joueurs. Dans le dilemme du
prisonnier, le fait de savoir qu’on va jouer plusieurs fois avec un dur qui
n’avoue jamais mais se venge cruellement, ou avec un lâche qui avoue
toujours, change radicalement la stratégie optimale.

Enfin, curieusement, le fait que le nombre total de parties soit connu à


l’avance ou non peut avoir des effet importants sur le résultat, l’ignorance du
nombre de coups rapprochant du jeu avec un nombre infini de coup, alors que
sa connaissance rapproche au contraire du jeu à un seul coup (et ce, aussi
grand que soit le nombre de coups !).
II.2.7. Information complète, information parfaite
On dit qu'un jeu est à information complète si chaque joueur connaît
lors de la prise de décision.

• ses possibilités d'action


• les possibilités d'action des autres joueurs
• les gains résultants de ces actions
• les motivations des autres joueurs

Par ailleurs on parle de jeu à information parfaite dans le cas de jeu à


mécanisme séquentiel, où chaque joueur a connaissance en détail de toutes
les actions effectuées avant son choix.

Les échecs sont à information complète et parfaite. Du fait de


l'incertitude sur les gains (cartes de l'adversaire cachées), le poker est à
information incomplète. La phase d'enchères vérifie les propriétés
d'information parfaite, mais en assimilant le tirage des cartes à l'action d'un
joueur fictif (souvent appelé Nature), la théorie des jeux exclut en général le
poker des jeux à information parfaite.

Les situations réelles sont rarement en information complète, et ce cas


ne sert souvent qu’aux approximations confiantes.

Les jeux en information incomplète sont des situations stratégiques où


l'une des conditions n'est pas vérifiée. Ce peut être par l'intervention du
hasard au cours du jeu (cas fréquent dans les jeux de société), ou parce
qu'une des motivations d'un acteur est cachée (domaine important pour
l'application de la théorie des jeux à l'économie).

Les jeux en information à la fois imparfaite et incomplète sont de loin


les plus complexes. Dans ces jeux certains joueurs peuvent disposer

Notes de cours et exercices de Recherche Opérationnelle 64


Chapitre II Eléments de la théorie de jeux et stratégies

d'informations propres sur la manière dont le hasard va intervenir dans l'issue


du jeu (une meilleure connaissance des probabilités d'occurrence de tel ou tel
évènement qui va affecter le cours du jeu, par exemple). Les jeux de guerre
(war games) relèvent typiquement de cette catégorie, l'aléa sur la réussite d'un
engagement entre corps de troupes dépendant d'informations non partagées
par les adversaires sur les rapports de force entre ces troupes.

Pour être complet, il convient aussi de distinguer les jeux à mémoire


parfaite et à mémoire imparfaite. Les jeux à mémoire "parfaite" sont des
situations où chaque joueur peut se rappeler à tout moment de la suite de
coups qui ont été joués précédemment, au besoin en notant au fur et à
mesure les coups joués. Les jeux à mémoire "imparfaite" supposent une sorte
d'amnésie de la part des joueurs. Les jeux de guerre sont des exemples de jeux
à mémoire imparfaite si les commandements de zones opérationnelles ne
parviennent pas à communiquer entre eux ou avec l'État-Major et donc n'ont
pas trace des mouvements déjà effectués par les troupes amies lorsqu'elles
doivent décider de leurs propres mouvements. Un jeu typique est le 21 ou
black-jack : la convention selon laquelle la suite de paquets de cartes n’est pas
battue entre deux jeux peut donner un léger avantage au joueur dès lors que
celui-ci prend en compte cette information partielle.
II.2.8. Jeu synchrone ou asynchrone
Les jeux de Nim forment un cas particulier de jeu à somme nulle, sans
intervention du hasard et dans la plupart des cas à nombre de situations
finies. Dans leur cas particulier, la théorie des graphes fournit un outil plus
utile que la théorie des jeux à proprement parler. La notion de noyau du jeu
(ensemble des nœuds depuis lesquels la victoire est assurée si l’on y parvient
en cours de jeu et qu’on joue de façon optimale ensuite) y est caractérisée.
II.2.9. Jeux déterminés
(Voir slides du cours).

II.3. Représentations des jeux


II.3.1. Forme extensive
Dans tous les jeux, les décisions peuvent être représentées par un
arbre, dont chaque nœud est associé au joueur qui décide. Chaque option
constitue une branche. Les gains de tous sont associés aux terminaisons ou
feuilles de l'arbre. Un joueur n’a toutefois pas besoin de savoir comment il est
parvenu à un nœud : seul compte l'état présent du jeu, et les positions
recherchées dans le futur. Lorsque certains mouvements ne sont autorisés
qu’après un événement donné, cet événement n’est qu’un des éléments à
matérialiser dans l’état présent du jeu et n'a pas besoin de faire partie d'un
historique.

Une forme extensive de jeu est un arbre de décision décrivant les


actions possibles des joueurs à chaque étape du jeu, la séquence de tours de
jeu des joueurs, ainsi que l'information dont ils disposent à chaque étape pour
prendre leur décision. Cette information est représentée sous forme
d'ensembles d'information qui forment une partition des nœuds de l'arbre,
chaque classe de la partition contenant les nœuds non distinguables par le
joueur à une étape du jeu. Si ces classes sont des singletons, c’est-à-dire que
chacune est constituée d'un seul nœud de l'arbre du jeu, le jeu est dit à
information parfaite, ce qui signifie que chaque joueur sait à tout moment où il

Notes de cours et exercices de Recherche Opérationnelle 65


Chapitre II Eléments de la théorie de jeux et stratégies

se situe dans l'arbre du jeu. Dans le cas contraire, le jeu est dit à information
imparfaite. L'information imparfaite est représentée sous la forme d'un joueur
non rationnel : la « Nature », joueur qui prend aléatoirement certaines
décisions à telle ou telle étape du jeu, orientant la suite du jeu vers un certain
sous-arbre de l'arbre du jeu.
II.3.2. Forme normale
Un jeu sous forme normale est la donnée de l'ensemble des joueurs,
de l'ensemble des stratégies pour chaque joueur et des paiements associés à
toute combinaison possible de stratégies.
II.3.3. Représentation tabulaire
Si le jeu ne comporte que deux joueurs et un nombre raisonnablement
restreint de stratégies possibles, on peut représenter le jeu sous la forme d'un
tableau nommé matrice des gains.

Il s'agit d'un tableau à double-entrée qui énumère sur chaque côté les
stratégies possibles des joueurs respectifs. Dans la case à la croisée de deux
stratégies, on note le couple de gains des deux joueurs. C’est ce qu’on nomme
(par convention) la matrice des paiements.
Si le jeu est à somme nulle et à deux joueurs, alors on peut ne noter
que les gains du premier joueur : ceux du second sont directement opposés.
Le tableau de gains se ramène alors à une matrice.

On peut, avec un nombre réduit de stratégies, tenter de représenter


avec une matrice un jeu à trois ou quatre joueurs, mais cela pose souvent
plus de problèmes d’interprétation et de lecture que ça n’apporte de réponses.

II.4. Choix d’un critère


II.4.1. Exemple d’un jeu contre la nature
Un marchand doit stocker une quantité d’un article donné en début
d’année. Il a constaté dans le passé que selon la pluviosité de l’année et selon
la quantité stockée en début d’année, il réalisait en fin d’année des gains qui
sont consignés dans le tableau ci-dessous.
Quelle est la décision qu’il doit prendre ?

Pluviosité
sèche moyenne pluvieuse
d1=10 10.000 12.500 10.000
d2=15 9.500 15.000 15.000
d3=20 9.000 14.000 20.000

d1=10 sacs
d2=15 sacs
d3=20 sacs
II.4.2. Choix d’un critère
a) Critère de Wald ou critère de Von Neumann (maximin ou pessimiste)

Le marchand peut adopter une attitude pessimiste qui consiste à


considérer la nature comme un adversaire malveillant qui cherchera à se
comporter de façon à minimiser le gain pour chaque décision. Le marchand

Notes de cours et exercices de Recherche Opérationnelle 66


Chapitre II Eléments de la théorie de jeux et stratégies

prendra donc la décision qui maximise le gain minimum. Il prendra donc la


décision d1 qui lui assure un gain d’au moins 10.000.

Un tel comportement est dit neumannien. On voit qu’il correspond à


l’attitude d’un joueur ne prenant aucun risque.

b) Critère optimiste ou du maximax


Le marchand peut adopter une attitude optimiste qui consiste à
considérer la nature comme un collaborateur complaisant qui cherchera à se
comporter de manière à maximiser le gain pour chaque décision. Le marchand
prendra donc la décision qui maximise le gain max ; C’est la décision d3.

c) Critère de Laplace
Le marchand peut considérer la nature comme étant complètement
indifférente et donner à chaque pluviosité la même probabilité de réalisation. Il
adoptera la décision qui maximise l’espérance mathématique du gain. C’est la
décision d3.

d) Critère de Hurwitz
Ce critère consiste à choisir la décision qui rend max la fonction H suivante :
H (d i ) = αM i + (1 − α )mi
Avec 0≤α≤1
α est le degré d’optimisme
Mi désigne le gain maximum pour la décision di
mi désigne le gain minimum pour la décision di
α peut être considéré comme degré d’optimisme
si α=0 on retrouve le critère pessimiste
si α=1 on retrouve le critère optimiste

e) Critère de Savage (ou du minimax)


Ce critère oblige à définir une nouvelle matrice, dont chaque élément
représente l’écart entre le gain effectivement réalisé et celui qui aurait pu être
obtenu. Cette nouvelle matrice est appelée « matrice des regrets » .

On sait que, l’une des caractéristiques de l’homme est de raisonner


après le coup et de mesurer le regret c’est-à-dire mesurer l’écart entre le gain
obtenu et le gain maximum qu’il aurait pu obtenir.

Le critère de Savage consiste à appliquer le critère du minimax à la


matrice de regret qui est, dans le cas de notre exemple, la suivante :

sèche moyenne pluvieuse


d1=10 0 2.500 10.000
d2=15 500 0 5.000
d3=20 1.000 1.000 0

f) Critère de Bayes
Le marchand peut avoir des informations à priori sur les états possibles
de la nature ; informations fournies par les prévisions météorologiques à long
terme par exemple. A chaque état de la nature correspondra une certaine
probabilité. Le critère de Bayes consiste à prendre la décision qui maximise
l’espérance mathématique du gain.

Notes de cours et exercices de Recherche Opérationnelle 67


Chapitre II Eléments de la théorie de jeux et stratégies

On multiplie toutes les colonnes par α1, α2, α3 et on aura α1+α2+α3=1

N.B. Laplace donne à chaque état de la nature une même probabilité de


réalisation. Tandis qu’ici, nous connaissons un peu plus l’état de la nature.
Par exemple : α1=1/10, α2=1/10 et α3=8/10
II.4.3. Conclusion
Nous voyons donc qu’un même problème peut être abordé avec des
critères différents. Si plusieurs critères conduisant à la même décision, celle-ci
sera « bonne ». Sinon les points faibles et les points forts pour chaque décision
pourront conduire à un compromis.

II.5. Exemples économiques et valeur d’un jeu


II.5.1. Exemple de jeu avec point de selle
On considère un jeu entre deux joueurs J1 et J2. les stratégies de J1
(respectivement de J2) sont p1,…, p4 (respectivement q1, …, q4). J2 paie à J1
une certaine somme qui est fonction de la stratégie de chacun des joueurs. La
matrice d’encaissement du joueur J1 est la suivante :

J2

q1 q2 q3 q4

p1 3 5 0 -5
J1
p2 4 2 1 2

p3 2 0 -1 3

p4 3 1 0 1

Pour chacun des joueurs, on cherche la façon la meilleure de jouer.


Ici, les intérêts des deux joueurs sont opposés :
J1 doit chercher à maximiser son gain tout en sachant que l’intérêt de J2 est
de faire tout pour que J1 gagne le moins possible.
J2 doit chercher à maximiser le gain de J1 tout en sachant que l’intérêt de J1
est de faire tout pour gagner le plus possible.
J1 va adopter le critère du maximin et J2 va adopter le critère du minimax.
Chacun sera donc pessimiste. Voici la situation globale.
Gain
minimum
q1 q2 q3 q4

p1 3 5 0 -5 -5

p2 4 2 1 2 1
J1 p2
p3 2 0 -1 3 -1

p4 3 1 0 1 0

4 5 1 3

Notes de cours et exercices de Recherche Opérationnelle 68


Chapitre II Eléments de la théorie de jeux et stratégies

Perte maximum
Stratégie de J2
q3
On voit que maxi (min(aij)) = minj(max(aij)) = 1
On dit que 1 est la valeur du jeu.

L’élément (p2,q3) est minimum dans sa ligne et maximum dans sa


colonne. On dit que c’est un point de selle.
II.5.2. Exemple de jeu sans point de selle

Supposons que dans l’exemple précédent, on ait, comme matrice


d’encaissement du jouer J1 la matrice suivante :

J2

q1 q2
J1
p1 1 0

p2 -1 2

On voit que maxi (min aij) = 0


et que minj (max aij) = 1
On dit que le jeu n’a pas de valeur.
La matrice d’encaissement n’a pas de point de selle

II.6. Exercice

1. Un marchand ambulant a comme décisions possibles de remplir son


chariot de glaces ou (exclusive) de boissons. L’événement qui peut se produire
est beau temps ou (exclusif) temps couvert. Dans chaque case, on porte les
profits attendus par le marchand de plage.

Temps
Gains
Beau Couvert

Glaces 500 100

Boissons 200 700

Le coût d’opportunité est le manque à gagner par le fait que le décideur, face à
un événement, n’a pas forcément pris la meilleure décision possible. Ici on a
mis le coût d’opportunité entre parenthèses :

Notes de cours et exercices de Recherche Opérationnelle 69


Chapitre II Eléments de la théorie de jeux et stratégies

Temps
Gains
Beau Couvert

Glaces 500 100


(0) (600)

Boissons 200 700


(300) (0)

Si l’on se place dans le cas du beau temps, la meilleure décision était de


vendre des glaces. Si c’est cette décision qui a été prise, on ne pouvait pas
gagner plus le coût d’opportunité est donc nul. Si par contre on avait rempli le
chariot de boissons, le manque à gagner était de 500-200=300. En fait le coût
d’opportunité est aussi le prix de l’information certaine.

Soit le tableau suivant :

Temps
Gains
Beau Couvert Pluie

Glaces 500 100 0

Boissons 250 800 350

Journaux 150 400 800

Jouets 600 300 260

Il est demandé :

a) Choisir la décision qui rend maximale la moyenne arithmétique des


gains (critère de Laplace).
b) Choisir la solution qui rend maximal le gain minimal de chaque
décision (critère de Wald ou du maximin).
c) Prendre la décision qui rend maximal le résultat pondéré entre valeurs
maximale et minimale de chaque décision : α(mini)+(1-α)(maxi) avec
α=0,5 (critère de Hurwitz).
d) Choisir la décision pour laquelle on rend minimal le maximum des
regrets (critère de Savage ou de minimax regret). Le regret est défini
comme le coût d’opportunité (calculé entre parenthèses).
e) Si nous retenons P(Beau)=0,5 ; P(Couvert)=0,3 ; P(Pluie)=0,2 quelle est
la décision ayant la plus grande espérance (critère de l’espérance).

Notes de cours et exercices de Recherche Opérationnelle 70


Chapitre II Eléments de la théorie de jeux et stratégies

Solution

(a) Tous calculs faits, c’est Boissons qui est la meilleure décision selon le
critère de Laplace :

Temps Laplace
Gains
Beau Couvert Pluie Moy. arith.

Glaces 500 100 0 200


(100) (700) (800)

Boissons 250 800 350 467


(300) (0) (450)

Journaux 150 400 800 450


(450) (400) (0)

Jouets 600 300 260 387


(0) (500) (540)

(b) Selon le critère de Wald, il faut retenir ici les jouets :

Temps Laplace Wald


Gains
Beau Couvert Pluie Moy. arith. maximin

Glaces 500 100 0 200 0


(100) (700) (800)

Boissons 250 800 350 467 250


(300) (0) (450)

Journaux 150 400 800 450 150


(450) (400) (0)

Jouets 600 300 260 387 260


(0) (500) (540)
(c) Selon le critère de Hurwitz c’est le Jouet qui est la meilleure décision

Temps Laplace Wald Hurwitz


Gains
Beau Couvert Pluie Moy. arith. maximin α=0,5

Glaces 500 100 0 200 0 250


(100) (700) (800)

Notes de cours et exercices de Recherche Opérationnelle 71


Chapitre II Eléments de la théorie de jeux et stratégies

Boissons 250 800 350 467 250 525


(300) (0) (450)

Journaux 150 400 800 450 150 475


(450) (400) (0)

Jouets 600 300 260 387 260 430


(0) (500) (540)

(d) Les décisions Boissons et Journaux sont les meilleures et équivalentes

Temps Laplace Wald Hurwitz Savage


Gains
Beau Couvert Pluie Moy. maximin α=0,5 minimax
arith.

Glaces 500 100 0 200 0 250 800


(100) (700) (800)

Boissons 250 800 350 467 250 525 450


(300) (0) (450)

Journaux 150 400 800 450 150 475 450


(450) (400) (0)

Jouets 600 300 260 387 260 430 540


(0) (500) (540)

(e) C’est l’application des probabilités aux combinaisons


décisions/événements tel que E(X)=Σpixi

Si nous retenons P(Beau)=0,5 ; P(Couvert)=0,3 ; P(Pluie)=0,2 c’est la décision


Jouet qui est la meilleure.

Temps Laplace Wald Hurwitz Savage Espérance


Gains
Beau Couvert Pluie Moy. maximin α=0,5 minimax -
arith.

Glaces 500 100 0 200 0 250 800 280


(100) (700) (800)

Boissons 250 800 350 467 250 525 450 435


(300) (0) (450)

Journaux 150 400 800 450 150 475 450 355


(450) (400) (0)

Jouets 600 300 260 387 260 430 540 442


(0) (500) (540)

Notes de cours et exercices de Recherche Opérationnelle 72


Chapitre II Eléments de la théorie de jeux et stratégies

2. Soit un jeu à deux personnes à somme nulle, défini par la matrice des gains
du joueur A ci-dessous.

q1 q2 q3
p1 2 -1 3
p2 -2 3 -1
-1 0 2
p3
Calculer les stratégies mixtes et la valeur du jeu.

Réponse

q1= ½ ; g= ½ ; q2= ½

p1= 5/8 ; p2= 3/8 ; p3= 0

3. Chercher les stratégies mixtes pour le jeu rectangulaire dont la matrice est
donnée ci-dessous
B
2 3 -2 -1
-1 5 4 -2
A 2 -5 0 3

Réponse

q2=1/3; g= 1/3 ; et q1= q3= q5= q6= q7= 0

p1=0; p2= 8/15 ; p3= 7/15 ; et p4=1/15 ; p5=0 ; p6=27/15 ; p7= 0. C’est une
solution de base

Notes de cours et exercices de Recherche Opérationnelle 73


Chapitre III Théorie des graphes et applications

Chapitre III
THEORIE DES GRAPHES ET APPLICATIONS
III.1. Notions et rappels mathématiques sur la théorie des graphes
Considérons un ensemble fini X = {x1 , x2 ,..., xn } et une application
multivoque Γ définie sur cet ensemble. On dit que le couple (X, Γ ) constitue
un graphe G d’ordre n. On peut représenter un graphe à l’aide d’un dessin tel
que celui de la figure ci-dessous appelé « représentation sagittale du graphe ».

- A chaque élément de X on fait correspondre un point appelé sommet du


graphe et que l’on repère par le même symbole que l’élément de X
correspondant.

- Deux sommets xi et xj sont ensuite reliés par une flèche allant de xi vers
xj si xj ∈ Γxi . Cette flèche appelée arc du graphe matérialise la relation
entre les deux éléments xi et xj de l’ensemble X.

- Si (xi,xj) est un arc ∈ Γ , xi est appelé extrémité initiale de l’arc, xj


extrémité terminale de l’arc. Si xi = xj, ce couple est appelé une boucle.

- Deux sommets sont dits adjacents s’ils sont extrémités d’un même arc.
Deux arcs sont dits adjacents s’ils on en commun un sommet. Un
sommet est dit isolé s’il n’est extrémité que d’une boucle.

{
Sur la figure on voit que X = x1 , x 2 , x3, x 4, x5, x6 }
Γx1 = {x 2 , x4, x5 } Γx3 = {x1 , x 2 , x 4, x5 } Γx5 = {x5, x6 }

Γx 2 = {x 2 , x3 } Γx 4 = {x5 , x6 } Γx6 = {x 2, x3 }
L’ensemble des arcs détermine complétement l’application du graphe,
tout comme l’application Γ détermine l’ensemble U des arcs du graphe ;
pour cette raison on peut écrire indifféremment le graphe sous la forme G = (X,
Γ) ou sous la forme G = (X,U).

Notes de cours et exercices de Recherche Opérationnelle 74


Chapitre III Théorie des graphes et applications

Au graphe G on peut associer une matrice carrée d’ordre n : M= a ij [ ]


définie par ai j = 1 si (xi, xj) ∈ U , et aij = 0 si (xi,xj) ∉ U .

L’indice inférieur concerne les lignes, l’indice supérieur les colonnes. Cette
matrice est dite « matrice associée au graphe ». Elle le définit complètement.
Cette matrice peut être soit littérale (latine) ou booléenne. La matrice associée
au graphe de la figure est :

Matrice booléenne Matrice latine

(1) (2) (3) (4) (5) (6) A B C D E F


(1) 0 1 0 1 1 0 A O AB O AD AE O
(2) 0 1 1 0 0 0 B O BB BC O O O
(3) 1 1 0 1 1 0 C CA CB O CD CE O
(4) 0 0 0 0 1 1 D O O O O DE DF
(5) 0 0 0 0 1 1 E O O O O EE EF
(6) 0 1 1 0 0 0 F O FB FC O O O

Un graphe est dit sans boucle lorsque la diagonale principale de la matrice qui
lui est associée ne contient que des zéros. Lorsque aii = 1 , on dit qu’il existe
une boucle en xi.

III.2. Notions de chemin et de circuit


- On appelle chemin, une séquence d’arcs ou suite ordonnée d’arcs telle que
l’extrémité terminale de chaque arc coïncide avec l’extrémité initiale de l’arc
suivant :

L’extrémité initiale du 1er arc est appelée extrémité initiale du chemin, et


l’extrémité terminale du dernier est appelée extrémité terminale du chemin.

- Un chemin est dit simple s’il n’emprunte pas 2 fois le même arc.

x1 x2 x4 x3 x2 x4 x5 n’est pas simple

Notes de cours et exercices de Recherche Opérationnelle 75


Chapitre III Théorie des graphes et applications

- Un chemin est dit élémentaire lorsqu’il ne passe pas qu’une et une seule fois
par chacun des sommets qui le composent ou encore, s’il ne passe pas 2
fois par le même sommet.

- Un chemin dont les 2 extrémités coïncident est appelé circuit.

x1 x2 x4 x3 x2 x4 x5 x6 n’est pas élémentaire.

- On appelle longueur d’un chemin, le nombre de ses arcs (chaque arc étant
compté autant de fois qu’il est emprunté).

N.B : - Un chemin ou circuit qui passe une fois et une seule par chaque
sommet su graphe est appelé hamiltonien. Un tel chemin ou circuit
peut être caractérisé par la double propriété : être élémentaire et de
longueur n, dans le cas d’un circuit, ou n – 1, dans le cas d’un
chemin, n étant l’ordre du graphe. On utilisera avec profit, pour la
recherche des chemins et circuits hamiltoniens, la méthode de
composition latine décrite par A. Kaufmann et Y. Malgrange.

Notes de cours et exercices de Recherche Opérationnelle 76


Chapitre III Théorie des graphes et applications

III.3. Applications

La théorie des graphes est fortement exploitée dans les domaines


suivants :
- Recherche de chemins hamiltoniens dans un graphe ou réseau ;
- Recherche de chemins de valeur optimale ;
- Problèmes de transport et d’affectation ;
- Problèmes de flot maximal ;
- Problèmes d’ordonnancement.

Dans ce cours, nous nous limiterons à quelques cas seulement.

III.4. Recherche de chemins hamiltoniens


a) Définition

Le chemin hamiltonien est le plus long chemin élémentaire dans un graphe


qui passe qu’une et une seule fois sur un sommet. On peut rencontrer
plusieurs chemins hamiltoniens dans un graphe.

b) Rappel de relations dans un graphe

- l’addition de deux chemins est une notion ensembliste de ces deux chemins :
(a,b,c) + (e, f, i) ⇒ (a,b,c) et (e, f, i)

- la multiplication de deux chemins est la concatenation de ces chemins:


(a,b,c).(c, e, f) ⇒ (a, b, c, e, f)

- Pour multiplier deux matrices, il faut que le nombre de colonnes de la 1ère


matrice soit égale au nombre de lignes de la 2ème matrice.

Rappel sur les applications linéaires - Matrices

• Matrice carrée : Une matrice carrée de dimension n est un tableau de


nombres réels disposés suivant n lignes et n colonnes.
r
 a11 a12 a13   l1 
 r  r r r
Pour n = 3, on a

M = (aij ) =  a21 a22 (
a23  =  l2  = C1 C2 C3 )
a r 
 31 32 a33   l3 
i : ième ligne
j : jème colonne

• Transposée d’une matrice : En permutant les vecteurs lignes et les


vecteurs colonnes, nous obtenons la matrice
transposée de M notée :

Notes de cours et exercices de Recherche Opérationnelle 77


Chapitre III Théorie des graphes et applications

r
 a11 a 21 a 31   C1 
 r  r r r

~ ~ 
M = (aij ) =  a12 a 22 (
a 32  =  C 2  = l1 l 2 l 3 )
a r 
 13 23 a 33   C 3 

1 3 0 − 5
• Addition de 2 matrices carrées ex : M =   et M ' =  
2

4 4 2 

 1 3   0 − 5  1 − 2 
M ''= M + M '=  + = 
 2 4   4 2   6 6 
 
−3 2
• Multiplication d’un matrice par un scalaire ex : M = et k = -2
4 5
 − 3 2  6 − 4 
kM = −2  =  
 4 5   − 8 − 10 
 −1 3  0 − 5
• Produit de deux matrices carrées : ex : M =   et N =  
2 4 4 2 

 0  − 5 
 (− 1,3)  (− 1,3)  

M .N =   4  2   =  − 1.(0 ) + 3(4 ) − 1(− 5) + 3(2 ) 12 11 
= 
0  − 5    2(0 ) + 4(4 ) 2(− 5) + 4(2 )  16 − 2 
 (2,4 )  (2,4 )   
 
  4  2 

Notez que - MN ≠ NM
- la multiplication se fait ligne par colonne et il faut respecter
l’ordre des matrices données.

c) Algorithme de KAUFMANN-MALGRANGE
(pour la recherche des chemins et circuits hamiltoniens)

1ère étape : Recherche de chemin de longueur 1


- On construit la matrice latine associée M1
- On déduit la matrice déduite M1 en supprimant les lettres qui
se répètent.

2ème étape : Recherche de chemin de longueur 2


~ ~
- On détermine la matrice M2 ⇒ M 1 x M 1
~
- On déduit la matrice déduite M 2 en supprimant les éléments
qui contiennent les lettres qui se répètent.

3ème étape : Recherche de chemin de longueur 3


~ ~
- On détermine M 3 = M 2 x M 1
~
- On déduit M 3 en supprimant les éléments qui contiennent les
lettres qui se répètent.

Notes de cours et exercices de Recherche Opérationnelle 78


Chapitre III Théorie des graphes et applications

Kème étape : Recherche de chemin de longueur K


~ ~ ~ ~
- On détermine MK = M K −1 x M 1 et MK = M i x M j avec i + j = K
~
- On déduit M K
N.B. - Lorsqu’on cherche le circuit hamiltonien, la dernière étape est n ;
dans ce cas le circuit hamiltonien, s’il existe, apparaît dans la
diagonale gauche de la matrice.
- Lorsqu’on cherche le chemin hamiltonien, la dernière étape est n-1.
Exemple : Déterminer, par la méthode de composition latine, les chemins et
circuits hamiltoniens du graphe suivant :

• On construit la matrice latine correspondante

A B C D E F G
A O AB AC AD O O AG
B O O BC O BE BF O
M 1= C O CB O CD O O CG
D O O O O O DF DG
E O O EC ED EE O EG
F FA O O O O FF FG
G O GB O O O GF O

~
• La matrice déduite M 1 est obtenue en supprimant les lettres qui se
répètent (elles sont dans la diagonale) :

~ ~
On calcule M 2 = M 1 x M 1 . La multiplication latine s’opère comme dans le
calcul matriciel classique ‘’ligne par colonne’’.

Notes de cours et exercices de Recherche Opérationnelle 79


Chapitre III Théorie des graphes et applications

A B C D E F G
A O AB AC AD O O AG
~ B O O BC O BE BF O
M1 = C O CB O CD O O CG
O O O O O DF DG
E O O EC ED O O EG
F FA O O O O O FG
G O GB O O O GF O

A B C D E F G
ABF ACG
ACB
A O ABC ACD ABE ADF ADG
AGB
AGF
BCG
BCD
B BFA BCB BEC O O BEG
M 2= BED
BFG
CBF CDG
C O CGB BCB O CBE CDF
CGF
D DFA DGB O O O DGF DFG
ECB EDF ECG
E O O ECD O
EGB EGF EDG
FAB FAG
F O FAC FAD O FGF
FGB
G GFA O GBC O GBE GBF FGF

~
On déduit M 2 en supprimant les éléments avec répétition :

A B C D E F G
ABF ACG
ACB
A O ABC ACD ABE ADF ADG
~ AGB r
M2 = 3 =
AGF
BCD
MBCG
B BFA O BCE O O BEG
BED
BFG
CBF
C O CGB O O CBE CDF CDG
CGF
D DFA DGB O O O DGF DFG
ECB EDF ECG
E O O ECD O
EGB EGF EDG
FAB FAG
F O FAC FAD O O
FGB
G GFA O GBC O GBE GBF O

On calcule M3 et on déduit
A B C D E F G
ACBF,AGBF, ABCG,ACDG,
ACGB AGBC ABCD ACBE
A O ACDF,ACGF, ABEG,ABFG,
ADBD ABEL AGED AGBE
ADGF ADFG
BFAD BCDC, BEDF BFAG,BECG
B O O BFAC O
BECD BCGF,BEGF BCDG,BEDG
CBFA, CBEG,CBFG
CGBF
C CDFA O O CBED CGBE CDFG
CDGF
CGFA
~ D DGFA
DFAB DFAC
O DGBE DGBF
DFAG
M3 . EDFA
DFGB
ECGB
DGBC
ECBF,EGBF ECDG
E EGBC O O
EDGA EDGB ECDF,ECGF EDFG
FACB FABC FABE FACG
F O FACD O
FAGB FGBC FGBE FADG
GFAD, O
GFAC
G GBFA GFAB GBCD O O
GBEC
GBED

~ ~
On obtient les chemins hamiltoniens en calculant M 6 = M 3 x M 3

A B C D E F G
ACGBEBF
ABECDGF ABECDFG
A O O ADFGBEC O ACDFGBE
AGBECDF ACBEDFG
ACBEDGF

Notes de cours et exercices de Recherche Opérationnelle 80


Chapitre III Théorie des graphes et applications

BEGFACD BECDFAG
B BECDGFA O BEDGFAC O O
BECGFAD BEDFACG
CBEDGFA CBFAGED CDFAGBE CDFABEG
C O O O
CGBEDFA CBEGFAD CDGFABE CBEDFAG
DGFABEC DGFACBE DFABECG
D O O O O
DFAGBEC DFACGBE DFACBEG
EDFACGB
M6 = EGBCDFA EDGFACB ECGBFAB EDGACBF EDFABCG
E O O
ECDGBFA ECDFAGB EGBFACD ECBFADG
ECDGFAB
FAGBECD FACBEDG
F O O FADGBEC FACDGBE O
FACGBED FABECDG
G GBECDFA O GBEDFAC GFABECD GFACBED O O

~ ~
On obtient la liste des circuits hamiltoniens en calculant M 7 = M 6 x M 1
Obtient une matrice diagonale :

A B C D E F G
ACGBEDFA
ABECDGFA
A
ACBEDGFA
ACBEDGFA
BECFGFAB
BEDGFACB
B
BECDFAGB
BEDFACGB
CBEDGFAC
CGBEDFAC
C
CDFAGBEC
CDGFABEC
DGFABECD
DFAGBECD
D
DGFACBED
DFACGBED
EDFACGBE
EDGFACBE
E
ECDFAGBE
ECDGFABE
FAGBECDF
FACGBEDF
F
FACBEDGF
FABECDGF
GBECDFAG
GBEDFACG
G
GFABECDG
GFACBEDG
Les circuits différents sont au nombre de 4.

Notes de cours et exercices de Recherche Opérationnelle 81


Chapitre III Théorie des graphes et applications

III.5. Recherche de chemins de valeur optimale–Algorithme de Ford

Un chemin optimal est un chemin qui est soit minimal soit maximal.
Pour chercher le chemin optimal dans un graphe, ce dernier doit remplir
certains critères :
- le graphe doit être sans boucle ;
- le graphe doit être antisymétrique ; (2 sommets ne doivent pas être
reliés par 2 arcs).
- le graphe doit être simplement connexe ;
- le graphe doit être valué (c'est-à-dire que les arcs doivent avoir une
certaine valeur) ;
- l’entrée du graphe doit avoir un seul élément (un singleton), il en est de
même de la sortie ;
- le graphe doit être sas circuit.

III.5.1. Chemin de valeur minimale

1ère étape : Baptiser tous les sommets et ce, dans n’importe quel ordre.
2ème étape : - Affecter provisoirement au sommet initial la valeur λa = 0
- Aux autres sommets on affecte la valeur λx = α (x ≠ a)
3èmeétape : Si le graphe contient n sommets, cette étape comprendra n – 1
sous étapes. Cette étape consiste à calculer les valeurs successives
λx des sommets. Ce calcul se fait de la manière suivante :
a) sous-étapes 1 : - Déterminer l’ensemble des descendants directs du
sommet initial a ; on les note Γa+ .
- Remplacer λx par λa + v(a, y ) ssi λx - λa > v(a, y )
b) sous-étape 2 :
- Déterminer l’ensemble des descendants directs du sommet
suivant b ; on les note Γb+
- remplacer λx par λb + v(b, x) ssi λx − λb > v(b, x).
c) Sous étape x :
- déterminer les descendants directs de x ; notés Γx+ .
- remplacer λx par λ ' b + v ( x ' , x ) ssi λx − λ 'x > v( x' , x).

d) dernière sous étape : (n-1) sous étape


- Déterminer le dernier élément qui est le singleton z,
- Remplacer λz par λx + v( x, z ) ssi λz − λx > v( x, z ).

4ème étape :
- Si dans le graphe, il existe une ou plusieurs autres relations, alors
il faut recommencer la 3ème étape chaque fois que cela se
présente et ce à partir de la sous étape (b) ;
- Continuer avec l’algorithme jusqu’à ce qu’aucun λx ne sera
modifiable. Ces λx représentent les valeurs minimales des chemins
qui vont de a vers x.
5ème étape :

Notes de cours et exercices de Recherche Opérationnelle 82


Chapitre III Théorie des graphes et applications

- Pour retrouver le chemin, on part du dernier sommet z puis on


détermine les prédécesseurs (les ancêtres directs) x de z, on les
note Γz− .
- Pour trouver les autres sommets, on recherche les prédécesseurs x
de y tel que λ y − λx > v( x, y ). ; on remonte ainsi jusqu’au sommet
initial.

Exemple : on donne le graphe ci-dessous et on demande de trouver le plus


court chemin entre a et z par l’algorithme de FORD.

Il y a 7 sommets, d’où la troisième étape comprendra 7-1= 6 sous étapes. Les


différents descendants sont :
Γa+ = {a, b, d } , Γb+ = {d , e, f }, Γc+ = {e},
Γd+ = {c, f , z}
Γc+ = {z}, Γf+ = {e, z}

Etape Etape 3
2 Γ +
a Γ
b
+
Γ c
+
Γd+ Γe+ Γf+ Γc+ Γd+ Γe+ Γf+ Γe+ Γf+
λa 0 0 0 0 0 0 0 0 0 0 0 0 0
λb +∞ 5 5 5 5 5 5 5 5 5 5 5 5
λc +∞ 10 10 10 6 6 6 6 6 6 6 6 6
λd +∞ 2 2 2 2 2 2 2 2 2 2 2 2
λe +∞ +∞ 14 13 13 13 9 9 9 9 9 9 9
λf +∞ +∞ 12 12 7 7 7 7 7 7 7 7 7
λz +∞ +∞ +∞ +∞ 12 12 12 12 12 10 10 10 10
La valeur du chemin minimal est 10.

Γa+ = {b, c, d } Pour b on remplace λb par λa + v(a, b) ssi λb − λa > v(a, b)

Notes de cours et exercices de Recherche Opérationnelle 83


Chapitre III Théorie des graphes et applications

+∞−0>5 oui
⇒ λb = λa + v(a, b) = 0 + 5 = 5

Pour c on remplace λc par λa + v( a, c) ssi λc − λa > v( a, c)

+ ∞ − 0 > 10 oui
⇒ λc = 0 + 10 = 10

Pour d on remplace λd par λa + v( a, d ) ssi λd − λa > v( a, d )

+∞−0> 2 oui
⇒ λd = 0 + 2 = 2

Γb+ = {d , e, f } Pour d : λd par λb + v(b, d ) ssi λd − λb > v(b, d )

2−5>8 non
on garde 2

Pour e : λe par λb + v(b, e) ssi λe − λb > v(b, e)

+∞−5>9 oui
⇒ λe = 5 + 9 = 14

Pour f : λ f par λb + v(b, f ) ssi λ f − λb > v(b, f )

+∞−5> 7 oui
⇒ λ f = 5 + 7 = 12

Γc+ = {e} Pour e : λe par λc + v(c, e) ssi λe − λc > v(c, e)

14 − 10 > 3 oui
⇒ λe = 10 + 3 = 13

Γd+ = {c, f , z} Pour c : λc par λd + v(d , c) ssi λc − λd > v( d , c)

10 − 2 > 4 oui
⇒ λc = 4 + 2 = 6

Pour f : λ f par λd + v(d , f ) ssi λ f − λd > v( d , f )

12 − 2 > 5 oui
⇒ λf = 2 + 5 = 7
Pour z : λz par λd + v( d , z ) ssi λz − λd > v( d , z )

Notes de cours et exercices de Recherche Opérationnelle 84


Chapitre III Théorie des graphes et applications

− ∞ − 2 > 10 oui
⇒ λz = 2 + 10 = 12
Γ = {z}
e
+
Pour z : λz par λe + v(e, z ) ssi λz − λe > v(e, z )

12 − 13 > 1 non
on garde 12

Γf+ = {e, z} Pour e : λe par λ f + v( f , e) ssi λe − λ f > v( f , e)

13 − 7 > 2 oui
⇒ λe = 7 + 2 = 9
Pour z : λz par λ f + v( f , z ) ssi λz − λ f > v( f , z )

12 − 7 > 6 non
on garde 12

4ème étape

Γc+ = {e} Pour e : λe par λc + v(c, e) ssi λe − λc > v(c, e)

9−6>3 non
on garde 9

Γd+ = {c, f , z} Pour c : λc par λd + v(d , c) ssi λc − λd > v( d , c)

6−2> 4 non
on garde 6

Pour f : λ f par λd + v(d , f ) ssi λ f − λd > v( d , f )

7−2>5 non
on garde 7

Pour z : λZ par λd + v( d , z ) ssi λz − λd > v( d , z )

12 − 2 > 10 non
on garde 12

Γe+ = {z} Pour z : λz par λe + v(e, z ) ssi λz − λe > v(e, z )

12 − 9 > 1 oui
⇒ λz = 9 + 1 = 10

Γf+ = {e, z} Pour e : λe par λ f + v( f , e) ssi λe − λ f > v( f , e)

Notes de cours et exercices de Recherche Opérationnelle 85


Chapitre III Théorie des graphes et applications

9−7 > 2 non


on garde 9

Pour z : λz par λ f + v( f , z ) ssi λz − λ f > v( f , z )

10 − 7 > 6 oui
on garde 10

Γe+ = {z} Pour z : on remplace λz par λe + v(e, z ) ssi λz − λe > v(e, z )

10 − 9 > 1 non
on garde 10

Γe+ = {e, z} Pour e : λe par λ f + v( f , e) ssi λe − λ f > v( f , e)

9−7 > 2 non


on garde 9

Pour z : on remplace λz par λ f + v( f , z ) ssi λz − λ f > v( f , z )

10 − 7 > 6 non
on garde 10

5ème étape λ f − λ y = v( y, z )
Γz− = {d , e, f } Pour d λz − λd = v(d , z )
10 – 2 = 10
8 ≠ 10

Pour e λz − λe = v(e, z )
10 – 9 = 1
1 = 1 on retient e
e z
Pour f λz − λ f = v ( f , z )
10 – 7 = 6
3≠6

Γe− = {c, b, f } Pour c λe − λc = v(c, e)


9–6=3
3 = 3 on retient c

Pour b λe − λb = v(b, e)
9–5=9
4 ≠9

Pour f λe − λ f = v( f , e)
9–7=2
2 = 2 on retient

Notes de cours et exercices de Recherche Opérationnelle 86


Chapitre III Théorie des graphes et applications

Γe− = {a, d } Pour a λc − λa = v(a, c)


6 – 0 = 10
6 ≠ 10 non

Pour d λc − λd = v(d , c)
6–2=4
4 = 4 on retient d
Γf− = {b, d } Pour b λ f − λb = v(b, f )
7–5=7
2≠7

Pour d λ f − λd = v(d , f )
7–2=5
5 = 5 on retient encore d

Γd− = {a, b} Pour a λd − λa = v(a, d )


2–0=2
2 = 2 on retient a

Pour b λd − λb = v(b, d )
2–5=8
-3≠8

Notes de cours et exercices de Recherche Opérationnelle 87


Chapitre III Théorie des graphes et applications

III.5.2. Chemin de valeur maximale

- 1ère étape : - Idem que pour le chemin de valeur minimale


- 2ème étape : - Affecter provisoirement au sommet initial la valeur λa = 0
- Aux autres sommets, on affecte la valeur λx = −∞ (x ≠ a)
- 3ème étape :- Cette étape consiste à calculer les valeurs successives de λx de
la manière suivante :
a) Sous étape 1 :
- Déterminer l’ensemble des descendants directs du sommet initial
a, noté Γa+
- Remplacer λ y par λa + v(a, y ) ssi λ y − λa < v( a, y )
b) Sous étape 2 :
- Déterminer l’ensemble des descendants directs du sommet suivant
b, noté Γb+
- Remplacer λ y par λb + v(b, y ) ssi λ y − λb < v(b, y )
- 4ème et 5ème étape : Rechercher les chemins de valeur maximale

Exemple : En considérant le graphe de la figure, on demande de trouver le


chemin de valeur maximale par l’algorithme de FORD.

Etape 3ème et 4ème Etape


2 Γ+
a Γb+ Γc+ Γd+ Γe+ Γf+ Γc+ Γd+ Γe+ Γf+ Γe+ Γf+
λa 0 0 0 0 0 0 0 0 0 0 0 0 0
λb +∞ 5 5 5 5 5 5 5 5 5 5 5 5
λc +∞ 10 10 10 17 17 17 17 17 17 17 17 17
λd +∞ 2 13 13 13 13 13 13 13 13 13 13 13
λe +∞ +∞ 14 14 14 14 20 20 20 20 20 20 20
λf +∞ +∞ 12 12 18 18 18 18 18 18 18 18 18
λz +∞ +∞ +∞ +∞ 23 23 24 24 24 24 24 24 24

Γa+ = {b, c, d } Pour b on remplace λb par λa + v( a, b) ssi λb − λa > v( a, b)

−∞−0<5 oui
⇒ λb = 0 + 5 = 5

Pour c λc par λa + v(a, c) ssi λc − λa > v(a, c)


− ∞ − 0 > 10 oui
⇒ λc = 0 + 10 = 10

Pour d λd par λa + v(a, d ) ssi λd − λa > v(a, d )

Notes de cours et exercices de Recherche Opérationnelle 88


Chapitre III Théorie des graphes et applications

−∞−0< 2 oui
⇒ λd = 0 + 2 = 2

Γb+ = {d , e, f } Pour d λd par λb + v(b, d ) ssi λd − λb > v(b, d )

2−5<8 oui
⇒ λd = 8 + 5 = 13

Pour e λe par λb + v(b, e) ssi λe − λb < v(b, e)

−∞−5< 9 oui
⇒ λe = 5 + 9 = 14

Pour f λb par λb + v(b, f ) ssi λ f − λb < v(b, f )

−∞−5<7 oui
⇒ λ f = 5 + 7 = 12

Γc+ = {e} Pour e λe par λc + v(c, e) ssi λe − λc > v(c, e)

14 − 10 < 3 non
on garde 14

Γd+ = {x, f , z} Pour c λc par λ d + v( d , c) ssi λc − λ d > v( d , c)

10 − 13 < 4 oui
⇒ λc = 13 + 4 = 17

Pour f λ f par λ d + v( d , f ) ssi λ f − λ d > v( d , f )

12 − 13 < 5 oui
⇒ λ f = 13 + 5 = 18
Pour z λ z par λ d + v( d , z ) ssi λ z − λ d < v( d , z )

− ∞ − 13 < 10 oui
⇒ λ z = 13 + 10 = 23

Γe+ = {z} Pour z λ z par λe + v(e, z ) ssi λ z − λe > v(e, z )

23 − 14 < 1 oui
on garde 23

Notes de cours et exercices de Recherche Opérationnelle 89


Chapitre III Théorie des graphes et applications

Γ f+ = {e, z} Pour e λe par λ f + v( f , e) ssi λe − λ f < v( f , e)

14 − 18 < 2 oui
⇒ λe = 18 + 2 = 20

Pour z λ z par λ f + v( f , z ) ssi λ z − λ f < v( f , z )

23 − 18 < 6 oui
⇒ λ z = 18 + 6 = 24

Γc+ = {e} Pour e λe par λc + v(c, e) ssi λe − λc < v(c, e)

20 − 17 < 3 non
on garde 20

Γd+ = {c, f , z} Pour c λc par λ d + v( d , c) ssi λc − λ d < v( d , c)

17 − 13 < 4 non
on garde 17

Pour f λ f par λ d + v( d , f ) ssi λ f − λ d < v( d , f )

18 − 13 < 5 non
on garde 18

Pour z λ z par λ d + v( d , z ) ssi λ z − λ d < v( d , z )

24 − 13 < 10 non
on garde 24

Γe+ = {z} Pour z λ z par λe + v(e, z ) ssi λ z − λe < v(e, z )

24 − 20 < 1 non
on garde 24
Γ = {e, z}
+
f Pour e λe par λ f + v( f , e) ssi λ f − λe < v( f , e)

18 − 20 < 2 oui
⇒ λ f = 18 + 2 = 20
Pour z λ z par λ f + v( f , z ) ssi λ f − λ z < v( f , z )

18 − 24 < 6 oui
⇒ λ z = 18 + 6 = 24

Γe+ = {z} Pour z λ z par λe + v(e, z ) ssi λ z − λe < v(e, z )

24 − 20 < 1 non

Notes de cours et exercices de Recherche Opérationnelle 90


Chapitre III Théorie des graphes et applications

on garde 24

Γ f+ = {e, z} Pour e λe par λ f + v( f , e) ssi λe − λ f < v( f , e)

20 − 18 < 2 non
on garde 20

Pour z λ z par λ f + v( f , z ) ssi λ z − λ f < v( f , z )

24 − 18 < 6 non
on garde 24

Inconvénient

L’inconvénient majeur de l’algorithme de FORD réside dans les


opérations de retour qui peuvent conduire à l’oubli ; c’est pourquoi il
conviendra mieux à un graphe contenant un faible nombre de sommets.

Notes de cours et exercices de Recherche Opérationnelle 91


Chapitre III Théorie des graphes et applications

III.6. Exercices

1. Construire le graphe dont la matrice associée est :

(1) (2) (3) (4) (5) (6) (7)

1 0 1 0 0 1 0
(1)
0 1 1 0 1 0 1
(2)
0 1 0 1 0 0 1
(3)
1 1 1 0 0 0 1
(4)
0 1 0 0 1 1 0
(5)
0 0 0 1 0 0 1
(6)
1 0 1 0 1 0 0
(7)

Solution

(2)
(3)

(1) (4)
(6)

(5) (7)

Notes de cours et exercices de Recherche Opérationnelle 92


Chapitre III Théorie des graphes et applications

2. Etablir la matrice associée au graphe représenté ci-dessous.

Solution
La matrice associée est :

A B C D E F G

0 1 1 1 0 0 1
A
0 0 1 0 1 1 0
B
0 1 0 1 0 0 1
C
0 0 0 1 0 1 1
D
0 0 1 1 1 0 1
E
1 0 0 0 0 1 1
F
0 1 0 0 0 1 0
G

3. Vérifier que le plus court chemin entre x0 et x9 sur le graphe


symétrique de la figure ci-dessous a pour longueur l= 12.

N.B : Il est préférable de parler de chemin de valeur minimale. En effet


dans la théorie des graphes la longueur d'un chemin désigne
habituellement le nombre d'arcs composant le chemin.

Notes de cours et exercices de Recherche Opérationnelle 93


Chapitre III Théorie des graphes et applications

X1
X2
10

2
1

10
2
1 X3
X4
4
10 5
1

5
X0 4 X9
6 8
X5 3
X6

5
3

3
2

X7 8 X8

4. Trouver le chemin de valeur minimale entre les sommets x0 et x8 du


graphe de la figure ci-dessous et donner sa valeur.

Réponse : II y a quatre chemins de valeur minimale de x0 et x8. La


valeur est 21.
[x0, x3, x5, x6, x7, x8], [x0, x3, x5, x6, x8]
[x0, x2, x5, x6, x7, x8], [x0, x2, x5, x6,x8]

Notes de cours et exercices de Recherche Opérationnelle 94


Chapitre III Théorie des graphes et applications

5. Méthode P.E.R.T (Program Evaluation and Review Technic).


Ce système a été mis au point lors de la construction des fusées Polaris.
Il s’est, depuis, généralisé dans l’industrie privée.

5
9 3
2 9
6
8

5
8 6
9
4

4
10 3 10
5 13
1 13 3 6 8
12
9

6
5
7

13
17
4 6 8
11
10
4
7

Evénement Date au plus tôt Date au plus tard


E1 0 0
E2 8 9
E3 13 13
E4 20 20
E5 17 40
E6 23 26
E7 37 38
E8 29 29
E9 33 43
E10 48 48
E11 42 42
E12 61 61

Les événements qui sont sur le chemin critique sont donc :

E1 - E3 – E4 – E8 – E10 – E11 – E12

Notes de cours et exercices de Recherche Opérationnelle 95


Chapitre III Théorie des graphes et applications

6. Pour mettre en exploitation un nouveau gisement minier, les opérations


suivantes doivent être réalisées :

N° Opération Durée
1 Obtention d’un permis d’exploitation 6 mois
2 Construction d’une piste entre route et site 4 mois
3 Installation de deux sondeuses 1 semaine
4 Erections de baraques provisoires 3 semaines
5 Asphaltage de la piste 1 mois
6 Adduction d’eau 2 mois
7 Campagne de sondage 7 mois
8 Fonçage 7 mois
9 Installation au fond du matériel d’exploitation 6 semaines
10 Construction de logements pour le personnel 5 mois
11 Traçage et aménagement du fond 11 mois
12 Construction d’une laverie 7 mois

En étudiant les possibilités de réalisation de ces opérations, on a constaté que


l’opération 1 précède nécessairement l’opération 2, laquelle précède 3, 4, 5, et
6. Les opérations 3 et 4 précèdent 7 ; les opérations 5, 6 et 7 précèdent les
opérations 8 et 10 ; enfin les opérations 8 et 10 précèdent les opérations 9, 11
et 12.
On suppose que chaque mois est constitué de 4 semaines.
1) Tracer le graphe événements-opérations (graphe PERT), relatif à
l’ensemble des opérations.
2) Rechercher le chemin critique.
3) Calculer les dates au plus tôt, dates au plus tard, les marges totales, les
marges libres.
Solution
Le chemin critique passe par les opérations a, b, d, g, j, k
Sur les débuts d’opérations c, e, h, i, l on a les délais :
300-314, 300-501, 300-471, 531-561, 681-969, 681-801

7. Trois dépôts A, B, C disposent respectivement de 30, 20 et 45 tonnes de


marchandises ; cinq destinations D, E, F, G et H en demandent des quantités
respectives de 10, 25, 20, 25 et 15 tonnes. Des camions, faisant route entre
les points désignés, offrent les disponibilités ci-dessous.
Etablir le meilleur plan de transport.
D E F G H
5 5 20 10
A
20 10 5
B
10 5 10 10 10
C

Notes de cours et exercices de Recherche Opérationnelle 96


Chapitre III Théorie des graphes et applications

8. Une bette de somme, consommant 0,5 kg de nourriture par kilomètre parcouru et


pouvant transporter une charge de 100 kg au maximum, se trouve en un dépôt qui
contient 500 kg de nourriture.

1) Quelle distance maximale cette bête peut-elle parcourir en utilisant


complètement la réserve ?
2) Quelle quantité de nourriture pourrait-elle apporter à une distance de 100 km
de son point initial ?

Réponse
1) 357,45 km
2) à une distance de 97,79 km, il reste au maximum 200 kg de nourriture, d’où 3
voyages de 9,21 km et une consommation de 13,81km. A une distance de
100km, il restera donc une réserve de 186,19 kg au plus.
9.
1) appliquer, pour la recherche du chemin de valeur maximale, l’algorithme de Ford
au graphe ci-dessous.
2) si l’on ajoute un arc de valeur 2 du sommet 5 au sommet 3, comment les
opérations sont-elles modifiées ?
5
5 1
2 6
3 4 5
3
4
1 5 9
2
3 4 7 3
3 8
3 4
Réponse 7
1) Chemin de valeur max = 20
2) Chemin de valeur maximale = 26

10. Dans la commune annexe de la ville de Lubumbashi, un certain nombre de lieux


notés de A à Z ont été répertoriés comme particulièrement sensibles.
Malheureusement les effectifs de la police sont insuffisants pour surveiller en
permanence l'ensemble de ces lieux. Il est donc décidé d'affecter une patrouille mobile
à certains de ces lieux, et d'affecter de manière permanente des patrouilles fixes aux
autres. Pour décider des lieux de passage de la patrouille mobile et pour être efficace
celle ci doit effectuer un maximum de rondes et donc passer par le chemin le plus
court reliant les points extrêmes A et Z de la ville. Déterminer ce chemin ainsi que sa
longueur à partir du plan ci-dessous représentant les lieux sensibles, les axes les
reliant, ainsi que les distances entre ces lieux. Quels seront les lieux où il faudra
affecter une patrouille fixe ?

Notes de cours et exercices de Recherche Opérationnelle 97


Chapitre III Théorie des graphes et applications

Réponse

x P(x)
A -
B C,D,F,G
C A,D,I
D A,F
E F
G C,I
H B,E
I A
Z G,H

niveaux : C0 = {A } ; C1 = {F,I } ; C2 = {D,E } ; C3 = {C} ; C4 = {G}; C5 = {


B} ; C6 = {H } ; C7 = {Z }

m(A) = 0; m(F) = 2; m(I) = 4; m(E) = 11; m(D) = 3; m(C) = 6; m(G) = 11; m(B) =
13; m(H) = 20; m(Z) = 24

Le chemin minimal est le chemin A, F, D, C, G, B, H, Z de longueur 24. Il faut


une patrouille fixe en E et I.

11. Durant les deux derniers jours de sa campagne électorale, le président


Joseph KABILA veut convaincre la population d'indécis du Bandundu de voter
pour lui. Pour cela sa direction de campagne décide d'utiliser plusieurs
supports médiatiques, télévision (T), radio (R) et presse (P).

Pour être efficace, cette campagne doit toucher au moins 65% des jeunes entre
18 et 25 ans, au moins 45% des adultes entre 25 et 40 ans et au moins 10%
des adultes de plus de 40 ans.
Le tableau suivant donne les estimations en milliers du nombre d'indécis des
3 catégories sensibilisées par un message selon le moyen de diffusion. La
dernière ligne représente la population totale estimée d'indécis de chacune des
catégories de personnes. La dernière colonne représente le coût en Franc
congolais d'un message pour chaque type de diffusion.

Catégories 18-25 25-40 40 et plus Coût


T 5 12 2 100000
R 2 15 2 70000
P 1 5 3 50000
Pop. totale 300 1300 2600

1) Sachant que le nombre de messages diffusés par la télévision ne doit pas


être plus du triple du nombre de messages diffusés par l'ensemble des autres

Notes de cours et exercices de Recherche Opérationnelle 98


Chapitre III Théorie des graphes et applications

médias, écrire sans le résoudre le programme linéaire permettant de


déterminer le nombre de messages à diffuser dans chaque média, de telle sorte
que la campagne soit la moins onéreuse possible. On notera x1, x2, x3 le
nombre de messages dans les médias T, R et P respectivement.

2) Ecrire le programme dual du précédent, en notant y les variables d'activité.

3) Résolution le programme dual par la méthode du simplexe. En déduire le


coût de la campagne ainsi que le nombre de messages (variables x) à faire
passer dans chaque média. Quelle conséquence sur le coût de la campagne
aurait le passage d'un message supplémentaire à la radio?

La préparation de la campagne électorale étant un lourd projet que l'on


peut décomposer en plusieurs tâches, le tableau ci-dessous précise les
contraintes d'antériorité et la durée d'exécution en jours de chacune d'entre
elles.

tâches A B C D E F G H I J K L
Tâches antérieures - - A,B,D B A A,D B I,L F,G,L A,E I,L B
durée 55 35 15 12 25 10 5 60 25 30 10 8

4) Faire la représentation du graphe PERT associé à ce problème


d'ordonnancement. (Ne pas résoudre le problème).
5) En vous aidant du graphe MPM sur la figure 1, déterminer les calendriers
au plus tôt, au plus tard, les tâches critiques, la durée du projet, les
marges totales et libres.
6) Ayant pris beaucoup d'avance dans la recherche de fonds pour le
financement de sa campagne, l'organisation du projet est modifiée et
conduit à la représentation graphique donnée sur la figure 2. A partir de
cette représentation PERT, déterminer les calendriers au plus tôt, au plus
tard, les tâches critiques, la durée du projet, les marges totales et libres.
Les résultats peuvent être reportés directement sur les graphes.

Pour la dernière journée de sa campagne électorale, monsieur le


président Joseph KABILA désire, à partir de sa résidence privée de Kinshasa et
au moyen de son avion présidentiel, rejoindre son quartier général à
Lubumbashi dans le Katanga, après s'être arrêté dans un certain nombre de
districts, où il doit motiver la population. Sur la figure 3 est représenté un
graphe dont les sommets sont les chefs-lieux de ces différents districts et où la
valeur indiquée sur chaque arc représente la taille de la population du district
auquel aboutit l'arc.

7) Déterminer l'itinéraire que Monsieur le président doit emprunter pour


apporter sa vérité au maximum de citoyens congolais.

Notes de cours et exercices de Recherche Opérationnelle 99


Chapitre III Théorie des graphes et applications

Figure n° 1

Figure n°2

Notes de cours et exercices de Recherche Opérationnelle 100


Chapitre III Théorie des graphes et applications

E: Goma
40 000

B: Idiofa
50 000

50 000
290 000 700 000 F: Bukavu
210 000 G: Kisangani

A: kinshasa
210 000 700 000 2000 000
C: Mbuji-Mayi

200 000 200 000 700 000 2000 000


2000 000
Figure n°3
D: Kananga
2000 000 H: Lubumbashi

12. Le samedi 16 janvier 2010, à la suite du sinistre causé par le volcan


Nyamulagira en éruption au Nord Kivu, 1300 voitures ont été incendiées et 73
bâtiments publics détériorés. Le Conseil des Ministres du lundi matin, sur
l'hypothèse de chiffres identiques pour la nuit du lundi, décide d'envoyer un
supplément de policiers, secouristes et pompiers. Pour que ces mesures soient
efficaces, il est nécessaire que le nombre de voitures incendiées et que le
nombre de bâtiments publics dégradés ne dépassent pas les nombres moyens
usuels qui sont respectivement de 100 et 3.
On sait que la présence des forces de l'ordre correspond à un certain nombre
de voitures et bâtiments épargnés donnés dans le tableau suivant :

Nombre de voitures épargnées Nombre de bâtiments épargnés


Présence d'un policier 5 2
Présence d'un secouriste 3 4
Présence d'un pompier 14 1

D'autre part 1 policier procède à 3 interventions contre 2 pour 1 secouriste. Le


Ministre de l'Intérieur qui voudrait redorer le blason de la police désire que le
nombre d'interventions effectuées par la police soit 2 fois plus important que
celles effectuées par les secouristes.
Enfin ce surcoût de travail pour les forces de l'ordre entraînera des primes qui
s'élèvent à 50, 20, et 70 $ respectivement pour 1 policier, 1 secouriste, 1
pompier.

Notes de cours et exercices de Recherche Opérationnelle 101


Chapitre III Théorie des graphes et applications

1) Ecrire sans le résoudre le programme linéaire permettant de minimiser le


coût et de satisfaire aux contraintes imposées.

Suite à ces sinistres, le gouvernement décide de mettre en place dès le


1er décembre 2010 un certain nombre de mesures, notées A, B, C,…., I,K,
destinées à réduire la fracture sociale. Ces mesures dont la plupart sont liées
entre elles, nécessitent une mise en place administrative dont les contraintes
sont répertoriées dans le tableau ci-dessous :

Tâches A B C D E F G H I J K
Tâches prérequises - A A - D B C B,C A,D B,E,I C,F,G,H
Durée (en mois) 1 6 5 3 8 2 4 3 5 3 2

2) En vous aidant du graphe MPM de la figure 1, déterminer les calendriers au


plus tôt, au plus tard, les tâches critiques, la durée du projet, les marges
totales et libres. Les formules sont indispensables. Les résultats peuvent
être reportés directement sur le graphe.

3) En vue des élections présidentielles, il est indispensable que ce projet soit


terminé au 1er avril 20012 ;

a) un déplacement de réfugier prévue en Août 2011 va occasionner un


transfert des fonds prévus initialement pour le projet vers un plan
d'urgence pour l’assistance. La tâche F sera retardée de 3 mois. Le
projet sera-t-il terminé avant les élections? Cela aura-t-il une
conséquence sur les calendriers au plus tôt et au plus tard des tâches
qui suivent ?
b) Quelles conséquences aurait une flambée du coût du carburant
retardant la mesure D de 2 mois.

Notes de cours et exercices de Recherche Opérationnelle 102


Chapitre IV Problèmes de gestion

Chapitre IV
PROBLEMES DE GESTION
IV.1. Gestion de stocks
IV.1.1. Introduction
Quelle que soit l’activité de l’entreprise, sa taille et son organisation, les
stocks existent. Le « zéro stocks » reste une vue de l’esprit et un abus de
langage. Si les stocks sont souvent sources de problèmes et de dépenses, ils
n’en restent pas moins indispensables. La compétitivité de l’entreprise peut
être particulièrement affectée par sa gestion des stocks, raison suffisante pour
y apporter une grande attention.

-Stocker
-Hiérarchie des produits
-Politique de réapprovisionnement
-Quatre politiques
-Réapprovisionnement à date et quantité fixes
-Réapprovisionnement à date fixe et quantité variable
- Réapprovisionnement à date variable et quantité fixe
- Réapprovisionnement à date et quantité variables
-Résumé
-Aspects comptables des stocks
-Compta générale
-Compta analytique
Notion de coûts
IV.1.2. Stock de sécurité

A quoi correspond le stock de sécurité, ou stock critique, ou stock d'alerte ?

• Pour une marchandise, si la quantité en stock descend en dessous de


ce seuil, une commande devra être passée auprès du fournisseur. Le logiciel
peut signaler le besoin de réapprovisionnement ou créer directement une
commande au fournisseur.
• Le niveau de ce stock doit normalement permettre d'assurer la
poursuite de l'activité sans tomber en rupture de stock :
• Le stock de sécurité doit donc correspondre à la quantité de produit
nécessaire pendant le délai de livraison du fournisseur.
• Cette quantité dépend donc du délai de réapprovisionnement et de la
consommation prévisionnelle pendant ce temps.
• Il faut prévoir une augmentation possible de la consommation, ou un
retard dans la livraison.
• Si le produit est fondamental pour l'activité de l'entreprise (ex : Matière
première, ou produit phare d'un commerce) il faudra augmenter
l'importance de ce stock pour éviter toute rupture...
• Par contre, si l'article est peu important, parce qu'il peut être remplacé
par un autre, ou qu'il représente un Chiffre d'Affaires très marginal, on
pourra accepter des situations de rupture de stock plus fréquente ; on
réduira alors l'importance de ce stock de sécurité, voire ne pas en avoir du
tout...

Notes de cours et exercices de Recherche Opérationnelle 103


Chapitre IV Problèmes de gestion

Exemple : Nous vendons sur les marchés de pommes de terre, des oignons, et
des bouquets de laurier
Ventes annuelles :
P. de Terre : 120 tonnes (120 000 Kg)
Oignons : 9 000 Kg
Laurier : 6 000 bouquets

Délai de livraison :
Fournisseur de Pommes de Terre : 4 semaines
Fournisseur d'oignons et persil : 1 semaine

Pour les oignons, nous ne voulons pas risquer de tomber en rupture, par
précaution, il faudra pouvoir continuer à vendre même en cas de retard de
livraison d'une semaine.
Pour les pommes de terre, on prendra aussi une marge supplémentaire d'1
semaine, et on prévoira également une augmentation possible de nos ventes
de 10 %.
Pour le laurier, une rupture de stock ne nous empêchera pas d'être présents
sur les marchés, on ne prévoira donc pas de marge supplémentaire, d'autant
plus que ces bouquets sont souvent offerts pour les bons clients...

ARTICLE Consommation Consommation Délai de Durée du Qté consommée Stock de sécurité


annuelle hebdo. livraison FRS stock de pendant cette
sécurité période
Laurier

Oignons

Pommes de
terre

IV.1.3. Coût de stockage et coût de passation des commandes


Choix économique pour limiter le coût global :
Est-ce qu'il vaut mieux acheter une seule fois en grande quantité, ou passer
plusieurs petites commandes ?

a) Coût de possession du stock

Si on achète en grosses quantités, il faut stocker plus de produits, donc:

• avoir une plus grande surface de stockage (à construire ou à louer, à


entretenir, assurer) qui entraîne des frais divers de gardiennage, de
chauffage, une valeur de stock plus élevée à assurer, etc...
• Le stock correspond à des articles qui ont été achetés (et payés...) et qui
n'ont pas encore étés utilisés ou vendus, ... c'est donc de l'argent "qui dort"
alors qu'il aurait pu être placé ou servir à combler un découvert bancaire
qui nous coûte des intérêts.
• On a plus de risques d'avoir des produits invendables (démodés,
périmés, ...)

Notes de cours et exercices de Recherche Opérationnelle 104


Chapitre IV Problèmes de gestion

Ce coût est (presque) proportionnel à la quantité en stock (stock maxi ou


stock moyen).

b) Coût de passation des commandes

Si on préfère passer de nombreuses petites commandes, cela entraîne d'autres


frais...
• frais de personnel du service achat, du service réception, du service
comptable (il est plus rapide de contrôler une grosse livraison ou une
facture que plusieurs petites, ...)
• frais d'affranchissement et de téléphone,...
• frais forfaitaires de livraison, ...

Ce coût est (presque) proportionnel au nombre de commandes passées.

c) Coût d’achat des produits

Pour calculer la situation la plus économique, il faut aussi tenir compte du


prix d'achat des produits, car les conditions commerciales (remises
notamment) varient selon les quantités achetées.

Exemple :

Prix d'achat des pommes de terre :


0,22 Euros /Kg (remise 20 % sur commandes d'au moins 30 tonnes )
Frais lors de chaque commande :
• Livraison : 100 Euros
• Gestion des achats : 5 Euros
Coût de possession du stock :
• Location d'un entrepôt = 20 Euros par tonne (s/Stock maxi)
• Coût de l'argent "immobilisé" = 8% (s/Stock moyen)

Nombre Qté à Prix total net Coût de passation Coût de possession Coût de CÔUT
de commander des (Entrepôt) possession TOTAL
Cdes/an commandes/an (Financier

12

Notes de cours et exercices de Recherche Opérationnelle 105


Chapitre IV Problèmes de gestion

IV.1.4. Réapprovisionnement : Calcul des quantités à commander

a) Quantité fixe

Si on a calculé la quantité la quantité à commander pour optimiser les


coûts de passation et de stockage on passera alors toujours une commande de
cet pour la même quantité (C'est alors l'intervalle de temps entre deux
commandes qui variera selon la rapidité de consommation du stock, ... on
passe commande lorsque le stock d'alerte est atteint).

b) Quantité variable

L'autre méthode qui peut être utilisée consiste à déterminer pour


chaque article une quantité qui sera appelée stock maximum ou stock
minimum.

Pour calculer le nombre d'articles à commander, il faut tenir compte :


• du stock actuel...
• ... ou du stock virtuel (c.à.d. en tenant compte des commandes clients
qui n'ont pas encore été livrées et des commandes fournisseurs qui auraient
déjà été passées)
• du multiple de réapprovisionnement (Si le fournisseur nous vend
l'article par tonnes, il est inutile de vouloir passer une commande de 807
Kilos !).

Stock maximum : par exemple, l'article est stocké sur un présentoir ou dans
un distributeur, il n'est alors pas possible d'en recevoir plus que la capacité
maximum.
Si le multiple de réappro ne permet pas d'atteindre ce stock maxi, il faut
arrondir en dessous la quantité à commander.

Stock minimum (à ne pas confondre avec le stock d'alerte !) = stock minimum


après réapprovisionnement.
(C'est la technique de calcul du réapprovisionnement utilisée par le logiciel
EBP Gestion Commerciale)
Il faut que le stock mini soit atteint, en cas de multiple de réappro il faut
arrondir à l'entier au dessus.

Exemple :
Le stock d'alerte des "sacs de caisse" d'un magasin est : 4000
On achète ces sacs au près d'un fabriquant, par lots de 500
Le stock actuel est de : 3285

• Si le stock maxi est de 30 000, il faut en commander .............. ( = .....


lots de 500)

• Si le stock mini est de 30 000, il faut en commander .............. ( = .....


lots de 500)

Notes de cours et exercices de Recherche Opérationnelle 106


Chapitre IV Problèmes de gestion

ARTICLE Qté Qté en Stok Stock Conditionnement Stock Stock Qté à commander
en commandes virtuel d'alerte à l'achat Maxi Mini
stock clients

Parpaing 248 1250 1400 Palette de 128 11200


20x50 pièces
Marteaux 8 2 10 Pièce 20
Grillage 45 m 20 m 100 m Rouleaux 25 ml 400 ml
Sable fin 9 m3 2 m3 4 m3 Camion 16 m3 40 m3
Gravier 2,5 0 4 m3 Camion 12 m3 40 m3
m3
Sac ciment 22 11 40 Palette 40 sacs 150
Compresseur 5 0 4 Pièce 6
Bac à douche 3 0 4 Lot de 4 12
Piquet 2 m 15 0 40 Paquet de 20 140

Notes de cours et exercices de Recherche Opérationnelle 107


Chapitre IV Problèmes de gestion

IV.1.5. Théorie de l’ordonnancement

La théorie de l'ordonnancement est une branche de la recherche


opérationnelle qui s'intéresse au calcul de dates d'exécution optimales de
tâches. Pour cela, il est très souvent nécessaire d'affecter en même temps les
ressources nécessaires à l'exécution de ces tâches. Un problème
d'ordonnancement peut être considéré comme un sous-problème de
planification dans lequel il s'agit de décider de l'exécution opérationnelle des
tâches planifiées.

a) Définition

Un problème d'ordonnancement consiste à organiser dans le temps la


réalisation de tâches, compte tenu de contraintes temporelles (délais,
contraintes d'enchaînement) et de contraintes portant sur la disponibilité des
ressources requises.

En production (manufacturière, de biens, de service), on peut le


présenter comme un problème où il faut réaliser le déclenchement et le
contrôle de l'avancement d'un ensemble de commandes à travers les différents
centres composant le système.

Un ordonnancement constitue une solution au problème


d'ordonnancement. Il est défini par le planning d'exécution des tâches
(« ordre » et « calendrier ») et d'allocation des ressources et vise à satisfaire un
ou plusieurs objectifs. Un ordonnancement est très souvent représenté par un
diagramme de Gantt.

b) Tâches

Une tâche est une entité élémentaire localisée dans le temps par une
date de début et/ou de fin, dont la réalisation nécessite une durée, et qui
consomme un moyen selon une certaine intensité.

Selon les problèmes, les tâches peuvent être exécutées par morceaux,
ou doivent être exécutées sans interruption ; on parle alors respectivement de
problèmes préemptifs et non préemptifs. Lorsque les tâches ne sont soumises
à aucune contrainte de cohérence, elles sont dites indépendantes.

Plusieurs tâches peuvent constituer une activité et plusieurs activités peuvent


définir un processus.

c) Ressources

La ressource est un moyen technique ou humain destiné à être utilisé


pour la réalisation d'une tâche et disponible en quantité limitée, sa capacité.

Plusieurs types de ressources sont à distinguer. Une ressource est


renouvelable si après avoir été allouée à une ou plusieurs tâches, elle est à
nouveau disponible en même quantité (les hommes, les machines,
l'équipement en général); la quantité de ressource utilisable à chaque instant
est limitée. Dans le cas contraire, elle est consommable (matières premières,
budget) ; la consommation globale (ou cumul) au cours du temps est limitée.

Notes de cours et exercices de Recherche Opérationnelle 108


Chapitre IV Problèmes de gestion

Une ressource est doublement contrainte lorsque son utilisation instantanée


et sa consommation globale sont toutes deux limitées (l'argent en est un bon
exemple)

Qu'elle soit renouvelable ou consommable, la disponibilité d'une


ressource peut varier au cours du temps. Sa courbe de disponibilité est en
général connue a priori, sauf dans les cas où elle dépend du placement de
certaines tâches génératrices.

On distingue par ailleurs principalement dans le cas de ressources


renouvelables les ressources disjonctives qui ne peuvent exécuter qu'une
tâche à la fois (machine-outil, robot manipulateur) et les ressources
cumulatives qui peuvent être utilisées par plusieurs tâches simultanément
mais en nombre limité (équipe d'ouvriers, poste de travail).

d) Contraintes

Les contraintes expriment des restrictions sur les valeurs que peuvent
prendre simultanément les variables de décision. On distingue :

• des contraintes temporelles :

-les contraintes de temps alloué, issues généralement d'impératifs de gestion


et relatives aux dates limites des tâches (délais de livraisons, disponibilité des
approvisionnements) ou à la durée totale d'un projet ;

- les contraintes de cohérence technologique, ou contraintes de gammes,


qui décrivent des relations d'ordre relatif entre les différentes tâches ;

• des contraintes de ressources :

-les contraintes d'utilisation de ressources qui expriment la nature et la


quantité des moyens utilisés par les tâches, ainsi que les caractéristiques
d'utilisation de ces moyens ;

-les contraintes de disponibilité des ressources qui précisent la nature et la


quantité des moyens disponibles au cours du temps. Toutes ces contraintes
peuvent être formalisées sur la base des distances entre débuts de tâches ou
potentiels.
d) Objectifs

Dans la résolution d'un problème d'ordonnancement, on peut choisir


entre deux grands types de stratégies, visant respectivement à l'optimalité des
solutions, ou plus simplement à leur admissibilité.

L'approche par optimisation suppose que les solutions candidates à un


problème puissent être ordonnées de manière rationnelle selon un ou
plusieurs critères d'évaluation numériques, construits sur la base
d'indicateurs de performances. On cherchera donc à minimiser ou maximiser
de tels critères.

On note par exemple ceux :

• liés au temps :

Notes de cours et exercices de Recherche Opérationnelle 109


Chapitre IV Problèmes de gestion

-le temps total d'exécution ou le temps moyen d'achèvement d'un ensemble de


tâches ;
-le stock d'en-cours de traitement ;
-différents retards (maximum, moyen, somme, nombre, etc.) ou avances par
rapport aux dates limites fixées ;

• liés aux ressources :

-la quantité totale ou pondérée de ressources nécessaires pour réaliser un


ensemble de tâches ;
-la charge de chaque ressource ;
-liés à une énergie ou un débit ;
-liés aux coûts de lancement, de production, de transport, etc., mais aussi aux
revenus, aux retours d'investissements.

IV.2. Problèmes de gestion de matériel

Il existe deux catégories de problèmes de renouvellement suivant


qu’ils concernent un matériel dont le rendement décroit à l’usage et que nous
appellerons matériel d’usure, (ex.les véhicules) ou un matériel de rendement
constant mais sujet à défaillances brutales, comme des composants
électroniques.

La distinction entre deux types peut ne pas être nette dans


certains cas. Suivant, par exemple, le cadre de référence, un matériel peur
parfois être considéré comme d’usure ou non. Un véhicule d’une compagnie
d’autobus ou de taxis peut être considéré comme matériel sujet à défaillance,
tandis que dans certains cas une boite de vitesse sera traitée comme matériel
d’usure.

Le problème général, de gestion du matériel est celui du choix du


moment du remplacement, remplacement de l’ensemble ou de composants.
S’il s’agit d’un matériel d’usure, il faut trouver le point d’équilibre entre le cout
d’acquisition d’un nouvel équipement et l’augmentation du rendement qui en
résulte. S’il s’agit de matériel sujet à défaillance brutales, on peut aussi
remplacer ou réparer préventement les pièces qu’elles cessent de fonctionner.
IV.2.1. Matériel à détérioration progressive

Les modèles utilisées dans le cas de matériels d’usure sont basés sur
l’hypothèse de conditions déterministes.

a) Elément qui interviennent dans la décision de remplacement

Dans le cas de matériel d’usure, les éléments essentiels qui affectent la


décision de remplacer sont :

1) le coût d’acquisition

C’est le prix de revient du matériel lors de l’achat. Ces frais étant


supportés, on conçoit que la charge ‘’annuelle’’ qui leur est due est d’autant
plus faible que l’on conserve l’équipement est due est d’autant plus faible que
l’on conserve l’équipement plus longtemps. Il faut évidement tenir compte de

Notes de cours et exercices de Recherche Opérationnelle 110


Chapitre IV Problèmes de gestion

la valeur de revente du matériel et la déduire du prix de revient à l’achat pour


obtenir le montant des frais d’acquisition. En procédant de cette façon, la
charge des frais d’acquisition par unité de temps a l’allure suivante :

Coût d’acquisition
‘‘annuel’’

Durée de l’équipement

2) le coût de fonctionnement

C’est l’ensemble des frais dus à l’utilisation de l’équipement à savoir la


consommation d’énergie, l’entretien, etc…
Pour les matériels d’usures, ces frais croissent généralement en fonction de
l’utilisation, et donc avec l’âge. Le coût de fonctionnement par unité de temps
a donc l’allure suivante :
Coût de fonctionnement

Durée de l’équipement

Le problème consiste donc à trouver la durée de l’équipement la plus


favorable, c'est-à-dire celle qui correspond au minimum de la somme des
coûts d’acquisition et de fonctionnement par unité de temps.
Bien que l’on puisse définir des fonctions continues pour ces deux coûts, le
plus souvent dans la pratique on aura affaire à des fonctions discrètes.

b) Le modèle de remplacement

On désigne par :

Notes de cours et exercices de Recherche Opérationnelle 111


Chapitre IV Problèmes de gestion

A : le coût d’acquisition ;
Ct : le coût de fonctionnement de l’année t ;
Rt : la valeur de revente en fin d’année t ;
r : le nombre d’années avant le remplacement de l’équipement ;
K(r) : le coût total de l’équipement pour la durée r où on le conserve ;
k(r ) : le coût moyen de l’équipement par an.

Dans ce cas, si on remplace l’équipement après r années, on a le coût total K(r


) = A + C1 + C2+…+ Cr - Rr.
La fonction économique à rendre minimum est évidemment le coût annuel :
K (r )
k (r ) =
r
Dans un cas aussi simple d’un modèle à une seule variable de
décision qui ne peut prendre que quelques valeurs, il suffit d’évaluer la
fonction économique pour ces différentes valeurs. On retiendra la durée r qui
correspond au minimum de k(r).

Si le problème était formulé en continu, l’optimum se marquerait


évidemment par l’égalité entre le coût moyen k(r) et le coût marginal K’(r).
Dans le cas discret, l’optimum a lieu quand le coût ‘’marginal’’
(supplément de coût si l’on garde l’équipement un a de plus) vient à dépasser
le coût moyen.

c) Exemple d’application du modèle simple

Le prix d’achat d’une machine est de 60.000F. (matériel A).


Sa valeur de revente s’établit comme suit :

Année Valeur
1 30.000
2 20.000
3 12.000
4 8.000
5 6.000
6 5.000

Le coût de fonctionnement est de 20.000F. La première année, et s’accroit


ensuite de 5.000F par an. Combien de temps faut-il la conserver avant de la
remplacer par une identique ?

Coût Coût de fonctionnement


Année de Coût
d’acquisitio Coût total
revente Annuel Cumulé moyen
n
1 30 20 20 50 50
2 40 25 45 85 42,5
3 48 30 75 123 41
4 52 35 110 162 40,5 ←
5 54 40 150 204 40,8
6 55 45 195 250 41,7

Notes de cours et exercices de Recherche Opérationnelle 112


Chapitre IV Problèmes de gestion

On voit que la période de 4 ans est celle qui procure le coût


annuel minimum. On remarque que ce moment de remplacement au point où
le coût marginal dépasse le coût moyen.

En effet, si l’on conservait l’équipement un an de plus, il


coûterait un supplément dû au coût de fonctionnement de la 5ème année
auquel s’ajouterait la différence dans la valeur de revente :
Cm (5) = 40 + (8 – 6) = 42

d) L’actualisation des dépenses

La durée de conservation des équipements d’usure couvre


souvent plusieurs années. Il est donc normal de tenir compte non seulement
du montant des dépenses, mais aussi du moment où elles surviennent. Pour
permettre des comparaisons, on ramène ces dépenses à un moment grâce à
l’actualisation.

La valeur actuelle au temps t0 d’une dépenses future est le


montant, placé au temps t0, deviendrait par le jeu de l’intérêt équivalent à la
dépenses eu moment de l’échéance de celle-ci.
Si i est le taux d’intérêt, on a le facteur d’escompte

1
vt =
(1 + i ) t

Dans le modèle avec actualisation, chaque dépense va être escomptée


pour trouver l’équivalent à un moment fixé, le plus souvent au moment de
l’investissement.
Si on désigne par K(r) la valeur actuelle du coût total avec un remplacement
au bout de r années, et en supposant que toutes les dépenses de
fonctionnement sont effectuées un remplacement au bout de r années, et en
supposant que toutes les dépenses de fonctionnement sont effectuées en
début de période, on a l’expression
K(r) = A + C1 + C2 v + C3 v² + … + Cr vr-1 – Rr vr
Cette fonction est évidemment croissante.

La fonction économique qu’il faudra rendre minimum doit


correspondre à un coût moyen. Puisque l’on tient compte ici de
l’échelonnement des dépenses dans le temps, on ne peut se contenter d’une
simple moyenne. La fonction économique que l’on va considérer est l’annuité
d’une rente de r années dont la valeur actuelle corresponde à la valeur actuelle
des dépenses totales relatives à l’équipement. En fait, on convertit donc le flux
irrégulier des dépenses en un flux régulier de dépenses constantes chaque
année.
On sait que la valeur actuelle d’une rente d’annuité x payable d’avance
pendant r années s’exprime

V= x + xv + xv²+ … xvr-1
1− vr
=x = x a&&r
1− v
On doit trouver le x(z) tel que

Notes de cours et exercices de Recherche Opérationnelle 113


Chapitre IV Problèmes de gestion

1− vr
K(r) = x (r )
1− v
D’où
1− v
x(r ) = K (r )
1− vr

Le problème revient donc à trouver la durée r qui rend minimum


l’annuité x(r).

On peut refaire ici le raisonnement sur la comparaison du minimum en


r porte sur les deux inégalités x(r) ≤ x (r – 1)
et x(r) ≤ x (r + 1)

On peut chercher l’expression de la première différente de


x(r)
∆ x (r ) = x(r + 1) − x(r )
1− v 1− v
= r +1
K (r + 1) − K (r )
1− v 1− vr
1− v
= [ K (r ) − Rr +1v r +1 + ( Rr + Cr +1 )v r ]
1 − v r +1
1− v
− K (r )
1− vr

1− v
= r +1
[ K (r ) − Rr +1v r +1 + ( Rr + Cr +1 )v r
1 − v (1 − v )
r

− v r K (r ) + Rr +1v ² r +1 − ( Rr + C r +1 )v ² r − K (r )

+ v r +1 K (r ) ]
1− v
= r +1
[ − Rr +1v r +1 (1 − v r ) + ( Rr + Cr +1 )v r (1 − v r ) − v r K (r )(1 − v) ]
1 − v (1 − v )
r

(1 − v)v r
= [− Rr +1v + Rr + Cr +1 − x(r )]
1 − v r −1

On voit que l’expression entre crochets change de signe quand


l’ensemble des trois premiers termes devient plus grand que x(r).
Ceci revient bien à dire que le coût ‘’marginal’’ devient supérieur au coût
‘’moyen’’.

e) Exemple d’application avec actualisation

On peut reprendre l’exemple précédent (matériel A) en considérant un


taux d’intérêt annuel de 10%.

Les calculs peuvent être effectués avec l’aide de tables financières. Ils
peuvent être présentés en tableau.

Notes de cours et exercices de Recherche Opérationnelle 114


Chapitre IV Problèmes de gestion

Année Valeur de revente Coût de fonctionnement


Coût Coût Annuité
de
d’acquis. total (K) x(r)
revente Nomin. Actual. Nomin. Actual. Cumulé

1 30.000 27.273 32.727 20.000 20.000 20.000 52.727 52.727


2 20.000 16.529 43.471 25.000 22.727 42.727 86.198 45.151
3 12.000 9.016 50.984 30.000 24.793 67.520 118.504 43.320
4 8.000 5.464 54.536 35.000 26.296 93.816 148.352 42.546
5 6.000 3.725 56.275 40.000 27.320 121.136 177.411 42.545 ←
6 5.000 2.822 57.177 45.000 27.941 149.077 206.254 43.052

Par le fait de l’actualisation, on constate que le minimum


correspond à un remplacement après 5 ans, la valeur de l’annuité étant
d’ailleurs pratiquement égale à celle correspondant à un remplacement après
4 ans.

On peut remarquer qu’à l’optimum on a bien les relations prévues entre


le coût marginal et le coût moyen :
- si après avoir conservé l’équipement 4 ans, on envisage de le conserver une
cinquième année, on a :

Cm (5) = - R5 v+ R4 + C5 = 42.545,5
qui est inférieur à x (4) = 42.546

- si on envisage le coût supplémentaire pour une sixième année :


Cm (6) = - R6 v + R5 + C6 = 46.454
qui est supérieur à x (5 ) = 42.545

Notes de cours et exercices de Recherche Opérationnelle 115


Références

Références (à titre indicatif)


GUERET C., C. PRINS et M. SEVAUX (2000) - Programmation linéaire, Eyrolles.

FAVRE R., B. LEMAIRE et C. PICOULEAU (2000) - Précis de recherche opérationnelle, 5ème


éd., Dunod.

NOBERT Y., R. OUELLET et R. PARENT (1995) - La recherche opérationnelle, Gaëtan


Morin.

PHELIZON J. F. (1998) - Méthodes et modèles de la recherche opérationnelle,


Economica.

MAURRAS J. F. (2002) - Programmation linéaire, complexité, Springer.

ALEVRA D., M. PADBERG (2001) - Linear optimization and extensions: problems and
solutions, Springer.

BALAKRISHNAN V.K. (1995) - Network optimization, Chapman and Hall.

DANTZIG G.B., M.N. THAPA (1997) - Linear programming, Springer.

EISELT H.A., C.L. SANDBLOM (2000) - Integer programming and network models,
Springer.
.
KORTE B., J. VYGEN (2002) - Combinatorial optimization, 2nd ed., Springer.

SIERKSMA G. (2001) - Linear and integer programming, Marcel Dekker.

VANDERBEI R.J. (2001) - Linear programming foundations and extensions, Kluwer.

ROBERT FAURE, BERNARD LEMAIRE et CHRISTOPHE PICOULEAU - Précis de Recherche


Opérationnelle - Méthodes et exercices d'application - 5e édition, Dunod.

DOMINIQUE DE WERRA, THOMAS M. LIEBLING et JEAN-FRANÇOIS HECHE (2003) -


Recherche opérationnelle pour ingénieurs, Presses polytechniques et
universitaires romandes.

ERIC JACQUET-LAGREZE - Programmation Linéaire - Modélisation et mise en œuvre


informatique, Collection : P.I.Q. Poche - Editeur : Economica.

IVAR EKELAND (1974) - La théorie des jeux et ses applications à l'économie


mathématique, Presses universitaires de France, Collection SUP. Le mathématicien
12, Paris.

OSKAR MORGENSTERN, JOHN VON NEUMANN (1953) - The Theory of Games and Economic
Behavior, 3rd ed., Princeton University Press.

BINMORE K. et BRANDENBURGER A. (1990) - Common knowledge and game theory, in K.


Binmore, Essays on the Foundations of Game Theory. Oxford: Blackwell.

JOHN MAYNARD SMITH (1982) - Evolution and the Theory of Games, Cambridge
University Press.

Notes de cours et exercices de Recherche Opérationnelle 116


Table des matières

Table des matières


ENGAGEMENTS PEDAGOGIQUES ................................................................. 2
CONTENU DU COURS THEORIQUE ............................................................... 3
INTRODUCTION.............................................................................................. 4
I. Définition ................................................................................................. 4
II. Historique ............................................................................................... 4
III. Domaine d’application ............................................................................ 4
IV. La Recherche Opérationnelle et le monde des entreprises ...................... 6
V. Relation avec d’autres disciplines ............................................................ 7
VI. Principales techniques de Recherche Opérationnelle .............................. 7
VII. Notion de décision ................................................................................. 9
VIII. Prévisibilité de l’avenir et expression du critère de choix ...................... 9

Chapitre I...................................................................................................... 11
PROGRAMMATION LINEAIRE ....................................................................... 11
I.1. Définitions et notations ....................................................................... 11
I.1.1. Programme linéaire ....................................................................... 11
I.1.2. Principales notations..................................................................... 11
I.1.3. Espaces de représentations ........................................................... 12
I.1.4. Différentes définitions ................................................................... 12
I.2. Théorèmes fondamentaux ................................................................... 13
I.2.1. Définitions .................................................................................... 13
I.2.2. Théorème de WEYL ....................................................................... 15
I.2.3. Théorème d’optimalité ................................................................... 15
I.2.4. Solution de bases réalisables et sommets...................................... 16
I.3. Algorithme du simplexe ....................................................................... 16
I.3.1. Principe de l’algorithme ................................................................. 16
I.3.2. Equations de changement de base ................................................ 16
I.3.3. Influence du changement de base sur la valeur de la fonction
économique ............................................................................................ 18
I.3.4. Critères déterminant le changement de base ................................. 19
I.3.5. Détermination de la solution ......................................................... 19
I.3.6. Exemple ........................................................................................ 20
I.4. Méthode graphique de résolution d’un programme linéaire ................. 21
I.4.1. Exemple ........................................................................................ 21
I.4.2. Système d’axes.............................................................................. 22
I.4.3. Représentation graphique des contraintes .................................... 23
I.4.4. Représentation de la fonction-objectif ........................................... 25
I.4.5. Recherche de la solution optimale ................................................. 26
I.4.6. Exemples de résolution ................................................................. 27
I.5. Résolution d’un PL par le solveur Excel ............................................... 29
I.5.1. Exemple ....................................................................................... 29
I.5.2. Résolution avec EXCEL ................................................................ 29
I.6. Résolution d’un PL avec LINDO .......................................................... 34
I.6.1. Introduction .................................................................................. 34
I.6.2. Installation du Logiciel ................................................................. 34
I.6.3. Résolution d’un exemple ............................................................. 34
I.6.4. Les commandes de Lindo ............................................................. 38
I.6.5. Programmation à nombres entiers ............................................... 48
I.7. Exercices ............................................................................................. 50
Chapitre II .................................................................................................... 60

Notes de cours et exercices de Recherche Opérationnelle 117


Table des matières

ELEMENTS DE LA THEORIE DE JEUX ET STRATEGIES.............................. 60


II.1. Introduction ....................................................................................... 60
II.2. Types de jeux ..................................................................................... 61
II.2.1. Jeux coopératifs et compétitions .................................................. 61
II.2.2. Théorie de la négociation.............................................................. 62
II.2.3. « Coopétition » .............................................................................. 62
II.2.4. Jeux de stratégie à somme nulle et non nulle .............................. 63
II.2.5. Jeu synchrone ou asynchrone ..................................................... 63
II.2.6. Jeux répétés ................................................................................ 64
II.2.7. Information complète, information parfaite .................................. 64
II.2.8. Jeu synchrone ou asynchrone ..................................................... 65
II.2.9. Jeux déterminés .......................................................................... 65
II.3. Représentations des jeux.................................................................... 65
II.3.1. Forme extensive ........................................................................... 65
II.3.2. Forme normale............................................................................. 66
II.3.3. Représentation tabulaire .............................................................. 66
II.4. Choix d’un critère ............................................................................... 66
II.4.1. Exemple d’un jeu contre la nature ............................................... 66
II.4.2. Choix d’un critère ........................................................................ 66
II.4.3. Conclusion................................................................................... 68
II.5. Exemples économiques et valeur d’un jeu .......................................... 68
II.5.1. Exemple de jeu avec point de selle ............................................... 68
II.5.2. Exemple de jeu sans point de selle ............................................... 69
II.6. Exercice ............................................................................................. 69

Chapitre III ................................................................................................... 74


THEORIE DES GRAPHES ET APPLICATIONS................................................ 74
III.1. Notions et rappels mathématiques sur la théorie des graphes ........... 74
III.2. Notions de chemin et de circuit ......................................................... 75
III.3. Applications ...................................................................................... 77
III.4. Recherche de chemins hamiltoniens ................................................. 77
a) Définition ........................................................................................... 77
b) Rappel de relations dans un graphe ................................................... 77
c) Algorithme de KAUFMANN-MALGRANGE ........................................... 78
III.5. Recherche de chemins de valeur optimale–Algorithme de Ford .......... 82
III.5.1. Chemin de valeur minimale ........................................................ 82
III.5.2. Chemin de valeur maximale ........................................................ 88
III.6. Exercices ........................................................................................... 92

Chapitre IV ................................................................................................. 103


PROBLEMES DE GESTION ......................................................................... 103
IV.1. Gestion de stocks ............................................................................ 103
IV.1.1. Introduction.............................................................................. 103
IV.1.2. Stock de sécurité ...................................................................... 103
IV.1.3. Coût de stockage et coût de passation des commandes ............ 104
IV.1.4. Réapprovisionnement : Calcul des quantités à commander....... 106
IV.1.5. Théorie de l’ordonnancement .................................................... 108
IV.2. Problèmes de gestion de matériel..................................................... 110
IV.2.1. Matériel à détérioration progressive .......................................... 110

Références (à titre indicatif) ......................................................................... 116


Table des matières ...................................................................................... 117

Notes de cours et exercices de Recherche Opérationnelle 118

You might also like