Graphes Et Appli Twin 2
Graphes Et Appli Twin 2
Graphes Et Appli Twin 2
2023 - 2024
ESATIC UP MATHS
Table des matières
1
TABLE DES MATIÈRES
3.3.2 Un exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 arbres couvrants de poids minimum . . . . . . . . . . . . . . . . . . . . 20
3.4.1 Algorithme de Kruskal 1956 . . . . . . . . . . . . . . . . . . . . 20
3.5 Ordonnancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.1 METHODE PERT . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.2 D’autres méthodes d’ordonnancement et de gestion de projets . . 29
3.6 Flot maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6.1 Flots dans un réseau de transport . . . . . . . . . . . . . . . . . . 30
3.6.2 Théorème du flot maximum . . . . . . . . . . . . . . . . . . . . 32
3.6.3 Algorithme du flot maximum . . . . . . . . . . . . . . . . . . . 33
BIBLIOGRAPHIE 34
ESATIC 2 UP Maths
Introduction
L’objectif de ce cours est de permettre aux étudiants de se familiariser avec les élé-
ments de base de la théorie des graphes, de connaître le vocabulaire et les définitions
mathématiques de la théorie des graphes, de maîtriser les représentations des graphes et
les algorithmes classiques de manipulation des graphes et leurs principales applications.
Les graphes que nous proposons d’étudierici sont des figures géométriques simples for-
mées de points et de lignes reliant certains de ces points ; on leur donne parfois le nom de
" graphes linéaires".
La première publication consacrée à la théorie des graphes est due à l’illustre mathémati-
cien suisse Euler et parut en 1736. (voir [8])
La théorie des graphes est aujourd’hui un moyen d’étude naturel de quelques sujets pu-
rement mathématiques, la théorie des relations mathématiques par exemple ; elle a ce-
pendant bien d’autres applications à des problèmes purement pratiques : couplages, pro-
blèmes de transports, écoulement dans un réseau de pipe-lines et "programmation" au
sens général. Pour se donner une idée précise de ce qu’est un graphe, prenons l’exemple
suivant :
3
TABLE DES MATIÈRES
droite chaque fois que les deux équipes qu’ils représentent se rencontrent.La liste des
rencontres que nous avons donnée ci-dessus se représente alors par la figure ci-dessous.
F IGURE 1 – Un graphe
Une figure analogue à la figure 1 est appelée un graphe. Il est formé de certains points
A, B, C, D, E et F appelés sommets du graphe et de segments reliant deux sommets, AC,
EB, par exemple, qui sont les arêtes du graphe.
Nous présenterons dans une première partie la théorie des graphes et dans une seconde
nous en donnerons quelques applications.
ESATIC 4 UP Maths
Chapitre 1
1.1.1 Notations
On écrit G = (X, E). Les ensembles X et E peuvent être notés X(G) et E(G). On
note habituellement par n ou nG le cardinal de X, c’est à dire le nombre de sommets du
graphe, et par m ou mG le cardinal de E, c’est à dire le nombre d’arêtes du graphe. La
paire des extrémités x et y d’une arête e est notée ici simplement xy ( ou yx), au lieu de
la notation mathématique habituelle x, y lorsque x ̸= y.
1.1.2 Représentation
Il est habituel, et bien pratique, de dessiner les graphes sur un plan de la façon sui-
vante : les sommets sont représentés par des points, les arêtes par des lignes simples
(qu’on peut définir mathématiquement de façon précise) qui relient les points extrémités
concernés (voir Figure 1.1 ).
1.1.3 Terminologie
Lorsque x et y sont les extrémités d’une arête e , on dit que e relie les sommets x et y,
que les sommets x et y sont voisins , que l’arête e est incidente au sommet x et au sommet
y. On peut avoir x = y, dans ce cas l’arête e est appelée une boucle . Deux arêtes e et e′ ,
5
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
ou plus, peuvent avoir mêmes extrémités x et y, on dit alors qu’elles sont parallèles ou
qu’on a une arête multiple ( double, triple, etc., suivant le nombre d’arêtes) entre x et y.
Définition 1.1.2. Un graphe est dit simple s’il n’a ni boucles ni arêtes multiples.
Dans le cas, d’un graphe simple, chaque arête s’identifie à la paire de ses extrémités,
qui sont distinctes, et on écrit par exemple e = xy. Un graphe simple peut être défini, plus
simplement que de la façon générale donnée plus haut, comme un couple d’ensembles
finis (X, E) où X est non vide et E est un ensemble de parties à deux éléments de X.
Définition 1.1.4. Un graphe est dit planaire, si on peut réaliser sa représentation plane
de sorte que deux lignes arêtes ne se coupent pas, en dehors d’extrémités communes (
dans le cas d’arêtes ayant une extrémité commune).
ESATIC 6 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
Définition 1.1.5. Un graphe est dit complet, si deux sommets distincts quelconques sont
reliés par une arête. Comme graphe non étiqueté, un graphe complet est déterminé par la
donnée du nombre n de ses sommets. On note Kn le graphe complet à n sommets.
Exercice 1.1.3.
1 Dessiner les graphes complets K3 , K4 et K6
2 Quel est le nombre m des arêtes du graphe complet Kn ?
1.2 Sous-graphes
1.2.1 Quelques définitions
Définition 1.2.1. Soit G = (X, E) un graphe. Un sous-graphe de G est un graphe de la
forme H = (Y, F ) où Y ⊂ X et F ⊂ E sont tels que toute arête de F a ses extrémités
ESATIC 7 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
dans Y . Un sous- graphe H de G est dit engendré ( ou induit) et on peut préciser par un
ensemble de sommets Y ⊂ X, s’il est de la forme H = (Y, F ) où F est l’ensemble des
arêtes de E qui ont leurs extrémités dans Y . On note ce sous-graphe GY . En particulier
GX = G. Un sous-graphe H = (Y, F ) de G est dit couvrant si Y = X. On dit aussi dans
ce cas que H est un graphe partiel de G. On peut préciser graphe partiel engendré par
F , c’est le graphe (X, F ) et on le note G(F ).
1.2.2 Notations
Soient G = (X, E) un graphe, Y ⊂ X et F ⊂ E. On note :
• G − Y le sous-graphe de G engendré par X \ Y ( sousgraphe obtenu en enlevant
de G les sommets de Y , avec leurs arêtes incidentes).
• G − F le graphe partiel de G engendré par E F (graphe partiel de G obtenu en
enlevant les arêtes de F ).
On écrira en particulier : G − x à la place de G − {x} pour x ∈ X et G − e à la place de
G − {e} pour e ∈ E.
Par extension de ce dernier cas, on note parfois G + e le graphe obtenu en ajoutant à G
une nouvelle arête e ( en précisant bien sûr ses extrémités dans G).
F IGURE 1.5 –
ESATIC 8 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
1.3.2 Cycles
Définition 1.3.1. Un cycle est une chaîne de longueur ≥ 1 simple et fermée. C’est donc
une chaîne de la forme : (x0 , e1 , x1 , · · · ek , x0 ) où k ≥ 1 et les ei sont distincts. L’entier k
est la longueur du cycle.
Remarque 1.3.1. Par extension des définitions précédentes, on appelle également chaîne
(élémentaire) tout graphe qui peut être paramétré comme une chaîne (élémentaire). De
même, on parle d’un cycle (élémentaire) pour un graphe qui peut être paramétré comme
un cycle élémentaire.
Définition 1.3.2. Une chaîne eulérienne est une chaîne composée de toutes les arêtes du
graphe prises une seule fois. Un cycle eulérien est un cycle composé de toutes les arêtes
du graphe prises une seule fois. Un graphe possédant un cycle eulérien est un graphe
eulérien.
ESATIC 9 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
Définition 1.3.3. On appelle degré d’un sommet x d’un graphe G le nombre d’arêtes de
G incidentes à x, c’est-à-dire admettant x comme extrémité. Précisons que chaque boucle
compte deux fois. On note d(x) ou dG (x) cet entier.
Un sommet est dit isolé si son degré est nul. La notion de degré est l’occasion de
donner la première proposition suivante.
Définition 1.3.4. Un graphe G est dit régulier lorsque les degrés de ses sommets sont
tous égaux. On peut préciser le degré commun k des sommets en disant k−régulier. Les
graphes 3−réguliers sont dits cubiques.
Définition 1.3.5. On appelle appelle graphe valué, un graphe tel qu’à chaque arête, on
associe un nombre réel.
1.4 Connexité
Définition 1.4.1. Un graphe G est connexe si quels que soient deux sommets de ce graphe
ils sont reliés par une chaîne. Les composantes connexes d’un graphe G sont les sous-
graphes engendrés connexes maximaux de G. Maximal veut dire ici que le sousgraphe en
question n’est pas lui-même sous-graphe propre, c’est-à-dire ayant strictement moins de
sommets, d’un sous-graphe connexe de G.
Evidemment, un graphe est connexe si et seulement s’il n’a qu’une seule composante
connexe. On vérifie que les composantes connexes d’un graphe sont des sousgraphes deux
à deux disjoints, c’est-à-dire n’ayant deux à deux ni sommets ni arêtes en commun. Elles
définissent la décomposition en composantes connexes du graphe.
Définition 1.4.3. Un isthme d’un graphe G est une arête e telle que G − e a une com-
posante connexe de plus que G. Ce qui revient à dire que dans G − e les extrémités x et
y de e ne sont plus reliées par une chaîne. On dit parfois aussi que l’arête e sépare les
sommets x et y. Lorsque G est connexe, un isthme est une arête e telle que G − e n’est
pas connexe.
ESATIC 10 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
Théorème 1.5.1. Un graphe est biparti si et seulement s’il n’a pas de cycles impairs.
Exercice 1.5.1. Le graphe ( Figure 1.7) est-il biparti ? Justifier votre réponse.
ESATIC 11 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
1.5.1 Arbres
On rappelle qu’un arbre est un graphe connexe, acyclique. Nous énonçons ici quelques
propriétés des arbres :
Proposition 1.5.1. Un arbre tel que n ≥ 2 possède au moins deux sommets pendants,
c’est-à-dire de degré 1.
Proposition 1.5.3. Dans un arbre, deux sommets quelconques sont reliés par une chaîne
élémentaire unique.
ESATIC 12 UP Maths
CHAPITRE 1. GÉNÉRALITÉS SUR LES GRAPHES
1.6.2 Terminologies
Lorsque (x, y) est le couple associé des extrémités de l’arc a, on dit : que l’arc a va
du sommet x au sommet y, que l’arc a est incident aux sommets x et y, ou encore, plus
précisément, que l’arc a sort du sommet x et qu’il entre dans le sommet y. Le sommet
y est appelé un successeur de x et le sommet x un prédécesseur de y. Comme en non
orienté, on a une boucle dans le casx = y et un arc multiple dans le cas d’arcs ayant un
même couple (x, y) associé. On peut préciser,suivant le nombre d’arcs concernés : arc
double, triple, etc. Deux arcs ayant pour couples associés respectivement (x, y) et (y, x)
sont dits opposés.
Définition 1.6.2. Un graphe orienté est dit strict s’il n’a ni boucles ni arcs multiples (il
peut avoir des arcs opposés). Dans ce cas, souvent considéré, chaque arc s’identifie au
couple de ses extrémités, qui sont alors distinctes, et on écrit par exemple a = (x, y). Pour
un graphe orienté strict G = (X, A) on peut définir l’ensemble des arcs A directement
comme partie du produit cartésien X × X. Un graphe orienté strict est dit symétrique si
pour tout arc (x, y) il existe également l’arc opposé (y, x). Cette notion est très proche de
celle d’un graphe non orienté.
ESATIC 13 UP Maths
Chapitre 2
Exemple 2.1.1.
14
CHAPITRE 2. REPRÉSENTATIONS DES GRAPHES
ESATIC 15 UP Maths
Chapitre 3
16
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
Les quatre quartiers de la ville sont représentés par les lettres A, B, C et D. Comme nous ne
nous intéressons qu’aux ponts, nous pouvons considérer A, B, C et D comme les sommets
d’un graphe dont les arêtes seraient les ponts.
Le graphe de la Figure 3.2 n’est pas Eulerien car il possède un sommet de dégré 3
[Théorème :3.1.1]donc la réponse au problème est négative.
ESATIC 17 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
0 0 1 2 3 2 0 0 2 3 3 3
0 0 2 1 0 2 0 0 1 0 4 3
5
0 0 0 2 3 1 6
0 0 2 3 1 2
2 On admet que M = et M =
0 0 1 0 4 3
0 0 0 4 4 1
0 0 2 1 0 2 0 0 1 0 4 3
0 0 0 2 1 0 0 0 2 1 0 2
a) G contient-il des circuits de longuer 5 ? (Justifier la réponse)
b) Combien sont les circuits de longueur 6 de G ?
Définition 3.3.2. Le coût d’un chemin (chaîne) est la somme des coûts des arcs (arêtes)
de ce chemin.
Définition 3.3.3. La distance entre deux sommets x et y que nous noterons dG,ν (x, y)
d’un graphe valué G est la valuation (ou coût) minimum d’une chaîne du graphe ayant
ces deux sommets pour extrémités.
• ν(ac) = 3 et ν(bd) = 5.
• Pour la chaîne P = {e, a, c, b}, ν(P ) = 9.
• dG,ν (e, c) = 4 et dG,ν (b, d) = 4. On notera que dG,ν (b, d) ̸= ν(b, d).
ESATIC 18 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
3.3.2 Un exemple
Déterminons par l’algorithme de Djkstra sur la figure ci-après, le parcours qui possède
le minimum d’obstacles entre A et G. La valuation sur chaque trajet représente le nombre
d’obstacles sur ce trajet.
ESATIC 19 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
ESATIC 20 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
Fin
Ci dessous une figure illstrant l’algorithme de Kruskal
Remarque 3.4.1. L’algorithme de Kruskal consiste à classer les arêtes par ordre de poids
croissant puis à chaque étape retenir l’arête de poids minimum tant que celle-ci ne crée
pas un cycle avec les arêtes déjà retenues. L’algoritme s’arête quand on a utilisé n − 1
arêtes.
Remarque 3.4.2. Les arêtes de poids 3, n’ont pas pu être placées dans l’algorithme à la
Figure3.6 car elles auraient formé un cycle. L’algorithme s’est arrêté dès que cinq arêtes
ont été placées. Toute arête supplémentaire aurait créé un cycle. S’1l y a plusieurs arêtes,
de même poids. Il peut y avoir plusieurs arbres couvrants de poids, mmimum :tout dépend
de l’ordre dans, lequel ces arêtes, ont êté triées.
Exercice 3.4.1. En appliquant l’algorithme de Kruskal, retrouver tous les arbres cou-
vrants de poids minimum du graphe
ESATIC 21 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
3.5 Ordonnancement
L’objet d’un problème d’ordonnancement est de faciliter la mise en oeuvre et de guider
l’exécution d’un ensemble complexe de tâches (programme de recherche ou de produc-
tion, lancement d’un produit, construction d’un bâtiment ou d’une route · · · ).
La technique d’analyse la plus connue, appelée méthode P.E.R.T (Program Evaluation
and Review Technique) est celle que nous allons présenter ici. Elle a été introduite aux
Etats-Unis en 1958 pour la réalisation d’un programme de recherches et de construction
des fusées Polaris.
Cette méthode tient une place dominante par sa simplicité, son efficacité et la variété des
extensions qui ont pu être développées.
Nous supposons que le projet est décomposable en un nombre fini de tâches, carac-
térisées par leur durée d’exécution (généralement fixe parfois aléatoire), éventuellement
aussi par leur coût d’exécution, et soumises à des contraintes de postériorité strictes (une
tâche ne peut commencer que si certaines autres tâches sont complètement terminées).
Réduire la durée totale d’un projet par une analyse détaillée des tâches ou activités
élémentaires et de leur enchaînement. On étudie les délais sans prendre en compte les
charges.
Notions de base
La méthodes s’appuie en grande partie sur une représentation graphique qui permet
de bâtir un « réseau PERT ».
Un réseau PERT est constitué par des tâches et des étapes.
Étape : commencement ou fin d’une tâche. Une étape n’a pas de durée. On symbolise
une étape (ou « noeud ») sur le réseau par un cercle.
Tâche : déroulement dans le temps d’une opération. Contrairement à l’étape, la tâche est
pénalisante car elle demande toujours une certaine durée, des moyens (ou ressources) et
coûte de l’argent. Elle est symbolisée par un vecteur (ou arc orienté, ou liaison orientée)
sur lequel seront indiqués l’action à effectuer et le temps estimé de réalisation de cette
tâche.
Remarques 3.5.1.
ESATIC 22 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
◦ Tâches successives :
◦ Tâches simultanées :
Du fait de la règle de construction qui interdit de faire se dérouler les deux tâches B et C
simultanément, nous utilisons une tâche X(0) dite « tâche fictive » qui sert à représenter
ESATIC 23 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
◦Tâches convergentes :
Ici, la tâche A(12) a une durée de 12 unités de temps, B(6) a une durée de 6 unités de
temps. On constate que la tâche A dure plus longtemps que B. A est dite « pénalisante ».
Nous pouvons calculer la durée du projet (ici : 12+3 = 15 unités de temps) en prenant le
chemin le plus long dit « chemin critique ». Ce « chemin critique » pourra être repéré en
rouge. Les tâches de ce chemin seront à surveiller prioritairement.
◦ Normalisation du graphe.
Si le graphe doit débuter par plusieurs tâches simultanées, il ne doit y avoir qu’une
seule étape d’entrée (ou étape de début, ou étape de départ). Les étapes seront donc re-
groupées en une seule.
Si le graphe se termine par plusieurs tâches (plusieurs étapes de sortie (ou de fin), il ne
doit y avoir qu’une seule étape de sortie.
ESATIC 24 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
Le graphe précédent est faux car cette construction signifie : A enclenche B, A enclenche
D, C enclenche B, et C enclenche D.
Pour respecter les contraintes d’antériorités du projet, on introduit une tâche fictive
comme suit :
Les étapes ou « noeuds » peuvent être représentés de différentes façons selon les in-
formations que l’on souhaite mettre en évidence.
ESATIC 25 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
1 Établir la liste des tâches (faire le partitionnement des tâches en fonction des res-
sources).
2 Déterminer des antériorités : tâches immédiatement antérieures, et tâches anté-
rieures.
3 Déterminer les niveaux d’exécution ou rang des tâches (optionnel).
4 Construire le réseau PERT.
5 Calculer la durée du projet, les dates début et de fin des tâches. Déterminer le
chemin critique. Mettre en évidence les marges.
Exemple 3.5.1. Soit les tâches suivantes qui constituent un projet : A(3), B(4), C(2),D(3),
E(4).
Les antériorités sont les suivantes :
A enclenche C
A enclenche D
B enclenche E
C enclenche E
Constuisons le diagramme PERT de ce projet.
Afin de construire le réseau, nous allons déterminer le rang (ou niveau) d’exécution de
chaque tâche, c’est à dire la position chronologique qu’elle occupe au début de son exé-
cution dans le projet.
Nous pouvons utiliser une matrice (ou grille) de dépouillement des données (dite :
« matrice de dépouillement par les sommets »)[Voir Figure 3.10] : On met une croix
lorsqu’il y a une antériorité entre une tâche et une autre. On cherche s’il existe des croix
dans l’une des colonnes. Si nous ne trouvons pas de croix dans certaines, cela signifie que
les tâches repérées en haut des colonnes n’ont pas d’antériorité. Elles sont alors de rang
1. On note ces tâches, puis on barre les lignes horizontales correspondant à ces tâches et
ESATIC 26 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
F IGURE 3.10 – Matrice de dépouillement du projet : une méthode pour déterminer les
rangs des tâches.
on réitère l’opération précédente. On détermine les tâches de rang 2 et ainsi de suite. Les
rangs (ou niveaux) déterminés permettent de positionner le début des différentes tâches
lors de la construction du graphe. Nous en déduisons le réseau PERT correspondant à
l’application proposée :
La méthode PERT a pour but de planifier la durée d’un projet, aussi nous devons
mener des calculs sur le graphe afin d’en déduire des renseignements sur son exécutabilité.
Quelques définitions à retenir :
• Début au plus tôt d’exécution d’une tâche : C’est le maximum des fins au plus
tôt des tâches qui la déclenche (Il peut exceptionnellement y avoir un retard ou
chevauchement si le cahier des charges du projet le précise et que la faisabilité est
vérifiée).
• Début au plus tard d’une tâche : C’est la date de fin au plus tard de la tâche
moins la durée de la tâche.
• Fin au plus tôt : C’est la date de début au plus tôt plus la durée de la tâche.
• Fin au plus tard : C’est le minimum des dates de début au plus tard des tâches
qu’elle enclenche.
• Marge totale : C’est le retard admissible du début d’une tâche qui n’entraîne au-
cun recul de la date de fin du projet, mais qui consomme les marges libres des
opérations suivantes. C’est la date de début au plus tard moins la date de début au
plus tôt.
ESATIC 27 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
• Marge libre : C’est le retard admissible sur une tâche qui n’entraîne pas de mo-
dification des calendriers des tâches suivantes.C’est la date de début au plus tôt de
la tâches suivante moins la durée de la tâche moins la date de début au plus tôt de
la tâche.
• Chemin critique : C’est l’ensemble des tâches dont la marge totale et la marge
libre est nulle. C’est le chemin dont la succession des tâches donne la durée d’exé-
cution la plus longue du projet et fournit le délai d’achèvement le plus court. Si
l’on prend du retard sur la réalisation de ces tâches, la durée globale du projet est
allongée.
On peut porter toutes ces informations directement sur le graphe [voir Fiure 3.9]. Cepen-
dant, pour l’application précédente, on peut dresser un tableau de synthèse comme suit :
Résultats de l’étude :
Exercice 3.5.1. L’entreprise @Math décide de lancer un produit nouveau sur le mar-
ché. Les services commerciaux ont déterminé l’ensemble des tâches nécessaires à cette
action :a,b,c,d,e,f,g,h,i,j,k.
Les conditions d’antériorité liant ces tâches et les durées en jours de celles-ci sont
rassemblées dans le tableau ci-dessous.
ESATIC 28 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
Le diagramme GANTT
ESATIC 29 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
est proportionnelle à sa durée. L’origine du segment est calée sur la date de début au plus
tôt de l’opération (« jalonnement au plus tôt ») et l’extrémité du segment représente la
fin de la tâche. Ce type de graphe présente l’avantage d’être très facile à lire, mais pré-
sente l’inconvénient de ne pas représenter l’enchaînement des tâches. Cette méthode est
généralement utilisée en complément du réseau PERT ou MPM. On trace le plus souvent
le GANTT au plus tôt ou « jalonnement au plus tôt » et éventuellement au plus tard «
jalonnement au plus tard ».
Exemple 3.5.2.
ESATIC 30 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
ensemble des sorties (ou puits) du réseau, et une valuation des arcs c : A → N ( entiers
naturels), appelée capacité. On admettra aussi la valeur ∞ (positive) comme capacité
d’un arc. Précisons quelques points de terminologie et notations. Pour a ∈ A, c(a) est la
capacité de l’arc a , les sommets de X \ (SU T ) sont appelés sommets intermédiaires,
pour Z ⊂ X on note ω + (z) l’ensemble des arcs de G de la forme (x, y) avec x ∈ Z et
y∈/ Z et ω − (z) l’ensemble des arcs de la forme (x, y) avec x ∈
/ Z et y ∈ Z. Les arcs de
+ −
ω (z) sont les arcs sortant de Z, ceux de ω (z) les arcs entrant dans Z. Lorsque Z = x
on parle d’arcs entrant dans x et d’arcs sortant de x.
Cette deuxième condition est ce qu’on appelle la loi de conservation du flot en chaque
sommet intermédiaire, connue aussi, en électricité, comme la loi de Kirchhoff. On pose
d’une façon générale pour Z ⊂ X, f + (Z) = a∈ω+ (Z) f (a) et f − (Z) = a∈ω− (Z) f (a).
P P
Précisons que si ω + (Z) = ∅ alors j + (Z) = 0, de même pour ω − (Z) et f − (Z). Par abus
d’écriture, dans le cas Z = x, on écrira f + (x) à la place de f + ({x}) et de même pour
f − (x). La condition 2) précédente peut être réécrite :
2’)f + (x) = f − (x) pour tout x ∈ X \ (SU T ).
On ajoute la condition suivante, qui fait apparaître les sommets de S comme des «
sources » et les sommets de T comme des « puits » vis- à-vis du flot :
3) f + (s) − f − (s) ≥ 0 pour tout s ∈ S et f − (t) − f + (t) ≥ 0 pour tout t ∈ T .
On donne ci-dessous (figure 3.13)un exemple de flot.
Remarque 3.6.1. Il existe toujours dans un réseau ce qu’on appelle le flot nul, celui qui
prend la valeur 0 sur chaque arc.
Lemme 3.6.1. Dans un réseau de transport, le flot résultant sortant de S est égal au flot
résultant entrant dans T.
Ce résultat repose évidemment sur la propriété de conservation du flot sur les sommets
intermédiaires. Cette valeur commune f + (S) − f − (S) = f − (T ) − f + (T ) est appelée
la valeur du flot f , et notée ν(f ). Le problème traité dans ce chapitre est celui du flot
maximum , à savoir trouver dans un réseau donné un flot dont la valeur est la plus grande
possible.
On peut transformer un réseau de transport à plusieurs sources et plusieurs puits en
réseaux ayant une source unique et un puit unique (voir figure 3.14).
ESATIC 31 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
F IGURE 3.13 – Dans cette représentation d’un réseau les capacités des arcs sont indiquées
entre crochets. On a ici S = {s1 , s2 , s3 } et T = {t1 , t2 }. Un flot est donné par les valeurs
indiquées à gauche des capacités en chaque arc. Ces conventions de représentation s’ap-
pliquent également dans les figures qui suivront.
F IGURE 3.14 – Le réseau de la (figure 3.13) modifié en réseau avec entrée et sortie
uniques
Proposition 3.6.1. Quels que soient un flot f et une coupe K on a : ν(f ) ≤ c(K).
Définition 3.6.2. Une coupe minimum est une coupe de capacité la plus petite possible.
Corollaire 3.6.1. Etant donnés un fiat f et une coupe K , si ν(f ) = c(K) alors f est un
flot maximum et K une coupe minimum.
ESATIC 32 UP Maths
CHAPITRE 3. QUELQUES APPLICATIONS DES GRAPHES
C’est ce dernier résultat qui nous permettra de reconnaître qu’un flot est maximum.
Rappelons qu’une chaîne dans un graphe orienté est une chaîne du graphe non orienté
associé. Cette chaîne est donc définie par une suite d’arcs du graphe qui ne sont pas
nécessairement orientés dans un même sens de parcours de la chaîne ( ce qui fait qu’on
a une chaîne et non un chemin). Soit une chaîne élémentaire µ dans un réseau R muni
d’un flot f , chaîne reliant l’entrée s du réseau à un sommet quelconque u et supposée de
longueur non nulle. Notons (a1 , · · · , ak ) la suite de ses arcs (k ≥ 1), et posons :
où τ (ai ) = c(ai ) − f (ai ) si l’arc ai est orienté dans le sens de s à u dans la chaîne
µ, et τ (ai ) = f (ai ) si l’arc ai est orienté dans le sens de u à s dans µ. La chaîne est dite
insaturée , pour f , si τ (µ) > 0.
Lemme 3.6.2. S’il existe pour le flot f une chaîne insaturée reliant s à t, alors il existe
un flot f ′ tel que ν(f ′ ) > ν(f ).
Lemme 3.6.3. S’il n’existe pas pour le flot f de chaîne insaturée reliant s à t, alors il
existe une coupe K telle que c(K) = v(f ).
Proposition 3.6.2. Un flot est maximum si et seulement s’il n’existe pas de chaîne aug-
mentante.
Démonstration. Preuve directe avec les lemmes (3.6.2) et (3.6.3) précédents, et le corol-
laire (3.6.1) plus haut.
ESATIC 33 UP Maths
Bibliographie
[1] Irène Larramendy, Alain Marie-Jeanne , Introduction à la théorie des graphes, ellipses, 2018
[2] C. Berge, Graphes, Gauthier-Villars, 1983
[3] C. Berge, Hypergraphs : Combinatorics of Finite sets, Vol. 45 of North-Holland Mathemati-
cal library, Elsevier Science Publ. B.V., Amsterdam, 1989.
[4] M. Gondran et M. Minoux, Graphes et Algorithmes, Eyrolles, 1993.
[5] J.C. Fournier, Théorie des Graphes et Applications, Hermes-Lavoisier.
[6] Roseaux, Exercices résolus de Recherche Opérationnelle tome 1 : Graphe.
[7] Alain Bretto, Alain Faisant, François Hennecart, Éléments de théorie des graphes, Vol.4
Springer Paris, 2012.
[8] Oystein Ore, Les graphes et leurs applications,(Sigma n°21)-Dunod (1970)
[9] Edmond Maurel, Daniel Roux et Daniel Dupont, Techniques opérationnelles d’ordonnance-
ment, Eyrolles Mars, 1997
34