Académique Documents
Professionnel Documents
Culture Documents
MEMOIRE´
En : Math´ematiques appliqu´ees
Sujet :
Bibliographie 21
1
Introduction g´en´erale
Dans cette section d’introduction, nous aborderons les aspects essentiels des deux chapitres `a
venir. Le premier chapitre porte sur la th´eorie des graphes, un domaine fondamental dans l’´etude
des structures interconnect´ees. Nous explorerons les concepts cl´es, les d´efinitions et les types de
graphes, en nous concentrant sur leur pertinence dans les r´eseaux de distribution.
Le deuxi`eme chapitre est consacr´e aux algorithmes d’optimisation dans les r´eseaux de
distribution. Nous nous int´eresserons `a diverses techniques et approches pour r´esoudre des
probl`emes complexes dans ces r´eseaux. L’objectif principal de ce chapitre est d’explorer les
solutions algorithmiques efficaces.
Les algorithmes d’optimisation sont des outils puissants pour r´esoudre des probl`emes
complexes dans les r´eseaux de distribution. Ils permettent de trouver les solutions optimales ou
quasioptimales.
Ce projet vise `a combiner les connaissances th´eoriques de la th´eorie des graphes avec les
techniques pratiques de l’optimisation pour am´eliorer les performances et l’efficacit´e des r´eseaux
de distribution. En comprenant les fondements th´eoriques des graphes et en appliquant des
algorithmes d’optimisation.
En combinant les connaissances acquises dans ces deux chapitres, nous serons en mesure de
proposer des solutions efficaces et innovantes pour r´esoudre les d´efis complexes rencontr´es dans
les r´eseaux de distribution. Nous esp´erons que ce travail contribuera `a l’am´elioration des
performances, de l’efficacit´e et de la fiabilit´e de ces r´eseaux essentiels dans notre soci´et´e
moderne.
Chapitre 1
La th´eorie des graphes est une branche des math´ematiques qui ´etudie les structures appel´ees
graphes, qui sont compos´ees de sommets reli´es par des arˆetes. Son histoire remonte au XVIIIe
si`ecle lorsque Leonhard Euler a r´esolu le probl`eme des ponts de K¨onigsberg en utilisant des repr
´esentations abstraites appel´ees graphes.
Au fil des ann´ees, de nombreux math´ematiciens ont contribu´e `a la th´eorie des graphes en
introduisant de nouveaux concepts et en d´eveloppant des th´eories. Gustav Kirchhoff a introduit la
th´eorie des arbres, Arthur Cayley a ´etudi´e les permutations dans les graphes, et D´enes K˝onig a
travaill´e sur les graphes bipartis et les probl`emes d’appariement, pour n’en nommer que
quelquesuns.
La th´eorie des graphes s’est d´evelopp´ee au XXe si`ecle avec l’introduction de concepts tels que
les graphes planaires et les graphes topologiques. Elle a connu une expansion consid´erable et est d
1
´esormais utilis´ee dans de nombreux domaines tels que l’informatique, les r´eseaux sociaux, la
biologie, la chimie et l’optimisation.
Aujourd’hui, la th´eorie des graphes joue un rˆole essentiel dans la mod´elisation, l’analyse et la r
´esolution de probl`emes r´eels. Elle fournit des outils et des algorithmes pour ´etudier les propri´et
´es et les relations entre les entit´es dans diverses situations. Son influence s’´etend `a de nombreux
domaines de la recherche et de l’application pratique.
En somme, la th´eorie des graphes est une discipline math´ematique fondamentale qui permet
de repr´esenter et d’analyser les relations entre les objets. Son histoire riche et son application dans
de nombreux domaines en font un sujet d’´etude important et pertinent.
e1
V1 V2
e2
e3
V3
Degr´e d‘un sommet : On appelle degr´e du sommet v, et on note d(v), le nombre d’arˆetes incidentes `a
ce sommet (Une boucle sur un sommet compte double)
Danc d(V1) = 1 et d(V2) = 2
2
e1
V1 V2
e2
V3
Degr´e de graphe : Le degr´e d’un graphe est le degr´e maximum de tous ses sommets
Un graphe dont tous les sommets ont le mˆeme degr´e est dit r´egulier.
Un graphe simple : Un graphe est simple si au plus une arˆete relie deux sommets et s’il n’y a pas
de boucle sur un sommet (une arˆete qui relie un sommet `a lui-mˆeme).
Un graphe complet : Un graphe complet est un graphe dans lequel chaque paire de sommets
distincts est reli´ee par une arˆete. Autrement dit, il n’y a pas de sommets isol´es et chaque paire de
sommets est adjacente.
V1 V2
V3 V4
V1 V2
V3 V1 V2
3
Un graphe partiel : Un graphe partiel est un graphe obtenu `a partir d’un graphe original en supprimant
certains sommets et/ou certaines arˆetes.
soit G = (V,E) un graphe avec un ensemble de sommets V et un ensemble d’arˆetes E. Un graphe
partiel G′ = (V ′,E′) est obtenu en choisissant un sous-ensemble V ′ ⊆ V de sommets de G et un sous-
ensemble E′ ⊆ E d’arˆetes de G. Cela signifie que G′ contient uniquement les sommets et les arˆetes s
´electionn´es `a partir de G.
A B A B
C D D
Un graphe non orient´e : Un graphe non orient´e est une structure math´ematique compos´ee de
sommets reli´es entre eux par des arˆetes non directionnelles. Les arˆetes ne poss`edent pas de
notion de flux ou de direction sp´ecifique, ce qui signifie que la relation entre les sommets est sym
´etrique .
A B
un graphe orient´e : Un graphe orient´e est une structure math´ematique compos´ee de sommets
reli´es entre eux par des arcs unidirectionnels. Chaque arc indique une relation asym´etrique entre
les sommets, repr´esentant un flux ou une direction sp´ecifique .
A B
Un multigraphe : Un multigraphe est une g´en´eralisation d’un graphe dans lequel plusieurs
arˆetes peuvent relier le mˆeme couple de sommets. Les arˆetes d’un multigraphe peuvent
´egalement avoir des poids ou des ´etiquettes distinctes.
3
1
V1 V2
2
4
Figure 1.8 – Exemple d’un multigraphe
Un graphe biparti : si ses sommets peuvent ˆetre divis´es en deux ensembles U et V , de sorte que toutes
les arˆetes du graphe relient un sommet dans U(U1,U2,U3) `a un sommet dans V (V1,V2,V3)
V1 U1
V2 U2
V3 U3
Un graphe connexe : Un graphe connexe est un graphe dans lequel il existe un chemin entre
chaque paire de sommets. Cela signifie que tous les sommets du graphe sont reli´es les uns aux
autres d’une mani`ere ou d’une autre .
A B C
D E
Un graphe pond´er´e : Un graphe pond´er´e est un graphe dans lequel chaque arˆete est associ´ee `a
une valeur num´erique appel´ee poids. Le poids peut repr´esenter une distance, un couˆt, une capacit´e,
etc.
2
A B
3 1
4
C D
5
Chaine : suite d’arrˆet telle que tout arrˆet a une extr´emit´e commune avec l’arrˆet pr´ec´edent ( sauf
5
´eventuellement le premier) et l’autre avec l‘arrˆet suivant (sauf ´eventuellement le dernier)
La longueur de la chaˆıne est ´egale au nombre d’arˆetes qui la composent
(V1,V2,V3) Longueur=2
e1
V1 V2
e2
V3
Si aucun des sommets composant la s´equence n’apparaˆıt plus d’une fois, la chaˆıne est dite chaˆıne
´el´ementaire
Si aucune des arˆetes composant la s´equence n’apparaˆıt plus d’une fois, la chaˆıne est dite chaˆıne
simple.
Chemin : suite d’arcs telle que l’extr´emit´e terminale d’un arc co¨ıncide avec l’extr´emit´e
initiale de l’arc suivant
Si aucun des sommets composant la s´equence n’apparaˆıt plus d’une fois, le chemin est dit chemin ´el
´ementaire
Si aucune des arˆetes composant la s´equence n’apparaˆıt plus d’une fois, le chemin est dit chemin
simple.
e6
V4 V3
e2
e5
e7 e4
e1 e3
V1 V2 V5
Cycle : Une chaˆıne dont les deux sommets extr´emit´es sont identiques est un cycle (Ne passe pas deux
fois la mˆeme sommet) Sommet de d´epart = sommet d’arriver .
Circuit : Un circuit dans un graphe non orient´e est un chemin ferm´e qui parcourt au moins trois
sommets distincts et ou` chaque arˆete est utilis´ee exactement une fois, `a l’exception de l’arˆete
finale qui relie le dernier sommet au premier sommet du circuit.
Composantes connexes : Un graphe non connexe peut ˆetre divis´e en plusieurs composantes
connexes. Une composante connexe est un sous-ensemble de sommets qui sont connect´es entre
eux mais qui ne sont pas connect´es aux sommets en dehors de la composante. Chaque sommet du
graphe appartient `a une unique composante connexe.
6
Une forˆet : Une forˆet est un ensemble de graphes non orient´es disjoints, ou` chaque composante de
la forˆet est un arbre. En d’autres termes, une forˆet est la r´eunion de plusieurs arbres.
Un arbre : Un arbre est un graphe non orient´e connexe sans aucun circuit. Autrement dit, un arbre
est un graphe dans lequel il existe exactement un chemin unique entre chaque paire de sommets, et
il n’y a pas de boucles.
Cycle eul´erien d’un graphe G : est un cycle passant une et une seule fois par chacune des arˆetes de G
(Un graphe est dit eul´erien s’il poss`ede un cycle eul´erien).
Chaˆıne eul´erienne d’un graphe G : une chaˆıne passant une et une seule fois par chacune des arˆetes de
G. (Un graphe ne poss´edant que des chaˆınes eul´eriennes est semi-eul´erien)
Graphe est eul´erien (ou semi-eul´erien) s’il est possible de dessiner le graphe sans lever le crayon et
sans passer deux fois sur la mˆeme arˆete.
V4 V3
e1 e2
e5
e4
V1 V2
e3
Cycle hamiltonien d’un graphe G : un cycle passant une et une seule fois par chacun des sommets de G
(Un graphe est dit hamiltonien s’il poss`ede un cycle hamiltonien).
Chaˆıne hamiltonienne d’un graphe G : une chaˆıne passant une et une seule fois par chacun des
sommets de G. (Un graphe ne poss´edant que des chaˆınes hamiltoniennes est semi-hamiltonien).
Quelques propri´et´es :
– un graphe poss´edant un sommet de degr´e 1 ne peut pas ˆetre hamiltonien
– si un sommet dans un graphe est de degr´e 2, alors les deux arˆetes incidentes `a ce sommet doivent
faire partie du cycle hamiltonien
– les graphes complets Kn sont hamiltoniens
G = (V1,V2,V3,V4),(e1,e2,e3,e4,e5)
7
V4 V3
e4
e2
e5
e3
e1
V1 V2
File : Une file est une structure de donn´ees lin´eaire ou` l’insertion des ´el´ements se fait `a une extr
´emit´e (appel´ee ”arri`ere”) et la suppression des ´el´ements se fait `a l’autre extr´emit´e ( appel´ee
”avant”). Le principe de fonctionnement est celui du ”premier entr´e, premier sorti” (FIFO). Les op
´erations de base sur une file sont l’enfilement (ajout d’un ´el´ement `a l’arri`ere) et le d´efilement
(suppression d’un ´el´ement `a l’avant).
Pile : Une pile est une structure de donn´ees lin´eaire ou` l’insertion et la suppression des ´el
´ements se font `a une extr´emit´e appel´ee ”sommet”. Le principe de fonctionnement est celui du
”dernier entr´e, premier sorti” (LIFO). Les op´erations de base sur une pile sont l’empilement (ajout
d’un ´el´ement au sommet) et le d´epilement (suppression de l’´el´ement du sommet).
Clique : Dans un graphe non orient´e, une clique est un sous-ensemble de sommets tels que chaque
paire de sommets dans ce sous-ensemble est reli´ee par une arˆete. En d’autres termes, une clique
est un groupe de sommets qui sont tous mutuellement connect´es. Une clique maximale est une
clique qui ne peut pas ˆetre ´etendue en ajoutant un autre sommet du graphe tout en pr´eservant la
propri´et´e de cliquage.
Couplage : Dans un graphe non orient´e, un couplage est un sous-ensemble d’arˆetes tel que chaque
sommet du graphe est incident `a au plus une arˆete du couplage. Un couplage maximal est un
couplage qui ne peut pas ˆetre ´etendu en ajoutant une autre arˆete du graphe tout en pr´eservant la
propri´et´e de couplage. Un couplage parfait est un couplage qui couvre tous les sommets du
graphe.
Coloration de graphe : La coloration de graphe consiste `a attribuer des couleurs aux sommets
d’un graphe de mani`ere `a ´eviter les sommets adjacents de mˆeme couleur, avec pour objectif de
minimiser le nombre de couleurs utilis´ees.
Complexit´e des algorithmes : La complexit´e d’un algorithme est une mesure de la quantit´e de
ressources (temps d’ex´ecution, espace m´emoire) qu’il requiert en fonction de la taille de l’entr´ee.
Elle indique la limite sup´erieure de la croissance de ces ressources lorsque la taille de l’entr´ee augmente.
La notation O(grandeO) est utilis´ee pour exprimer cette complexit´e.
Formellement, si un algorithme a une complexit´e de O(g(n)), cela signifie que pour une taille
d’entr´ee n suffisamment grande, le temps d’ex´ecution ou l’espace requis par l’algorithme est born
´e par une fonction g(n), jusqu’`a une constante multiplicative pr`es.
8
R´eseau de distribution : Un r´eseau de distribution est un graphe repr´esentant les connexions et
les interactions entre les diff´erents points ou nœuds d’un syst`eme de distribution. Les nœuds,
´egalement appel´es sommets, repr´esentent des emplacements cl´es tels que les centres de
distribution, les points de vente, les entrepˆots, les fournisseurs ou les installations de production.
Les arˆetes du graphe symbolisent les chemins ou les connexions entre ces sommets. L’objectif est
de faciliter le mouvement efficace des produits ou des services `a travers le r´eseau, en optimisant
les distances, les couˆts de transport et les flux d’approvisionnement pour r´epondre aux besoins
des clients.
1.7 Conclusion
Ce chapitre a ´etabli les fondements de la th´eorie des graphes en introduisant les concepts
fondamentaux et les d´efinitions cl´es. Nous avons explor´e les diff´erents types de graphes et les
notions essentielles qui nous serviront tout au long de ce projet. En acqu´erant une compr´ehension
solide des concepts de base de la th´eorie des graphes, nous sommes d´esormais prˆets `a
approfondir notre ´etude des algorithmes d’optimisation dans les r´eseaux de distribution.
9
Chapitre 2
Dans ce projet, nous abordons le domaine fascinant de l’optimisation dans les r´eseaux de
distribution. Les r´eseaux de distribution, qu’il s’agisse de r´eseaux´electriques, de r´eseaux de t´el
´ecommunications ou d’autres syst`emes de distribution, jouent un rˆole essentiel dans notre soci´et´e
moderne. Ils permettent de transporter et de distribuer des ressources vitales telles que l’´electricit´e, les
donn´ees et les biens. Cependant, l’efficacit´e et la fiabilit´e de ces r´eseaux sont souvent mises `a
l’´epreuve en raison de contraintes et de d´efis complexes.
Le chapitre pr´ec´edent a pos´e les bases de la th´eorie des graphes, qui constitue un outil
essentiel pour mod´eliser et r´esoudre des probl`emes dans les r´eseaux de distribution. Nous avons
explor´e les concepts de base. Ces fondements nous permettent maintenant d’approfondir notre
compr´ehension et de nous aventurer dans le domaine des algorithmes d’optimisation dans les r
´eseaux de distribution.
Dans ce chapitre, nous allons nous concentrer sp´ecifiquement sur les algorithmes
d’optimisation dans les r´eseaux de distribution. Nous examinerons diff´erentes approches et
techniques utilis´ees pour r´esoudre des probl`emes d’optimisation complexes. L’objectif de ce
chapitre est de pr´esenter les principaux algorithmes d’optimisation utilis´es dans les r´eseaux de
distribution, en mettant l’accent sur leur application pratique et leur efficacit´e.
En combinant les connaissances acquises dans le chapitre pr´ec´edent sur la th´eorie des
graphes avec les concepts d’optimisation pr´esent´es dans ce chapitre, nous serons mieux pr´epar
´es `a r´esoudre les probl`emes complexes rencontr´es dans les r´eseaux de distribution. Ces
algorithmes d’optimisation joueront un rˆole crucial pour am´eliorer l’efficacit´e et la fiabilit´e des r
´eseaux de distribution et pour r´epondre aux besoins croissants de la soci´et´e.
L’algorithme de parcours en largeur explore les sommets d’un graphe en commen¸cant par un
sommet donn´e, puis en explorant tous ses voisins avant de passer aux voisins de ses voisins.Cet
algorithme utilise une file d’attente pour stocker les sommets `a visiter. Il commence en ins´erant le
10
sommet de d´epart dans la file d’attente, puis it`ere tant que la file d’attente n’est pas vide. A`
chaque it´eration, il retire le sommet en tˆete de la file d’attente, visite ce sommet et ajoute tous ses
voisins non visit´es `a la file d’attente.
Ce processus se poursuit jusqu’`a ce que tous les sommets accessibles `a partir du sommet de d´epart
aient ´et´e visit´es.
Complexit´e : O(n + p) ou` n est le nombre de sommets du graphe et p est le nombre d’arcs du
graphe. Cette complexit´e indique que le temps d’ex´ecution de l’algorithme est lin´eaire par
rapport `a la somme du nombre de sommets et du nombre d’arcs du graphe.
Exemple1 : L’algorithme BFS peut ˆetre illustr´e `a l’aide d’un exemple. Consid´erons le graphe suivant :
Nous avons un graphe non orient´e avec six sommets (A,B,C,D,E,F) et cinq arˆetes. L’objectif est
d’effectuer un parcours BFS `a partir du sommet A pour explorer les autres sommets du graphe et
atteindre le sommet F.
11
A B D F
C E
12
Algorithm
2 Parcours en Profondeur ( DFS )
1: procedure DFS(G,s0)
2: Entr´ee : Un graphe G et un sommet s0 de G
3: Postcondition : Retourne une arborescence π repr´esentant un parcours en profondeur de G `a
partir de s0
4: D´eclaration : Une pile (LIFO) p initialis´ee `a vide
5: for all sommet si ∈ S do
6: π[si] ← null
7: Colorier si en blanc
8: end for
9: Empiler s0 dans p et colorier s0 en gris
10: while p n’est pas vide do
11: Soit si le dernier sommet entr´e dans p(au sommet de p)
12: if il existe un sommet sj ∈ succ(si) tel que sj est blanc then
13: Empiler sj dans p et colorier sj en gris
14: π[sj] ← si
15: else
16: D´epiler si de p et colorier si en noir
17: end if
18: end while
19: Retourne π
20: end procedure
Complexit´e : O(n + p) ou` n est le nombre de sommets du graphe et p est le nombre d’arcs du
graphe. La complexit´e de l’algorithme DFS d´epend de la taille du graphe, c’est-`a-dire du nombre de
sommets et d’arˆetes.
Exemple2 : Dans le mˆeme exemple, mais cette fois avec l’algorithme DFS, nous partirions du
sommet A et explorerions en profondeur les voisins avant de revenir en arri`ere. Cela nous
permettrait de parcourir les autres sommets du graphe, y compris le sommet F
A B D F
C E
13
1 A
2 Sortie de la pile : A
Pile : B
3 Sortie de la pile : B
Pile : D
4 Sortie de la pile : D
Pile : E
5 Sortie de la pile : E
Pile : C
6 Sortie de la pile : C
Pile : F
7 Sortie de la pile : F
Pile : ( vide )
Table 2.2 – Parcours DFS `a partir du sommet A
Le parcours DFS explore d’abord le sommet A, puis se d´eplace vers le sommet B,D,E,C et enfin
F.
14
Algorithm
9: π[si] ← null
10: p[si] ← 0 11:
end for
12:
13: E ←∅
14: Trier les arˆetes de A par ordre de couˆt croissant
15: for chaque arˆete {si,sj} prise par ordre de couˆt croissant et tant que |E| < |S|− 1 do 16:
ri ← racine(π,si)
17: rj ← racine(π,sj)
18: if ri ̸= rj then
19: Ajouter (si,sj) dans E
20: if p[ri] < p[rj] then
21: π[ri] ← rj
22: else if p[rj] < p[ri] then
23: π[rj] ← ri 24: else
25: π[rj] ← ri
26: p[ri] ← p[ri] + 1
27: end if
28: end if
29: end for
30:
31: Retourne E
32: end function
33:
34: function racine(π,s)
35: Entr´ee/Sortie : Une forˆet π
36: Entr´ee : Un sommet s
37: Postcondition : Retourne la racine r de l’arborescence contenant s et la met `a jour de sorte que
tous les sommets se trouvant entre s et r soient directement rattach´es sous r 38: if π[s] = null then
39: Retourne s
40: end if
41: π[s] ← racine(π,π[s])
42: Retourne π[s]
43: end function
Exemple3 :
— L’algorithme de Kruskal peut ˆetre illustr´e `a l’aide d’un exemple concret. Consid´erons le graphe
suivant :
15
Nous avons un graphe non orient´e avec cinq nœuds (A,B,C,D,E) et six arˆetes, chacune ayant
un poids associ´e. L’objectif est de trouver un arbre couvrant de poids minimum pour ce
graphe.
Arˆete Poids
AB 5
AE 3
BC 8
CD 2
DE 1
BD 6
Table 2.3 – Liste des arˆetes tri´ees par poids
B C
8
5 6 2
A D
1
3
E
B C
8
5 6 2
A D
1
3
E
Dans cette section, nous pr´esenterons trois algorithmes importants pour les probl`emes de
transport : le Probl`eme du Voyageur de Commerce (TSP), le Cycle Eulerien et le Probl`eme du
Postier Chinois (CPP).
16
Algorithm
4 TSP2 − approximation
Require: Le graphe G = (X,A) avec un couˆt c(xy) positif pour chaque arˆete xy
Ensure: Un cycle µ passant au moins une fois par chaque sommet avec un couˆt au plus ´egal `a deux
fois le couˆt d’un cycle optimal
1: Calculer un arbre recouvrant Tde couˆt minimum de G
2: Retourner le cycle correspondant au parcours en profondeur de T
Complexit´e :
— Calcul de l’arbre recouvrant de couˆt minimum : O(|A|log|X|) (par exemple avec l’algorithme de
Kruskal)
— Parcours en profondeur de l’arbre : O(|A|)
La complexit´e totale de l’algorithme est donc de O(|A|log|X|).
Exemple4 :
— Consid´erons un exemple de TSP avec les villes A, B, C et D, et les distances entre elles :
Villes Distances
A-B 10
A-C 60
A-D 20
B-C 25
B-D 30
C-D 35
— Le graphe suivant correspondant `a cet exemple :
A B
10
30
20 25
60
35
D C
Figure 2.5 – Graphe du TSP avec les distances entre les villes
17
ajout´e au cycle eul´erien et l’arˆete correspondante est marqu´ee comme visit´ee. Le sommet
suivant est d´etermin´e en s´electionnant un sommet adjacent non visit´e, et le processus continue
jusqu’`a ce que tous les sommets aient ´et´e visit´es.
Algorithm 5 CycleEulerien
Require: G = (X,A) avec tous les sommets de degr´e pair
Ensure: Un cycle eul´erien µe de G procedure
CycleEulerien(G)
Choisir un sommet quelconque x de G
Rechercher un chemin maximal µ `a partir de x (qui ne peut pas ˆetre prolong´e sans passer
deux fois par une mˆeme arˆete) ▷ Montrer que µ est un cycle en utilisant la parit´e des degr´es
G′ ← G − aretesˆ (µ) for all composante connexe Ci de G′ telle que |C1|≥ 2 do
µi ← CycleEulerien(G′[Ci]) ▷ Remarquer que G[Ci] a uniquement des sommets de
degr´e pair
end for
Choisir un sommet xi appartenant `a µ et µi ▷ Montrer que xi existe
µe est obtenu en ”collant” µ et les cycles µi via les sommets xi ▷ Remarquer que µ et les
µi couvrent toutes les arˆetes de G
Retourne µe end
procedure
Complexit´e :
— La recherche d’un chemin maximal `a partir d’un sommet quelconque : O(|V | + |E|)
— Suppression des arˆetes du chemin µ : O(|µ|)
— Boucle sur les composantes connexes et appel r´ecursif : O(|V |/2 ∗ T)
La complexit´e globale de l’algorithme CycleEulerien est approximativement donn´ee par :
ou` |V | est le nombre de sommets, |E| est le nombre d’arˆetes, |µ| est la taille du chemin µ, et T
est la complexit´e de l’algorithme CycleEulerien.
Exemple5 : Consid´erons un graphe non orient´e avec les sommets A,B,C,D,E et F. Dans cet exemple,
Le cycle eul´erien est form´e par les arˆetes A − B − D − F − A, qui forment un chemin ferm´e qui
passe par chaque arˆete du graphe une seule fois. Ces arˆetes sont color´ees en rouge pour indiquer
le cycle eul´erien.
A B
F E
18
Algorithm
Figure 2.6 – Graphe avec un cycle eul´erien
19
Pour commencer, l’algorithme v´erifie si le graphe est d´ej`a eulerien. Si c’est le cas, il utilise le
cycle eulerien existant comme solution optimale. Sinon, il ajoute des arˆetes suppl´ementaires de
mani`ere `a minimiser la distance totale suppl´ementaire `a parcourir.
Une fois le graphe eulerien obtenu, l’algorithme effectue un parcours eulerien en suivant une
strat´egie pour ne visiter chaque arˆete qu’une seule fois. Il continue jusqu’`a ce que toutes les
arˆetes du graphe aient ´et´e couvertes. Le chemin obtenu repr´esente alors la solution optimale
pour le facteur, garantissant la livraison du courrier `a chaque rue du r´eseau avec la distance totale
minimale.
L’algorithme du postier chinois est largement utilis´e dans des domaines tels que la logistique, la
planification de tourn´ees, les r´eseaux de distribution et les probl`emes de conception de r´eseaux.
Il offre une approche efficace pour optimiser les itin´eraires de livraison, ce qui peut conduire `a des
´economies de temps, de carburant et de ressources.
Algorithm 6 PostierChinois
Require: Le graphe G = (X,A) avec un couˆt c(xy) r´eel positif associ´e `a chaque arˆete xy
Ensure: Un cycle µ passant au moins une fois par chaque arˆete du graphe tel que µ soit de couˆt
minimum
1: procedure PostierChinois(G)
2: if chaque sommet de G est de degr´e pair then
3: µ ← CycleEulerien(G) ▷ G est eulerien
4: retourner µ
5: end if
6: Impairs ←{x ∈ X |xestdedegreimpair´ }
7: G ← une clique ayant comme ensemble de sommets l’ensemble Impairs
′
Complexit´e :
20
— Si chaque sommet du graphe G est de degr´e pair, la complexit´e de l’algorithme est de O(|A|).
— Sinon, la complexit´e de l’algorithme est de O(|X|3 + |X|2 ·|A|).
Ici, |X| repr´esente le nombre de sommets du graphe et |A| repr´esente le nombre d’arˆetes du
graphe.
Exemple6 : Consid´erons un graphe non orient´e connexe qui repr´esente une ville avec les
sommets A,B,C,D,E,F et les arˆetes suivantes :
A B
E F
D C
Nous souhaitons trouver un chemin qui passe par chaque arˆete une fois et qui revient au point
de d´epart, tout en minimisant le chemin total parcouru. C’est l`a que l’algorithme du Postier
Chinois entre en jeu.
Apr`es avoir appliqu´e l’algorithme du Postier Chinois, nous obtenons le chemin suivant en
colorant les arˆetes de la solution en rouge :
A B
E F
D C
Figure 2.8 – Graphe avec la solution du Probl`eme du Postier Chinois (arˆetes en rouge)
Dans le deuxi`eme graphe, nous avons appliqu´e l’algorithme du Postier Chinois pour trouver un
chemin qui passe par toutes les arˆetes une fois et qui revient au point de d´epart, tout en
minimisant le chemin total parcouru. Les arˆetes de la solution sont color´ees en rouge.
21
2.3 Conclusion
Ces probl`emes et algorithmes sont des ´el´ements cl´es de la th´eorie des graphes et ont une
large gamme d’applications pratiques. Ils permettent de r´esoudre des probl`emes de planification,
d’optimisation et de logistique dans divers domaines tels que les transports, les r´eseaux de
communication, la logistique urbaine, etc. La compr´ehension de ces concepts et la maˆıtrise de ces
algorithmes sont essentielles pour r´esoudre efficacement les probl`emes li´es aux graphes dans le
monde r´eel.
Bibliographie
[1] West, D.B. (2001). Introduction to Graph Theory (2nd ed.). Upper Saddle River, NJ : Prentice
Hall.
[2] Bondy, J. A. et Murty, U. S. R. (2008). Graph Theory (Graduate Texts in Mathematics, Vol. 244).
Springer.
[3] Chartrand, G. et Lesniak, L. (2005). Graphs & Digraphs (4th ed.). CRC Press.
[4] Diestel, R. (2012). Graph Theory (4th ed.). Springer.
[5] Solnon, C. Th´eorie des graphes et optimisation dans les graphes.
[6] Robert. (2004). Th´eorie des graphes, probl`emes, th´eor`emes, algorithmes. Vuibert.
[7] Kaufmann, M. Des points des fl`eches, la th´eorie des graphes. Dunod, Sciences-poche, ´epuis´e.
[8] Bojan Mohar, Carsten Thomassen Graphes on surfacesJohn Hopkins University Press, Baltimore,
2001.
[9] Reinhard Diestel, Graph Theory, Third Edition, Springer-Verlag 2005 [10] Alan Gibbons,
Algorithmic graphe theory, Cambridge University Press, 1985
[11] Olivier Cogis et Claudine Robert, Th´eorie des graphes, Ed. Vuibert, 2004.
.
22