Vous êtes sur la page 1sur 175

1

COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES


LOMEMBE

Objectifs du cours

Le but de recherche opérationnelle est d‘obtenir une solution optimale à


un problème donne, en mettant en évidences les aspects critiques sur
lesquels les responsables portent leurs analyses et leurs jugements et en
livrant des données réelles qui permettent aux responsables d‘avoir une
opinion fondée.
Définition de la Recherche opérationnelle (RO)
La RO est l‘application des méthodes, de techniques et d‘instruments
scientifiques par les groupes interdisciplinaires aux problèmes concernant
les systèmes organisés (hommes, machines, matériels) de façon à obtenir
les solutions qui servent mieux les objectifs de toute l‘organisation
Selon D. Sami et L Lemarchand la RO est une analyse scientifique de
systèmes opérationnels (entreprises, administrations.) dans lesquels des
moyens humains et matériels ont été engagés dans un environnement
naturel
2
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le cours comprend Huit Chapitres :
- Chapitre I : PROGRAMMATION LINEAIRE
- Chapitre 2 : THEORIE DES GRAPHES

- Chapitre 3 : PROBLEME D‘ORDONNANCEMENT


- Chapitre 4 : MODELE DE FLOT
- Chapitre 5 : PROBLEME DE TRANSPORT
- Chapitre 6 : FILES D’ATTENTE
- Chapitre 7 : GESTION DE STOCK
- Chapitre 8 : PROBLEME D’AFFECTATION
3
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
CHAPITRE I : PROGRAMMATION LINEAIRE
1.1. CONTEXTE
Le problème de programmation linéaire est le problème d‘optimisation.
L‘agent économique doit prendre une décision qui concerne l‘allocation
des ressources. Les ressources sont rares, il faut les affecter à diverses
utilisations concurrentes.
Exemple : Ressources : A, B, C et D.
Utilisations :

La programmation linéaire peut se définir comme une technique


mathématique permettant de résoudre des problèmes de gestion et
particulièrement ceux où le gestionnaire doit déterminer, face à
différentes possibilités, l‗utilisation optimale des ressources de
l‗entreprise pour atteindre un objectif spécifique comme la maximisation
des bénéfices ou la minimisation des coûts. En fait, la programmation
linéaire couvre un ensemble de techniques d‘optimisation sous contraintes
qui permettent de déterminer dans quelles conditions on peut maximiser ou
minimiser une fonction objectif F(Xj) de n variables liées par m relations ou
contraintes de la forme gi(Xj) ≤ 0 ou gi(Xj) ≥0.
Il s‗agit de répondre au problème d‗allocation optimale des
ressources compte tenu de certaines contraintes. On entend par
programmation linéaire, la planification à l‗aide d‗une fonction linéaire.
On rencontre de multiples applications de la programmation linéaire
dans le domaine de gestion, notamment dans la gestion de la production
(élaboration de plan de production et de stockage, choix de techniques de
production, affectation de moyens de production, détermination de la
4
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
composition de produits), dans le domaine du marketing (choix des plans-
média, détermination de politique de prix, répartition des efforts de la force
de vente, sélection des caractéristiques du produit, …), en matière financière
(choix de programmes d‘investissements), en matière logistique (gestion des
transports) et en matière de gestion des ressources humaines (affectation de
personnel).
Dans ce chapitre, notre approche pour résoudre de tels problèmes
passera par deux étapes principales :
 La modélisation du problème : Il s‗agit d‗exprimer le problème
sous forme d‗équations ou d‗inéquations linéaires permettant,
d‗une part de bien identifier et structurer les contraintes que
doivent respecter les variables du modèle, d‗autre part de définir
l‗apport de chaque variable au niveau de l‗objectif poursuivi par
l‗entreprise, ce qui se traduira par une fonction linéaire à optimiser.
 La détermination de l‗optimum : Il s‗agit de trouver l‗optimum
mathématique à l‗aide de certaines techniques propres à la
programmation linéaire.

1.2. FORMULATION MATHEMATIQUE DE LA


PROGRAMMATION LINEAIRE
Un problème de programmation linéaire sous sa forme générale
consiste à chercher l‗extremum ou l‗optimum d‗une fonction linéaire de
n variables liées par des équations et/ou inéquations linéaires appelées
contraintes. Il s‗agit de trouver la valeur des variables de décision
qui rendent optimum la fonction linéaire.
1.2.1. La forme canonique
Un programme linéaire en cas de maximisation s‘écrit
généralement comme suit (la forme canonique) :
5
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S/C

Contraintes techniques : : :
: : :

Contraintes de non négativités


n n
ou Max Z =  c j x j S/C  aij x j  bi i = 1, 2, ... m et xj  0 (j = 1, 2, ... n)
j=1 j=1

Sous forme matricielle :

( )( )

S/C ( )( ) ( )

( )
On peut écrire ce programme :

Un programme linéaire en cas de minimisation s‘écrit généralement


comme suit :
6
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S/C

Contraintes techniques : : :
: : :

Contraintes de non négativités


n n
ou Min Y =  c j x j S/C  aij x j  bi i = 1, 2, ... m et xj  0 (j = 1, 2, ... n)
j=1 j=1

Sous forme matricielle :

( )( )

S/C ( )( ) ( )

( )
On peut écrire ce programme :

La fonction – objectif et les contraintes fonctionnelles sont linéaires, c‘est


pour cela on l‘appelle la programmation linéaire.
7
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Notations :
Xj : (j varie de 1à n) : les variables de décision
Z : la fonction- objectif ou la fonction économique
Cj : les coefficients des variables dans la fonction économique. Ce sont
les contributions unitaires de chaque variable au niveau de la fonction
économique.
aij : Les coefficients des variables dans les contraintes (i varie de 1 à k et
j varie de 1 à n). Ce sont les coefficients techniques, c‗est le nombre
d‗unités requises de la ressource i pour réaliser une unités d‗activité j
bi : Les coefficients du second membre des contraintes. Ce sont les
ressources disponibles
Terminologie :

 Fonction économique : C‗est la fonction linéaire que nous voulons


optimiser. Elle peut être maximisée ou minimisée selon le cas.
 Solutions réalisables : Tout ensemble de valeurs xj satisfaisant
simultanément à toutes les contraintes du problème de
programmation linéaire.
 Solution optimale : Toute solution qui rend optimale (maximale ou
minimale) la fonction économique est appelée solution optimale ou
programme linéaire.

Exemple 1.
Une firme produit 2 types de meubles : table et chaise. La fabrication
d‘une table demande 2 heures de sciage, 4 heures d‘assemblage et 10
heures de décoration. La fabrication d‘une chaise demande 5 heures de
sciage, 1 heure d‘assemblage et 5 heures de décoration. La firme dispose
: 40 heures de sciage, 20 heures d‘assemblage et 60 heures de décoration.
8
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le profit unitaire est de 24$ pour la table et de 8$ pour la chaise. Quelles
sont les quantités de la table et de la chaise qui maximisent le profit ?
Résolution
Disponibilité

Sciage 2 5 40
Assemblage 4 1 20
Décoration 10 5 60

Le programme linéaire s‘écrit de la manière suivante :


Max
S/C

Exemple 2.
9
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La société BIA a pour but l‘extraction et la distribution de matériaux de
carrière. Elle doit assurer, pour des travaux routiers, la fourniture à
Auxeltra Béton de graviers de différents calibres. Un marché portant sur
les quantités suivantes :
- graviers de calibre 1 : 36 tonnes ;
- graviers de calibre 2 : 28 tonnes ;
- graviers de calibre 3 : 32 tonnes.

a été adjugé pour un prix global de facturation.


La Société exploite 2 carrières P1 et P2 louées à une société civile qui
perçoit une redevance par tonne de pierre extraite. Celle-ci est la
suivante : pour P1 : 60 F. Pour P2 : 80 F. Après extraction, la pierre est
concassée. Les graviers ainsi obtenus sont triés selon leur calibre. Chaque
tonne de pierre fournit les quantités suivantes de graviers (exprimées en
tonnes) :
Pierre P1 :

- graviers de calibre 1 : 2 tonnes.


N.B. : Le complément à une tonne
- graviers de calibre 2 : 2 tonnes représente du sable,
actuellement
- graviers de calibre 3 : 8 tonnes considéré comme déchet
sans valeur marchande.
Pierre P2 :
- graviers de calibre 1 : 3 tonnes
- graviers de calibre 2 : 2 tonnes
- graviers de calibre 3 : 2 tonnes

La direction souhaite définir son programme d‘extraction de Pierre


P1 et de P2 de façon à minimiser le coût des redevances à la société
civile.
Question : formuler ce problème
10
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Résolution
Minimum

Graviers de calibre 1 2 3 36
Graviers de calibre 2 2 2 28
Graviers de calibre 3 8 2 32
Coût unitaire 60 80

Min
S/C

1.2.2. La forme standard


La forme standard consiste à introduire les variables d‘écart dans
les contraintes techniques possédant les signes d‘inégalités. En effet, les
variables d‘écart sont généralement les ressources non utilisées. On
introduit les variables d‘écart avec les signes positifs dans les contraintes
techniques possédant les inégalités et avec les signes négatifs dans les
contraintes techniques possédant les inégalités Si les contraintes
techniques possèdent les signes d‘égalité, on n‘introduit pas ces
variables.
Après avoir introduit les variables d‘écart, on transforme les
contraintes d‘inégalités en égalités.
Les variables d‘écart n‘entrent pas dans la fonction – objectif, mais
les contraintes de non négativités s‘imposent également à ces variables.
11
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le programme sous forme standard du programme linéaire de
maximisation spécifié ci- haut s‘écrit de la manière suivante :

S/C

: : :
: : :

Le programme sous forme standard du programme linéaire de


minimisation spécifié ci- haut s‘écrit de la manière suivante :

S/C

: : :
: : :
12
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Exemple 3.
Forme canonique Forme standard
Max Max
S/C S/C

Exemple 4.
Forme canonique Forme standard
Min Min
S/C S/C

Exemple 5.
La société CYCLOR - Congo produit et commercialise des vélos et des
mobylettes dans les quantités X1 et X2 respectivement. Elle souhaite
minimiser le coût égal à 2X1 + 10X2 soumis aux contraintes 2x1 + x2  6,
5x1 + 4x2  20 avec x1,x2 0. Déterminer les quantités optimales de
13
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
chaque article et le coût associé à ces quantités.
Solution :
La forme canonique du problème Nous obtenons la forme standard
s'écrit : ci-après:

Min Z = 2 x1 + 10 x2 Min Z = 2x1 + 10 x2 + 0e1 + 0e2


S/C 2 x1 + x2  6 S/C 2 x1 + x2 + =
5 x1 + 4x2  20 6
et x1, x2  0 5 x1 + 4 x2 - =
20
xj  0, j = 1, 2, …, 4

1.3. RESOLUTION DU PROGRAMME LINEAIRE


Résoudre un problème de programmation linéaire consiste à déterminer
la solution optimale si elle existe.
Théorème 1 :La condition nécessaire de compatibilité d‘un programme
linéaire (pour que le programme linéaire soit soluble) : il faut que le
nombre de contraintes (m) soit inférieur au nombre de variables (n). Au
cas contraire, le programme linéaire ne sera pas soluble.
Trois méthodes sont généralement utilisées pour résoudre un programme
linéaire, notamment :

 La méthode de graphique
 La méthode de dénombrement des solutions de base
 La méthode de simplexe
14
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
1.3.1. La méthode de graphique
La résolution graphique ne s‗applique que lorsqu‗on est en présence d‗un
programme linéaire contenant au maximum deux variables de décision
qui sont facilement identifiées dans un repère à deux dimensions.

Cette résolution graphique se base sur les étapes suivantes :

1. On reporte sur un graphique chacune des contraintes du problème et on


détermine la région commune à l‗ensemble de ces contraintes. On obtient
ainsi la région ou le domaine des solutions réalisables, c‗est à dire, la
délimitation des valeurs possibles de xj satisfaisant simultanément toutes
les contraintes.
2. On détermine les coordonnées des points extrêmes ou sommets du
domaine des solutions réalisables.
3. On substitue ensuite les coordonnées de chaque point extrême dans
l‗expression de la fonction économique et on retient comme solution
optimale celui (ou ceux) qui optimise cette dernière, c‗est à dire celui (ou
ceux ) qui selon le cas maximise ou minimise la fonction économique.

Théorème 2 : théorème de WEGL


Dans tout système d‘équations ou d‘inéquations linéaire de type
détermine un ensemble convexe qui est soit l‘ensemble vide,
soit un polyèdre convexe.
B
A

D
C
15
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La figure A est un polyèdre convexe
La figure B est un polyèdre convexe
La figure C est un polyèdre non convexe
La figure D est un non polyèdre convexe
Théorème 3 : théorème d’optimalité
Dans un programme linéaire, l‘ensemble de faisabilité ou l‘ensemble de
choix est un polyèdre convexe, la solution optimale est nécessairement
atteinte à un sommet du polyèdre convexe
A
B E
D
c
Il faut visiter les 5 sommets pour voir quel sommet est une solution
optimale.
Théorème 4 :
Dans un programme linéaire avec n variables et m contraintes, si
alors la solution optimale contient au moins (n – m) variables nulles et
au plus m variables non nulles.
Dans la méthode graphique, seules les variables d'activité ou variables
réelles (appelées encore variables principales) seront utilisées. On se
bornera simplement à :
- représenter graphiquement les droites limites ;
- délimiter le domaine d'acceptabilité, et
- remplacer successivement les coordonnées de chaque sommet du
polygone dans la fonction économique afin d'obtenir la combinaison
16
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
optimale cherchée (minimum ou maximum).

En général, pour chercher le minimum, on optera pour le point le plus


voisin de l'origine. Pour le maximum, ce sera le point le plus éloigné
Exemple 6. Résoudre ce programme :
Max
S/C

Pour résoudre par cette méthode, il faut transformer des inégalités des
contraintes techniques ou fonctionnelles par les inégalités :

1)
2)
3)
17
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

20 I

12 J
10X1+5X2=60
8 B
CH
2X1+5X2=40
4 D

E F
G
A 4 5 6 20
Ce graphique a 10 sommets sont 5 sommets faisables (A, B, C, D et E) et
5 sommets non faisables (F, G , H, I , J). Parmi les 5 sommets faisables,
la solution optimale se trouve dans l‘un des sommets du polyèdre
convexe. D‘où, il faut visiter ces 5 sommets.

Sommets
A 0 0 0
B 0 8 64
C 2,5 7 116
D 4 4 128
E 5 0 120
18
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Le profit total maximal est de 128 $ en produisant 4 tables et 4 chaises.


A partir des contraintes techniques de la forme standard, on peut trouver
les variables d‘écart optimales. Cela permet de trouver la solution totale.
Max
S/C

 ( ) ( )

 ( )

 ( ) ( )

La firme va produire 4 tables et 4 chaises. Elle va épuiser toutes heures


d‘assemblage et de décoration et il restera 12 heures de sciage non
utilisées. Le profit maximal est de 128$.
Nous constatons qu'il y a deux sortes de contraintes :
- des contraintes écrites en tant qu'égalités. On dit que ces contraintes
sont saturées (ou liées ou encore serrées). Une contrainte saturée
correspond à une ressource rare puisqu‘elle a été pleinement utilisée à
l'optimum. Il n'y a donc pas d'excédent.
19
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
- des contraintes écrites en tant qu'inégalités. On dit que ces contraintes
ne sont pas saturées (ou qu'elles sont lâches). Une contrainte lâche
correspond à une ressource abondante. A l'optimum, les capacités de
ces facteurs ne sont pas utilisées à plein.
Exemple 7.
Une entreprise industrielle fabrique deux modèles A et B d‗appareils
électroménagers. Ces deux modèles passent par trois étapes de
fabrication dans trois différents ateliers. Le tableau suivant résume le
nombre d‗heures requises pour fabriquer chaque modèle au niveau des
ateliers, le temps disponible à chaque atelier et les bénéfices unitaires
dans chaque atelier :
A B
Nombre d'heures Temps
Ateliers requises disponibles
Assemblage 3 4 4200 heures
Vérification 1 3 2400 heures
Empaquetage 2 2 2600 heures
Contributions aux
bénéfices en dinars 100/unité 120/unité

Déterminer la quantité optimale à produire de chaque modèle afin de


maximiser le bénéfice.
Résolution
On Note le nombre d‗unités à fabriquer du modèle A et , le nombre
d‗unités à fabriquer du modèle B.
20
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Les contraintes sont :

La fonction économique que l‗on veut maximiser est Z = 100 x1 +120 x2


où Z représente le bénéfice totale en dinars.

Il s‗agit de relier les coordonnées de ces deux points pour obtenir le tracé
de la droite correspondante. Cette droite partage alors le plan en deux
demi-plans ; On obtient le demi-plan correspondant à une inéquation en
vérifiant si les coordonnées d‗un point situé dans un des demi-plans
vérifie ou non l‗inéquation. Généralement, on substitue l‗origine (0,0)
dans l‗inéquation pour déterminer quelle partie du plan satisfait
l‗inéquation, si cette dernière ne passe pas elle-même par l‗origine.
21
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Tous les points de cette région sont des solutions réalisables pour le
problème de fabrication de l‗entreprise industrielle. Toutefois, notre
intérêt portera seulement sur les points extrêmes de cette région.
On peut toujours obtenir exactement les coordonnées des points extrêmes
en résolvant le système formé des équations des droites qui se coupent
deux à deux. Si on reproduit la région des solutions réalisables avec les
points extrêmes notés de (A) à (E).
22
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Détermination du point extrême optimal


Il s‗agit tout simplement de substituer les cordonnées de chaque point
extrême à l‗exception de l‗origine O, dans l‗expression de la fonction
économique ( Z = 100 X1 + 120 X2 le bénéfice total en
dinars). On obtient alors les valeurs suivantes :
Points extrêmes Coordonnées (X1, Z =100X1 +120X2
X2)
A (0 ; 0) 0
B (0 ; 800) 96000
C (600 ; 600) 132000
D (100 ; 300) 136000
E (1300 ; 0) 130
23
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La valeur maximale de la fonction économique est 136000 dinars elle est
relative au point extrême D de coordonnées X1=1000 et X2=300 . La
fabrication de 1000 unités de A et de 300 unités de B permettra d‘avoir
un bénéfice maximal de 136000 dinars.
Les inconvénients de la méthode graphique sont :
- elle demande l‘utilisation d‘un papier millimétré, au cas contraire il y
a un risque d‘erreur ;
- l‘espace de faisabilité peut être un volume au lieu d‘un polyèdre
convexe, d‘où c‘est très difficile à tracer ;
- elle est difficile si le nombre de variables de décision sont supérieur à
2.
1.3.2. La méthode de dénombrement des solutions de base
L'algorithme de dénombrement consiste à dénombrer toutes les
solutions de base, à déterminer celles qui sont réalisables, faisables ou
admissibles (SBA) et à calculer la valeur de la fonction - objectif en chacune
de ces bases.
La solution de base fournissant la plus petite ou la plus grande valeur à
la fonction économique selon qu'il s'agisse d'un problème à minimum ou à
maximum sera la solution optimale de programme.
La procédure consiste à résoudre par les solutions de base le système
d‘équations formé par les contraintes linéaires de la forme standard.
En se référant au théorème 4, la formule ci –après permet de déterminer
le nombre maximal de solutions de base :

( )

( )
24
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Une solution de base est une solution du programme linéaire obtenue
en posant (n-m) variables nulles et en résolvant le système pour m
variables restantes. Le résultat contient au moins (m – n) variables nulles et
au plus m variables non nulles.

Exemple 8.
Reprenons encore notre problème à maximum ci-dessus. Transformons
les inéquations en équations en introduisant les variables d'écart e1, e2, e3,
puis dénombrons les bases. Pour chaque base admissible, calculons la valeur
de la fonction-objectif , soit Z, cette valeur. Après avoir introduit les
variables d'écart, on obtient la forme standard ci-après :

Max
S/C

Le système d‘équations à résoudre par les solutions de base est suivant :

( )
25
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

( )
Les solutions de base sont reprises dans ce tableau :
Solution
A 0 0 40 20 60 A 0
B 0 8 0 12 20 A 64
C 0 20 -60 0 -40 NA
D 0 12 -20 8 0 NA
E 20 0 0 -60 -140 NA
F 5 0 30 0 10 A 120
G 6 0 28 -4 0 NA
H 10/3 20/3 0 0 -20/3 NA
I 5/2 7 0 3 0 A 116
J 4 4 12 0 0 A 128

Exemple 9.
Min C = 2 x1 + 10 x2
S/C 2 x1 + x2  6
5 x1 + 4x2  20
et x1, x2  0

La forme standard de ce programme:


Min C = 2x1 + 10 x2
S/C 2 x1 + x2 + e1 = 6
5 x1 + 4 x2 - e2 = 20
xj  0, j = 1, 2, 3,4.
Le système d‘équations à résoudre par les solutions de base est suivant :
2 x1 + x2 + e1 = 6
5 x1 + 4 x2 - e2 = 20
26
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

( )

L'algorithme de dénombrement nous donne le tableau suivant :

Solutions de X1 X2 e1 e2 A ou Valeur de
base NA Z
1 0 0 6 -20 NA
2 A 0 6 0 4 A Z = 60
3 B 0 5 1 0 A Z = 50
4 3 0 0 -5 NA
5 4 0 -2 0 NA
6 C 4/3 10/3 0 0 A Z = 36

La quantité qui minimise le coût est fournie par le sommet C dont les
coordonnées sont x1 = 4/3 et x2 = 10/3. La valeur de la fonction à ce point
est Z = 36.
Inconvénient de la méthode de dénombrement des solutions de base

L‘inconvénient de cette méthode est le problème de temps. Par exemple,


avec 8 variables, la solution sera longue.
27
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
1.3.3. La méthode de simplexe
1.3.3.1. Notion de l’algorithme de simplexe
L‘algorithme de simplexe a été développé par le mathématicien
DANTZIG. Cet algorithme repose sur la notion de convexité.
En effet, un ensemble C de points dans un espace à n dimensions est dit
convexe si tout segment formé à partir de deux quelconques points de cet
ensemble est entièrement contenu dans cet ensemble. En d‘autres termes,
un ensemble convexe est un ensemble qui contient toutes les
combinaisons linéaires possibles.
Il résulte de cette définition que si X1 et X2 appartiennent à un ensemble
convexe, les points X = X1 + (1 - )X2, (0 ≤  ≤ 1), doivent également
appartenir à cet ensemble.
Graphiquement, le simplexe est une région convexe formée par plusieurs
droites linéaires, c‘est –à-dire un polyèdre convexe.

I
II
III

L‘ensemble de faisabilité ou de choix est l‘ensemble de points qui


satisfait toutes les trois contraintes.
28
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
L‘ensemble de faisabilité ne touche pas la droite II. Donc, la
contrainte II est une contrainte lâche (une ressource abondante).
Cet ensemble touche les droites I et III touchent les droites I et III.
Donc, les contraintes I et III peuvent être les contraintes serrées ( des
ressources rares).
1.3.3.2. Procédure de résolution
Théorème 5 :
Tout sentier suivant la crête d‘un simplexe le long auquel la valeur de la
fonction – objectif croît ( maximisation) ou décroit (minimisation) de
manière monotone conduit à un sommet où la fonction – objectif atteint
la valeur optimale
Il convient de noter ce qui suit :

 Une solution faisable ou admissible de programme linéaire est un


vecteur ( ) qui satisfait les contraintes
techniques et de non négativités ;
 Une solution de base est une solution du programme linéaire
obtenue en posant (n-m) variables nulles et en résolvant le système
pour m variables restantes ( les sommets du graphique) ;
 Une solution de base faisable ou admissible est une solution de base
qui satisfait également les contraintes de non négativités.
Par ailleurs, la forme standard est utilisée pour résoudre le programme
linéaire par la méthode de simplexe.
29
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La procédure de résolution passe par les étapes suivantes :
1) Trouver la première solution de base admissible ou faisable ( il faut
qu‘une partie de la matrice A puisse donner une matrice d‘identité).
...…
.
Base … =R
… R ‘
1
…. …
0 …. 0
0
…. …
1 …. 0
: : : : : : : ….. :
….
0 0 …. 1

Les m variables dont leurs coefficients forment la matrice d‘identité


sont dans la base et (n-m) variables dont leurs coefficients ne forment pas
la matrice d‘identité sont hors base.


30
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Condition d’optimalité : si tout est négatif ou nuls (cas de
maximisation) ou si tout est positif ou nuls (cas de minimisation), la
solution est optimale. Au cas contraire, on passe à l‘étape 2.
2) Trouver la solution plus améliorée en construisant un nouveau
tableau de simplexe suivant les sous – étapes suivantes :

 La variable hors base possédant le coefficient positif le plus


élevé (en cas de maximisation) ou le coefficient négatif le plus
faible (en cas de minimisation) entre dans la base.
 On divise chaque coefficient au coefficient respectif de la
variable hors base entrante (soit, ⁄ ). La variable de base (en

ligne) qui a la valeur ⁄ positive la plus faible sort de la base.

 Le coefficient qui se trouve au point de rencontre entre la


variable hors base entrante et la variable de base sortante est
appelé Pivot.
 La variable de base sortante donne ses coefficients à la
variable hors base entrante. Les autres variables de base qui sont
restées dans la base leurs coefficients ne changent pas.
 On divise tous les coefficients qui se trouvent sur la ligne du pivot
par le pivot.
 Pour changer les coefficients de la variable de base sortante
ainsi que des variables hors base qui sont restées hors base et des
coefficients restants, on procède à la formule suivante :

( )

; ;
31
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
; le coefficient qui se trouve dans la même ligne que
le pivot et dans la même colonne que le coefficient original ; le
coefficient qui se trouve dans la même colonne que le pivot et dans la
même ligne que le coefficient original.
Si la condition d‘optimalité est satisfaite, on arrête l‘algorithme. La
solution est optimale. Au cas contraire, on construit un autre tableau
pour trouver une solution plus améliorée.
Ainsi de suite…. jusqu‘à ce qu‘on trouve la solution optimale.
Il convient la méthode de simplexe permet d‘aller plus vite à la solution
optimale ( visiter quelques sommets du polyèdre convexe.
Exemple 10 . Résoudre ce programme par la méthode de simplexe
Max z = 1000 x + 1200y
Sc x+y
x+2y
14x+6y
Solution
Nous passons de la forme canonique à la forme standard en introduisant
les variables d‘écarts e1, e2 et e3
Max z = 1000 x + 1200y
Sc x+y + e1 900
x+2y + e2
14x+6y + e3 =
x ,y , e1 , e2 et e3
32
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Présentation des calculs sous formes de tableau
le programme standard initial se présente ainsi,
Tableau 0

VB VHB
X Y e1 e2 e3 R
e1 1 1 1 0 0 900
e2 1 2 0 1 0 1200
e3 14 6 0 0 1 14000
Fonction
économique Z 1000 1200 0

La partie centrale donne la matrice des coefficients des fonctions


contraintes. La colonne R représente celle des seconds membres, elle
indique les valeurs attribuées aux variables situées dans la base.
La fonction économique est exprimée en fonction des variables hors
base solution de départ est 0
( )
Première itération
Sélection de la variable entrante. selon le critère de Dantzig , on
sélectionne le plus grand coefficient positif : 1200 , y entre dans la base
Sélection de la variable sortante : on adjoint une colonne supplémentaire
représentant le rapport entre les valeurs respectives du second membre R
et coefficients de la variable entrante. On retient le plus petit rapport
positif sort de la base
L‘intersection de la colonne ( ) et la ligne
( ) s‘appelle le pivot : c‘est le coefficient de la
variable entrante dans l‘équation servira de base aux calculs, ici le pivot
est 2.
33
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Il faut arriver, d‘une part à faire figurer y avec le coefficient 1 dans
l‘équation d‘autre part, à éliminer y des autres équations à partir de la
première équation transformée .

v
HB
VB X Y e1 e2 e3 R R'
e1 1 1 1 0 0 900 900
e2 1 2 0 1 0 1200 1200
e3 14 6 0 0 1 14000 2333
Fonction
économique Z 1000 1200 0

Pour que le pivot soit remplacé par 1, il faut diviser la ligne du pivot par
lui-même. Cette ligne transformée sera qualifiée de ligne opératoire.
Pour que les autres coefficients de la colonne du pivot s‘annulent, il suffit
de remplacer chaque ligne par une combinaison linéaire d‘elle-même
avec la ligne opératoire.
On transforme ainsi la colonne du pivot en colonne unité. Pratiquement
cela revient à multiplier la ligne opératoire par l‘opposé des coefficients
de la colonne opératoire.
La variable y prenant la place de e3 dans la base, la ligne
correspondante (ligne opératoire) s‘écrira :
34
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Y ½ 1 0 ½ 0 600
La ligne relative à e1 sera transformée pour faire apparaitre des zéros
dans la colonne du pivot.
e1 1 1 1 0 0 900
(-1) Y -1/2 -1 0 -1/2 0 -600
e1
transformée ½ 0 1 -1/2 0 300

Il en va de même pour e3
e3 14 6 0 0 1 14000
(-6) Y -3 -6 0 -3 0 -3600
e3
transformée 13 0 0 -3 1 10400

Remarque si dans la colonne du pivot le coefficient d‘une ligne était


zéro, tous les éléments de cette ligne auraient été recopiées sans
modification. la même règle peut s‘appliquer à la ligne de la fonction
économique
Z 1000 1200 0 0
-
(-1200) Y -600 -1200 -600 720000
Z -
transformée 400 0 -600 720000
35
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le tableau 2 se présente comme ainsi :

v
HB
VB X Y e1 e2 e3 R R'
e1 ½ 0 1 -1/2 0 300 600
Y ½ 1 0 1/2 0 600 1200
e3 11 0 0 -3 1 10400 945
Fonction -
économique Z 400 0 -600 720000

b) Deuxième itération
Variable entrante x et la variable sortante e1 (600 est le plus petit rapport
positif), pivot ½.
Le tableau 2 après deuxième itération se présente ainsi :
VB VHB
X Y e1 e2 e3 R
X 1 0 2 -1 0 600
Y 0 1 -1 1 0 300
e3 0 0 -22 8 1 3800
Fonction -
économique Z 0 0 -800 -200 960000

La deuxième itération conduit à la solution optimale. On retrouve les


variables réelles dans la base x = 600, y = 300
Autre variable dans la base e3, variables hors base : e1 et e2.
Autre mode de calcul des taux marginaux de substitution.
36
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Raisonnement sur le dernier tableau :
Pour augmenter e1 d‘une unité, il faut augmenter x de 2, diminuer y de 1
et e3 de 22.
(- 800, le taux marginal de substitution de e1 et – 200 le taux marginal de
substitution de e2). Le profit optimal z* est de 960 000 et les quantités
optimales sont x* = 600, y *= 300 et e*3 = 3800.
1.3.3.3. Technique de base artificielle : extension de la méthode de
simplexe
La technique de base artificielle dans la méthode de simplexe si on ne
dispose pas de la première solution de base admissible (réalisable ou
faisable).
La procédure consiste à introduire les variables artificielles avec les
signes positifs dans les contraintes techniques qui posent problème.
Physiquement, les variables artificielles n‘existent pas, on les introduit
pour avoir la première solution de base faisable ou admissible. En effet,
on introduit les variables artificielles de telle sorte que leurs coefficients
et ceux des anciennes variables (variables de décision et variables d‘écart
) forment une matrice d‘identité.
Contrairement aux variables d‘écart, les variables artificielles entre dans
la fonction – objectif avec les coefficients très faibles, notés
( ) ou avec les coefficients très élevés
( ) C‘est une méthode de pénalité qui consiste à
donner les variables artificielles les coefficients très défavorables pour
réduire au maximum leur chance de faire partir de la solution optimale.
Les contraintes de non négativités s‘imposent également aux variables
artificielles.
Exemple 11. Soit un programme linéaire :
37
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Min z = 900 Z1 + 1200 Z2 + 1400sqqt0 Z3
SC Z1+ Z2 + 14Z3
Z1 + 2Z2 + 6Z3
Solution
On poursuit la même procédure que pour le cas de maximisation à
l‘exception de la variable entrante. Selon le critère de Dantzig, on
sélectionne le plus petit coefficient.
Min z = 900 Z1 + 1200 Z2 + 14000 Z3 +Mt1 + Mt2
z1+ z2 + 14z3– e1+t1
z1+ 2z2 + 6z3– e2+t2
Première itération

B HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 1 1 14 -1 0 1 0 500 500
t2 1 2 6 0 -1 0 1 200 100
-
C 900 1200 14000 700 0
-2M -3M -20M M M M
Deuxième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 ½ 0 11 -1 1 /2 1 -1/2 400 500
Z2 ½ 1 3 0 -1/2 0 1/2 100 100
-
10400 120000
C 300 0 600 0 -600 0
3M/ -
-M/2 -11M M -M/2 2 400M
38
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Troisième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 0 -1 8 -1 1 1 -1/2 300 500
Z1 1 2 6 0 -1 0 1/2 200 100
- -
C 0 M 8600 900 0 900 180000
-
0 -600 -8M M -M 2M 300M

Quatrième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R
e2 0 -1 8 -1 1 1 -1 300
Z1 1 1 14 -1 0 1 0 500
M- - 450
C 0 300 1400 900 0 900 M 000

C*= 450 000, e*2 = 300 et Z*1 = 500

Remarque : Si une variable de décision ou une variable d‘écart sort de la


base, elle peut revenir dans la base. Mais si une variable artificielle sort de
la base, elle ne revient plus dans la base. D‘où il est conseillé d‘éliminer la
variable artificielle sortante pour simplifier la résolution.
39
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Remarque : il est possible de simplifier la résolution d‘un programme
linéaire de la forme ci-après :

S/C

: : :
: : :

Après avoir introduit les variables d‘écart, la procédure pour réduire le


nombre de variables artificielles est la suivante :

 Déterminer le le plus élevé


 Multiplier chaque équation par -1 et l‘additionner avec
l‘équation contenant le le plus élevé. Cette opération ne
doit pas être appliquée à des équations contenant les nuls
 L‘équation qui contient le le plus élevé ne change pas

Exemple12. Résoudre le problème de l‘exemple 2.2.

Forme canonique Forme standard


Min Min
S/C S/C
40
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

On peut transformer la forme standard de manière suivante :

 L‘équation contenant le le plus élevé :


( )
 Multiplication des autres équations par -1 :

 Addition ces équations transformées avec l‘équation contenant


le le plus élevé :

( )
( )

La forme standard devient :


Min
S/C

( )
41
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Introduire les variables artificielles :

( )

Min
S/C

Ce transformation a permis le nombre de variables artificielles de 3 à 1.

( ) ( )
42
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

60 80 0 0 0 M
Bas
e
R
M t 2 3 -1 0 0 1 36 12
0 e2 0 1 -1 1 0 0 8 8

0 e3 -6 1 -1 0 1 0 4 4
80-
60- 3M X2 E/
2M M C=36M e3 S
M t 20 0 2 0 -3 1 24 6/5

0 e2 6 0 0 1 -1 0 4 2/3
80 X2 -6 1 -1 0 1 0 4 -2/3
- X1
540- 80- 80+3 E/ e2
20M 2M M C=320+24M S
M t 0 0 2 -10/3 1/3 1 32/3 16/3
60 X1 1 0 0 1/6 -1/6 0 2/3 ----
80 X2 0 1 -1 1 0 0 8 -8
-
80- 90+30 10- C=680+32/3 e3 E/t
2M M 1/3M M S
0 e3 0 0 6 -10 1 32
60 X1 1 0 1 -3/2 0 6
80 X2 0 1 -1 1 0 8
20 10 C= 1000

Il faut extraire 6 tonnes de pierre P1 et 8 tonnes de pierre P2. Les graviers


de calibre 1 et 2 seront épuisés, il restera 32 tonnes de gravier de calibre
3. Le coût minimal est de 1000 UM.
43
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
1.4. DUALITE
1.4.1. Généralités
Il existe toujours pour tout problème de maximisation (ou minimisation) un
problème de minimisation (ou maximisation) qui lui correspond. On donne
le nom de primal au problème initial. Le problème correspondant s'appelle
le dual. L'un quelconque des deux problèmes peut être considéré comme
primal ou dual. En effet, tout programme linéaire de maximisation (ou
minimisation) a un correspondant le programme linéaire de minimisation (
ou maximisation). Le programme linéaire de départ est appelé primal et le
programme linéaire correspondant est appelé dual.
Si le problème max z = c‘x s/c AX ≤ B et x≥0 est le primal, alors le
dual sera minc=B‘Y s/c , A‘Y≥C et y ≥ 0
variables
Variables réelles d'écarts
x1 , X2 ……. e1 , e2
primal …… xn ………… en
e1 , e2 …………
dual en y1 , y2 ……. yn
Variables
variables d'écarts réelles
1.4.2. Passage de primal à dual ou de dual à primal
Pour passer de primal à dual ou vice –versa, on doit respecter les étapes
ci –après :

 Inverser la direction de l‘optimisation ( maximisation en


minimisation ou minimisation en maximisation ) ;
 Inverser les signes d‘inégalités des contraintes techniques tout en
gardant les contraintes de non négativité ;
 Transposer la matrice des coefficients aij des variables dans les
contraintes techniques ;
44
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
 Le vecteur ligne des coefficients cj de la fonction – objectif dans le
primal devient
le vecteur colonne des coefficients bj des contraintes techniques
dans le dual. Le vecteur colonne des coefficients bj des contraintes
techniques dans le primal devient le vecteur ligne des coefficients cj
de la fonction – objectif dans le dual.
 Les variables de décision de primal sont remplacées par les
variables de décision de dual.
Soit le programme linéaire de départ (primal) sous forme canonique :

S/C

: : :
: : :

Le programme linéaire correspondant ( dual) sera formulé comme suit :

S/C

: : :
: : :
45
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

1.4.3.Passage de tableau optimal (solution optimale) de primal au


tableau optimal de dual

Il est possible de trouver le tableau optimal de dual à partir du tableau


optimal de primal et vice –versa.

Théorème 6
Si dans la solution optimale :

 Une variable de décision dans le primal est dans la base (ou hors
base), la variable d‘écart correspondante dans le dual sera hors base
( ou dans la base) ;
 Une variable d‘écart dans le primal est dans la base (ou hors base),
la variable de décision correspondante dans le dual sera hors base (
ou dans la base).
Théorème 7
La valeur optimale de la fonction –objectif de primal est toujours égale à
la valeur optimale de la fonction – objectif de dual pour vu qu‘une
solution optimale réalisable existe.
La dualité est souvent dans le programme linéaire de minimisation
(primal) qui est généralement difficile à résoudre, on préfère le
transformer en programme linéaire de maximisation qui est généralement
facile à résoudre. A partir de la solution optimale de dual, on peut
facilement trouver la solution optimale de primal.
Exemple 13.
Résoudre ce programme linéaire :
Min
S/C
46
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Résolution
Le programme linéaire dual correspondant :
Max
S/C

La forme standard de ce programme est :


Max
S/C

( ) ( )
47
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
36 28 32 0 0
Base
e1 e2 R
0 e1 2 2 8 1 0 60 30

0 e2 3 2 2 0 1 80
80/3
y1 E/ e2
36 28 32 Z=0 S
0 e1 0 2/3 20/3 1 -2/3 20/3 1
36 y1 1 2/3 2/3 0 1/3 80/3 40
y3 E/ e1
4 8 -12 Z=960 S
32 y3 0 1/10 1 3/20 -1/10 1 10
36 y1 1 3/5 0 -1/10 2/5 26 130/3
y2 E/ y3
16/5 -6/5 -56/5 Z=968 S
28 y2 0 1 10 3/2 -1 10
36 y1 1 0 -6 -1 1 20
-32 -6 -8 Z=1000

Tableau optimal de dual

36 28 32 0 0
Base

28 0 1 10 3/2 -1 10
36 1 0 -6 -1 1 20
-32 -6 -8 Z=1000
48
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Tableau des variables correspondantes :
Problème Dual Problème Primal
Hors
Base base
Hors
Variables Base base
de Hors Variables
décision base Base d’écart
Hors
base Base Variables
Variables Hors de
d’écart base Base décision
Tableau optimal de primal

60 80 0 0 0
Base

0 e3 0 0 6 -10 1 32
60 X1 1 0 1 -3/2 0 6
80 X2 0 1 -1 1 0 8
20 10 C= 1000

La dégénérescence
Un polynôme est dit dégénéré si
1 L‘une des variables de base possède une valeur nulle. Dans ce cas le
sommet correspondant dans Rn est l‘intersection de n hyperplan
2 Un gain marginal associé est supérieur ou égal à une variable hors base
est nulle. Cela signifie qu‘il y a une dépendance linéaire entre les
vecteurs colonnes, ce qui interdit une solution optimale unique
49
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
3 La variable entrante est XJ et tous les coefficients correspondants sont
tous négatifs. Dans ce cas le polyèdre des solutions admissibles n‘est pas
borné, ce qui donne une solution infinie.
4 Une ou plusieurs variables artificielles reste dans la base. Dans ce cas
le polyèdre des solutions admissibles est vide. Pas de solution
50
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
CHAPITRE 2 : THEORIE DES GRAPHES
Les graphes modélisent de nombreuses situations concrètes où
interviennent des objets en interaction :
- les interconnexions routières, ferroviaires ou aériennes entre
différentes agglomérations,
- les liens entre les composants d'un circuit électronique, - Le plan
d'une ville et de ses rues en sens unique,...
Les graphes permettent de manipuler plus facilement des objets et leurs
relations avec une représentation graphique naturelle. L'ensemble des
techniques et outils mathématiques mis au point en Théorie des Graphes
permet de démontrer facilement des propriétés, d'en déduire des
méthodes de résolution, des algorithmes, ...
- Quel est le plus court chemin (en distance ou en temps) pour se rendre
d'une ville à une autre?
- Comment minimiser la longueur totale des connexions d'un circuit?
- Peut-on mettre une rue en sens unique sans rendre impossible la
circulation en ville?
Lorsqu'un chemin existe entre deux sommets dans un graphe, l'être
humain se pose rapidement la question non seulement de trouver un tel
chemin, mais bien souvent il est intéressé par le plus court chemin
possible entre ces deux sommets. Notre oeil est d'ailleurs
particulièrement efficace dans cette tâche, tant que le graphe est de taille
raisonnable... Mais dès que le graphe comporte plusieurs dizaines de
sommets et d'arêtes, trouver le plus court chemin entre deux points
devient vite un casse-tête.
Nous aimerions disposer d'une méthode systématique capable, pour tout
graphe et pour toute paire de sommets s et t, de déterminer le plus court
chemin entre eux. Résoudre ce problème va donc consister à proposer un
algorithme, aussi rapide que possible. Le problème de trouver un plus
court chemin est le premier problème d'optimisation auquel nous
sommes confrontés. Nous allons moins nous intéresser ici à l'algorithme
permettant de le résoudre
Ce chapitre a donc pour objectif de :
51
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
- construire une représentation graphique
- déterminer les niveaux d‘un graphe
- déterminer la longueur du chemin optimal à partir d‘une liste de
sommets et de distances ou de durée.

2.1. DEFINITIONS
Un graphe est un ensemble de nœuds qui sont reliés entre eux par des
arcs. Un arc relie deux nœuds entre eux.
Considérons un trajet faisant intervenir plusieurs villes et essayons de
représenter cette situation par un graphe le plus lisible possible.

Les sommets des graphes (A , B , C , D , E, F et G) représentent les villes


et les arcs du graphe sont des flèches représentant les trajets séparant ces
villes.

2.2. Représentation matricielle d’un graphe


Outre une représentation graphique sagittale, un graphe peut être
représenté par un tableau, appelé représentation matricielle, qui à chaque
sommet énumère les suivants et les précédents:
52
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
A partir de notre exemple précédent, nous obtenons la représentation
matricielle suivante :

1.1.3.Dictionnaires
Un sommet xj est dit suivant de xi s‘il y a une flèche de xi à xj. Alors xi
est le précédant de xj.

On appelle S (x) l‘ensemble des suivants et P (x) l‘ensemble des


précédents.

Application : l‘exemple précédent

Villes P (x) S (x)


A D, F, G, H
B C, E,F
C B, E, F D, G, H
D C, E A
E B C, D
F B A, C
G C A
H C A

S (x) peut être lu en ligne dans le tableau


P (x) peut être lu en colonne dans le tableau
53
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
1.1.4.Utilité des graphes
Si l‘on considère, par exemple, la construction d‘une maison, elle se
compose de plusieurs tâches :
- Obtenir le permis de construire ;
- Creuser les fondations ;
- Acheter les matériaux nécessaires à la construction ; etc. …

On va représenter ces opérations sous la forme d‘un graphe qui


permettra de visualiser l‘avancement des travaux et leur fin.

2.3. Recherche des niveaux


Cette recherche de niveaux se fera ici à partir du graphe des précédents

1.2.1.Dictionnaire des niveaux


Il faut dresser une liste de sommets et ensuite des sommets d‘où partent
les flèches qui arrivent sur ces sommets (l‘ensemble des précédents
P(x)).

X P(x)
D, F, G,
A H
B
C B, E, F
D C, E
E B
F B
G C
H C
54
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Si x est un sommet, P(x) est la liste des précédents de x

1.2.2.Détermination des niveaux


Sont de niveau 0 tous les sommets n‘ayant pas de
précédents. N0 = {B}. On barre ensuite tous les B.

X P(x)
D, F, G,
A H
B
C B, E, F
D C, E
E B
F B
G C
H C

Sont de niveau 1, tous les sommets en face desquels tout est barré.

N1= {E,F}. On barre ensuite tous les E et F.


55
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
X P(x)
D, F, G,
A H
B
C E, F
D C, E
E
F
G C
H C

Sont de niveau 2 tous les sommets en face desquels tout est barré.

N2={C}. On barre ensuite tous les C.

X P(x)
A D, F, G, H
B
C
D C, E
E
F
G C
H C

Sont de niveau 3 tous les sommets en face desquels tout est barré.

On a N3={D, G, H}. On barre ensuite tous les D, G, H.


56
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

X P(x)
A D, F, G, H
B
C
D
E
F
G
H

Il reste pour le niveau 4. N4={A}

2.4. Représentation du graphe ordonnée par niveau

N0 N1 N2 N3 N4

Ce graphe est bien plus lisible que le graphe de départ.


57
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
2.5. Algorithme de Ford : recherche d’un chemin de longueur maximale
Les flèches dans les graphes ont le plus souvent des longueurs.
Reprenons le graphe précédent ordonné par niveaux où ont été rajoutées
les longueurs des arcs (en jours) :

N0 N1 N2 N3 N4
Déterminons le chemin le plus long allant de B à A
Pour cela, il faut d‘abord marquer les sommets. La marque 0 sera placée
ici au-dessus du sommet de niveau 0. Ensuite, au-dessus de chaque
sommet x, on marque la longueur du plus long chemin allant de B à x.

Pour E, on marque 5
Pour F, on marque 6
Pour C, il faut choisir entre 5+3 ; 6+3 ; et 7. On choisit le plus long soit
9.

Il faut procéder de même pour les autres niveaux.

Le chemin le chemin le plus long pour aller de B à A dure 22 jours en


passant par les sommets B, F, C, H, A.
58
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
De même, il est possible de déterminer le chemin le plus court marqué ici
sous les sommets.
Il s‘agit de : B, C, D, A. Il dure 11 jours.
59
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

CHAPITRE 3 : PROBLEME D’ORDONNANCEMENT


La réalisation d‘un projet nécessite souvent une succession de
tâches auxquelles s‘attachent certaines contraintes :
- de temps : délais à respecter pour l‘exécution des tâches ;
- d’antériorité : certaines tâches doivent s‘exécuter avant d‘autres ;

- - de production : temps d‘occupation du matériel ou des hommes qui


l‘utilisent.

Les techniques d‘ordonnancement dans le cadre de la gestion d‘un


projet ont pour objectif de répondre au mieux aux besoins exprimés par
un client, au meilleur coût et dans les meilleurs délais, en tenant compte
des différentes contraintes.
L‘ordonnancement se déroule en trois étapes :
- la planification : qui vise à déterminer les différentes opérations à
réaliser, les dates correspondantes, et les moyens matériels et humains à
y affecter.
- l’exécution : qui consiste à la mise en œuvre des différentes
opérations définies dans la phase de planification.
- le contrôle : qui consiste à effectuer une comparaison entre
planification et exécution, soit au niveau des coûts, soit au niveau des
dates de réalisation.
L'ordonnancement d‘un projet consiste en l'élaboration d'un
calendrier pour son exécution, c'est-à-dire la programmation de dates de
début et de fin pour chaque activité. Comme d‘habitude en
ordonnancement, on y recherche un compromis entre plusieurs objectifs
conflictuels: achèvement du projet dans les délais les plus courts, au
moindre coût et en nivelant l'utilisation des ressources.

Deux principales méthodes sont utilisées pour résoudre les


problèmes d‘ordonnancement :
60
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
-la méthode MPM (Méthode des Potentiels Métra) version française de
la méthode Américaine PERT ( Project Evaluation and Review
Technique) ou CMP(Critical Path Method).
Cette méthode permet de répondre à différentes questions
(ordonnancement, probabilité de terminer dans les délais, ...) en
modélisant le projet à l‘aide d'un même graphe appelé réseau d’activités.
- la méthode de GANTT qui permet de disposer d‘une représentation
graphique plus précise des plans établis.
3.1 - LA METHODE M.P.M (Méthode des Potentiels Métra)

Cette méthode a été développée par une équipe de chercheurs

français.

3.1.1. Principe.
- Les tâches sont représentées par des sommets et les contraintes de
succession par des arcs.
- Chaque tâche est renseignée par la date à laquelle elle peut
commencer (date au plus tôt) et celle à laquelle, elle doit se terminer
(date au plus tard).
- A chaque arc est associé une valeur numérique, qui représente soit une
durée d’opération, soit un délai.

3.1.2.Mise en œuvre de la méthode :


a) L‘énoncé donne en général les conditions d‘antériorité : -
Soit en faisant la liste des tâches immédiatement
antérieures ;
- Soit en faisant la liste de l‘ensemble des tâches antérieures : il faut
alors se ramener au cas précédent en triant à l‘aide des conditions
d‘antériorité.

b) On doit ensuite rechercher les niveaux ( Cf. Chapitre 1 )


61
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
c) On représente ensuite le graphe ordonné par niveaux dans lequel :

- Les sommets sont des tâches représentées par : X est le nom d‘une
tâche

- Les arcs représentent les antériorités et ont pour longueur celle de la


tâche d‘origine.

- On rajoute une tâche de fin.

C ) On complète les rectangles en calculant :


PREMIERE PARTIE : Les dates de début au plus tôt
Les dates de début au plus tôt sont notées tx et sont inscrites en haut
dans la partie gauche.
1) tx est la date de début au plus tôt d‘une tâche sachant qu‘elle peut
débuter si toutes les tâches qui la précèdent sont terminées. Elle est
obtenue en calculant la durée des tâches qui précèdent sur la séquence la
plus longue. Pour les tâches de niveau 0 , tx = 0 . Exemple tA = 0
62
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
2) Pour une tâche x, tx est la longueur du chemin le long ( Pour que
toutes les tâches précédent x soient terminées) allant d‘un sommet de
niveau 0 à X.

Exemple
Pour tE le choix se fait entre 4 + 3 et 5 + 3 , tE = 8

0
B

10
E

C
A
FIN

F
5
D

3
63
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

La date de début au plus tôt de la tâche FIN donne la durée minimale de


réalisation du projet.

Exemple : Il faut 10 jours au minimum pour mener à bien le projet.

DEUXIEME PARTIE : Les dates de début au plus tard

Ce sont les dates à laquelle doivent être exécutées les tâches sans
remettre en cause la durée optimale de fin de projet.
Elles sont notées tx* et sont inscrites en haut dans la partie droite.
On commence par celle de la tâche FIN : tx = tx*
Exemple : tFIN* = 10

Ensuite pour les autres tâches on remonte le graphe en soustrayant les


durées et quand il y a deux valeurs possibles on prend la plus petite.
Exemple : Pour la date de début au plus tard pour A, tA* = 0
64
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
TROISIEME PARTIE : Tâche critique et chemin critique
Quand tx = tx* une tâche est dite critique. On appelle chemin critique,
un chemin qui ne passe que par des tâches critiques et dont la longueur
est égale à la durée minimale de réalisation du projet. Exemple : Le
chemin critique est A, C, E .

QUATRIEME PARTIE : Marge totale et marge libre


Il est possible de calculer le retard enregistré dans le démarrage d‘une
tâche en cherchant les marges totales ou libres.
a) Le calcul de tx* – tx caractérise le retard pris dans le démarrage
d‘une tâche sans retarder les dates de début au plus tard des tâches
suivantes (c.-à-d. sans retarder l‘ensemble du projet).
Cette grandeur s‘appelle la marge totale.

Exemple :

b) Une marge plus restrictive qui ne retarde pas les dates au plus tôt
des tâches suivantes peut être définie. On l‘appelle marge libre.
La marge libre sur une tâche est le retard que l‘on peut prendre dans
la réalisation d‘une tâche sans retarder la date de début au plus tôt de
tout autre tâche qui suit.

Soit X une tâche. Notons Ml sa marge libre.


Ml = min ( ty – tx – dx )
où ty : date de début au plus tôt de y Y s(x)
tx : date de début au plus tôt de x
dx : durée de x
65
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
y et est un élément de l‘ensemble de l‘ensemble des tâches Exemple
suivant x.

2.2 - La méthode de GANTT


En ordonnancement, il est utile de disposer d‘une représentation
graphique plus précise des plans établis. Ce but est atteint par l‘utilisation
des graphiques de Gantt: pour chaque poste de travail, un tel graphique
représente simplement, sur un axe temporel, les dates de début et de fin
planifiées pour chacune des opérations à effectuer sur ce poste. Plusieurs
postes de travail peuvent être pris en compte dans un seul graphique de
Gantt.
En plus des dates planifiées, il est également courant de porter sur
un graphique de Gantt les dates réalisées de début et de fin de chaque
opération. Ceci permet une comparaison des plans
et des performances effectivement accomplies et fournies donc un outil
d‘aide au contrôle de la production.

Ce type de diagramme a été mis au point par un américain Henry Gantt.


On représente au sein d‘un tableau, en ligne les différentes tâches et en
colonne les unités de temps (exprimées en mois, semaines, jours,
heures…)

Les différentes étapes de réalisation d‘un diagramme de Gantt son les


suivantes :

Première étape : On détermine les différentes tâches (ou opérations) à


réaliser et leur durée.

Deuxième étape : on définit les relations d‘antériorité entre tâches.

Troisième étape : on représente d‘abord les tâches n‘ ayant aucune


antériorité, puis les tâches dont les tâches antérieures ont déjà été
représentées, et ainsi de suite…
66
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

4 5 6 7 8 9 10 11 12 13
B
C
D

- Chaque colonne représente une unité de temps.


- Les durées d‘exécution prévues des tâches sont représentées par un trait
épais.
(4 unités de temps pour C).

- Les contraintes de succession se lisent immédiatement. Les tâches B


et C succèdent à la tâche A. D succède à B.

- Le déroulement d‘exécution des tâches figure en pointillé, au fur et à


mesure des contrôles.
On est à la fin de la 6 ème unité de temps, B est en avance d‘une unité
et, C est en retard d‘une unité.

- On peut alors déterminer le chemin critique : qui est formé d‘une


succession de tâches, sur le chemin le plus long en terme de durées. Il
est appelé chemin critique car tout retard pris sur l‘une des tâches de
ce chemin , entraîne du retard dans l‘achèvement du projet.
( Chemin critique :A, B, D, E).
67
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Avantages :
- Permet de déterminer la date de réalisation d‘un projet.
- Permet d‘identifier les marges existantes sur certaines tâches ( avec
une datede début au plus tôt et une date au plus tard).
- La date au plus tard de début d‘une tâche, la date à ne pas dépasser
sans retarder l‘ensemble du projet.

Diagramme de Gantt : exemple d’application


Chargé de l'organisation d'une enquête marketing,
vous devez établir la planification des tâches en
fonction des contraintes suivantes :
TACHES
DUREE
TACHES DESCRIPTION ANTERIEURE
(SEMAINES)
S
Contacter un
A / 1
statisticien
Constituer un
B / 3
échantillon
Rechercher
C des instituts / 1
de sondage
Elaborer le
D / 4
questionnaire
Sélectionner
E l'institut de C 1
sondage
Test du
F D 1
questionnaire
Administration
G B, I 5
de l'enquête
68
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Mise à
disposition
H E 1
des
enquêteurs
Essai du
I H, F 2
questionnaire
Saisie des
J G 1
données
Relance des
K non J 2
répondants
Administration
L K 1
des relances
Traitement des
M A, J, N 2
données
Saisie des
N L 1
relances
Résultat de
O M 1
l'enquête
Etablissez un diagramme de Gantt pour chacun des cas
suivants :
1- Sachant que l'enquête peut commencer la semaine
n°5 au début, quand sera-t-elle terminée avec un
jalonnement au plus tôt ?
2- Sachant que l'enquête doit se terminer la semaine
n°26 en fin, quand doit-elle commencer avec un
jalonnement au plus tard ?
69
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Solution
1) Avec un jalonnement au plus tôt, il faut insérer les tâches sans liens
d'antériorité à partir de la semaine 5. Ensuite, on continue en
inscrivant les tâches qui ont leurs tâches antérieures réalisées et ainsi
de suite, de gauche à droite. Cela nous permet d'obtenir le diagramme
suivant:

L'enquête sera donc terminée à la fin de la semaine n°24.


2-Avec un jalonnement au plus tard, il faut insérer les tâches sans liens
de postériorité à partir de la semaine 26. Ensuite, on continue en
inscrivant les tâches qui ont leurs tâches postérieures réalisées et ainsi de
suite, de droite à gauche. Cela nous permet d'obtenir le diagramme
suivant :
70
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

L'enquête doit donc commencer au début de la semaine n°7


71
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

CHAPITRE 4 : MODELE DE FLOT

Le chemin le plus court peut être vu comme le flot dans un réseau,


lequel est le graphe orienté dérivé. On enlève les arcs entrant à O et les
arcs émanant de T. O est la seule source, avec une offre égale à 1. T est le
seul puits, avec une demande valant 1. Le flot sur chaque arc (i,j) est soit
1, si l‘arc appartient au chemin le plus court, soit 0, sinon.
4.1. Algorithme de Bellman-Ford
La déficience majeure de l‘algorithme de Dijkstra est qu‘en présence
d‘arcs (arêtes) de poids négatif, ajouter un arc à un chemin peut faire
décroître la longueur de ce chemin, de sorte que lors du marquage d‘un
noeud u, dist(u) ne correspond plus nécessairement à la longueur du plus
court chemin de O à u. En particulier, si considérons le plus court chemin
O → v1 → v2 → ... → vk
de O à vk, alors il n‘est plus vrai que
d(O,vi) ≤ d(O,vk) ∀ i < k.
Il est pourtant fréquent d‘avoir des poids négatifs sur certains arcs.
L‘algorithme de Bellman-Ford permet de traiter de tels cas, pour autant
qu‘il n‘y ait pas de cycles de longueur négative, c‘est-à-dire un cycle
dont les sommes des poids des arêtes est strictement négatif. En effet, s‘il
est possible d‘atteindre de O un cycle C de longueur négative, et qu‘il est
possible d‘atteindre T depuis C, alors la longueur du plus court chemin de
O à T vaut −∞.
Considérons un graphe G = (N,A) connexe, sans cycle négatifs. Il
existe alors un chemin
O → v1 → v2 → ... → vk = T.
Nous allons garder trace des distances à partir de O, en construisant pour
chaque noeud des surestimations successives de la longueur du plus court
chemin.
72
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Algorithm 5.2: Algorithme de Bellman-Ford
Soient un graphe G = (N,A) connexe, sans cycle négatifs, un sommet source
O et un sommet destination T.
1. Initialisation. Pour tout u ∈ N, posons dist(u) := ∞ et pred(u) = NULL.

Posons également dist(O) = 0. Poser i = 0.


2. Si i = |N| − 1, arrêt. Sinon, pour chaque arête {u,v}, posons

dist(v) := min{dist(v),dist(u) + `(u,v)}.


Si dist(v) a été modifié, poser pred(v) = u. Mettre à jour i:
i := i + 1.
Retour en 2.
Considérons le plus court chemin O à T:
O → v1 → v2 → ... → vk = T.
Pour chaque i ≤ k,
O → v1 → v2 → ... → vi.
est le plus court chemin de O à vi. En effet
– après l‘itération 1, dist(v1) = d(O,v1),
– après l‘itération 2, dist(v2) = d(O,v2), et ainsi
de suite jusqu‘à l‘itération i.

4.2. Modèle du chemin critique (PERT/CPM)


La théorie des graphes est utilisée également en ordonnancement de
tâches, en particulier sur base d‘un diagramme de PERT 1. Considérons
un projet divisé en tâches diverses. Un graphe orienté connexe
(acyclique) représente les relations de précédence entre les tâches, avec
pour chaque étape du projet un noeud i correspond. L‘arc (i,j) représente
une tâche à effectuer, et nous lui associons une pondération tij,
représentant la durée de la tâche.
S‘il existe également un arc (j,k), cela signifie que la tâche (i,j) doit se
terminer avant que (j,k) ne débute. Les

1
. PERT est un acronyme pour Program Evaluation and Review Technique
73
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
4.3. PROBLÈME DE L’ARBRE PARTIEL MINIMUM

noeuds 1 et N correspondent au début et à la fin du projet. Une chemin


dans le graphe représente une séquence de travaux qui doivent être
exécutés dans un certain ordre. Nous souhaitons connaître le temps requis
pour terminer le projet (i.e. avoir effectué toutes les tâches, certaines
pouvant s‘accomplir en parallèle), ainsi que les activités critiques, c‘est-
à-dire celles qui déterminent le temps total du projet.
Un plus long chemin dans le réseau s‘appelle un chemin critique et sa
longueur correspond à la durée minimale du projet. Le poids d‘un chemin
critique est une borne inférieure du temps total nécessaire pour mener à
bien le projet. Il est facile de calculer un tel chemin sur base des
algorithmes de plus court chemin afin de trouver un tel chemin critique.
Une première approche consiste à considérer l‘opposé de chaque
pondération tij, ce qui conduit à un graphe avec des poids négatifs. Dans
ce cas, l‘algorithme de Bellman-Ford s‘appliquera, pour autant qu‘il n‘y
ait pas de cycles2.

Exemple 42. Nous souhaitons mener à bien le développement d’un


nouveau produit, depuis sa production jusqu’au rapport de projet
menant à sa vente. Nous avons la liste des activités reprises dans la
Table 5.2, Dénotons l’instant de départ par O Nous pouvons les
différences tâches, et leurs dépendances, suivant le graphe de la Figure
5.5. Il est facile de voir que le chemin critique, de longueur 13, vaut
O → A → D → G → J.
Autrement, le projet prendra au minimum 13 mois, et les activités
critiques sont, dans l’ordre, la conception du produit, la mise au point du
prototype, son test et le rapport de projet. Les autres tâches peuvent
s’effectuer en parallèle (en respectant les contraintes de précédence). Le
noeud O ne correspond à aucune activité, mais permet de définir un
point d’entrée dans le graphe. Le point de sortie peut être identifié à J
car c’est l’unique activité terminale. Si plusieurs activités ont lieu de
manières concomitantes en fin de projet, il n’y a pas d’activité terminale
2
. Pourquoi?
74
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
que nous pourrions identifié. Dans ce cas, nous ajoutons un noeud
artificiel, disons T, et traçons un arc depuis chaque activité de fin vers ce
noeud terminal T. Chaque arc portera le pondération à 0, ainsi nous ne
modifions pas la durée du projet de manière arbitraire.
Activité Description Tâches Durée
préalables (mois)
A Conception du - 5
produit
B Recherche de - 1
marché
C Analyse de A 2
production
D Prototype A 3
E Brochure de A 2
vente
F Anayse de coût C 3
G Test de produit D 4
H Entraînement B, E 2
de vente
I Tarification H 1
J Rapport de F, G, I 1
projet
Table 5.2 – Tâches d‘un projet commercial
4.4. Problème de l‘arbre partiel minimum
Considérons un graphe non orienté et connexe. A chaque arête {i,j},
nous associons une distance cij ≥ 0. Nous cherchons à construire un arbre
partiel (plus petit graphe connexe contenant tous les sommets) dont la
somme des distances soit minimum parmi tous les arbres partiels du
graphe. C‘est un exemple simple de problème de conception de réseaux
(network design): choisir une configuration de réseau (sous-ensemble
d‘arcs) qui optimise un certain critère.
75
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
C

A D F

0 E G J

B H I

5.5

4.4.1 Algorithme de Prim (1957)


Il s‘agit à nouveau d‘une approche itérative. L‘algorithme est initialisé
en choisissant un sommet i (arbitrairement) et en le reliant au sommet j le
plus proche. En d‘autres termes, nous ajoutons l‘arête {i,j}. À chaque
itération, nous choisissons le sommet non relié j le plus près d‘un des
sommets déjà reliés i et nous ajoutons {i,j}. Nous nous arrêtons lorsque
tous les sommets ont été reliés. En cas d‘égalité, nous pouvons choisir
arbitrairement.
De telles égalités indiquent qu‘il pourrait y avoir plusieurs solutions
optimales.
Exemple 43. Considérons à nouveau l’exemple 38.
1. L’initialisation consiste à choisir le sommet O et à le relier au
sommet le plus près: on ajoute {O,A}.
2. Le sommet non relié le plus près de O ou de A est B ; comme il est
plus près de A, on ajoute {A,B}.
3. Le sommet non relié le plus près de O, de A ou de B est C ; puisqu’il
est plus près de B, on ajoute {B,C}.
4. Le sommet non relié le plus près d’un des sommets reliés est E ; nous
ajoutons l’arête {B,E},
76
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
5. Le sommet non relié le plus près d’un des sommets reliés (E) est D;
nous ajoutons l’arête {E,D}
6.Le sommet non relié le plus près d’un des sommets reliés (D) est T ;
nous ajoutons l’arête {D,T}. Tous les sommets sont à présent reliés,
aussi, nous nous arrêtons. La valeur optimale correspond à la
somme des distances des arêtes ajoutées, soit 14.
L’arbre partiel minimum est représenté en rouge dans la Figure 5.6.

4.5 Problème du flot maximum


Considérons un graphe orienté et connexe. À chaque arc (i,j), nous
associons une capacité uij > 0. Il y a deux sommets spéciaux:
– source (ou origine) O; – puits (ou destination) T.

Tous les autres sont des sommets de transfert. L‘offre en O et la demande


en T sont variables. L‘offre en O doit cependant correspondre à la
demande en T, et indique la valeur du flot entre O et T. Nous cherche à
maximiser la valeur du flot entre O et T.
Supposons que nous avons déjà affecté un flot sur les arcs. La capacité
résiduelle d‘un arc (i,j) est comme

uij − xij

T
O B D

C E

5.6

Nous définissions le graphe résiduel comme le graphe non orienté sous-


jacent, où, sur chaque arête, nous associons deux valeurs: la capacité
résiduelle et le flot déjà affecté.
77
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Exemple 44 (Parc Seervada). Continuons avec l’exemple 38, mais en
considérant à présent un graphe orienté, comme sur la Figure 5.7.
Supposons qu’en période de grande affluence, nous disposions d’une
flotte d’autobus pour faire visiter les différents postes d’observation du
parc. La réglementation limite le nombre d’autobus pouvant circuler sur
chaque tronçon de route. Comment faire circuler les autobus dans le
parc de façon à maximiser le nombre total d’autobus allant de l’origine
(O) à la destination (T)?
A

T
O B D

C E

5.7

Exemple: nous avons affecté 5 unités de flot sur l’arc (O,B), de


capacité 7.
O 7 0 B

O B
2 5

Interprétation du graphe résiduel: nous avons affecté 5 unités de flot


sur l’arc (O,B). Si nous traverse O → B, 2 est la capacité résiduelle et le
flot sur (O,B) vaut 5. Si nous traverse B → O, la capacité résiduelle est 5
et le flot sur (B,O) vaut 2.
Un chemin d‘augmentation est un chemin allant de la source au puits
dans le graphe orienté dérivé du graphe résiduel. Pour chaque arête {i,j},
l‘arc (i,j) possède une capacité résiduelle uij − xij, et l‘arc (j,i) possède une
capacité résiduelle xij. Chaque arc du chemin possède une capacité
résiduelle strictement positive. La capacité résiduelle d‘un chemin
78
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
d‘augmentation est le minimum des capacités résiduelles de tous les arcs
du chemin.

4.6. 1Algorithme de Ford-Fulkerson


Algorithm 5.3: Ford-Fulkerson
1. Initialiser le flot: 0 unité sur chaque arc.

2. Si aucun chemin d‘augmentation ne peut être identifié, arrêter: le flot


est maximum.
3. Identifier un chemin d‘augmentation P ; soit c sa capacité résiduelle.

4. Sur chaque arc de P

(a) augmenter le flot de c;

(b) diminuer la capacité résiduelle de c.

5. Retourner à l‘étape 2.

Algorithme 5.4: identifier un chemin d‘augmentation


1. Marquer la source O (aucun autre sommet n‘est marqué); tous les
sommets sont non visités.
2. S‘il n‘y a aucun sommet marqué non visité, arrêter: il n‘existe aucun
chemin d‘augmentation.
3. Choisir un sommet marqué non visité i.

4. Visiter i: pour chaque (i,j) de capacité résiduelle strictement positive

dans le graphe orienté dérivé du graphe résiduel, marquer j.


5. Si T est marqué, arrêter: un chemin d‘augmentation a été identifié.
6. Retour à l‘étape 2.

Exemple 45 (Parc Seervada: suite).


0. Le graphe résiduel initial est représenté sur la Figure 5.8.
79
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
A 3
0
1

5 0 0 T
0 9
7 0 4
O B D 0
0
4 2 5 0

0 01
6
0 C E
4 0

Figure 5.8 – Parc Seervada: initialisation.

1. Nous pouvons identifier le chemin d’augmentation O → B → E → T.


La capacité résiduelle vaut alors min{7,5,6} = 5. En suivant
l’algorithme, nous augmentons le flot et diminuons la capacité
résiduelle de 5 unités sur tous les arcs de O → B → E → T, ce qui
conduit au graphe de la Figure 5.9.
2. Nous pouvons à présent identifier le chemin d’augmentation O → A
→ D → T, qui donne une capacité résiduelle de min{5,3,9} = 3.
Nous augmentons le flot et diminuons la capacité résiduelle de 3
unités sur tous les arcs de O → A → D → T, comme représenté sur
la Figure 5.10.
3. Nous avons le chemin d’augmentation O → A → B → D → T, et la
capacité résiduelle min{2,1,4,6} = 1. Augmentons le flot et
diminuons la capacité résiduelle de 1 unité sur tous les arcs de O →
A → B → D → T, pour obtenir la Figure 5.11.

A 3
0
1

5 0 0 T 5
0 9
2 5 4
5 O B D 5
0
4 2 0 0

0 51
1
0 C E
4 0

Figure 5.9 – Parc Seervada: itération 1.


80
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
A 0
3
1

2 0 3 T 8
3 6
2 5 4
8 O B D 5
0
4 2 0 0

0 51
1
0 C E
4 0

Figure 5.10 – Parc Seervada: itération 2.

A 0
4
0

1 1 4 T 9
3 5
2 5 3
9 O B D 5
1
4 2 0 0

0 51
1
0 C E
4 0

Figure 5.11 – Parc Seervada: itération 3.


4. Identifions le chemin d’augmentation O → B → D → T, ce qui
donne comme capacité résiduelle min{2,3,5} = 2. Nous augmentons
le flot et diminuer la capacité résiduelle de 2 unités sur tous les arcs
de O → B → D → T, ce qui conduite à la Figure 5.12..
A 0
4
0

1 1 6 T 11
3 3
0 7 1
11 O B D 5
3
4 2 0 0

0 51
1
0 C E
4 0

Figure 5.12 – Parc Seervada: itération 4.


81
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
5. Prenons le chemin d’augmentation O → C → E → D → T, avec
comme capacité résiduelle min{4,4,1,3} = 1. Ceci nous conduit à
augmenter le flot et diminuer la capacité résiduelle de 1 unité sur
tous les arcs de O → C → E → D → T. Nous obtenons ainsi le
graphe de la Figure 5.13.
A 0
4
0

1 1 7 T 12
3 2
0 7 1
12 O B D 5
3
3 2 0 1

0 50
1
1 C E
3 1

Figure 5.13 – Parc Seervada: itération 5.

6. Nous pouvons choisir le chemin d’augmentation O → C → E → T.


La capacité résiduelle est min{3,3,1} = 1. En augmentant le flot et
en diminuant la capacité résiduelle de 1 unité sur tous les arcs de O
→ C → E → T, nous obtenons la Figure 5.14.
7. Considérons le chemin d’augmentation: O → C → E → B → D →
T, de capacité résiduelle min {2, 2,5,1,2} = 1. Par conséquent, nous
augmentons le flot et diminuons la capacité résiduelle de 1 unité sur
tous les arcs de
O → C → E → B → D → T, ce qui donne la Figure 5.15.
8. Il n’y a plus aucun chemin d’augmentation possible; nous avons
atteint le flot maximum, lequel est réparti comme représenté sur la
Figure 5.16.

4.6.1. Flot maximum - Coupe minimum


Supposons que nous partitionnions l‘ensemble des sommets en deux
sous-ensembles X, Y . Une coupe est un sous-ensemble d‘arcs allant d‘un
sommet de X vers un sommet de Y . La capacité d‘une coupe est la
somme des capacités des arcs de la coupe. Une coupe minimum est une
coupe dont la capacité est minimum parmi toutes les coupes possibles.
82
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le théorème flot max–coupe min dit que la valeur du flot maximum
est égale à la capacité d‘une
A 0
4
0

1 1 7 T 13
3 2
0 7 1
13 O B D 6
3
2 2 0 1

0 50
0
2 C E
2 2

Figure 5.14 – Parc Seervada: itération 6.

A 0
4
0

1 1 8 T 14
3 1
0 7 0
14 O B D 6
4
1 2 1 1

0 40
0
3 C E
1 3

Figure 5.15 – Parc Seervada: itération 7.

T 14
14 O B D

C E

5.16
83
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
coupe minimum. Les sommets marqués lors de la dernière itération de
l‘algorithme de Ford-Fulkerson définissent la coupe minimum, comme
illustré sur la Figure 5.17 pour l‘exemple du parc Seervada.

A 3
0
1

5 0 0 T
0 9
7 0 4
O B D 0
0
4 2 5 0

0 01
6
0 C E
4 0

Figure 5.17 – Parc Seervada: coupe minimum.

4.6.2. Problème de flot minimum


Plutôt que de maximiser le flot sur le réseau, nous pourrions chercher à
trouver la façon la plus économique d‘envoyer un certain flot à travers un
réseau. Considérons un réseau de flot G(N,A), avec une source s ∈ N et
un puits t ∈ N. On veut envoyer le flux d de s à t. Soient `(i,j) le coût
unitaire sur l‘arête {i,i}, et f(i,j) le flot {i,j}. Nous avons le problème
linéaire

min X `(i,j)f(i,j),i,j∈N
f(i,j) ≤ cij, f(i,j) = −f(j,i),X f(i,k) = 0, ∀k 6= s,t, k∈N X
Xf(s,k) = f(k,t) = d. k∈N
4.7. Notes
Ce chapitre se base partiellement sur les notes de cours de Bernard
Gendron, 2007. La section sur les plus cours chemins repose également
sur du matériel de cours mis en ligne par Otfried Cheong.
84
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

CHAPITRE 5 : PROBLEMES DE TRANSPORT

Il s‘agit de déterminer la façon optimale d‘acheminer des biens à partir


de m entrepôts et de les transporter vers n destinations et cela à moindre
coût. Nous allons faire l‘hypothèse que toute la marchandise de tous les
entrepôts doit être acheminer vers les différentes destinations.
Nous allons illustrer ce problème à partir de l‘exemple suivant.
Entrepôt Sherbrook Drummondvill St- Rimousk Offr
e e George i e
s
Montréal 147 $ 121 $ 344 $ 552 $ 450
T
Québec 241 $ 153 $ 102 $ 312 $ 450
T
Chicoutim 451 $ 364 $ 557 $ 285 $ 750
i T
Demande 400 T 450 T 550 T 250 T 1650
T
On notera que l‘offre totale est bien égale à la demande ce qui est
conforme à l‘hypothèse ci-dessus.

Sherbrooke
85
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Mise en équation
Le problème général de transport sous l‘hypothèse que l‘offre totale
égale la demande, s‘énonce comme suit. Notons les sources par
S1,S2,...,Sm et D1,D2,...,Dn les destinations. On introduit les notations
suivantes :
xij = quantité transportée de Si à Dj,
coût unitaire du transport de Si
cij =
à Dj,
ai = offre de la source Si,
bj = demande de la destination Dj.
On suppose que les ai sont positifs ai ≥ 0 et de même pour les bj ≥ 0.

Il s‘agit de minimiser le coût de transport. La fonction objective s‘écrit :

z = Xcijxij
i,j

sous les contraintes

Offre :∀i = 1,2,...,m,

Demande :∀j = 1,2,...,n,


86
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Positivité :

Proposition 6.0.1 Une condition nécessaire et suffisante pour que le


problème de transport admet une solution optimale est que
mn X ai = bj. i=1 j=1
Démonstration:Si x est une solution qui vérifie les contraintes, on a que
Nm X xij = ai =⇒xij =ai j=1 i,j i=1

Ceci implique
mn X ai = bj i=1 j=1
5.1. PROPRIÉTÉS DE LA MATRICE A
Inversement, si , on pose

.
Montrons que ce choix de x vérifie les contraintes. En effet

et

De plus, l‘ensemble des solutions réalisables est borné. Il suffit


d‘observer que, pour une paire d‘indices i et j,

Par conséquent, le problème admet une solution optimale.


87
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
5.2. Propriétés de la matrice A
Le problème de transport s‘écrit de manière matricielle
min z = ctx,
Ax = d, (6.1) x ≥ 0.

où x = (x11,x12,...,x1n,x21,...,x2n,...xmn). C‘est-à-dire que l‘on déroule la


matrice xij suivant les lignes. On fait de même pour c =
(c11,...,c1n,c21,...,cmn). Il y a nm variables et n + m contraintes. Le vecteur d
correspond à d = (a1,a2,...,am,b1,b2,...,bn).
La somme des n premières lignes donne

L1 + L2 + ··· + Ln = (1,1,...,1).
Aussi, aa somme des lignes n + 1 à n + m donne

Ln+1 + Ln+2 + ··· + Ln+m = (1,1,...,1).


Si on combine ces deux résultats, on obtient

L1 + L2 + ··· + Ln − Ln+1 − Ln+2 − ··· − Ln+m = 0


Ceci implique que
rg(A) < m + n.

Proposition 6.1.1On a les propriétés suivantes pour la matrice A.

• Chaque colonne contient exactement deux entrées non nulles et qui


sont égales à 1.

• Le rang de A est égal à m + n − 1.

• Chacune des lignes est une combinaisons linéaire des autres lignes.

• Il y a toujours une ligne de trop que l’on peut éliminer.

• Il y a exactement m + n − 1 variables de base réalisables.


88
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Donnons une idée de la preuve que le rang de A est m+n−1. En
renumérotant si nécessaire, il suffit de montrer que les lignes
L2,L3,...,Lm+n sont linéairement indépendantes. Pour cela, posons
α2L2 + α3L3 + ··· + αm+nLm+n = 0.
A cause de la structure particulière de la matrice, ceci implique
immédiatement que

αm+1 = αm+2 = ··· = αm+n = 0.

Par la suite, on aura les relations

α2 + αm+1 = 0 =⇒ α2 =
0, α3 + αm+1 = 0 =⇒ α3
= 0,
...
αm + αm+1 = 0 =⇒ αm = 0.

5.3. Dual du problème de transport


Un problème de transport est de la forme

minz = Xcijxij = ctx


i,j
5.4. DUAL DU PROBLÈME DE TRANSPORT

sous les contraintes


∀i = 1,2,...,m ⇐⇒ A1x =
a
∀j = 1,2,...,n ⇐⇒ A2x =
b
xij ≥ 0 ⇐⇒ x ≥ 0

min z = ctx
89
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Sous forme compact, ceci


s‘écrit
A1 a

x ≥ 0.

Le dual est

C‘est-à-dire avec u = u+ − u− et v = v+ − v− , on obtient

max z = atu + btv


At1u + At2v ≤ c
u,v libres

Or

Supposons que x soit la solution optimale du problème. Selon les


conditions KKT, on a

On a les relations
ui + vj = cij ∀xi,j > 0
90
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Si x est solution de base non dégénéré, on a bien la décomposition ui + vj
= cij pour les indices des variables de base.
5.5. Méthode du simplexe appliquée au problème de transport
Voici la démarche qui sera utilisée :

a) Trouver une solution réalisable de base.

b) Comment passer à une autre solution de base adjacente.

c) Déterminer si la solution est optimale.

5.6. Détermination d’une solution réalisable de base


A. Méthode du coin nord-ouest
Démarche :
a) On débute par la case (1,1) (coin nord-ouest). Allouer à cette
case la quantité la plus grande possible afin de satisfaire la
demande j ou bien d‘épuiser la source i.
b) Si la source i est épuisée, rayer la ligne i. Si la demande j est
satisfaite, rayer la colonne j.
c) On recommence l‘étape (a) à partir de la sous-matrice.

Par exemple :

D1 D2 D3 D4 Offre
S1 400 50 450
S2 400 50 450
S3 500 250 750
Demande 400 450 550 250
Les variables de base sont
x11,x12,x22,x23,x33,x34
91
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
pour un total de 6 = m + n − 1 variables car m = 3 et n = 4. Le coût
associé à cette solution est z = 480,900. En terme de graphe, on obtient la
représentation.







qui est un arbre partiel générateur du graphe biparti (non orienté) associé
au problème de transport. Ce qui montre bien que x est une solution de
base.

Remarque 6.3.1
— méthode facile,
— ne tient pas compte des coûts de
transport, — loin de la solution
optimale, — la moins efficace
92
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
B. Méthode de l‘entrée minimale
Démarche :
a) Choisir la case (i,j) de coût minimal. Allouer à cette case la
quantité la plus grande possible afin de satisfaire la demande j
ou bien d‘épuiser la source i.
b) Si la source i est épuisée, rayer la ligne i. Si la demande j est
satisfaite, rayer la colonne j.
c) On recommence l‘étape (a) à partir de la sous-matrice.
Par exemple :

D1 D2 D3 D4 Offre
S1 450 450
S2 450 450
S3 400 100 250 750
Demande 400 450 550 250
Les variables de base sont
x12,x23,x31,x33,x34
avec un total de 5 < 6 = m + n − 1 variables de base. Donc la
solution de base est dégénérée. Le coût associé à cette solution est
z = 407,700. Ceci est mieux que la solution du coin nord-ouest. En
terme de graphe, on obtient la représentation •






93
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
qui est un arbre partiel générateur du graphe biparti (non orienté) associé
au problème de transport. Toutefois, ce sous-graphe n‘est pas connexe. Il
faut lui ajouter une arête, par exemple celle associée à la variable x22. Ce
qui montre bien que x est une solution de base.
5.7. Passage à une solution de base adjacente
Nous allons utiliser la technique des coûts duaux telle que présentée à la
section 6.2. Etant donné une solution de base x, la méthode consiste à
déterminer une décomposition des coefficients cij (les coûts de transport)
de la forme

cij = ui + vj

pour les indices correspondants à ceux de la solution de base.

Il y a m + n − 1 équations pour m + n inconnues. Dans la pratique, on


pose u1 = 0 et on résoud pour les autres variables.
Reprenons notre exemple du début. Pour chaque case, on affiche le
coefficient cij qui est sont encadré et la solution de base. La case est vide
si la variable est hors-base. Démarrons avec la solution fournie par la
méthode du coin nord-ouest.

400 147 50 121 344 552 450

241 400 153 50 102 312 450

451 364 500 557 250 285 750

400 450 550 250 1650


94
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

On évalue les coûts duaux cij = ui + vj de la manière suivante

c11 = u1 + v1 ⇐⇒ 147 = 0 + v1 =⇒ v1 =

147, c12 = u1 + v2 ⇐⇒ 121 = 0 + v2 =⇒

v2 = 121, c22 = u2 + v2 ⇐⇒ 153 = u2 +

121 =⇒ u2 = 32, c23 = u2 + v3 ⇐⇒ 102

= 32 + v3 =⇒ v3 = 70, c33 = u3 + v3 ⇐⇒

557 = u3 + 70 =⇒ u3 = 487, c34 = u3 + v4

⇐⇒ 285 = 487 + v4 =⇒ v4 = −202.

Il est pratique d‘ajouter ces informations dans le tableau

400 147 50 121 344 552 450 u1 =


0

241 400 153 50 102 312 450 u2 =


32

451 364 500 557 250 285 750 u3 =


487

400 450 550 250 1650


v1 = v2 = v3 = 70 v4 =
147 121 −202
95
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Faisons entrer la variable x32 dans la base. Il faudra identifier la variable
qui sortira de la base et calculer la valeur de cette variable x32 = θ.

D1 D2 D3 D4
S1 400 50 450
S2 400
50 450
−θ

S3 θ
500 250 750
−θ
400 450 550 250
Le choix de θ doit respecter la contrainte de positivité

400 − θ ≥ 0 θ ≥ 0

=⇒ 400 ≥ θ
500 − θ ≥ 0

50 + θ ≥ 0

Si on choisit θ = 400, la case (2,2) devient nulle et donc la variable x22


sort de la base. La nouvelle solution de base est

D1 D2 D3 D4
S1 400 50 450
S2 450 450
S3 400 100 250 750
400 450 550 250
96
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Nous allons évaluer de combien la fonction objective z a changé par
unité de θ. Pour cela, on suit le cycle
(3,2) → (3,3) → (2,3) → (2,2)
Suivant ce trajet, la variation s‘écrit
∆z = c32 − c33 + c23 − c22
c − (u3 + v3) + (u2 + v3) − (u2
= 32
+ v2)
= c32 − u3 − v2
Dans notre exemple, ceci correspond à ∆z = c32 − u3 − v2 = 364 − 487 −
121 = −244. Par conséquent, il est profitable de faire entrer dans la base
la variable x32 car la valeur de z diminue.
Démarche :
a) A une solution de base donnée, évaluer les coûts duaux ui + vj = cij.
b) Pour toutes les cases hors-base, évaluer la quantité ∆z = cij − ui − vj.
c) La solution de base sera optimale si tous les ∆z ≥ 0.
d) Sinon, choisir la case qui minimise la valeur de ∆z < 0 et
recommencer le processus.
Appliquons cette démarche à partir de la la solution fournie par la
méthode du coin nordouest. Nous avons déjà calculer les coûts duaux. Il
suffit d‘ajouter le valeurs (entre parenthèse) ∆z = cij − ui − vj pour les
cases hors-base.
97
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

400 147 50 121 (274) 344 (754) 552 450 u1 =


0

(62) 241 400 153 50 102 (482) 312 450 u2 =


32

(−183) 451 (−244) 3 64 500 557 250 285 750 u3 =


487

400 450 550 250 1650


v1 = 147 v2 = 121 v3 = 70 v4 =
−202
Suivant cette approche, c‘est bien la case (3,2) qui diminuer le plus
rapidement la fonction objective z. Autrement dit, la solution de base
calculée avec la valeur de θ = 400 est bien celle fournie par l‘algorithme.
Poursuivons les calculs à partir de cette étape. On doit mettre à jour les
coûts duaux avec la nouvelle base. On obtient le tableau qui montre qu‘il
est optimal. Donc la solution optimale sera avec z = 383,300 comme
valeur minimale.
98
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

400 147 50 121 (+) 344 (+) 552 450 u1 = 0

(+) 241 (+) 153 450 102 (+) 312 450 u2 =


−212

(+) 451 400 364 100 557 250 285 750 u3 =


243

400 450 550 250 1650


v1 = v2 = v3 = v4 = 42
147 121 314

D1 D2 D3 D4
S1 400 50 450
S2 450 450
S3 400 100 250 750
400 450 550 250
Exemple 6.3.1 Considérons le problème de transport suivant les
notations adoptées précédemment

D1 D2 D3
S1 8 10 6 100
99
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S2 7 4 9 80

S3 13 12 8 45

90 60 75 225
a) On démarre avec la solution du coin nord-ouest et on évalue les
coûts duaux.

D1 D2 D3
S1 90 8 10 10 (−9) 6 100 u1 = 0

S2 (5) 7 50 4 30 9 80 u2 =
−6

S3 (12) 13 (9) 12 45 8 45 u3 =
−7

90 60 75 225
v1 = 8 v2 = v3 =
10 15
b) La case (1,3) entre dans la base. On doit trouver celle qui quitte.

D1 D2 D3
S1 90 10 θ 100
−θ
S2 50 30 80
+θ −θ
100
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S3 45 45
90 60 75 225

Donc θ = 10 ce qui conduit à la solution de base

D1 D2 D3
S1 90 10 100
S2 60 20 80
S3 45 45
90 60 75 225
Les coûts duaux

D1 D2 D3
S1 90 8 (9) 10 10 6 100 u1 =
0

S2 (−4) 7 60 4 20 9 80 u2 =
3

S3 (2) 13 (8) 12 45 8 45 u3 =
3

90 60 75 225
v1 = 8 v2 = 1 v3 =
6
101
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
c) La case (2,1) entre dans la base. On doit trouver celle qui quitte.
D1 D2 D3
S1 90 10 100
−θ +θ
S2 θ 60 20 80
−θ
S3 45 45
90 60 75 225
Donc θ = 20 ce qui conduit à la solution de base

D1 D2 D3
S1 70 30 100
S2 20 60 80
S3 45 45
90 60 75 225
Les coûts duaux

D1 D2 D3
S1 70 8 (+) 10 30 6 100 u1 = 0

S2 20 7 60 4 (+) 9 80 u2 =
−1

S3 (+) 13 (+) 12 45 8 45 u3 = 2
102
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
90 60 75 225
v1 = 8 v2 = 5 v3 =
6
Ce tableau est optimal et la valeur de z = 1480.
103
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
5.8. AUTRES TYPES DE PROBLÈMES DE
TRANSPORT

5.8.1. Autres types de problèmes de transport


5.8.2. Cas où l’offre dépasse la demande
Il s‘agit du cas :
minz = Xcijxij
i,j
104
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
sous
les

contra
ntes
Off
re :

Demande :
Positivité :

avec l‘hypothèse que l‘offre dépasse la demande.


Dans ce cas, il suffit d‘ajouter une destination fictive et de
ramener le problème au cas traité précédemment. On notera
par D0 la nouvelle destination fictive. L‘idé est d‘envoyer
toute le surplus des sources à D0. Ainsi on écrit

∀i = 1,2,...,m.

avec xi0 ≥ 0 qui représente le surplus de la source i.

Il reste à préciser le choix de b0


105
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Par construction, on aura bien


Mn
X X ai = bj. i=1 j=0
On choisit évidemment ci0 = 0 car la destination est fictive.
5.8.3. Problème d’affectation
Il s‘agit de la classe de problèmes qui traite des questions
d‘affectation de tâches parmi un groupe d‘individus. On
supposera qu‘il y a autant de personnes que de tâches à
distribuer. D‘autre variantes sont aussi possibles.
Ce problème peut s‘écrire sous la forme d‘un problème de
transport. On introduit les notations suivantes :
cij = le coût de formation, la préférence,
l‘expertise, etc

si la personne i est
assignée à la tâche j
sinon

Par conséquent, il s‘agira de minimiser (ou de maximiser) la


fonction objective

z = Xcijxij
106
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
i,j

sous les contraintes

• On alloue une seule tâche à une


personne : ∀i = 1,2,...,n,

• Toutes les tâches sont distribuées : ∀j = 1,2,...,n,


• xij = 0 ou 1.
On notera que la condition est respectée car

.
Fort heureusement, nous n‘avons pas besoin de résoudre ce
problème en exigeant que les variables soient entières. Ceci
résulte du théorème fondamental des problèmes de
transport.
107
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
CHAPITRE 6 : FILE D’ATTENTE
6.1. Introduction
Simuler un système stochastique consiste à imiter son
comportement pour estimer sa performance Un modèle de
simulation est une représentation du système stochastique
permettant de générer un grand nombre d‘événements
aléatoires et d‘en tirer des observations statistiques.
Exemple 61 (Jeu de hasard). Chaque partie consiste à tirer
une pièce de monnaie jusqu’à ce que la différence entre le
nombre de faces et le nombre de piles soit égale à 3.
Chaque tirage coûte 1$, et chaque partie jouée rapporte 8$
au joueur. Nous aurons par exemple les jeux
– FFF: gain de 8$-3$=5$;
– PFPPP: gain de 8$-5$=3$;
– PFFPFPFPPPP: perte de 8$-11$=3$.
Nous nous demandons par conséquent s’il est intéressant de
jouer. Pour répondre à cette question, nous allons simuler
le jeu. Il y a deux façons de le faire:
– nous pouvons jouer pendant un certain temps sans
miser d’argent; – nous pouvons simuler le jeu par
ordinateur.
Néanmoins, simuler une seule partie ne nous aide pas à
prendre une décision. Pour cela, il faudrait voir ce qui se
passe sur un grand nombre de parties et mesurer le gain
moyen (ou la perte moyenne).
108
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Dans cet exemple, nous pouvons définir les
éléments d’un modèle de simulation comme
suit système stochastique : tirages successifs;
horloge : nombre de tirages;
définition de l‘état du système : N(t), le nombre de
faces moins le nombre de piles après t tirages;
événements modifiant l‘état du système : tirage de
pile ou de face; méthode de génération
d‘événements : génération d’un nombre aléatoire
uniforme; formule de changement d‘état : N(t + 1) =
N(t) + 1, si F est tirée; N(t) − 1, si P est tirée;
performance : 8 − t, lorsque N(t) atteint +3 ou -3.

6.2. Concepts de base


Un système de file d‘attente consiste d‘un ou de plusieurs
serveurs qui fournissent un service d‘une certaine nature à
des clients qui se présentent, et qui sont issus d‘une
population donnée. Les clients qui arrivent et trouvent tous
les serveurs occupés rejoindront (généralement) une ou
plusieurs files (ou lignes) devant les serveurs, d‘où la
qualification de file d‘attente. Quelques exemples de files
d‘attente sont repris dans la Table 8.1. Le système de file
d‘attente est caractérisé par trois composants :
109
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
1. le processus d‘arrivée ;

système Serveurs Clients

Banque Guichets Clients


Hôpital Docteurs, infirmiéres, lits Patients
Système informatiqueUnités centrales, dispositifs
I/O Travaux
Manufacture Machines, travailleurs
Composants
Centre d‘appel Serveurs Appels entr

Table 8.1 – Exemples de files d‘attente

2. le mécanisme de service;
3. la discipline de file.

Spécifier le processus d‘arrivée pour un système de


file d‘attente revient à décrire comment les clients arrivent
dans le système. Soit Ai le temps d‘inter-arrivées entre les
arrivées des (i − 1)e et ie clients. Si A1, A2,..., sont supposés
être des variables i.i.d., nous dénoterons le temps
d‘interarrivée moyen (ou espéré) par E[A] et appellerons λ =
1/E[A] le taux d‘arrivée des clients.
Le mécanisme de service pour un système de file
d‘attente est articulé en spécifiant le nombre de serveurs
(dénoté par s), où chaque serveur a sa propre file ou au
110
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
contraire une seule file alimente tous les serveurs, et la
distribution de probabilité des temps de service des clients.
Soit Si le temps de service du ie client. Si S1, S2,..., sont des
variables aléatoires i.i.d., nous dénoterons le temps de
service moyen d‘un client par E[S] et appelleront ω = 1/E[S]
le taux de service d‘un serveur.
Nous parlerons de situation transitoire lorsque l‘état
du système dépend grandement de la situation initiale et du
temps écoulé, et de situation d‘équilibre lorsque l‘état du
système peut être considéré indépendant de la situation
initiale et du temps écoulé. En situation d‘équilibre, nous
avons la formule de Little:
L = λW,
où L est le nombre moyen de clients dans le système, λ, le
taux moyen d‘arrivée des nouveaux clients, et W le temps
moyen dans le système.

6.3. Modèle M/M/1


Il s‘agit du modèle de file d‘attente le
plus courant, avec les caractéristiques
suivantes: – file d‘attente: nombre infini
de clients;
– stratégie de service: premier arrivé, premier servi
(FIFO);
– un seul serveur;
– les taux d‘arrivée et de service obéissent à des lois de
Poisson. De manière équivalente, le temps entre
111
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
l‘arrivée de deux clients successifs et le temps de
service obéissent à des lois exponentielles: on parle de
processus Markoviens.
La notation générale pour les modèles de file d‘attente est
X/Y/s, où X représente la loi du temps d‘interarrivée, Y est la
loi du temps de service, et s donne le nombre de serveurs.
Exemple 62 (File d‘attente M/M/1). En situation
d’équilibre, plusieurs résultats analytiques (obtenus par
analyse du modèle mathématique) existent. Soit λ le taux
moyen d’arrivée et µ le taux moyen de service. Supposons
que λ < µ Le nombre moyen de clients dans le système vaut

.
Le temps moyen d’attente dans le système vaut quant à lui

.
Il est aisé de vérifier ces résultats par simulation. Dans le
cas présent, les éléments de la simulation sont:

6.4. FILES D’ATTENTE

système stochastique
: file d’attente
M/M/1; horloge :
temps écoulé;
112
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
définition de l‘état du système : N(t), le nombre
de clients dans le système au temps t;
événements modifiant l‘état du système :
arrivée ou fin de service d’un client; formule de
changement d‘état : N(t + 1) = N(t) + 1, si
arrivée; N(t) − 1, si fin de service.
Nous allons voir deux méthodes pour
étudier l’évolution du système dans
le temps: – par intervalles de temps
fixe; – par génération d’événement.
Nous supposerons que les valeurs des paramètres de notre
système sont λ = 3 clients par heure, et µ = 5 clients par
heure.
Dans le cas d’intervalles de temps fixe, l’idée est
1. faire écouler le temps d’un petit intervalle ∆t;

2. mettre à jour le système en déterminant les événements


qui ont pu se produire durant l’intervalle ∆t, et
recueillir l’information sur la performance du système;
3. retourner en 1.

Ici, les événements sont soit des arrivées, soit des départs
(fins de service). Si ∆t est suffisamment petit, nous pouvons
considérer qu’il ne se produira qu’un seul événement
(arrivée ou départ) durant cet intervalle de temps.
Prenons ∆t égal à 0.1 heure (6 minutes). La probabilité
qu’il y ait une arrivée durant cet intervalle de temps vaut:
113
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
PA = 1 − e−λ∆t = 1 − e−3/10 ≈ 0.259.
La probabilité qu’il y ait un départ durant cet intervalle de
temps est:
PD = 1 − e−µ∆t = 1 − e−5/10 ≈ 0.393.

Pour générer un événement, nous pouvons simplement tirer


deux nombres aléatoires selon une loi U[0,1]. Si le premier
nombre est strictement plus petit que 0.259, nous aurons
une arrivée. Si le deuxième nombre est strictement inférieur
à 0.393, nous considérerons un départ (si un client était en
cours de service). Ceci pourrait par exemple donner les
chiffres de la Table 8.2.
t N(t) Nombre Arrivée Nombre Départ
(min) 1 2
0 0
6 1 0.096 Oui -
12 1 0.569 Non 0.665 Non
18 1 0.764 Non 0.842 Non
24 1 0.492 Non 0.224 Oui
30 0 0.950 Non -
36 0 0.610 Non -
42 1 0.145 Oui -
48 1 0.484 Non 0.552 Non
54 1 0.350 Non 0.590 Non
60 0 0.430 Non 0.041 Oui
Table 8.2 – Simulation par intervalles de temps fixe.
114
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
D’après cet exemple, il est possible d’estimer les
performances du système. Que se passe-t-il si nous voulons
mesurer W, le temps moyen passé dans le système? Nous
avons deux clients qui sont entrés dans le système et chacun
y est resté 18 minutes ou 0.3 heures, aussi peut-on estimer
W par 0.3. Pourtant, la vraie valeur est W = 1/(µ−λ) = 0.5.
Il faudrait un échantillon beaucoup plus grand, et ce
d’autant plus que nous devrions simuler le système en état
d’équilibre.
La génération d’événement peut se résumer comme suit:
1. faire écouler le temps jusqu’au prochain événement;

2. mettre à jour le système en fonction de l’événement qui


vient de se produire et générer aléatoirement le temps
jusqu’au prochain événement; recueillir l’information
sur la performance du système;
3. retourner à 1.

Nous pourrions ainsi obtenir la suite d’événements reprise


dans la Table 8.3.
t (min) N(T) Temps Temps Prochaine Prochain Prochain
d‘interarrivée de arrivée Départ événement
service
0 0 2.019 - 2.019 - Arrivée
2.019 1 16.833 13.123 18.852 15.142 Départ
15.142 0 - - 18.852 - Arrivée
18.852 1 28.878 22.142 47.730 40.994 Départ
40.994 0 - - 47.730 - Arrivée
47.730 1
Table 8.3 – Simulation par événements.
115
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Si nous considérons une simulation comportant l’arrivée
de 10000 clients, les résultats montrent que:
– le nombre moyens de
clients dans le système
est L ≈ 1.5; – le temps
moyen dans le système
est W ≈ 0.5.
Remarque: des résultats analytiques existent pour des
modèles simples (comme M/M/1), mais pas pour des files
d’attente plus complexes.

6.5. Simulation à événements discrets


L‘approche s‘est imposée dans nombre de problèmes de
simulations. Le principe général est résumé dans
l‘ordinogramme de la Figure 8.1.

6.6. Notes
Ce chapitre se base essentiellement sur les notes de cours
de Bernard Gendron, 2007. Pour plus de détails sur la
simulation à événements discrets, nous renvoyons le lecteur
aux notes du cours IFT3245, du même auteur: .
116
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

CHAPITRE 7 : GESTION DE STOCK

Les politiques de gestion de stock visent à répondre


aux deux grandes questions :
1. Quand déclencher l‘approvisionnement du stock? La
réponse à cette question est différente suivant la politique
de gestion adoptée :
En gestion de stock par point de commande,
l‘approvisionnement du stock est déclenché lorsque l‘on
observe que le stock descend en dessous d‘un niveau s, le
point de commande.
En gestion calendaire, l‘approvisionnement du stock
est déclenché à intervalles réguliers T, par exemple, chaque
jour ou chaque semaine.
En gestion calendaire conditionnelle,
l‘approvisionnement du stock est déclenché à intervalles
réguliers T, mais uniquement lorsque l‘on observe que le
stock descend en dessous d‘un niveau s, le point de
commande.
117
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
2. Combien commander ? La réponse à la question
”Combien ?” dépend également du type de gestion de
stock appliquée :
En cas de gestion par point de commande, on
commande une quantité fixe notée q et appelée quantité
économique de commande. Comme nous le verrons sa
détermination résulte d‘un calcul d‘optimisation.
En cas de gestion calendaire de stock, la quantité
commandée est égale à la différence entre le stock résiduel
observé R et S, le niveau de recomplètement du stock.

Nous allons nous attacher à une politique particulière :

La politique de gestion par point de commande,


quantité économique de commande, notée (q, s) avec
q, la quantité économique à commander régulièrement et
s, le point de commande qui déclenche
l‘approvisionnement du stock.

7.1. Les coûts associés aux stocks


Un stock est constitué pour satisfaire une
demande future. En cas de demande aléatoire, il peut y
avoir non-coïncidence entre la demande et le stock.
Deux cas sont évidemment possibles : une demande
supérieure au stock : on parle alors de rupture de
118
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
stock; une demande inférieure au stock : on aura alors
un stock résiduel.
Le critère de gestion généralement retenu en gestion
des stocks est celui de la minimisation des coûts. Nous
noterons cette fonction par la lettre C, suivie, entre
parenthèses, de la ou des variables de commande du
système.
Par exemple, si la variable de commande est la
quantité commandée, nous noterons l‘objectif C(q). Ces
variables de commandes déterminent en général trois
variables d‘état du système :
Ir, la rupture moyenne, c‘est-à-dire le nombre moyen de
demandes non satisfaites au cours d‘une période, auquel est
associé un coût unitaire de rupture, noté cr;
Ip, le stock moyen possédé au cours d‘une période, auquel
est associé un coût unitaire de possession, cp;
Ic, le nombre moyen de commandes passées au cours
d‘une période, auquel est associé un coût unitaire de
commande, cc.
La fonction de coût s‘écrit donc en général comme une
fonction de ces trois variables d‘état :
C = crIr + cpIp + ccIc.
119
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Nous allons examiner un peu plus en détails chacun des
trois coûts partiels.

7.2. Les coûts de possession


Les coûts de possession comprennent :
1. les coûts de détention d‘un article en stock durant une
certaine période en fonction des conditions financières
d‘acquisition et des éventuelles conditions de reprise.
2. les coûts de stockage qui sont les dépenses de
logistique, de conservation du stock.
Comme signalé plus haut, en présence d‘une demande
aléatoire, il peut y avoir non-coïncidence du stock et de la
demande, et donc une rupture ou un stock résiduel. Les
conséquences de ce stock résiduel seront bien différentes
selon que l‘on se trouve dans le cas du stock à rotation
nulle, c‘est-à-dire lorsque le stock résiduel est sans utilité
pour l‘entreprise. Ceci se présente notamment :
– en cas d’obsolescence technique ou commerciale : par
exemple, les vêtements de modes,. . .
– dans le cas où la consommation a un délai maximum :
par exemple, les imprimeurs, les journaux,.
Dans ce cas, le coût de possession d‘un article se calcule
comme le coût d’acquisition d’un article moins la valeur de
récupération (solde). Prenons un exemple. Un quotidien
120
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
acheté 500 Frs par le libraire et dont l‘invendu est repris
300 Frs par le grossiste : le coût de possession est de 500 -
300 = 200 Frs

le cas du stock à rotation non nulle, c‘est-`a-dire lorsque


l‘invendu peut être vendu à une période ultérieure. C‘est
l‘exemple des boites de conserves en épicerie non vendues
une période qui le seront aux périodes suivantes. Dans ce
cas, le coût de possession lié à l‘immobilisation du capital.
En gelant la somme d‘argent correspondant au coût d‘achat
de l‘article invendu, la société se prive du revenu d‘un
placement financier qu‘elle aurait pu réaliser.
Ce coût est appelé coût d’opportunité.
Le taux d’opportunité est la rentabilité du meilleur
investissement que l‘entreprise aurait pu faire.
Prenons un exemple. Si le taux d‘opportunité est de 6 %
l‘an, une boite de conserve achetée 120 FR et restant en
rayon un mois entier a coûté 120 x 6 % x 1/12 = 0,6 FR
L‘autre partie du coût de possession concerne les coûts de
stockage. Ces coûts de stockage, comprennent, en général
des frais fixes, tels que le coût de location d‘entrepôts, ainsi
que des frais variables, tels que le coût de manutention. Le
coût unitaire de stockage que l‘on doit prendre en
121
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
considération dans la fonction objectif est le coût moyen de
l‘ensemble de ces frais. Malheureusement, ce coût moyen
dépend du volume d‘activité et ne peut donc pas être
considéré comme une constante. Cette difficulté fait que
souvent on n’inclut pas de coût de stockage
dans le coût de possession et le coût de possession se
réduit donc au seul coût d‘immobilisation du capital.
3.3.2 Les coûts de rupture
La rupture se présente lorsque la demande excède le stock
constitué au cours de la période. Les conséquences de
cette rupture sont différentes selon que la demande est
interne ou externe.
En cas de demande externe, la demande non satisfaite
peut être perdue (on parle de ventes manquées) ou reportée
(on parle de ventes différées) : - Dans le cas de ventes
manquées, le coût de rupture est le manque à gagner de
la non fourniture d‘une unité, généralement la marge
bénéficiaire sur cet article.
Prenons un exemple. Un journal acheté 90 FR par le libraire
et revendu 120 FR a un coût de rupture de 120 - 90 = 30
FR.
- En cas de ventes différés, le coût de rupture n‘inclut pas
la marge car la vente sera réalisée plus tard. Ce coût de
rupture est le coût administratif d‘ouverture d‘un dossier et
122
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
éventuellement un coût commercial (on fait une ristourne
pour ne pas perdre le client).
Prenons un exemple. Un garagiste qui n‘a plus de stock le
véhicule désiré par son client va lui proposer une voiture de
location gratuite durant le délai d‘attente pour ne pas perdre
le client. Le coût de rupture correspond ici à la prise en
charge par le garage de la location de la voiture.
En cas de demande interne, on ne parle plus de stock de
distribution mais bien de stock de fabrication. Dans ce cas,
la rupture entraîne un chômage technique des postes en
aval. Le coût de rupture correspond au coût financier du
chômage technique.

7.3. Les coûts de commande


A nouveau, il faut ici distinguer le cas d‘une demande
interne et celui d‘une demande externe :
- En cas de stock de fabrication, le coût de commande
est le coût de lancement de la production. Il s‘agit du
réglage des machines, etc . . .
Normalement, ce coût est indépendant de la quantité
fabriquée.
- En cas de stock d’approvisionnement, le coût de
commande est le coût administratif de gestion de la
commande : établissement d‘un bordereau, contrôle de
123
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
livraison, liquidation comptable,. . . . Normalement, ce coût
est également indépendant de la quantité commandée.
7.4. Introduction
La gestion calendaire se caractérise par :
- des commandes à intervalles fixes dont la périodicité est
notée T;
- un niveau de commande variable : qui vaut la différence
entre S, le niveau de recomplètement et R, le stock
résiduel.
La gestion par point de commande se caractérise, elle,
au contraire par : - un montant de commande constant :
cette quantité économique de commande sera notée q;
- une périodicité de commande variable (lorsqu’on est en
univers aléatoire) : on commande lorsque le stock passe
en dessous du point de commande, s.
On examinera successivement les deux cas de figures que
sont :

1.La gestion (q, s) en univers certain.


Comme, dans ce cas, la demande est certaine, on
commande avant rupture de stock et il n‘y a pas de coût
de rupture. La variable de décision q, la valeur constante
de la commande, sera déterminée de manière à minimiser
le coût de gestion qui ne comprend que deux termes : C(q)
= ccIc(q) + cpIp(q)
124
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
2. La gestion (q, s) en univers incertain.
Dans ce cas, le coût de rupture intervient aussi. Les
variables de décision que sont q, le montant des
commandes et s, le point de commande seront déterminés
de manière à minimiser le coût de gestion qui comprend
trois termes :
C(q, s) = ccIc(q, s) + cpIp(q, s) + crIr(q, s)
7.5. Détermination du point de commande
Nous allons illustrer la détermination de la quantité
économique de commande en univers certain sur un
exemple. Il s‘agit d‘un ustensile de cuisine acheté par un
supermarché au prix unitaire de 30 F. Les ventes annuelles,
que nous noterons D sont estimées à 2 400 unités. Cette
demande est considérée comme uniforme sur l’année :
c‘est-à-dire qu‘elle ne subit pas de variations saisonnières.
Vu le caractère certain de la demande et du délai
d‘obtention (ici de 20 jours ouvrables), on peut éviter toute
rupture d‘approvisionnement en passant commande à
temps. On considère que l‘année comporte 48 semaines de
6 jours ouvrables, soit 288 jours. Le coût de passation d‘une
commande de 300 F et est indépendant de la quantité
commandée. L‘article est vendu 40 F l‘unité.
La question qui se pose ici est : ―Quand commander ?‖
125
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Avant de minimiser le stock possédé, le chef de rayon a
intérêt à passer commande exactement 20 jours ouvrables
avant la rupture (voir figure 4.1) de manière à ce que le
stock soit nul au moment de la livraison. Il évitera ainsi un
stock dormant.
Remarquez que cela revient à déclencher la commande au
moment ou il reste exactement en stock de quoi satisfaire
la demande de 20 jours. Comme le délai d‘obtention est de
20 jours ouvrables, c‘est-à-dire :

la demande durant cette période s‘élève à :

que l‘on arrondi au point de


commande s = 167.

En général, le point de commande est tel que s = DL


(4.1) avec D = demande annuelle; L = délai d‘obtention
exprimé en année.
126
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Figure 4.1: Point de commande

7.6. Détermination de la quantité économique de


commande
Le coût de possession annuel unitaire peut être calculé en
tenant compte du taux d‘opportunité annuel ici supposé de
20 % comme : 30 x 0,2 = 6 F. La question qui se pose est
la suivante : Quelle est la quantité q constante à
commander périodiquement pour que le coût annuel
moyen soit minimum ? Avant de déterminer la quantité
optimale, raisonnons sur une valeur quelconque de q, par
exemple, q = 400. En cas de demande uniforme sur
l‘année, on doit passer commande tous les

c‘est-à-dire tous les deux mois. La période économique de


commande est donc :
127
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Le nombre moyen de commandes par an vaut :

D‘où le coût de commande :

Passons maintenant au calcul du stock moyen


possédé. Pour minimiser le coût de possession, on passe
commande de manière à ce que le stock soit nul au moment
où arrivent les nouveaux articles. Le stock varie donc entre
400 et 0. Le stock moyen possédé vaut donc :

Le coût annuel de possession vaut donc :

D‘o`u le coût annuel de gestion :

Nous pouvons maintenant faire une modélisation du


problème pour une quantité commandée quelconque q. On
cherche donc à déterminer la valeur de la seule variable de
décision, c‘est-a-dire q, la commande périodique, qui
128
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
minimise le coût de gestion qui ne comprend que deux
termes : C(q) = cpIp(q) + ccIc(q)

On peut généraliser les calculs de l‘exemple ci-


dessus. On obtient : C(q) = cpIp(q) + ccIc(q)

Il est facile de calculer l’optimum d‘une telle fonction. Il


suffit d‘annuler sa dérivée première :

D‘o`u le point optimum :

Cette quantité est appelée quantité de Wilson. Vérifions


qu‘il s‘agit bien d‘un minimum en calculant la dérivée
seconde :

Remarquez qu‘au point optimum, on a égalité des coûts de


commande et de possession. En effet :
129
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Appliquons ceci à l‘exemple numérique. La quantité


économique de commande vaut donc :

D‘où la durée optimale de consommation :

Examinons les conséquences de la politique optimale. Le


stock moyen détenu vaudra :

Et le nombre moyen annuel de commandes vaudra :

De ces deux quantités, on déduit le coût


annuel de gestion : C(q*) = cpIp(q*) +
ccIc(q*)
130
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

On peut en déduire la marge bénéficiaire nette par la


formule :
B(q*)
= muD
- C(q*)
= 10 x
2.400 -
2939,
39 =
21.060,
61 F.

7.7. Cas d’une demande aléatoire


Rappelons les hypothèses de base de la gestion par point de
commande en univers certain :
- On a une demande certaine uniformément répartie sur
l‘année; - On a un délai de livraison certain.
Nous allons généraliser ce modèle de la manière suivante :
- On suppose que la demande est connue en
probabilité mais reste statique, c‘est-à-dire que les
caractéristiques de la distribution restent stables dans le
temps.
131
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
- Nous maintenons l‘hypothèse d‘un délai d’obtention
certain. Ce qui est le plus souvent le cas.
Nous illustrons ce cas sur l‘exemple introductif, `a savoir la
vente d‘ustensiles de cuisine mais en considérant cette fois
que la demande annuelle suit une normale de moyenne 2
400 et d‘écart type 189,74. Le coût de rupture vaut la marge
qui est ici de 10 F. Le coût de possession annuel reste de 6
F. Le coût unitaire de commande reste de 300 F.
Passons au problème de la détermination de q et s. Tout
d‘abord, remarquons que pendant le délai d‘obtention de 20
jours la demande est aléatoire. Calculons les paramètres de
sa distribution. Tout d‘abord, le délai d‘obtention de 20
jours s‘exprime en fraction d‘année comme :

La demande XL en 20 jours suit une loi Normale

En effet, les paramètres de la demande durant 20 jours se


déduisent des paramètres des ventes annuelles en
132
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
multipliant la moyenne et la variance (et non l’écart type)
par L. Donc, on obtient un écart type de :

7.8. Détermination de q et s
La fonction de coût à minimiser fait intervenir les trois
variables d‘état que sont :
. le nombre moyen de commandes, Ic;
. le stock moyen annuel, Ip;
. la rupture moyenne annuelle, Ir.
C(q, s) = ccIc(q, s) + cpIp(q, s) + crIr(q, s)
Nous allons obtenir une solution approchée au problème en
effectuant une détermination indépendante de s et de q en
se basant sur l‘observation suivante.
Dans l‘expression de C, le nombre moyen de commande
dépend essentiellement de la quantité commandée q
tandis que le nombre moyen de ruptures dépend
essentiellement du point de commande s. On peut donc
récrire cette expression comme : C(q, s) = ccIc(q) +
cpIp(q, s) + crIr(s)
On voit que le terme qui lie le problème en la variable q et
le problème en la variable s est le stock moyen possédé Ip
qui dépend à la fois de q et de s. On va déterminer une
133
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
solution approchée en séparant le problème à deux variables
en deux problèmes à une variable de la manière suivante.
Le principe pour obtenir cette solution approchée est de
résoudre indépendamment les deux problèmes suivant :
1. Déterminer la quantité économique q en arbitrant
entre le coût de commande et le coût de possession à partir
de la demande moyenne.
2. Déterminer le point de commande s en arbitrant
entre le coût de rupture et le coût de possession en utilisant
la gestion calendaire pendant le délai d’obtention L, en
retenant comme s le niveau de recomplètement optimal. Le
problème de la détermination de la quantité économique de
commande n‘est rien d‘autre que le problème étudié en
univers certain si l‘on remplace la demande annuelle
certaine par la demande annuelle moyenne :
D = µ = 2400.
En minimisant le coût de gestion :
C(q) = ccIc(q) + cpIp(q),
par point de commande la solution trouvée dans le cas
certain était de : q = 490.
Le problème de la détermination du stock de sécurité
est quant à lui résolu en prenant pour point de commande s
le niveau de recomplètement S qui minimise le coût d‘une
134
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
gestion calendaire durant le délai d‘obtention L : C(S) =
cpIp(S) + crIr(S)
avec Ir(S), le nombre moyen d‘articles non fournis durant L
et Ip(S), le stock moyen possédé durant L.
En moyenne, on rencontre
le problème de gestion
calendaire : ou encore tous les

Remarquons que le stock moyen possédé Ip(S) correspond à


une immobilisation sur 59 jours et non sur les 20 jours donc
le coût unitaire de possession est de :

En effet, un article encore en stock à l‘issue des 20 jours du


délai d‘obtention augmentera d‘une unité la valeur du stock
durant toute la durée d‘écoulement de la suivante
commande, c‘est-à-dire durant 59 jours. D‘où la fonction
objectif
: C(S) = 6 x 0, 2042Ip(S) + 10Ir(S)
En utilisant la gestion calendaire, on déduit :
135
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

La demande X durant le délai d‘obtention de 20 jours est


une N(167,50). On lit dans la table de la normale N(0,1) :
P(Z > 1, 2) = 0, 115
D‘où

D‘où finalement S* = 227.

7.8. Conséquences économiques du choix


Le stock de sécurité est défini comme différence entre le
niveau de recomplètement et la demande moyenne durant L
et vaut ici :
227 - 167 = 60 articles.
Le nombre moyen de commandes dépend uniquement de
q et se calcule par la formule :

Le nombre moyen de ruptures au cours d‘un cycle, noté


Icr, se calcule par la formule de la gestion calendaire :

Icr (s = 227) = x g(tS = 1, 2) = 50 x 0, 0561 = 2, 81


136
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Or le nombre de cycles est égal au nombre de commandes
Ic(q). Le nombre moyen de ventes manquées par an s‘élève
donc à :
Ir(s) = Ic(q) x Icr (q) = 4, 898 x 2, 81 = 13, 76 articles
Le calcul du stock moyen possédé est plus compliqué car il
dépend à la fois de s et de q. On peut montrer que :
1. en cas de ventes manquées perdues :

Le coût de gestion correspondant vaut :

2. en cas de ventes manquées différées :

où Icr (s) note le nombre moyen de ruptures par cycle


(durant le délai d‘obtention).
Le coût de gestion correspondant vaut :

Dans le cas présent, les ventes manquées sont supposées


perdues pour le supermarché et donc le stock moyen
possédé se calcule par la formule suivante :
137
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

On en déduit le coût de gestion total suivant :

La marge nette moyenne annuelle est obtenue en


soustrayant à la marge bénéficiaire sur la demande moyenne
le coût de gestion annuel :

B(s, q) = muD - C(s, q)


=
2400
0-3
445,
45 =
2055
4, 54

On utilise également un indicateur appelé le taux de


rotation du stock.
138
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Définition 4.1
On définit le taux de rotation du stock comme le quotient
de la demande moyenne sur le stock moyen possédé.
Dans le cas de l‘exemple, il se calcule comme suit :
139
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
CHAPITRE 8. PROBLEME D'AFFECTATION
Le problème d'affectation représente un cas
particulier des modèles de transport dans lequel chaque
ressource disponible est affectée à une et une seule
destination. Ainsi, toutes les disponibilités aux points-
origine (Eqi) et toutes les demandes aux différents points-
des fination (@dj) sont égales à 1.

81. du problème
Le problème d'affectation prend souvent la forme
suivante : on désire exécuter à moindre coût n activités (A)
par n entités (E). Pour chaque activité, chaque entité a
fourni un devis dont les informations sont condensées dans
un tableau des coûts ayant la forme suivante :
140
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Les Cij représentent le coût d'affectation de l'activité i


à l'entité j. Dans la mesure où une entité ne peut réaliser une
et une seule activité et où toutes les activités doivent être
réalisées, quelle est la meilleure affectation de ces activités
aux différentes entités.

8.2. Formulation mathématique du problème


d'affectation
Soit Cij le coût de réalisation de l'activité i par l'entité
j. L'on définit X'ij comme suit :
1, si l'activité est exécuté par
l'entité j xt,j —
O, autrement
Mathématiquement, le problème d'affectation peut être
formulé comme suit :
141
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
La contrainte (1) exprime qu'il n'y a que « 1 » par
colonne ; et la contrainte (2) exprime qu'il n'y a que « 1 »
par ligne.
142
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
7.3. Résolution du problème d'affection
Il existe plusieurs techniques pour la résolution du
problème d'affectation dont la plus populaire et la plus
rapide est la méthode hongroise1(ou l'algorithme de
Kuhn).
Cette méthode tire ses racines d'une propriété
fondamentale de la matrice des coûts dans le problème
d'affectation. Cette propriété stipule que si l'on diminue
(ou augmente) d'une même quantité ô tous les éléments
d'une même ligne (ou d'une même colonne) du tableau
des coûts, le problème d'affectation optimal des
ressources ne change pas.
En particulier, si une certaine activité (Ai) est
moins coûteuse qu'une autre (Ai), elle serait également
moins couteuse si tous les chiffres d'une quelconque
colonne du tableau des coûts étaient réduits de la même
constante wj. De même, si une certaine entité (Ei) est
moins chère qu'une autre (Ei), elle serait également

1
Cette méthode est ainsi appelée en souvenir aux mathématiciens hongrois Egervary et König
qui en ont formalisée.
143
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
moins chère si tous les chiffres d'une quelconque ligne
du tableau étaient réduits de la même constante Vi.
Ainsi, si une constante est déduite de chaque ligne i
du tableau, et une constante wj de chaque colonne j, ce
qui fait apparaître un coût « relatif » — Vi — wj, le
classement de différentes affectations ne sera pas
modifié.
L'application de la méthode hongroise nécessite,
d'abord, la transformation du tableau des coûts de
manière à obtenir une première solution de base
(apparition des zéros). Cette solution est progressivement
améliorée par itérations successives,

Etape 1. Obtention des zéros


La première étape consiste à faire apparaitre des
zéros dans la matrice des coûts en se servant de la
propriété ci-haut évoquée :

 A tous les éléments d'une ligne, on enlève le plus petit


élément de la ligne, on obtient ainsi un tableau
contenant au moins un zéro par Ligne;
144
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
 A partir du tableau obtenu, on enlève le plus petit
élément de la colonne, on obtient un tableau des coûts
relatifs sur lequel l'on se doit d'appliquer le test
d'optimalité.
Etape 2. Test d'optimalité
Le test d'optimalité stipule que le nombre maximum
de contrats pouvant bénéficier simultanément d'un coût
relatif nul est donné par le nombre minimum de lignes
nécessaires pour rayer tous les zéros du tableau des coûts
relatifs.

Ce test est basé sur le théorème de König qui stipule


que « si les d'une matrice sont de deux sortes, ceux
qui possèdent la propriété R et ceux qui ne la possèdent
pas, le nombre minimal de rangées (lignes et colonnes)
contenant tous les de la propriété R est égale au nombre
maximal de propriété R que l'on peut choisir de
manière que deux éléments ne se trouvent pas dans la
même rangée (Ligne ou colonne).
L'application de ce test se fait de la manière suivante
:
145
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
> Encerclons un de zéro des colonnes (ou des lignes)
qui comporte moins de zéros et rayons par un trait
les zéros qui se trouvent sur la même ligne ou la
même colonne que le zéro encerclé ;
> Répéter progressivement l'opération pour les autres
lignes (et colonnes) jusqu'à ce qu'il n'y ait plus de
zéros à encercler.
Le nombre minimum de lignes (celles ayant servies à
rayer les zéros) équivaut au nombre maximum de
confiants pouvant bénéficier simultanément d'un coût
relatif nul.

Etape 3. Réaménagement du tableau et Apparition de


nouveaux zéros
Pour procéder à une affectation plus complète, l'on
soustrait le nombre minimum non rayé de l'ensemble des
cases du tableau, puis l'on ajoute ce nombre à l'ensemble
des chiffres de chaque ligne rayée puis de chaque colonne
rayée. Ceci revient à conserver identiques les chiffres
rayés une fois, et à ajouter ce nombre au chiffres rayés
deux fois.
Si l'optimum n'est pas atteint, la technique consiste à
faire apparaître de nouveaux zéros, par itérations
146
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
successives, jusqu'à ce qu'une affectation à coût relatif nul
puisse être établie. En d'autres termes, la même opération
est reconduite avec le nombre minimum non rayé des
tableaux apparaissant aux itérations suivantes, une
affectation complète étant obtenue lorsque les lignes
nécessaires pour recouvrir tous les zéros est égale à n.
Pour procéder aux affectations, on commence par la
ligne ou colonne n'ayant qu'un seul zéro. Le processus est
reconduit progressivement, en veillant sur les contraintes de
ligne et de colonne Xij = 1), pour les lignes (ou colonnes)
ayant moins de zéros.
L'application de la méthode hongroise est illustrée en
se servant de l'exemple ci-dessous.

74. Exemple d'application de la méthode hongroise


La société GRADEL, spécialisée en travaux publics,
veut sous-traiter les activités de Remblayage (R), et
chaussés (P), Asphaltage (A), Canalisation (C) et
Décoration (D) à cinq sous-traitants. Pour chaque activité,
chaque sous-traitant a fourni un devis dont le coût (en
millions de USD) figure dans le tableau suivant.
Sous-traitants
147
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
I II III IV V
R 14 10 8 5 11
P 8 7 16 10 9
Activités

A 11 5 10 4 12
c 14 10 11
D 8 10 4 16 9
Si l'entreprise veut minimiser le coût total
d'affectation, quelle est la meilleure affectation possible de
ces activités aux sous-traitants ?
Résolution
Nous résolvons cet exercice en prenant comme point
de départ l'apparition des zéros dans les lignes. Le même
exercice sera résolu en considérant aussi l'apparition des
zéros dans les colonnes comme point de départ.

Etape 1. Obtention des zéros


Déduisons de chaque ligne le chiffre minimum qui y
figure : les chiffres minimums des lignes 1 à 5 sont
respectivement 5, 7, 4, 10 et 4. Nous obtenons ainsi le
tableau 5a ci-dessous.
148
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Déduisons, ensuite, de chaque colonne de ce


nouveau tableau le chiffre minimum qui y figure : les
chiffres minimum des colonnes 1 à 5 sont respectivement
1, O, 0, 0 et 2. Nous obtenons ainsi le tableau 5b ci-
dessous.
149
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Le tableau obtenu n'est rien d'autre qu'un tableau des


coûts relatifs sur lequel l'on doit appliquer le test
d'optimalité.
Etape 2. Test d'optimalité
Le test d‘ optimalite stipule que le nombre
maximum de contrats pouvant bénéficié simultanément
d'un coût relatif nul est donné par le nombre minimum de
lignes nécessaires pour rayer tous les zéros du tableau des
relatifs.
> Encerclons un de zéro des colonnes qui comporte
moins de zéros et rayons par un trait les zéros qui se
150
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
trouvent sur la même ligne ou la même colonne que
le zéro encerclé.
> Répéter progressivement l'opération pour les autres
lignes jusqu'à ce qu'il n'y ait plus de zéros à
encercler.
Nous obtenons, ainsi, le tableau 5c ci-dessous.

L'observation de ce tableau indique que 3 lignes


sont nécessaires pour rayer tous les zéros du tableau des
coûts relatifs. Ainsi, seuls trois contrats (IP, ITIC et NR)
peuvent bénéficier simultanément d'un coût relatif nul.
Comme l'optimum n'est pas atteint, le tableau 5c doit
être réaménagé ; c'est la troisième étape.
151
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Etape 3. Réaménagement du tableau et Apparition de
nouveaux zéros
Pour procéder à une affectation plus complète, l'on
soustrait le nombre minimum non rayé de l'ensemble des
cases du tableau, puis l'on ajoute ce nombre à l'ensemble
des chiffres de chaque ligne rayée puis de chaque colonne
rayée. Ce nombre minimum étant 1, l'on obtient, ainsi, le
tableau réaménagé suivant sur lequel portera le nouveau
test d'optimalité :

L'observation du tableau 5d indique que 4 lignes sont


nécessaires pour rayer tous les zéros du tableau des coûts
relatifs. Ainsi, seuls quinze contrats (IP, IIA, IIIC et IVR)
152
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
peuvent maintenant bénéficier simultanément d'un coût
relatif nul.

Comme l'optimum n'est pas encore atteint, la même


opérant (étape 3) est reconduite avec le nouveau chiffre
minimum non rayé. Ce chiffre est 1 ; ce qui donne le
tableau suivant :

Cette dernière itération montre que l'optimum est


atteint. Pour procéder aux affectations, on commence par la
ligne R, la colonne I er la ligne II qui ne contiennent qu'un
seul zéro. Le processus est reconduit pour arriver à la
solution : RN, Pl, Ail, CV et DIII.
153
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Cette solution peut donc se présenter comme dans le
tableau 5fsuivant, dans lequel n'apparaissent que des 1 et 0 ;
les 1 indiquant l'affectation des sous-traitants aux activités
associées.

Le tableau 5findique que :


• Le contrat de Remblayage (R) doit être affecté au
sous-traitant IV, dont le coût est 5 ;
• Le contrant de Ponts et Chaussées (P) doit être affecté
au sous-traitant I, dont le coût s'élève à 8 ;
• Le contrat d'Asphaltage (A) doit être affecté au sous-
traitant II, dont le coût est 5 ;
• Le contrat de Canalisation (C) doit être affecté au
sous-traitant V, dont le coût revient à 14 ; et
• Le confiant de Décoration (D) doit être affecté au
sous-traitant In, dont le coût s'élève à 4.
154
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Ainsi, par cette affectation, économiquement
rationnelle, le coût total d'exécution de ces différentes
activités par les cinq sous-traitants se chiffre à 36 millions
USD C'est le coût total minimum.
Méthode alternative
Nous résolvons le même exercice en considérant
l'apparition des zéros dans les colonnes comme point de
départ,
Etape 1. Obtention des zéros
Déduisons de chaque colonne le chiffre minimum qui
y figure : les chiffres minimums des colonnes 1 à 5 sont
respectivement 8, 5, 4, 4 et 9. Nous obtenons ainsi le
tableau 5g ci-dessous.
155
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Déduisons, ensuite, de chaque ligne de ce nouveau
tableau le chiffre minimum qui y figure : les chiffres
minimums des lignes 1 à 5 sont respectivement 1, O, 0, 5 et
0. Nous obtenons ainsi le tableau 511 ci-dessous.

Etape 2. Test d'optimalité


> Encerclons, successivement, un de zéro des colonnes
(ou des lignes) qui comporte de zéros et rayons par
un trait les zéros qui se trouvent sur la même ligne ou
la même colonne que le zéro encerclé. Nous
obtenons, ainsi, le tableau 5c ci-dessous.
156
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

On observe que cinq lignes sont nécessaires pour


recouvrir tous les zéros. L'optimum est atteint en une seule
itération. L'affectation optimale est la même que celle
obtenue précédemment :

7.5. application de la méthode hongroise dans le cas de


maximisation
157
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
S'agissant d'un problème de maximisation, la méthode
hongroise est appliquée en suivant les mêmes étapes &haut
exposées, moyennant les transformations suivantes :
changer les signes de la matrice des profits associés,
ce qui revient à multiplier par (-1) tous les
éléments de cette ; ou alors
retrancher tous les éléments de cette matrice par le
nombre le plus élevé de cette matrice.
Ainsi, le problème de maximisation de profit devient
similaire à celui de des coûts.
Exemple
Le Secrétaire Général Académique de I'ISPALE veut
affecter cinq professeurs pour dispenser les cours de
Mathématiques (M), Statistique (S), Econométrie (E),
Recherche opérationnelle (R) et Analyse des Projets (A).
Les aptitudes des professeurs à dispenser ces enseignements
sont évalués par les notes obtenues dans ces différentes
matières et consignées dans le tableau ci-dessous.
158
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Quelle est la meilleure affectation possible dans le sens


d'optimiser la qualité des enseignements ?
Solution
Il s'agit d'un problème de maximisation où les notes du
tableau sont considérées comme les rendements (ou gains)
attendus par I'ISPALE dans la transmission des
connaissances.

Etape 1. Transformation préalable du tableau


159
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Etape 2. Obtention des zéros et test d'optimalité


160
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

L'observation du tableau indique que seules 4


lignes sont nécessaires pour recouvrir tous les zéros.
L'optimum n'est pas atteint et l'on passe à l'étape suivante.
Etape 3. Réaménagement du tableau et Nouveau test
d'optimalité
Le test d'optimalité renseigne que l'optimum n'est pas
encore atteint. On continue la procédure en réaménageant le
nouveau tableau.
161
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Le test d'optimalité renseigne que l'optimum est


atteint. La solution optimale a été trouvée en commençant
par les lignes ou colonnes ayant un seul zéro, soit : M, S, V,
III et IV. Ainsi,
• Le cours de Mathématiques (M) doit être attribué à I,
avec un rendement de 15 ;
Le cours de statistique (S) doit être attribué à II, le
rendement attendu est de 17 ;
• Le cours de Econométrie (E) doit attribué à V, avec un
rendement de 16 ;
Le cours de Recherche opérationnelle (R) doit être
attribué à m, le rendement attendu est de 16 ;
Le cours d'Ana1yse des (A) doit être attribué à IV, le
rendement attendu est de 12.
162
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
7.6. Cas particulier du problème d'affectation : nombre
d'activités inférieur au nombre d'entités (matrice
rectangulaire)
Il peut y arriver que le nombre d'activités soient
inférieures aux disponibilités et vice-versant. Dans ce cas, la
matrice des coûts (profits) n'est plus carrée mais
rectangulaire. L'application de la méthode hongroise
requiert, d'abord, la transformation de la matrice
rectangulaire en une carrée par des activités (lignes) ou
des entités (colonnes) fictives.
Ce cas est illustré en se servant de l'exemple ci-après.
Exemple
postes (A, B, C et D) sont disponibles dans
quatre succursales d'une entreprise multinationale. Cinq
personnes-ressources (V, W, X, Y et Z), installées dans cinq
pays différents, disposent des mêmes compétences pour
occuper ces postes. Le Directeur Manager veut minimiser
les coûts d'affectation (billets d'avion, ... ) dans les différents
postes de travail et qui se présentent dans le tableau suivant.
w x y z
A 8 26 17 11 20
163
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
B 13 28 4 26 12
C 38 19 18 15 6
D 19 26 24 10 15
Solution
La première chose à faire est celle qui consiste à
introduire une activité fictive F, caractérisé par un coût
d'affectation nul. On obtient ainsi la carrée suivante.

Etape 1. Obtention des zéros et test d'optimalité


164
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

L'observation du tableau indique que 1'opHmum est


atteint en une seule itération. Le tableau d'affectation
rafionnelle des personnes-ressources est :
165
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
7.7. Exercices
Ex.l. Le gouvernement congolais veut affecter úq grues
situées dans les villes A, B, C, D et E dans cinq chantiers
localisés dans les villes I, II, III, IV et V. Le tableau
suivant donne le nombre de jours que prendrait le
déplacement de chacune de grues d'une ville à une autre.

Si le gouvernement veut démarrer le plus vite


possible les travaux dans les différents chantiers, quelle est
la meilleure affectation possible ?
S
Ex.2. Une entreprise désire procéder à une affectation de
cinq ouvriers A, B, C, D et E à dont postes vacants V, W,
X, Y et Z. Ces ouvriers, désirant maximiser leur
satisfaction, décide d'effectuer chacun un classement des
postes offerts. Le tableau suivant regroupe leurs avis.
166
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Quelle est la meilleure affectation possible ?


7,8. Solutions
Ex.l. Il s'agit d'un problème d'affectation optimale des
ressources (grues) disponibles. En d'autres termes, le
problème du gouvernement est celui de rendre minimal la
durée de l'exécution des dans les différents chantiers.
L'application de la méthode hongroise amène à
considérer les étapes suivantes.

Etape 1. Obtention des zéros


Déduisons de chaque colonne le chiffre minimum
qui y figure et répétons la même opération pour les lignes.
Nous obtenons ainsi le tableau a) ci-dessous.
167
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE

Nous obtenons ainsi le tableau des coûts relatifs.


Etape 2. Test d'optimalité et Réaménagement du tableau
168
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
L'observation du tableau d) indique que cinq
lignes sont maintenant nécessaires pour recouvrir tous les
zéros. C‘est l'optimum. Cette solution a été trouvée, en
commençant par les lignes et colonnes ayant moins de
zéros, comme suit : Dl, BN, CV, Alll et BII.
La solution peut donc se présenter comme dans le tableau
suivant.

Le tableau d) indique que :


169
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
La grue en A doit être affecté dans la dont le
ville m, d'acheminement est de 9 temps
jours ;
La grue en B doit affecté dans la ville dont le
IV, d'acheminement est de 5 jours ; temps
La grue en C doit être affecté dans la
ville V, d'acheminement est de 6 dont le
temps
jours ;
La grue en D doit être affecté dans ladont le
ville I, d'acheminement est de 5 jourstemps
; et
La grue en E doit être affecté dans la dont le
ville II, d'acheminement est de 10 temps
jours ;
Ainsi, par cette affectation, économiquement
rationnelle, le coût total d'exécution de ces différentes
activités par les cinq sous-traitants revient à 36 millions
USD. C'est le coût total minimum.
170
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Méthode alternative
Nous résolvons le même exercice en considérant, cette fois-
ci, l'apparition des zéros dans les lignes comme point de départ.
Etape 1. Obtention des zéros et test d'optimalité

Le tableau b) indique que 4 lignes sont nécessaires pour rayer


tous les zéros du tableau. L'optimum n'étant pas atteint, ceci nous
amène à réaménager le tableau.
Etape 2. Réaménagement du tableau et Nouveau test d'opHma1ité
Soustrayons le nombre minimum non rayé (3) de l'ensemble
des cases du tableau, puis ajoutons-le à l'ensemble des chiffres de
chaque ligne rayée puis de chaque colonne rayée. L'on obtient,
ainsi, le tableau réaménagé suivant :
171
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

L'observation de ce tableau indique que cinq lignes sont


maintenant nécessaires pour recouvrir tous les zéros. C'est
l'optimum. Cette solution peut donc se présenter comme dans le
tableau suivant.

L'on observe que cette solution est identique à celle


obtenue précédemment.
Ex.2. Maximiser la satisfaction des ouvriers revient à &10isir le
chiffre minimum pour chacun d'eux, compte tenu de la contrainte
Demande/ Disponibilité. Cela est identique au problème de
minimisation des coûts, le chiffre 1 indiquant un poste préféré et 5 le
poste le moins désiré.
172
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Etape 1. Obtention des zéros et Test d'optimalité

Quatre lignes seulement sont nécessites pour recouvrir tous les


zéros. L'optimum n'est pas atteint et l'on passe à l'itération suivante
Etape 2. Réaménagement du tableau et nouveau test d'optimalité
L'observation du tableau c) indique qu'il y a trois manières
différentes d'arriver à l'optimum. Les tableaux d), e) et) donnent trois
solutions optimales équivalentes du problème.
173
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE

Pour trouver la solution optimale, l'on procède de la manière suivante


:
(i) CX : la ligne C et la colonne X ne contiennent qu'un seul
zéro ; (ii) BZ : la ligne B ne confient qu'un seul zéro.
Après ces deux affectations, la sous-matrice restante se présente
comme suit :

La ligne D, E et la colonne Y contiennent moins de zéros


(2 chacune), la solution sera en exploitant ces 3 entrées :
174
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
> Entrée par D : il y a 2 alternatives (DV et DW) ; ceci
donne : DV, AW et EY (Tableau d)
DV, AY et EW (Tableau e)
DW, AV et BY (Tableau f)
Entrée par E : il y a 2 alternatives (BW et BY) ; ceci donne :
EVV, AY et DV (Tableau e)
BY, AV et DW (Tableau f)
BY, AW et DV (Tableau d)
> Entrée par Y : il y a 2 alternatives (AY et EY) ; ceci donne :
AY, DV et EVV (Tableau e)
EY, AV et DW (Tableau f)
BY, AW et DV (Tableau d)
On aboutît au même résultat, soit trois tableaux d'affectations
optimale. Le tableau ci-après indique que la valeur de la solution
(l'optimum) est identique dans les trois cas.
175
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
BIBLIOGRAPHIE

1. [3] Adam B. Levy. The Basics of Practical Optimization. SIAM,


Philadelphia, USA, 2009.

2. Beaujolais BOFOYA KOMBA, ouvrage de recherche


opérationnelle, 2020

3. Frederick S. Hillier et Gerald J. Lieberman. Introduction to


Operations Research. McGraw-Hill, New York, USA, seventh
édition, 2001.
4. [2] Jeffrey C. Lagarias, James A. Reeds, Margaret H. Wright et
Paul E. Wright. Convergence properties of the
5. [4] Ken I. M. McKinnon. Convergence of the Nelder-Mead
simplex method to a nonstationary point. SIAM Journal
on Optimization, 9(1):148–158, 1998.
6. [5] John A. Nelder et Roger Mead. A simplex method for
function minimization. Computer Journal, 7:308–313, 1965.
7. [6] Jorge Nocedal et Stephen J. Wright. Numerical Optimization.
Springer, New York, NY, USA, 1999.opérationnelle, 2020
8. KAMIANTAKO MIYAMUENE Antoine , Cours de recherche
operationnelle , UNikin, 2022
12 Nelder-Mead simplex method in low dimensions. SIAM Journal
on Optimization, 9(1):112–147, 1998.

Vous aimerez peut-être aussi