Introduction à la Théorie des graphes Optimisation dans les réseaux.

Post on 03-Apr-2015

128 views 6 download

Transcript of Introduction à la Théorie des graphes Optimisation dans les réseaux.

Introduction à laIntroduction à laThéorie des graphesThéorie des graphes

Optimisation dans Optimisation dans les réseauxles réseaux

PlanPlan

Définitions et exemplesDéfinitions et exemples Problème du plus court cheminProblème du plus court chemin Problème de flot maximalProblème de flot maximal Problème de connexion minimaleProblème de connexion minimale Problème du voyageur du Problème du voyageur du

commercecommerce

Ponts de KonigsbergPonts de Konigsberg

DéfinitionsDéfinitions

Graphe non orienté :Graphe non orienté : Graphe orienté :Graphe orienté :

Dictionnaire des précédentsDictionnaire des précédents(graphe orienté)(graphe orienté)

X Prédecesseurs A - B A, D, C C A D A, C

Matrice d’un graphe orientéMatrice d’un graphe orienté

A B C D A 0 1 1 1 B 0 0 0 0 C 0 1 0 0 D 0 0 1 0

DéfinitonDéfiniton

Degré d’un sommetDegré d’un sommet : : nombre d’arêtes reliées nombre d’arêtes reliées à ce sommet à ce sommet

Le sommet A est de degré 3 : (B, C et D aussi)Le sommet A est de degré 3 : (B, C et D aussi)

Types de graphesTypes de graphes

CYCLECYCLE : On peut partir d’un sommet : On peut partir d’un sommet et revenir a ce sommet en parcourant et revenir a ce sommet en parcourant une et une seule fois les autres sommets une et une seule fois les autres sommets

ChaîneChaîneSuite de sommets reliés par une seule arêteSuite de sommets reliés par une seule arête

Types de chaînesTypes de chaînes

Chaîne hamiltonienne :Chaîne hamiltonienne :Chaîne passant par tous les sommets d’un graphe Chaîne passant par tous les sommets d’un graphe

ABCD (ABDC, ACBD aussi) ABCD (ABDC, ACBD aussi)

ABDC, ACBDABDC, ACBD

Types de chaînesTypes de chaînes

Chaîne eulérienne :Chaîne eulérienne :

Chaîne passant par toutes les arêtes d’un Chaîne passant par toutes les arêtes d’un graphe (BACBDC)graphe (BACBDC)

Types de cyclesTypes de cycles

Cycle eulérien :Cycle eulérien : passant une seule fois par passant une seule fois par toutes les arêtes d’un graphe et revenant au toutes les arêtes d’un graphe et revenant au sommet de départ.sommet de départ.

Cycle hamiltonien : Cycle hamiltonien : passant une seule fois passant une seule fois par tous les sommets d’un graphe et par tous les sommets d’un graphe et revenant au sommet de départ.revenant au sommet de départ.

ExempleExempleExiste-t-il un cycle eulérien ??Existe-t-il un cycle eulérien ??

CDBCABECCDBCABEC

Graphe eulérienGraphe eulérien

Graphe qui possède un cycle EulérienGraphe qui possède un cycle Eulérien

Théorème d’Euler (1766)Théorème d’Euler (1766)

Graphe eulérien Graphe eulérien Tous les sommêts Tous les sommêts

du graphe ont un degré pairdu graphe ont un degré pair

OUI NONOUI NON

ConnexitéConnexité

Graphe non connexeGraphe non connexe : :

Il existe des sommets non Il existe des sommets non reliés entre euxreliés entre eux

Graphe connexeGraphe connexe : :

Tous les sommets sont Tous les sommets sont reliés entre euxreliés entre eux

Retour à KonigsbergRetour à Konigsberg

Sous forme de grapheSous forme de graphe

Les sommets = Les sommets = quartiersquartiers

Les arcs = Les pontsLes arcs = Les ponts Le problème Le problème le le

graphe est il eulérien ?graphe est il eulérien ? Théorème Théorème NONNON

ExemplesExemplesTournée sans répétition  Tournée sans répétition 

Est-il possible de tracer une courbe coupant Est-il possible de tracer une courbe coupant chacun des 16 segments de la figure chacun des 16 segments de la figure exactement une et une seule fois ?exactement une et une seule fois ?

Sous forme de grapheSous forme de graphe

ConclusionConclusion

Le problème consiste à construire un cycle Le problème consiste à construire un cycle eulérien :eulérien :

Théorème d’EulerThéorème d’Euler : impossible, car le sommet : impossible, car le sommet e; par exemple, est de degré 5e; par exemple, est de degré 5

Coloriage des sommets Coloriage des sommets d’un graphe non orientéd’un graphe non orienté

Nombre chromatique :Nombre chromatique :

affecter tous les sommets d’un graphe d’une affecter tous les sommets d’un graphe d’une couleur de telle sorte que deux sommets couleur de telle sorte que deux sommets adjacents ne portent pas la même couleur. adjacents ne portent pas la même couleur.

Le nombre nécessaire de couleurLe nombre nécessaire de couleur = = Nombre Nombre chromatiquechromatique

Exemple 1 ?Exemple 1 ?

Couleur 1 :Couleur 1 :A , CA , C

couleur 2 : couleur 2 : B; D B; D

Nombre chromatique = 2Nombre chromatique = 2

Exemple 2Exemple 2

Nombre chromatique = 3Nombre chromatique = 3

Application : Planning d’examensApplication : Planning d’examens

Une université doit organiser les horaires des Une université doit organiser les horaires des examens. On suppose qu’il y a examens. On suppose qu’il y a 7 épreuves à planifier7 épreuves à planifier, , numérotées de 1 à 7 :numérotées de 1 à 7 :

Les paires de cours suivantes ont des étudiants en Les paires de cours suivantes ont des étudiants en commun : commun : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, et 5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et 7 , 6 et 75 et 7 , 6 et 7. .

Comment organiser ces épreuves de façon qu’aucun Comment organiser ces épreuves de façon qu’aucun étudiant n’ait à passer deux épreuves en même temps étudiant n’ait à passer deux épreuves en même temps et cela sur une durée minimale ?et cela sur une durée minimale ?

Modélisation sous forme de grapheModélisation sous forme de graphe

RésolutionRésolution

Planifier les examens en un temps minimal Planifier les examens en un temps minimal consiste à déterminer une coloration en k consiste à déterminer une coloration en k couleurs des sommets du graphe, k étant le couleurs des sommets du graphe, k étant le nombre chromatique du graphe :nombre chromatique du graphe :

La partition minimale des sommets est (k = 4)La partition minimale des sommets est (k = 4)

ConclusionConclusion

k = 4k = 4 : les examens peuvent être répartis en  : les examens peuvent être répartis en

4 périodes4 périodes, de la manière suivante :, de la manière suivante : période 1, épreuves des cours 1 et 6période 1, épreuves des cours 1 et 6 période 2, épreuve du cours 2période 2, épreuve du cours 2 période 3, épreuves des cours 3 et 5période 3, épreuves des cours 3 et 5 période 4, épreuves des cours 4 et 7période 4, épreuves des cours 4 et 7

Répartition de commerciauxRépartition de commerciaux A, B, C, D, E, F, G et H désignent huit A, B, C, D, E, F, G et H désignent huit

COMMERCIAUX ; dans le tableau ci-dessous, COMMERCIAUX ; dans le tableau ci-dessous, une croix signifie que les COMMERCIAUX une croix signifie que les COMMERCIAUX ne sont pas prêts à travailler ensemble :ne sont pas prêts à travailler ensemble :

QuestionQuestion

Quel nombre minimum d’équipes Quel nombre minimum d’équipes

faut-il ?faut-il ?

Modélisation sous forme de grapheModélisation sous forme de graphe

Donc 4 équipesDonc 4 équipes

Optimisation dans les réseauxOptimisation dans les réseauxLe problème du plus court cheminLe problème du plus court chemin

S K J T U L E

S 1 2 5

K 1 3

J 3 2 1

T 1

U 1 4

L 2

E

Méthode de FORDMéthode de FORD

Niveaux du grapheNiveaux du graphe Graphe ordonnancé en niveauxGraphe ordonnancé en niveaux Le calcul du chemin le plus courtLe calcul du chemin le plus court

Dictionnaire des précédentsDictionnaire des précédentset niveaux du grapheet niveaux du graphe

Niveau 1 : JNiveau 2 : K, UNiveau 3 : SNiveau 4 : T, LNiveau 5 : E

Graphe ordonnancé en niveauxGraphe ordonnancé en niveaux

Calcul du chemin optimalCalcul du chemin optimalLa fonction mLa fonction m

Départ : m(J) = 0Départ : m(J) = 0 Pour un sommet X :Pour un sommet X :

m(X) = min {m(Y)+d(Y, X) ; Y précédent de X}m(X) = min {m(Y)+d(Y, X) ; Y précédent de X}

m(J) = m(J) = 0; 0; m(K) = m(J)+2 = 0 +2 = m(K) = m(J)+2 = 0 +2 = 22m(U) = m(J)+1 = 0 +1 = m(U) = m(J)+1 = 0 +1 = 11m(S) = min{m(K)+1; m(J)+3; m(U)+1}m(S) = min{m(K)+1; m(J)+3; m(U)+1} = min{3 ; 3 ; 2} = = min{3 ; 3 ; 2} = 22m(T) =m(T) = min{m(K)+3; m(S)+1}= min{m(K)+3; m(S)+1}= 33m(L) =m(L) = min{m(U)+4; m(S)+2}= min{m(U)+4; m(S)+2}= 44m(E) = min{m(T)+1; m(S)+5; m(L)+2}=m(E) = min{m(T)+1; m(S)+5; m(L)+2}=44

ConclusionConclusion

Le chemin le plus court est :Le chemin le plus court est :

EE← T ← S ← U ← J← T ← S ← U ← J

JJ U U SS TT E !!!E !!!