Vous êtes sur la page 1sur 42

Universit Cadi Ayyad

Ecole Nationale des Sciences Appliques Marrakech


Filire : Gnie Industriel et Logistique
Niveau : 2me anne du Cycle Ingnieur

Ralis par
par :

Pr. Badr DAKKAK

Docteur en Gnie Industriel


Ecole Nationale des Sciences Appliques - Marrakech

Anne universitaire 2015/2016

CHAPITRE 1 ............................................................................................................................................................................................3
INTRODUCTION A LA THEORIE DES GRAPHES ..................................................................................................................................3
1.
Introduction ..................................................................................................................................................................................3
2.
Exemples de situations pouvant tre traduites en un graphe ....................................................................................................3
3.
Objectifs pdagogiques .................................................................................................................................................................3
4.
Dfinition dun graphe ..................................................................................................................................................................3
4.1.
Remarques et dfinitions ....................................................................................................................................................4
5.
Reprsentation dun graphe .........................................................................................................................................................5
5.1.
Reprsentation par dictionnaire ........................................................................................................................................5
5.2.
Reprsentation matricielle .................................................................................................................................................5
5.3.
Degr dun graphe ...............................................................................................................................................................6
6.
Vocabulaire de la thorie des Graphes.........................................................................................................................................7
6.1.
Chemin.................................................................................................................................................................................7
6.2.
Chemin hamiltonien ............................................................................................................................................................7
6.3.
Chemin simple .....................................................................................................................................................................7
6.4.
Circuit ..................................................................................................................................................................................7
6.5.
Chane ..................................................................................................................................................................................7
6.7.
Graphe complet ...................................................................................................................................................................7
6.7.
6.8.
Connexit .............................................................................................................................................................................8
7.
Recherche de niveau dans un graphe sans circuits .....................................................................................................................9
8.
Chemin de longueur K ................................................................................................................................................................10
8.1.
Matrice boolenne.............................................................................................................................................................10
8.2.
Matrice aux arcs ................................................................................................................................................................11
9.
Chemins lmentaires chemins hamiltoniens ........................................................................................................................11
9.1.
Dfinition ...........................................................................................................................................................................11
9.2.
Chemin lmentaire de longueur 1 ..................................................................................................................................11
9.3.
Chemin lmentaire de longueur 2 ..................................................................................................................................11
9.4.
Chemin lmentaire de longueur 3 ..................................................................................................................................12
9.5.
Chemin lmentaire de longueur 4 ..................................................................................................................................12
10.
Fermeture transitive dun graphe .........................................................................................................................................12
10.1.
Dfinition ......................................................................................................................................................................12
10.2.
Exemple ........................................................................................................................................................................12
Exercice :...............................................................................................................................................................................................14
CHAPITRE 2 ..........................................................................................................................................................................................16
RECHERCHE DE CHEMINS OPTIMAUX DANS UN GRAPHE ..............................................................................................................16
1.
Introduction ................................................................................................................................................................................16
2.
Algorithme de Ford pour la recherche
recherche de plus long chemin .....................................................................................................16
2.1.
Problme ...........................................................................................................................................................................16
2.2.
Algorithme de Ford ...........................................................................................................................................................16
3.
Algorithme de Ford pour la recherche du plus court chemin ...................................................................................................18
4.
Algorithme de Dijkstra (Cas des valeurs positives) ..................................................................................................................20
CHAPITRE 3 ..........................................................................................................................................................................................21
PROBLEMES DORDONNANCEMENT .................................................................................................................................................21
1.
Introduction ................................................................................................................................................................................21
2.
Donnes dun problme dordonnancement
dordonnancement :............................................................................................................................21
2.1.
Les tches ..........................................................................................................................................................................21
2.2.
Les ressources ...................................................................................................................................................................22
3.
Rsolution dun problme dordonnancement ..........................................................................................................................22
3.1.
Mthode PERT (Program Evaluation and Review Technique) .......................................................................................22
4.
Mthode des potentiels Mtra (MPM) .......................................................................................................................................28
4.1.
Reprsentation graphique du rseau MPM......................................................................................................................28
4.2.
Construction du rseau MPM ...........................................................................................................................................28
5.
Mthode du tableau pour la recherche des chemins critiques et des dates attendues ............................................................29
CHAPITRE 4 ..........................................................................................................................................................................................30
PROBLEMES DAFFECTATION ............................................................................................................................................................30
1.
Introduction ................................................................................................................................................................................30
2.
Mthode de rsolution du problme daffectation
daffectation (Mthode Hongroise)................................................................................30
CHAPITRE 5 ..........................................................................................................................................................................................34
LES PROGRAMMES DE TRANSPORT ..................................................................................................................................................34
1.
Position du problme .................................................................................................................................................................34
Exemple : ..............................................................................................................................................................................................35
2.
Recherche dune solution de base ..............................................................................................................................................35
2.1.
Mthode du coin NordNord-Ouest............................................................................................................................................35
2.2.
Mthode : Procdure MINILI (MINI(MINI-LINE) ......................................................................................................................36
2.3.
Mthode
Mthode MINICO (minimum des colonnes).....................................................................................................................36
colonnes)
2.4.
Mthode MINITAB.............................................................................................................................................................36
MINITAB
2.5.
Mthode de la diffrence maximale ou de BALAS HAMMER .....................................................................................36

Table des matires

Pr. Badr DAKKAK

CHAPITRE 1
INTRODUCTION A LA THEORIE DES GRAPHES
1.

Introduction

La thorie des graphes ne en 1736 quand Euler dmontra quil tait impossible de traverser chacun des sept
ponts de la ville de Knigsberg (figure 1) une fois exactement et y revenir au point de dpart.
B
D

Figure 1: Les sept ponts de la ville de Knigsberg

La thorie des graphes est un des instruments les plus courants et les plus efficaces pour rsoudre des
problmes concrets laide dun graphe. La thorie des graphes est une tentative de visualisation concrte des
faits au moyen de dessin permettant dexprimer le problme pos.
Lingnieur moderne ne peut plus limiter ses proccupations lorganisation de la fabrication, ou la direction de
la recherche, il est intgr la gestion de lentreprise toute entire et son souci doit tre de fabriquer au meilleur
prix et dinventer au moindre cot. Il doit donc appliquer les mthodes de la RO et de la thorie des graphes.
2.

Exemples de situations pouvant tre


tre traduites en un graphe

3.

- Un projet
- Rseau de voies ferres
- Distribution de marchandises
- Affectation du personnel
- Etc.
Objectifs pdagogiques

4.

Dfinition dun graphe

Les applications de la thorie des graphes sont nombreuses, titre dexemple nous citons :

Prsenter des concepts, des mthodes et des dmarches indispensables pour les futurs ingnieurs en gnie
industriel, informatique, automatisme, permettant la rsolution des problmes concrets dentreprise. Et par
consquent, lobjectif est daider les lves ingnieurs (re) trouver got aux mathmatiques.
Un graphe G est constitu de deux ensembles :

Chapitre 1

Introduction la thorie des graphes


A
E

En gnral, on note un graphe par G = (X, U).

On dit que G est orient si les lignes de U sont orientes et dans ce cas, elles sont appeles des arcs. Si les lignes de
U ne sont pas orientes, on dit que G est non orient et les lments de U sont appels des arrtes.
4.1.

Remarques et dfinitions

Tout graphe orient peut tre transform en un graphe non orient en supprimant lorientation des arcs.
Tout graphe non orient peut tre transform en un graphe orient en remplaant chaque arrte par
deux arcs en sens inverses. On note un arc par (A, B) ou PPPPPQ
NO
Soit X = (x1, x2, x3,., xn) un ensemble de sommets. On peut dfinir un graphe par la relation binaire R :
o xi xj (xi,xj) U
o xi xj xi et xj sont adjacents
soit G = (X, U) un graphe et soit x X. on note :
o u-(x) = {y X / (y,x) U} = un ensemble des antcdents de x,
o u+(x) = {y X / (x,y) U} = un ensemble des successeurs de x,
o u(x) = u-(x) u+(x) = ensemble des sommets adjacents x.

Exemple :

Donner les antcdents et les successeurs de chacun des sommets du graphe suivant :

B
E

Figure 2 : Exemple de dtermination antcdents et les successeurs dun graphe

Un graphe peut tre dfini par la donne de lensemble de ses sommets, des antcdents et des successeurs de
chaque sommet.

Pr. Badr DAKKAK

9
C

B
5

E
5

Chapitre 1

Introduction la thorie des graphes

5. Reprsentation dun graphe


Reprsentation par dictionnaire
5.1.

Considrons le graphe suivant :

D
A
E

B
F

Figure 3 : Exemple de reprsentation par dictionnaire dun graphe

Dictionnaire des suivants

Dictionnaire des prcdents

Remarque :

On peut construire le dictionnaire des prcdents en se servant du dictionnaire des suivants.


5.2.

Reprsentation matricielle

On associe un graphe une matrice M telle que :


M = (mij)1 i,j n avec mij =

Exemple :

si (xi, xj) U,

0 sinon

x1

x2

x4

x3

Figure 4 : Exemple de reprsentation matricielle dun graphe

La matrice associe ce graphe est :

Pr. Badr DAKKAK

Chapitre 1

On associe un graphe une matrice M telle que :


M = (mij)1 i,j n avec mij =

xixj

Introduction la thorie des graphes

si (xi, xj) U,

- sinon

5.3.

Degr dun graphe

Soit u = (x, y) un arc (qui nest pas une boucle) dun graphe G. on dit que u est incident x vers lextrieur et
incident y vers lintrieur.

Dfinition :

Exemple 1 :

1) Existe-t-il un graphe dordre 4 dont tous les sommets ont un Degr gal 3 ?
2) Existe-t-il un graphe dordre 5 dont tous les sommets ont un degr gal 3 ?

Rponse :

Exemple 2 :

Dans un groupe de vingt enfants, est-il possible que sept d'entre eux aient chacun exactement trois amis, neuf
d'entre eux en aient exactement quatre, et quatre d' entre eux exactement cinq ?

Pr. Badr DAKKAK

Chapitre 1

Introduction la thorie des graphes

Rponse :

6.

Vocabulaire de la thorie des Graphes


6.1.
Chemin

Cest une suite darcs dont lextrmit terminale de chacun est lextrmit initiale du suivant
suiv
sauf pour le dernier.
La longueur dun chemin est le nombre darcs qui le compose.
6.2.

Chemin hamiltonien

6.3.

Chemin simple

6.4.

Circuit

6.5.

Chane

6.6.

Chanes et cycles eulriens

Un chemin est dit hamiltonien sil passe une fois et une seule par chaque sommet du
graphe et contient tous les sommets.
Un chemin est simple sil passe quune
une fois par chacun de ses arcs. Il est lmentaire sil
ne rencontre pas plus dune fois chacun de ses sommets.

Un circuit est chemin qui se ferme sur lui-mme.


lui
Un circuit de longueur 1 est une boucle.
Une chane est une squence darrtes conscutives dont chacune a une extrmit commune avec larte
prcdente (sauf la premire) et lautre commune avec larte suivante (sauf pour la dernire). Une chane qui se
ferme sur elleorient ou non est connexe sil existe au moins une chane entre
elle-mme est un cycle. Un graphe orient
toute paire de sommets.
Il sagit l dune gnralisation du jeu bien connu consistant dessiner toutes les artes dun graphe avec un
crayon sans jamais le soulever, nii passer deux fois sur la mme arte.

Soit G = (X, A) un graphe orient. Une chane (cycle) eulrienne est une chane (cycle) empruntant une fois et
une seule chaque arte du graphe G.
Un graphe possdant un cycle eulrien est appel graphe eulrien.

Un graphe
aphe connexe admet une chane eulrienne si et seulement si tous ses sommets sont de degr
d
pair sauf
ventuellement 2.
6.7.

Graphe complet

Un graphe complet si chaque sommet possde un arc vers tout autre sommet y compris lui-mme.
lui
Si on a n
sommet alors on a n2 arcs.

Pr. Badr DAKKAK

Chapitre 1

Introduction la thorie des graphes

Exemple :

Figure 5 : Exemple de graphe complet

6.8.

Connexit

Un graphe est dit connexe si pour tout couple de sommet (i,j), il existe une chane joignant i et j.

G1 nest pas connexe

G2 est connexe
Figure 6 : Graphe connexe et non connexe

Un graphe est dit fortement connexe sil existe un chemin entre toute paire de sommet.

Figure 7 : Graphe fortement connexe

G possde deux composantes fortement connexes :

C1 : ABC
C2 : DEFG

Exercice :

Trois pays envoient chacun une confrence deux espions; chaque espion doit espionner tous les espions des
autre pays.
1) Reprsentez cette situation par un graphe dordre 6 dans lequel chaque arte reliant i et j signifie que i
espionne j, et j espionne i.
2) Ce graphe est-il complet ? Est-il connexe ?
3) Quel est le degr de chaque sommet ?
4) En dduire le nombre dartes du graphe ?

Pr. Badr DAKKAK

Chapitre 1

Introduction la thorie des graphes

Rponses :

7.

Recherche de niveau dans un graphe


graphe sans circuits

Dans un graphe sans circuit, on peut numroter les sommets du graphe de telle sorte que le numro affect
chaque sommet soit infrieur celui des suivants et suprieur celui des prcdents. Ce numro ainsi dfini est
appel niveau de ggnration
nration ou rang du sommet.
Pour monter comment dterminer les niveaux de gnration des sommets, on prend le graphe suivant :

F
G

A
E

Figure 8 : Exemple de dtermination des niveaux de gnration des sommets

1re tape : Tableau 0

On cherche les lignes vides dans P(X). Dans ce cas


on a B. Donc B na pas de prcdent et par
consquent Rg(B) = 0
N de ligne

Pr. Badr DAKKAK

P(X)

2me tape : Tableau 1

On barre tous les B dans X et P(X), on a donc le tableau 1


suivant :
N de ligne

P(X)

Chapitre 1

Introduction la thorie des graphes

3me tape : Tableau 2

N de ligne

8.

4me tape :

P(X)

Chemin de longueur K
8.1.
Matrice boolenne

Considrons le graphe suivant :

B
A

On a la matrice associe ce graphe :

On peut lenlever au carre, au cube,

Pr. Badr DAKKAK

10

Chapitre 1
8.2.

Introduction la thorie des graphes

Matrice aux arcs

On prend la matrice aux arcs A, on llve successivement au carr, au cube, la puissance k pour dterminer
le nombre de chemin de longueur 2, 3, , k ainsi que leur composition. Lintrt dune telle reprsentation par
rapport la reprsentation par matrice boolenne : on peut lire directement dans Ak la composition des chemins
de longueur k. Alors, la matrice A scrit :

En adoptant les lois de composition suivantes par laddition et la multiplication :

La multiplication revient concatner deux chemins : AB X BC = ABC (arc X arc = chemin), ABC X CDE =
ABCDE
Laddition est lquivalente la runion ensembliste : (A,B,C) + (A,E,C)
ils figurent dans la mme case
2
de la matrice aux arcs A . Les chemins (A,B,C) et (A,E,C) sont deux chemins de longueur 2 reliant le
sommet A au sommet C.

Lintersection de la ligne i et de la colonne j de la matrice Ak donne le nombre de chemins de longueur k entre les
sommets i et j ainsi que leur composition.

9.

Chemins lmentaires chemins hamiltoniens


9.1.
Dfinition

Lexistence et le dnombrement de chemins lmentaires de longueur k se fait en levant la puissance k la


matrice aux arcs et en ne retenant que les chemins ne comportant pas de rptition de lettre.
9.2.

Chemin lmentaire de longueur 1

Dans la matrice aux arcs A, on commence par supprimer tous les chemins qui ne sont pas lmentaires.
(B,B)
Boucle sur le sommet B, ce chemin est limin de A. on obtient la matrice aux arcs A
lmentaire de longueur 1.

9.3.

0
`0
N = _ 0
cN
^ bN

Chemin
Chemin lmentaire de longueur 2

NO
0
0
0
0

Na
Oa
0
0
ba

0
0
ac
0
0

chemin

Nb
0f
0e
cb
0d

On calcule A2 partir de A en ne retenant que les chemins lmentaires.

Pr. Badr DAKKAK

11

Chapitre 1

Introduction la thorie des graphes

(A,E) X (E,A) = (A,E,A) chemin de longueur 2 passant deux fois par le sommet A. Ce chemin est limin de A2
puisquil nest pas lmentaire.
On obtient la matrice aux arcs A2

9.4.

chemins lmentaires de longueur 2.

0
` 0
N g = _acN
cbN
^ 0

Chemin lmentaire de longueur 3

0
0
0
cNO
bNO

NOa/Nba
0
0
cNa/cba
bNa

Nac
Oac
0
0
bac

0
0 f
acb e
cNb
0 d

On calcule A3 partir de A et A2 en ne retenant que les chemins lmentaires.


On obtient la matrice aux arcs A3
9.5.

chemins lmentaires de longueur 3.

Chemin lmentaire de longueur 4

Dans la matrice aux arcs A4 apparaissent les chemins lmentaires de longueur 4.

Ils passent une fois et une seule par tous les sommets du graphe. Se sont des chemins hamiltoniens. Si de plus, les
chemins hamiltoniens se referment sur eux-mmes, se sont des circuits hamiltoniens.

Exempless :
Exemple

10.
10. Fermeture transitive dun graphe
10.
Dfinition
10.1.

La fermeture transitive dun graphe G = (X,U) gnre un graphe G = (X,U) auquel on a ajout des arcs reliant le
sommet i au sommet j sil existe un chemin reliant le sommet i au sommet j ou si i = j.
10.
10.2.

Exemple

Soit un graphe orient G = (X, U) ci-contre et M sa matrice boolenne.

A
E

Figure 9 : Exemple de calcul de la fermeture transitive

0
0
`
0
h=_
_0
0
^0

Pr. Badr DAKKAK

1
0
0
0
1
0

0
1
0
0
1
0

0
0
1
0
0
0

1
0
0
0
0
0

0
0
f
0
e
1e
1
0d

12

Chapitre 1

Introduction la thorie des graphes

La matrice boolenne M correspondant la fermeture transitive du graphe G est :


1
0
`
0
h = _
_0
0
^0

1
1
0
0
1
0

1
1
1
0
1
0

1
1
1
1
1
0

1
0
0
0
1
0

1
1
f
1
e
1e
1
1d

Cela signifie qu partir du sommet 1 on peut accder aux sommets 2, 3, 4, 5 et 6 du graphe et qu partir du
sommet 6 on ne peut accder aucun sommet du graphe.

Conclusion :

La fermeture transitive dun graphe permet de rpondre la question : existe-t-il un chemin de x y pour tout
couple de sommet (x,y) du graphe .

On a vu prcdemment quon pouvait lever la matrice M au carr, au cube, la puissance k pour dterminer le
nombre de chemins de longueur 2, 3, , K. on se propose ici dlever la matrice M au carr, au cube, la
puissance k en adoptant les lois de composition logique pour la multiplication et laddition :

Loi de la multiplication logique : 1 X 1 = 1


Loi de laddition logique : 1 + 1 = 1

On note les matrices obtenues partir de ces lois de composition M[2], M[3], M[4] pour les diffrencier des matrices
boolennes calculer partir des lois de compositions usuelles. Ces matrices nous permettent de savoir sil existe
au moins un chemin de longueur 2, 3,, k dans le graphe.
Calcul de M[2] = M[1] X M[1]
h[g]

0
0
`
0
=_
_0
0
^0

1
0
0
0
1
0

0
1
0
0
1
0

0
0
1
0
0
0

1
0
0
0
0
0

0
0
0
0
f
`
0
0
e _
_0
1e
1
0
^0
0d

1
0
0
0
1
0

0
1
0
0
1
0

0
0
1
0
0
0

1
0
0
0
0
0

0
0
f
0
e=
1e
1
0d

0
0
`
0
_
_0
0
^0

1
0
0
0
0
0

1
0
0
0
1
0

0
1
0
0
1
0

0
0
0
0
0
0

1
0
f
1
e
0e
0
0d

La prsence dun 1 lintersection de la ligne i et de la colonne j de M[2] (M[k]) indique quil existe au moins un
chemin de longueur 2 (k) entre les sommets i et j.
De la mme faon, on peut calculer M[3], M[4], M[5].

Si on fait la somme boolenne P = M + M[2] + M[3] + M[4] + M[5] on obtient une matrice dans laquelle la prsence
dun 1 lintersection de la ligne i et de la colonne j indique quil existe au moins un chemin de longueur infrieur
ou gale 5 entre les sommets i et j.
0
0
`
0
n=_
_0
0
^0

1
0
0
0
1
0

1
1
0
0
1
0

1
1
1
0
1
0

1
0
0
0
0
0

1
1
f
1
e
1e
1
0d

On rappel que la fermeture transitive dun graphe gnre un graphe dans lequel on ajoute un arc entre deux
sommets sil existe un chemin entre ces deux sommets ou si ces deux sommets sont gaux.

On saperoit donc que la matrice P ne donne pas la fermeture transitive du graphe parce quelle nest pas
compose de 1 sur la diagonale. Pour que la matrice P corresponde la fermeture transitive du graphe, il suffit
dajouter lexpression M + M[2] + M[3] + M[4] + M[5] la matrice identit compose de 1 sur la diagonale et de 0
partout ailleurs. On obtient lexpression suivante qui donne la fermeture transitive du graphe :

Pr. Badr DAKKAK

13

Chapitre 1

Introduction la thorie des graphes

P = I + M + M[2] + M[3] + M[4] + M[5] = (I + M)[5]

Plus gnralement, dans un graphe de N sommets, la somme boolenne suivante donne la fermeture transitive
du graphe.
P = I + M + M[2] + M[3] + + M[N 1] = (I + M)[ N 1]

Remarque :

En pratique, on calcule (I + M)[1], (I + M)[2],., (I + M)[ N 1]


Et on arrte le calcul lorsque (I + M)[k] = (I + M)[ k 1]

Exercice :

Soit la matrice boolenne suivante :

1)
2)
3)
4)

0
`0
h = _0
0
^0

1
0
0
0
0

Tracer le graphe correspondant cette matrice


Calculer M2, M3, M4
Calculer A2, A3, A4
Calculer P

0
1
0
1
0

1
0
0
0
0

0
0f
1e
1
0d

Corrig :

Pr. Badr DAKKAK

14

Chapitre 1

Introduction la thorie des graphes

11. Coloriage dun graphe

11.1. Nombre de chromatique

Exercice

Le nombre chromatique est le plus petit nombre de couleurs permettant de colorier tous sommets du
graphe sans que deux sommets adjacents soient de la mme couleur.
Le nombre chromatique du graphe complet Kn est n.
Le nombre chromatique dun graphe est infrieur ou gal au plus grand degr de ses sommets k major
par 1: o(G) K +1
Le nombre chromatique dun graphe est suprieur ou gal lordre de tous ses sous graphes complets.
Soit Cn le cycle de longueur n. Si n est pair on a : (Cn) = 2, et si n est impair on a : (Cn) = 3. Le nombre
chromatique d'un cycle lmentaire est 2 si son nombre de sommets est pair, il est de 3 sinon.

Dterminer le nombre chromatique des graphes suivants :

Pr. Badr DAKKAK

15

CHAPITRE 2
RECHERCHE DE CHEMINS OPTIMAUX DANS UN GRAPHE
1.

Introduction
Introduction

Dans ce chapitre nous allons prsenter les algorithmes de recherche des chemins optimaux (plus long chemin et
plus court chemin). Ces algorithmes sont : Algorithme de Ford et algorithme de Dijkstra.
2. Algorithme de Ford pour la recherche de plus long chemi
chemin
n
2.1.
Problme

Comment chercher le ou les chemins de longueur extrmale (maximale ou minimale) partant du sommet
numro 1 et aboutissant un sommet donn.
2.2.

1re tape :

Algorithme de Ford

Numrotation des sommets du graphe valu dans nimporte quel ordre, en commenant par x0 et en finissant par
xn 1.

2me tape :

Affectation dune valeur ti = 0 (0 i n 1) tous les sommets du graphe valu.

3me tape :

Pour tout arc (xi, xj) si ji = tj ti est infrieur au nombre inscrit sur larc, on substitue tj par la valeur tj = ti +
nombre inscrit sur larc. Sinon on ne change pas la valeur de tj.

4me tape :

On continue les itrations jusqu ce que aucun ti ne soit augment.

Exemple :

24

A
13

12
E

3
7

10

2
4

1
16

21

B
14

26

Figure 10 : Exemple de recherche dun plus long chemin via lalgorithme de Ford

Chapitre 2
1re tape :

Recherche de chemins optimaux dans un graphe

2me tape :
3me tape :

Pr. Badr DAKKAK

17

Chapitre 2

Conclusion :

3.

Recherche de chemins optimaux dans un graphe

Algorithme de Ford pour la recherche du plus court chemin

1re tape :

Numrotation des sommets du graphe valu dans nimporte quel ordre, en commenant par x0 et en finissant par
xn 1.

2me tape :

Affectation dune valeur ti = + (1 i n 1) et t0 = 0 tous les sommets du graphe valu.

3me tape :

Pour tout arc (xi, xj) si ji = tj ti > dij (valeur de larc (xi, xj) ) on substitue tj par la valeur tj = ti + dij. Sinon on ne
change rien.

4me tape :

On rpte la 3me tape jusqu ce quaucun arc ne permette de diminuer les ti.

Exemple :

Dterminer les chemins de longueur minimale entre x1 et x8 dans le graphe valu suivant :

Pr. Badr DAKKAK

18

Chapitre 2

Recherche de chemins optimaux dans un graphe

Conclusion

Remarque :

Si un graphe comporte un circuit absorbant, lalgorithme de Ford peut ne pas se terminer.

Pr. Badr DAKKAK

19

Chapitre 2

Et ainsi de suite, lalgorithme de Ford ne se termine jamais.


4.

Recherche de chemins optimaux dans un graphe

Algorithme de Dijkstra (Cas des valeurs positives)

Dans le cas o les valeurs des arcs sont positives lalgorithme de Dijkstra vite linconvnient de traiter les
sommets plusieurs fois.

1re tape :

Numrotation des sommets du graphe valu en commenant par x0 et finissant par xn-1.

2me tape :

Affectation de la valeur u = + pour tout sommet xi xn 1 et w = 0

3me tape :

Soit xk un sommet non trait de valeur u minimale (parmi les sommets non traits) pour tout arc (xk, xj).
Si x + dkj < z poser u = x + dij sinon on ne change rien.

4me tape :

Si k = n 1 stop, sinon revenir la 3me tape.

Exemple :

Considrons le graphe suivant :

En utilisant lalgorithme de Dijkstra, dterminer le chemin le plus court entre x1 et x6

Rponse :

Pr. Badr DAKKAK

20

CHAPITRE 3
PROBLEMES DORDONNANCEMENT
1.

Introduction

Ordonnancer un ensemble de tches, cest programmer leur excution en leur allouant les ressources requises et
en fixant leurs dates de dbut et de fin.
Les problmes dordonnancement touchent tous les domaines :

Linformatiques (les tches sont les programmes, les ressources sont les processus, la mmoire,),
La construction (gestion des projets),
Lindustrie (activits des ateliers en gestion de production, problmes logistiques,),
Ladministration
Etc.

Dans un problme dordonnancement interviennent deux notions fondamentales : les tches et les ressources.
Une ressource est un moyen technique, financier ou humain dont la disponibilit est connue priori. Une tche
est un travail lmentaire dont la ralisation ncessite un certain temps (dure) et certaines ressources
(humaines, financires et techniques).
La rsolution dun problme dordonnancement doit concilier deux objectifs :

Laspect statique qui consiste gnrer un plan de ralisation des travaux sur la base des donnes

prvisionnelles,

dynamique
Laspect dynam
ique qui consiste prendre des dcisions en temps rel en tenant compte de ltat des
ressources et de lavancement des travaux.

2.

Donnes dun problme dordonnancement :

Les tches et leurs caractristiques,


Les contraintes potentielles
Les ressources.

Les donnes dun problme dordonnancement sont nombreuses. Celles-ci diffrent de la nature et de la
complexit du problme. Dune manire gnrale, nous citons :

2.1.

Les tches

Une tche est une activit lmentaire localise dans le temps par une date de dbut ou de fin, telle que sa
ralisation seffectue dans un intervalle de temps appel dure. Les tches ncessitent lutilisation dun nombre
de ressources, elles sont souvent lies entre elles par des conditions de prcdence. Si tel nest pas le cas, elles
sont dites indpendantes.
Une tche peut tre morcelable si son excution peut seffectuer par morceaux sur une ou plusieurs machines, on
dit que la premption est autorise (tche premptive). Dans le cas contraire la tche est dite non morcelable.

On note en gnral T = (T1, T2, , Tn) lensemble des tches et pi la dure de la tche Ti.
En plus de sa dure, une tche a dautres caractristiques :

ri : date de disponibilit, la dure avant laquelle la tche Ti ne peut dmarrer,


di : date dchue, une tche Ti doit tre acheve avant cette date,

Chapitre 3

Problmes dordonnancement

ti : date relle de dbut de la tche Ti,


ci : date de fin relle de la tche Ti.

2.2.

Les ressources

Une ressource est un moyen matriel, financier ou humain destin tre utilis pour la ralisation dau moins
une tche. Une ressource peut tre disponible en quantit illimite et elle est dite dans ce cas renouvelable, car
aprs avoir t alloue une tche, elle redevient disponible pour les autres (machines, ). Par contre, une
ressource peut tre disponible en quantit limite et elle est non renouvelable ou consommable, car dans ce cas,
elle ne sera plus disponible, ou bien sa quantit disponible sera diminue aprs avoir t utilise par une tche
(matires premires, budget attribu, etc.)
Une ressource est doublement contrainte lorsque son utilisation instantane et sa consommation globale sont
toutes les deux limites (largent).

Certaines ressources sont dites disjonctives si elles ne sont pas utilisables que par une seule tche la fois. En
contre partie, dautres ressources sont dites cumulatives si elles peuvent tre utilises simultanment par
plusieurs tches.
3.

Rsolution dun problme dordonnancement


Mthode PERT (Program Evaluation and Review Technique)
3.1.

La method PERT est une technique dlaboration et de contrle des projets. Cest une mthode amricaine date
1958 qui consiste utiliser un graphe orient sans boucle dont les sommets constituent des vnements (tape
de la ralisation du projet) et les arcs reprsentent les oprations et les contraintes. Les arcs (i,j) sont valus
chacun par un nombre indiquant la dure minimale entre le dbut de la tche i et la tche j.

3.1.1.

Reprsentation graphique du rseau PERT

Une tape est reprsente par un cercle de trois cases :

N de ltape
Date au plus tt

Date au plus tard

Figure 11 : Exemple dune tape du rseau PERT

Une tche est reprsente par une flche oriente :

On considre le cas o les oprations se suivent les unes la suite des autres de A jusqu D :

Tche ou
opration
0

1
A
15

Dure
Pr. Badr DAKKAK

2
B
20

C
12

D
7

Etape
22

Chapitre 3

Problmes dordonnancement

Deux tches qui se succdent immdiatement se reprsentent par des flches qui se suivent :

Figure 12 : Reprsentation de deux tches qui se succdent selon la mthode PERT

Deux tches simultanes (c..d. qui se commencent en mme temps) sont reprsentes comme suit :

Figure 13 : Reprsentation de deux tches simultanes selon la mthode PERT

Deux tches A et B convergentes (c..d. qui prcdent une mme tape C) :

A
C
B

Figure 14 : Reprsentation de deux tches convergentes selon la mthode PERT

Parfois, on est oblig de crer des tches fictives X de dure nulle pour satisfaire certaines contraintes :

Exemple :

A et B sont simultans, C et D sont convergentes. A prcde C et B prcde D.


Si on ajoute la condition supplmentaire A prcde D le schma devient :

Pr. Badr DAKKAK

23

Chapitre 3

Problmes dordonnancement

A
X
0
B

Figure 15 : Exemple de reprsentation de la tche fictive

3.1.2.

Etapes de construction du rseau PERT

La construction du rseau PERT se fait en cinq tapes :

Etape 1 : construire le graphe;


Etape 2 : numroter les sommets;
Etape 3 : dterminer les dates au plus tt;
Etape 4 : dterminer les dates au plus tard;
Etape 5 : mise en vidence du chemin critique.

Pour bien illustrer la mthode de construction du rseau PERT, on va prendre lexemple de fabrication dun
scooter :

Etape 1 : Reprsentation graphique du rseau PERT :

A partir du tableau on trace le rseau PERT suivant :

Pr. Badr DAKKAK

24

Chapitre 3

Problmes dordonnancement

NB : Il faut vrifier que le trac du rseau PERT a une seule tape de dbut et une seule tape de fin.
Etape 2 : Numrotation des sommets

On numrote des diffrentes tapes du rseau PERT dans nimporte quel ordre en commenant par 0 et en
finissant par n 1

A
2

E
1

C
1

G
1

F
2

B
1
H
3

D
2

X
0

Etape 3 : Dtermination des dates au plus tt

Ces dates sont dtermines en allant dans le sens de lcoulement du temps partir de lvnement initial (date
0) en parcourant tous les circuits possibles du rseau et ce jusqu lvnement final.
Lorsque plusieurs tches aboutissent une tape, la date au plus tt retenir pour cette tape est la date la plus
tardive de fin daccomplissement des diffrentes tches concernes.

Exemple : Etape 1 :
0 + 2 = 2 ; Etape 4 :
3 + 1 = 4 ; Etape 3 :
= 3. Nous avons retenu 3 puisquelle est la dure maximale.

A
2

E
1
3

B
1
H
3
3

C
1

nous avons 2 + 1 = 3 ; 0 + 1 = 1 ; et 3 + 0

4
D
2
F
2

G
1

X
0

Etape 4 : Dtermination des dates au plus tard

Ces dates se calculent en allant dans le sens inverse de lcoulement du temps partir de lvnement final et ce
jusqu lvnement initial.

Lorsque plusieurs tches sont issues dune mme tape, les tches qui y arrivent ont pour date de fin au plus tard
la date de commencement la plus petite des tches qui ont pour origine cette tape.

Pr. Badr DAKKAK

25

Chapitre 3

Exemple : Etape 3

nous avons 4 1 = 3 et 6 1 = 4. Nous avons retenu 3

A
2

E
1

B
1
H
3

C
1

4
D
2

Problmes dordonnancement

F
2

G
1

X
0

Etape 5 : Mise en vidence du(es) chemin(s) critique(s)

La dtermination du(es) chemin(s) critique(s) se fait en dterminant le(s) chemin(s) reliant les tapes ayant les
dates au plus tt et au plus tard gales en suivant les arcs ayant donn lieu cette galit.

2
E
1

A
2

B
1
H
3
3

C
1
3

4
D
2

F
2

G
1

X
0

Figure 16 : Exemple de rseau PERT

Nous avons ici deux chemins critiques : (A, E, C, D et G) et (H, C, D, G)


La dure de ce projet est : 7 jours

Remarque :

Un chemin critique est un lensemble de tches critiques. On verra par la suite lintrt de la dtermination
du(es) chemin(s) critiques.

3.1.3.

Traitement des tches

Chaque tche est caractrise par les dates de dbut et de fin au plus tt et au plus tard. Ces dates sont
dtermines suivant les rgles cites ci-dessus.

a) Marge libre dune tche

La marge libre dune tche est le dlai dont on peut retarder cette tche sans affecter les dates au plus tt des
tches suivantes. Cette marge se calcule par la formule suivante :

Pr. Badr DAKKAK

26

Chapitre 3
Exemple :

Problmes dordonnancement

Marge libre = [dbut au plus tt de la tche suivante] [fin au plus tt de la tche concerne]

La tche A de lexemple prcdent a une date de fin au plus tt gale 2. La date de dbut au plus tt de la tche
suivante (tche E) est gale 2 et par consquent, la marge libre de la tche A est gale (2 2 = 0).

b) Marge totale dune tche

La marge totale est dune tche est le dlai dont on peut retarder cette tche sans affecter la date dachvement
du projet. Cette marge se calcule par la formule suivante :

plus
Marge totale = [dbut au plus tard] [dbut au pl
us tt de la tche concerne]

Exemple :

La tche F a les dates de dbut au plus tard et plus tt gal respectivement 4 et 3. La marge totale de cette tche
est : 4 3 = 1
Si la marge totale dune tche est gale 0, cette tche est dite critique et elle appartient au chemin critique.

Le tableau suivant donne les dates de dbut et de fin au plus tt et au plus tard, et les marges totales et libres des
diffrentes tches de lexemple de fabrication dun scooter.

Tches

Tches
antrieures

Dure

B, E, H

D
E
F

B, E, H
D, F
-

Dates au plus
plus
tt

Dbut

Fin

Dates au plus
tard

Dbut

Fin

Marges

Totale

Libre

Chemin
critique

1
2
1
2
1
3

Selon les circonstances, les marges pourront tre utilises :

Pour conserver une scurit de temps sur les tches qui ne sont pas situes sur le chemin
critique (imprcision des prvisions de dures de tches). Les taches sont dclenches au plus
tt,
Pour rduire le cot des encours. Les tches sont alors dclenches au plus tard au dtriment de
la scurit de temps.

Pr. Badr DAKKAK

27

Chapitre 3
4.

Problmes dordonnancement

Mthode des potentiels Mtra (MPM)

La mthode MPM est une mthode franaise date aussi 1958. Cette mthode consiste utiliser un graphe dont
les sommets reprsentent les oprations et les arcs reprsentent les contraintes. Les arcs (i,j) sont valus chacun
par un nombre indiquant la dure minimale entre le dbut de la tche i et de la tche j.
4.1.

Tche = Cercle

Reprsentation graphique du rseau MPM

20

15

12

Date au plus tt
Cot de la
tche A
4.2.

Date au plus tard

Tche C

Figure 17 : Exemple de reprsentation du rseau MPM

Construction du rseau MPM

La construction du rseau MPM se fait quasiment de la mme manire que du rseau PERT sauf pour le rseau
MPM on commence par la dtermination des niveaux de gnration de chaque sommet partir du tableau des
antriorits.
La dtermination des niveaux de gnration des sommets se fait en utilisant la mthode que nous avons vue dans
le chapitre 1. Il existe une autre mthode, que nous allons prsenter ici, plus simple et plus rapide par rapport
la premire.

4.2.1.

Dtermination des niveaux de gnration des sommets

Le trac du rseau MPM nest pas ais si le nombre de tches est lev. Dans ce cas, on trace la matrice de
dpendance portant les tches en lignes (tches commandantes) et en colonnes (tches commandes). Cette
matrice est complte par des colonnes de niveaux.

Exemple :

Tches commandantes

Reprenons lexemple de fabrication dun scooter.

A
B
C
D
E
F
G
H

Tches commandes
B
C
D
E

Niveaux
N+1 N+2 N+3 N+4

Cette matrice est dfinie en suivant les tapes suivantes :

Mettre un X lintersection des tches commandes et commandantes, par exemple la tche D est
commande par la tche C, on place alors un X dans la ligne D lintersection avec la colonne C ;
Totaliser horizontalement les tches commandantes et inscrire le rsultat dans la premire colonne de
niveau N ;
Les tches qui totalisent 0 sont inscrites en dessous de la colonne de niveau N (dans ce cas, cest la tche
A) ;

Pr. Badr DAKKAK

28

Chapitre 3

Eliminer les X qui figurent dans les colonnes de ces tches (on barre les X) ;
Recommencer totaliser horizontalement et inscrire le rsultat dans la deuxime colonne de niveau N
+1. Les tches qui totalisent 0 sont inscrites en dessous de la colonne N + 1 ;
Procder ainsi jusqu lpuisement des tches.

4.2.2.

Problmes dordonnancement

Trac du rseau MPM

Le rseau MPM correspondant est :

NB : Il faut vrifier que le trac du rseau MPM a une seule tape de dbut et une seule tape de fin.
5.

critiquess et des dates attendues


Mthode du tableau pour la recherche des chemins critique

Pour expliquer la mthode du tableau pour la recherche des chemins critiques et des dates attendues, on va
reprendre lexemple de fabrication dun scooter.

Opration
Pralable

0
0

A
D : 0

0 B
0 D : 0

3 C
2 E:1
0 B:1
0

H:3

4 D
3 C:1

2 E
0
A:2

3 F
2 E:1
0 B:1
0

H:0

6
4
3

G
D:2
F:2

0 H
0 D : 0

7 Fin
6 G:1

Comment on a rempli le tableau cici-dessus ?


On a crit 0 en face gauche de D (tche de dbut) (0|D) en face droite de D on a crit la dure de la tche D.
on a 0|D : 0 en faisant la somme de 0 gauche de D et de 0 droite de D. on obtient le ligne de successeur de D
(qui est E, B et H). On a la ligne 0 A. donc la date au plus tt de lopration A, B et H est 0. On passe la cinquime
colonne, on crit 0|A : 2 et ainsi de suite. Lorsquon a plusieurs prdcesseurs, on fait la somme des nombres
inscrits sur la mme ligne et on inscrit la tte de la colonne le maximum des rsultats obtenus.
Pour trouver le chemin critique, il suffit de reprendre dans le tableau, en partant de la fin les oprations
enchaines, dont la ligne a fournis le nombre indiqu en tte de la colonne. On a donc les chemins critiques
suivants :
A, E, C, D, G et H, C, D, G

Pr. Badr DAKKAK

29

CHAPITRE 4

PROBLEMES DAFFECTATION
1.

Introduction

Les problmes daffectation sont des cas spciaux du problme de transport o la demande associe chaque
destination est gale 1.

Il existe une mthode dite mthode Hongroise qui simplifie la rsolution du problme daffectation. Ltude de
cette mthode se fait via lexemple ci-aprs.
2.

Mthode de rsolution du problme daffectation (Mthode Hongroise)

Machine

Une entreprise se compose de quatre usines appeles 1, 2, 3 et 4. Le directeur de cette entreprise veut affecter 4
types de machines appeles F, M, O et P. La matrice suivante donne le cot daffectation de chaque machine aux
diffrentes usines :

1
F 24
M 14
O 15
P 11

Usine
2 3
10 21
22 10
17 20
19 14

4
11
15
19
13

Ex. le cot daffectation de la


machine P lusine 4 est : 13

Etape 1 : Rduction des lignes

Crer une nouvelle matrice des cots en choisissant le cot minimal sur chaque ligne et en le soustrayant de
chaque cot sur la ligne.

Exemple : La valeur minimale dans la premire ligne est 10 do cette ligne devient : 24 10 = 14 ; 10 10 = 0 ;
21 10 = 11 ; 11 10 = 1
La nouvelle matrice est :

Machine

Usine

Etape 2 : Rduction des colonnes

Rduit
de

Crer une nouvelle matrice des cots en choisissant le cot minimal de chaque colonne et en le soustrayant de
chaque cot de la colonne.

Chapitre 4

Problmes daffectation

La nouvelle matrice est :

Machine

Usine

Etape 3 :

Dterminer le nombre minimal de droites ncessaires sur les lignes et les colonnes pour couvrir tous les zros. Si
ce nombre gal au nombre de lignes (colonnes), la matrice est rduite, aller ltape 5. Si ce nombre est infrieur
au nombre de lignes (ou colonnes) aller ltape 4.
Dans ce cas, le nombre minimal de lignes est 3, donc on va passer ltape 4

Machine

Usine

Etape 4 :

Trouver la cellule de valeur minimum non couverte par une ligne (voir tableau prcdant). Soustraire cette
valeur aux cellules situes lintersection de deux lignes. Retourner ltape 3.

Machine

Usine

Maintenant le nombre minimal de droites est 4. Alors, on passe ltape 5

Machine

Usine

Usine

Machine

Etape 5 : Dtermination de la solution optimale

Pr. Badr DAKKAK

31

Chapitre 4

Problmes daffectation

NB :

P ne doit pas tre affecte lusine 1 car laffectation de la machine O ne serait pas de cot minimal.

Rsultat :

Affectation
Machine
Usine

Cot

Exemple 2 :

Une administration dsire procder aux mutations de cinq personnes A, B, C, D et E et leur affectent les postes a,
b, c, d et e. Ces personnes dsirant maximiser leur satisfaction, dcident deffectuer un classement des postes
offerts. Le tableau suivant regroupe leurs avis.

D
E

1
1
2

4
2
1

2
3
4

5
5
3

3
4
5

Pour maximiser la satisfaction gnrale, il faut choisir un chiffre et un seul par ligne et par colonne de manire
ce que la somme des cinq chiffres choisis soit minimale. Cette somme sappelle le cot de la solution.
Etape 1 : Rduction des lignes

Etape 2 : Rduction des colonnes

Pr. Badr DAKKAK

32

Chapitre 4

Problmes daffectation

Etape 3 : Dtermination du nombre minimal de droites ncessaires sur les lignes et sur les colonnes pour couvrir
tous les zros.

Etape 4 :

Etape 5 : Dtermination de la solution optimale

Pr. Badr DAKKAK

33

CHAPITRE 5
LES PROGRAMMES DE TRANSPORT
1.

Position du problme

Un bien donn est disponible en m lieu O1, O2,, Om appels origines, en quantits respectives a1, a2,, am et doit
tre livr en n lieu D1, D2,, Dn appels destinations, en quantits respectives b1, b2,, bn.

Soient I = {1,,m} et J = {1,,n}. Les quantits offertes et demands sont des entiers non ngatifs tels que loffre
total est gale la demande totale c..d. : u u = z z
Chaque origine Oi est relie chaque destination Dj par une route (Oi,Dj) et lacheminement dune unit du bien
considr de Oi Dj correspond un cot de transport fij entier et non ngatif.

Le problme est dobtenir un schma de transport de cot minimum c..d. de dterminer les quantits ij
transporter de Oi, i I Dj, j J de manire satisfaire les demande moindre cot. Plus prcisment, il sagit de
rsoudre le programme linaire suivant :

(1)
min () = uz uz
u z

(2)
(n) uz = u ,
z

(3)
uz = z
u
(4)
uz 0 ,

On remarque que ce programme est un problme linaire donc, il peut tre rsolu par la mthode du
simplex.
On peut lui associ le graphe suivant :

O1

D1

O2

D2

O3

D3

Figure 18 : Exemple de traduction dun problme de transport en un graphe

Chapitre 5

Problmes de transport

E et S sont des tches fictives et le problme revient la recherche dun flot de valeur maximale et de cot
minimal.

Un graphe est dit biparti si ses sommets sont partags en deux classes telles que les sommets de chaque classe ne
sont pas adjacents.

On dit quune solution du problme (P) est non dgnre selle comporte exactement : nm (n + m 1) = (n
1)(m 1) variables nulles.
On dit dune solution est ralisable selle vrifie les relations (2), (3) et (4) mais pas ncessairement (1).

Exemple :

Assurer au moindre cot les transports des quantits demandes aux dpts numrots de 1 6 partir des
usines de I IV. Connaissant les disponibilits de ces usines et les cots de transport unitaires de toutes origines
toute destination.

Dpt
Usine

12

27

61

49

83

35

III

67

56

92

24

53

54

II

IV

Quantits
demandes

23
71
9

39
43
11

78
91
28

28
67
6

Tableau 1

65
40
14

42
49
5

Quantits
disponibles
18
32
14
9

73

On a suppos que le total gnral des quantits disponibles aux origines correspond au total gnral des
demandes aux diffrentes destinations. Si ce nest pas le cas :

2. Recherche dune solution de base


2.1.
Mthode du coin NordNord-Ouest

Pr. Badr DAKKAK

35

Chapitre 5

Problmes de transport

On a :

2.2.

Mthode : Procdure MINILI (MINI(MINI-LINE)

2.3.

Mthode MINICO (minimum des colonnes)

2.4.

Mthode MINITAB

Cette mthode consiste affecter la quantit maximale la relation du cot minimal dans la premire ligne, puis
la relation du cot minimal, parmi celle qui subsistant de la deuxime.
Cette mthode consiste affecter la quantit maximale la relation du cot minimal, parmi celle restant dans la
2me mthode.
Cette mthode consiste affecter la quantit maximale la relation du cot minimal dans le tableau, puis la
relation du cot minimal parmi celle qui reste.

Exercice

Chercher une base ralisable par chacune des mthodes prcdentes et comparer les cots.
Remarque : les mthodes 2, 3 et 4 sont appeles gourmandes ou heuristiques gourmandes.
2.5.

Mthode de la diffrence maximale ou de BALAS HAMMER

Cette mthode consiste :


1.

Calculer pour chaque range (ligne ou colonne), la diffrence entre le cot le plus petit et le cot
immdiatement suprieur.

Pr. Badr DAKKAK

36

Chapitre 5
2.

3.

1er pas :

Problmes de transport

Affecter la relation de cot le plus petit correspondant la range prsentant la diffrence maximale, la
quantit la plus leve possible.
Reprendre le processus jusqu ce que tous les rangs soit saturs.

2me pas :

3me pas :

Pr. Badr DAKKAK

37

Chapitre 5

4me pas :

Problmes de transport

5me pas :

6me pas :

7me pas :

Pr. Badr DAKKAK

38

Chapitre 5

8me pas :

Problmes de transport

Nous obtenons la solution de base :

Pr. Badr DAKKAK

39

Chapitre 5

Pr. Badr DAKKAK

Problmes de transport

40

Chapitre 5

Pr. Badr DAKKAK

Problmes de transport

41

Chapitre 5

Pr. Badr DAKKAK

Problmes de transport

42