• Aucun résultat trouvé

Recherche Op´ erationnelle

N/A
N/A
Protected

Academic year: 2022

Partager "Recherche Op´ erationnelle"

Copied!
40
0
0

Texte intégral

(1)

Optimisation et Recherche Op´ erationnelle

M1 Informatique

Julien Ah-Pine (julien.ah-pine@univ-lyon2.fr) Universit´ e Lyon 2 - ICOM

M1 Informatique 2019/2020

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 1 / 159

Recherche Op´ erationnelle

⇒ Qu’est-ce que la Recherche Op´ erationnelle (RO) ?

Voici la d´ efinition de la ROADEF (Soci´ et´ e Fran¸ caise de Recherche Op´ erationnelle et d’Aide ` a la D´ ecision) sur son site

http ://www.roadef.org/

I

La RO est la discipline des m´ ethodes scientifiques utilisables pour

´ elaborer de meilleures d´ ecisions. Elle permet de rationaliser, de simuler et d’optimiser l’architecture et le fonctionnement des syst` emes de production ou d’organisation.

I

La RO apparaˆıt comme une discipline carrefour associant les

math´ ematiques, l’´ economie et l’informatique. Elle est par nature en prise directe sur l’industrie et joue un rˆ ole-cl´ e dans le maintien de la comp´ etitivit´ e.

I

Exemples d’application : organisation des lignes de production de v´ ehicules, optimisation des portefeuilles bancaires, aide au s´ equen¸ cage de l’ADN, organisation des produits recyclables . . .

Dans ce cours nous aborderons l’utilisation des graphes en RO et les probl` emes permettant d’ˆ etre r´ esolus dans ce cadre.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 2 / 159

Th´ eorie des graphes et RO

⇒ Pourquoi les graphes et leurs applications en RO ?

Les graphes permettent de repr´ esenter de nombreux probl` emes de mani` ere intuitive et contribuent donc souvent ` a formaliser et

r´ esoudre ces derniers : “Un bon dessin vaut mieux qu’un long discours”.

Les graphes sont rencontr´ es dans de nombreux domaines et pour de nombreux probl` emes d’optimisation : cartographie (plus courts

chemins dans des r´ eseaux routiers, r´ eseaux de

t´ el´ ecommunication,. . . ), ´ economie-gestion (planning de livraison, ordonnancement, . . . ), aide ` a la d´ ecision (aide multicrit` ere ` a la d´ ecision, . . . ), . . .

Les objectifs du cours sont :

I

Pr´ esenter certains probl` emes de le th´ eorie des graphes trouvant des applications en RO.

I

Etudier et mettre en oeuvre des algorithmes r´ esolvant exactement ou de fa¸ con approch´ ee ces probl` emes.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 3 / 159

Contenu du cours

1 El´ ements de la th´ eorie des graphes

2 Quelques probl` emes importants de l’´ etude d’un graphe

3 Probl` eme du plus court chemin

4 Probl` emes de Flot

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 4 / 159

(2)

Quelques r´ ef´ erences faisant partie des sources du cours

F. Droesbeke, M. Hallin et Cl. Lef` evre, Les graphes par l’exemple, Ellipses, 1987

M. Gondran et M. Minoux, Graphes et Algorithmes (4` eme ´ edition), Lavoisier, 2009

R. Faure, B. Lemaire et Ch. Picouleau, Pr´ ecis de recherche op´ erationnelle (5` eme ´ edition), Dunod, 2000

T. Cormen, Ch. Leiserson, R. Rivest, C. Stein, Introduction ` a l’algorithmique (2` eme ´ edition), Dunod, 2004

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 5 / 159

D´ eroulement du cours

4 s´ eances CM de 1h45

8 s´ eances TD/TP de 1h45 (avec impl´ ementation sur machine ` a l’aide du language R)

Evaluation :

I

1 dossier R par groupe de 2

I

1 examen sur table individuel

Les supports de cours peuvent ˆ etre r´ ecup´ er´ es ` a partir de mon site eric.univ-lyon2.fr/~jahpine.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 6 / 159

Exemple introductif

A priori le premier probl` eme r´ esolu par la th´ eorie des graphes (en 1736).

La ville de Koenigsberg (aujourd’hui Kaliningrad) est travers´ ee par le Pregel, qui coule de part et d’autre de l’ˆıle de Kneiphof et poss` ede 7 ponts, comme le montre la figure ci-dessus. Un pi´ eton d´ esire se promener et visiter tous les quartiers en empruntant une et une seule fois chaque pont.

Est-ce que le parcours d´ esir´ e du pi´ eton est r´ ealisable ?

El´ements de la th´eorie des graphes

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

2 Quelques probl` emes importants de l’´ etude d’un graphe

3 Probl` eme du plus court chemin

4 Probl` emes de Flot

(3)

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

D´ efinitions et g´ en´ eralit´ es sur les graphes Matrices associ´ ees ` a un graphe

Connexit´ e

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 9 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Graphes : concepts orient´ es

D´ efinition. (Graphe orient´ e)

Un graphe G = [X , U] est d´ etermin´ e par la donn´ ee :

1

d’un ensemble X dont les ´ el´ ements sont appel´ es des sommets (ou des noeuds). Si N = |X | est le nombre de sommets, on dit que le graphe G est d’ordre N.

2

d’un ensemble U dont les ´ el´ ements u ∈ U sont des couples ordonn´ es de sommets appel´ es des arcs. Si u = (i , j) est un arc de G , i est l’extr´ emit´ e initiale et j l’extr´ emit´ e terminale de u. On notera M = |U|

le nombre d’arcs.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 10 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Exemple de graphe orient´ e

2

1

3

4

5 u 3

u 1 u 2

u 5

u 6

u 9

u 4

u 7

u 8

N = 5 M = 9

b

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 11 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Boucle et p-graphe

D´ efinition. (Boucle)

Un arc u = (i, i ) dont les extr´ emit´ es co¨ıncident est appel´ e une boucle.

D´ efinition. (p-graphe)

Un p-graphe est un graphe dans lequel il n’existe jamais plus de p arcs de la forme (i , j) entre deux sommets quelconques i et j , pris dans cet ordre.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 12 / 159

(4)

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Exemple de boucle et d’un 2-graphe

2

1

3

4

5 u 3

u 1 u 2

u 5

u 6 u 9

u 4

u 7

u 8

N = 5 M = 9

b

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 13 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Graphes et applications multivoques

D´ efinition. (Ensemble de successeurs d’un sommet)

j est un successeur de i s’il existe un arc de la forme (i, j). L’ensemble des successeurs d’un sommet i ∈ X est not´ e Γ(i ).

D´ efinition. (Application multivoque)

L’application Γ qui, ` a tout ´ el´ ement de X , fait correspondre une partie de X (Γ : X → P(X )), est appel´ ee une application multivoque.

D´ efinition. (Ensemble de pr´ ed´ ecesseurs d’un sommet)

j est un pr´ edecesseur de i s’il existe un arc de la forme (j , i ). L’ensemble des pr´ edecesseurs d’un sommet i ∈ X est not´ e Γ −1 (i ). (Γ −1 est alors l’application multivoque r´ eciproque de Γ).

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 14 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

1-graphe et application multivoque

Si G est un 1-graphe alors il est parfaitement d´ etermin´ e par la donn´ ee de l’ensemble X et de l’application multivoque Γ. On peut donc aussi not´ e G = [X , Γ].

2

1

3

4 5

u 3

u 1 u 2

u 5

u 6

u 4

u 7

u 8

Γ 1 = {2} ; Γ 2 = {1, 3} ; Γ 3 = {4, 5}...

b

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Graphes : concepts non orient´ es

D´ efinition. (Graphe non orient´ e)

Un graphe G = [X , U] dont les ´ el´ ements u ∈ U ne sont pas ordonn´ es est dit non orient´ e. Les ´ el´ ements u sont alors appel´ es arˆ etes.

Il s’agit d’un graphe dont on ne s’int´ eresse pas ` a l’orientation des arcs. Dans ce cas, (i, j) ∈ U est ´ equivalent ` a (j, i ) ∈ U.

Dans la suite du cours :

I

L’utilisation du terme arc sous-entend que le graphe est orient´ e

I

L’utilisation du terme arˆ ete sous-entend que le graphe est non orient´ e

(5)

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Multigraphe et Graphe simple

D´ efinition. (Multigraphe)

Un multigraphe est un graphe pour lequel il peut exister plusieurs arˆ etes entre deux sommets i et j donn´ es.

D´ efinition. (Graphe simple)

Un graphe sans boucle et ayant au plus une arˆ ete pour toute paire de sommets est appel´ e graphe simple.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 17 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Exemple de multigraphe

2

1

3

4

5 u 3

u 1 u 2

u 5

u 6 u 9

u 4

u 7

u 8

N = 5 M = 9

b

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 18 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

D´ efinitions principales

D´ efinition. (Arcs adjacents, arˆ etes adjacentes)

Deux arcs (deux arˆ etes) sont dit adjacents s’ils ont au moins une extr´ emit´ e commune.

D´ efinition. (Degr´ e et demi-degr´ e)

le demi-degr´ e ext´ erieur du sommet i , not´ e d G + (i ) est le nombre d’arcs ayant i comme extrˆ emit´ e initiale

le demi-degr´ e int´ erieur du sommet i , not´ e d G (i ) est le nombre d’arcs ayant i comme extrˆ emit´ e terminale

le degr´ e du sommet i , not´ e d G (i ) est le nombre d’arcs (arˆ etes) ayant i comme extr´ emit´ e et on a (pour les arcs) : d G (i ) = d G + (i ) + d G (i)

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 19 / 159

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Exemple

2

1

3

4

5 u 3

u 1 u 2

u 5

u 6

u 9

u 4

u 7

u 8

N = 5 M = 9

b

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 20 / 159

(6)

El´ements de la th´eorie des graphes D´efinitions et g´en´eralit´es sur les graphes

Sous-graphes, graphes partiels et graphes compl´ ementaires

D´ efinition. (Sous-graphes, graphes partiels et graphes compl´ ementaires)

Le sous-graphe induit par A ⊂ X est le graphe G A dont les sommets sont les ´ el´ ements de A et dont les arcs sont les arcs de G ayant les deux extr´ emit´ es dans A

Soit G = [X , U ] et soit V ⊂ U. Le graphe partiel engendr´ e par V est le graphe [X , V ]

Soit G = [X , U ] et soient A ⊂ X , V ⊂ U. Le sous-graphe partiel engendr´ e par A et V est le graphe partiel de G A engendr´ e par V Etant donn´ e un 1-graphe G = [X , U], le graphe compl´ ementaire de G , est le graphe [X , U] tel que : (i , j ) ∈ U ⇒ (i , j) ∈ / U et

(i , j) ∈ / U ⇒ (i , j) ∈ U

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 21 / 159

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

D´ efinitions et g´ en´ eralit´ es sur les graphes Matrices associ´ ees ` a un graphe

Connexit´ e

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 22 / 159

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Matrice d’incidence sommets-arcs

D´ efinition. (Matrice d’incidence sommets-arcs)

Soit G = [X , U] un graphe sans boucle. La matrice d’incidence de G est une matrice A = (a iu ), i = 1, . . . , N, u = 1, . . . , M, ` a coefficients entiers dans {0, 1, −1} tel que chaque colonne correspond ` a un arc de G et chaque ligne ` a un sommet. Si u = (i , j) ∈ U alors la colonne u contient des termes nuls sauf pour les suivants : a iu = 1 et a ju = −1.

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Exemple de matrice d’incidence sommets-arcs

2

1

3

4 5

b

u 1

u 2

u 3

u 4

A =

u

1

u

2

u

3

u

4

1 1 1 0 0

2 −1 0 0 0

3 0 −1 1 1

4 0 0 0 −1

5 0 0 −1 0

(7)

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Matrice d’incidence sommets-arˆ etes

D´ efinition. (Matrice d’incidence sommets-arˆ etes)

Soit G = [X , U] un graphe non orient´ e sans boucle. La matrice d’incidence de G est une matrice A = (a iu ), i = 1, . . . , N, u = 1, . . . , M, ` a coefficients entiers dans {0, 1} telle que chaque colonne correspond ` a une arˆ ete de G et chaque ligne ` a un sommet. Si u = (i , j) ∈ U alors la colonne u contient des termes nuls sauf pour les suivants : a iu = 1 et a ju = 1.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 25 / 159

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Exemple de matrice d’incidence sommets-arˆ etes

2

1

3

4 5

u 3

u 1 u 2

u 5

u 6

u 4

u 7

b

A =

u

1

u

2

u

3

u

4

u

5

u

6

u

7

1 1 1 0 0 1 0 0

2 1 1 1 0 0 0 0

3 0 0 1 1 0 1 0

4 0 0 0 1 0 0 1

5 0 0 0 0 1 1 1

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 26 / 159

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Matrice d’adjacence sommets-sommets

D´ efinition. (Matrice d’adjacence sommets-sommets)

Soit G = [X , U] un 1-graphe comportant ´ eventuellement des boucles. La matrice d’adjacence de G est une matrice carr´ ee A = (a ij ), i = 1, . . . , N, j = 1, . . . , N, ` a coefficients entiers dans {0, 1} tel que chaque colonne correspond ` a un sommet de G et chaque ligne ` a un sommet de G et de terme g´ en´ eral : a ij = 1 ⇔ (i , j) ∈ U (a ij = 0 sinon).

Dans le cas non orient´ e, la matrice d’adjacence est sym´ etrique.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 27 / 159

El´ements de la th´eorie des graphes Matrices associ´ees `a un graphe

Exemple de matrice d’adjacence

2

1

3

4 5

u 3

u 1 u 2

u 5

u 6

u 4

u 7

b

A =

1 2 3 4 5

1 0 1 0 0 0

2 1 0 1 0 0

3 0 0 0 1 1

4 0 0 0 0 1

5 1 0 0 0 0

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 28 / 159

(8)

El´ements de la th´eorie des graphes Connexit´e

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

D´ efinitions et g´ en´ eralit´ es sur les graphes Matrices associ´ ees ` a un graphe

Connexit´ e

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 29 / 159

El´ements de la th´eorie des graphes Connexit´e

Chaˆıne, chaˆıne ´ el´ ementaire, cycle, cycle ´ el´ ementaire

D´ efinition. (Chaˆıne de longueur q et chaˆıne ´ el´ elmentaire) -Une chaˆıne de longueur q est une s´ equence de q arcs : L = {u 1 , u 2 , . . . , u q } telle que chaque arc u r de la s´ equence

(2 ≤ r ≤ q − 1) ait une extr´ emit´ e commune avec l’arc u r−1 (u r−1 6= u r ) et l’autre extr´ emit´ e commune avec l’arc u r+1 (u r+1 6= u r ).

-L’extr´ emit´ e i de u 1 non adjacente ` a u 2 et l’extr´ emit´ e j de u q non adjacente ` a u q−1 sont appel´ ees les extr´ emit´ es de la chaˆıne L.

-On appelle chaˆıne ´ el´ ementaire une chaˆıne telle qu’en la parcourant, on ne rencontre pas deux fois le mˆ eme sommet.

D´ efinition. (Cycle et cycle ´ el´ ementaire)

Un cycle est une chaˆıne dont les extr´ emit´ es co¨ıncident (chaˆıne ferm´ ee).

Un cycle ´ el´ ementaire est un cycle minimal (pour l’inclusion) c` ad ne comprenant strictement aucun autre cycle. Dans un cycle ´ el´ ementaire, on ne rencontre pas deux fois le mˆ eme sommet (sauf l’origine).

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 30 / 159

El´ements de la th´eorie des graphes Connexit´e

Exemple de matrice

2

1

3

4 5

u 3

u 1 u 2

u 5

u 6

u 9 u 4

u 7

u 8

N = 5 M = 9

b

La chaˆıne L = {u 2 , u 5 , u 6 } de longueur 3, joint le sommet 2 et 3.

La chaˆıne L = {u 1 , u 5 , u 6 , u 3 } de longueur 4 est un cycle ´ el´ ementaire.

El´ements de la th´eorie des graphes Connexit´e

Chemin, chemin ´ el´ ementaire, circuit, circuit ´ el´ ementaire

D´ efinition. (Chemin de longueur q et chemin ´ el´ ementaire) -Un chemin de longueur q est une s´ equence de q arcs : P = {u 1 , u 2 , . . . , u q } avec

u 1 = (i 0 , i 1 ); u 2 = (i 1 , i 2 ); u 3 = (i 2 , i 3 ); . . . ; u q = (i q−1 , i q ). (chaˆıne dont tous les arcs sont orient´ es dans le mˆ eme sens.)

-Les extr´ emit´ es i 0 et i q sont respectivement appel´ es extr´ emit´ es initiale et terminale du chemin P.

-On appelle chemin ´ el´ ementaire un chemin tel qu’en le parcourant, on ne rencontre pas deux fois le mˆ eme sommet.

D´ efinition. (Circuit et circuit ´ el´ ementaire)

Un circuit est un chemin dont les extr´ emit´ es co¨ıncident (chemin ferm´ ee).

Un circuit ´ el´ ementaire est un circuit minimal (pour l’inclusion) c` ad ne

comprenant strictement aucun autre circuit. Dans un circuit ´ el´ ementaire,

on ne rencontre pas deux fois le mˆ eme sommet (sauf l’origine).

(9)

El´ements de la th´eorie des graphes Connexit´e

Parcours, parcours eul´ erien et hamiltonien

Un parcours d’un graphe G est une chaˆıne, un cycle, un chemin ou un circuit.

D´ efinition. (Parcours eul´ erien)

Un parcours d’un graphe G est dit eul´ erien s’il passe une et une seule fois par chaque arc ou arˆ ete de G (il peut passer plusieurs fois par un mˆ eme sommet).

D´ efinition. (Parcours hamiltonien)

Un parcours d’un graphe G est dit hamiltonien s’il passe une et une seule fois par chaque sommet de G (et donc au plus une fois par chaque arc ou arˆ ete).

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 33 / 159

El´ements de la th´eorie des graphes Connexit´e

Connexit´ e

D´ efinition. (Graphe connexe)

Un graphe est dit connexe, si pour tout couple de sommets i et j , il existe une chaˆıne joignant i et j .

D´ efinition. (Graphe orient´ e fortement connexe)

Un graphe orient´ e est dit fortement connexe, si pour tout couple de sommets ordonn´ es (i , j), il existe un chemin joignant i et j .

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 34 / 159

El´ements de la th´eorie des graphes Connexit´e

Th´ eor` eme d’Euler

Th´ eor` eme. (Th´ eor` eme d’Euler)

Un multigraphe G = [X , U] connexe admet un parcours eul´ erien ssi le nombre de sommets de degr´ e impair est 0 ou 2. S’il y en a 0, alors il s’agit d’un cycle d’origine quelconque. S’il y en a 2 alors le parcours est une chaˆıne reliant ces deux noeuds.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 35 / 159

Quelques probl`emes importants de l’´etude d’un graphe

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

2 Quelques probl` emes importants de l’´ etude d’un graphe

3 Probl` eme du plus court chemin

4 Probl` emes de Flot

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 36 / 159

(10)

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Rappel du Sommaire

2 Quelques probl` emes importants de l’´ etude d’un graphe Graphes sans circuit

Noyau d’un graphe

Stabilit´ e et absorption d’un graphe non orient´ e Coloration des sommets

Arbre partiel de poids minimum

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 37 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Pourquoi d´ eterminer si un graphe est sans circuit ?

L’absence de circuits est une condition n´ ecessaire pour beaucoup d’algorithmes en th´ eorie des graphes. Il est donc important de disposer de m´ ethodes permettant de tester l’absence de circuit dans un graphe donn´ e.

Nous allons ´ etudier :

I

Un algorithme permettant d’obtenir un circuit si le graphe en poss` ede au moins un.

I

Un algorithme permettant d’obtenir les niveaux d’un graphe sans circuit.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 38 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Niveaux d’un graphe sans circuit

L’algorithme permettant de d´ eterminer si un graphe est sans circuit repose sur la d´ efinition suivante et la propri´ et´ e qui suit.

D´ efinition. (Niveaux d’un graphe)

Soit G un graphe ` a N sommets, consid´ erons les N + 1 sous-ensembles de sommets, X (k ), k = 0, . . . , N, d´ efinis de la mani` ere suivante :

X (0) = {i |i ∈ X , Γ(i ) = ∅}

X (1) = {i |i ∈ X \ X (0), Γ(i) ⊂ X (0)}

X (2) = {i |i ∈ X \ (X (0) ∪ X (1)) , Γ(i ) ⊂ (X (0) ∪ X (1))}

. . .

X (N) = {i |i ∈ X \ (X (0) ∪ X (1) ∪ . . . ∪ X (N − 1)) , Γ(i) ⊂ (X (0) ∪ X (1) ∪ . . . ∪ X (N − 1))}

Ces N + 1 sous-ensembles sont disjoints (par construction) et repr´ esentent les niveaux du graphe.

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Propri´ et´ es des niveaux d’un graphe sans circuit

Propri´ et´ e.

Si G est sans circuit alors les niveaux constituent un recouvrement de X ,

c’est ` a dire que X = X (0) ∪ X (1) ∪ . . . ∪ X (N). De plus, nous avons la

propri´ et´ e que X (k) est l’ensemble des sommets i de X tel que le chemin

de longueur maximale issu de i contient k arcs.

(11)

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Exemples

Exemple 1 : A =

1 2 3 4 5

1 0 1 0 0 0

2 1 0 1 0 0

3 0 0 0 1 1

4 0 0 0 0 1

5 1 0 0 0 0

X (0) = ∅ ; X (1) = X (2) = X (3) = X (4) = X (5) = ∅.

Exemple 2 : A =

1 2 3 4 5

1 0 1 0 1 0

2 0 0 1 1 0

3 0 0 0 0 1

4 0 0 0 0 1

5 0 0 0 0 0

X (0) = {5} ; X (1) = {3, 4} ; X (2) = {2} ; X (3) = {1} ; X (4) = X (5) = ∅.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 41 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Algorithme permettant de tester l’absence de circuit

Soit A la matrice d’adjacence du graphe G = [X , U ].

Input : A 1 A ˜ ← A

2 Tant que il existe une ligne i de ˜ A ne comportant que des 0 faire 3 Enlever de ˜ A la ligne i et la colonne i

4 Fin Tant que 5 Si A ˜ = 0 faire

6 Output : Absence de circuit 7 Sinon faire

8 Output : Existence d’un circuit 9 Fin Si

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 42 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Exemple

Reprenons l’exemple 2 pr´ ec´ edent : A =

1 2 3 4 5

1 0

1 0 1 0

2

0 0 1 1 0

3

0 0 0 0 1

4

0 0 0 0 1

5

0 0 0 0 0

Nous voyons que nous pouvons successivement enlever les lignes et colonnes :

1

5

2

4

3

3

4

2

Nous obtenons finalement ˜ A = (0) ce qui indique l’absence de circuit.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 43 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Obtention d’un circuit

Si ` a l’issue de l’algorithme pr´ ec´ edent, ˜ A 6= 0 alors il existe un circuit et on peut en construire un ` a l’aide de l’algorithme suivant.

Soit ˜ A la matrice d’adjacence en sortie de l’algorithme pr´ ec´ edent.

Input : A ˜

1 v ← i (sommet de ˜ A pris au hasard) 2 S ← {v }

3 Tant que il n’existe pas j ∈ S tel que ˜ a vj = 1 faire 4 Choisir k ∈ / S tel que ˜ a vk = 1

5 S ← append(S , {k})

6 v ← k

7 Fin Tant que

8 Output : {j, k , . . . , j}

Dans cet algorithme, l’op´ eration append(S , {k }) ajoute ` a la fin de la s´ equence de sommets S , le sommet k .

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 44 / 159

(12)

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Exemple

Reprenons l’exemple 1 pr´ ec´ edent : A =

1 2 3 4 5

1 0 1 0 0 0

2 1 0 1 0 0

3 0 0 0 1 1

4 0 0 0 0 1

5 1 0 0 0 0

 Dans ce cas ˜ A = A car aucune ligne ne comporte que des 0 et il existe donc au moins un circuit.

2

1

3

4 5

u 3

u 1 u 2

u 5

u 6

u 4

u 7

b

Prenons au hasard le sommet 3 :

1

S = {3}

2

S = {3, 5}

3

S = {3, 5, 1}

4

S = {3, 5, 1, 2}

5

˜ a

21

= 1 avec 1 ∈ S et donc {1, 2, 1} est un circuit

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 45 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Niveaux d’un graphe sans circuit

On suppose ici que le graphe est sans circuit.

Rappel :

Dans ce cas, un sommet appartient ` a X (k) avec k = 0, . . . , N, si le chemin de longueur maximale issu de ce sommet est de longueur k . De plus, les niveaux X (k ) forment une partition de X et tout sommet de X (k ) n’admet aucun successeur dans les niveaux X (l) avec l ≥ k .

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 46 / 159

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Algorithme d’obtention des niveaux d’un graphe sans circuit

Input : A 1 k ← 0

2 Calculer X (k ), l’ensemble des sommets correspondant aux lignes de A non marqu´ ees ne contenant que des 1 barr´ es ou des 0 3 Tant que X (k) 6= ∅ faire

4 Marquer les lignes de A correspondant aux ´ el´ ements de X (k ) et barrer les 1 des colonnes correspondantes

5 k ← k + 1

6 Calculer X (k ), l’ensemble des sommets correspondants aux lignes de A non marqu´ ees ne contenant que des 1 barr´ es ou des 0

7 Fin Tant que

8 Output : X (0), . . . , X (k − 1) et X (k) = . . . = X (N) = ∅

Quelques probl`emes importants de l’´etude d’un graphe Graphes sans circuit

Exemple

Reprenons l’exemple 2 pr´ ec´ edent : A =

1 2 3 4 5 1 0 /1 0 /1 0 2 0 0 /1 /1 0 3 0 0 0 0 /1 4 0 0 0 0 /1 5 0 0 0 0 0

Nous voyons que nous pouvons successivement d´ eterminer les niveaux suivants :

1

X (0) = {5}

2

X (1) = {3, 4}

3

X (2) = {2}

4

X (3) = {1}

X (4) = ∅ puisque tous les sommets ont ´ et´ e marqu´ es. On arrˆ ete donc

l’algorithme.

(13)

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Rappel du Sommaire

2 Quelques probl` emes importants de l’´ etude d’un graphe Graphes sans circuit

Noyau d’un graphe

Stabilit´ e et absorption d’un graphe non orient´ e Coloration des sommets

Arbre partiel de poids minimum

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 49 / 159

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

D´ efinition

D´ efinition. (Noyau d’un graphe)

Soit G = [X , U] un graphe sans boucle, de matrice d’adjacence A. Un sous-ensemble Y de sommets est un noyau s’il satisfait aux deux conditions suivantes :

∀i , j ∈ Y : (i, j) ∈ / U ∧ (j, i ) ∈ / U (un ensemble Y v´ erifiant cette propri´ et´ e est dit stable)

∀i ∈ X \ Y , ∃j ∈ Y tel que (i , j) ∈ U (un ensemble Y v´ erifiant cette propri´ et´ e est dit absorbant)

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 50 / 159

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Exemples

2

1

3

4 5

2

1

3

4 5

6

2

1

3

4

2

1

3 Exemple 1 Exemple 2

Exemple 3 Exemple 4

Exemple 1 : Y = {2, 4, 5} ; Exemple 2 : {1, 4, 5, 6} ; Exemple 3 : Y = {1, 3} et Y = {2, 4} ; Exemple 4 : Y = ∅.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 51 / 159

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Th´ eor` eme d’existence

De fa¸con g´ en´ erale, il peut exister plusieurs noyaux ´ etant donn´ e un graphe.

Th´ eor` eme.

Un 1-graphe sans circuit poss` ede un et un seul noyau.

Propri´ et´ e.

Dans un graphe sans circuit, tous les sommets n’ayant aucun successeur (les feuilles) sont des ´ el´ ements du noyau.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 52 / 159

(14)

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Algorithme d’obtention d’un noyau d’un graphe sans circuit

Input : A (Matrice d’adjacence d’un graphe sans circuit)

1 Y ← ∅

2 Marquer une ligne j ne comportant que des 0 3 Y ← Y ∪ {j}

4 Dans la colonne j, barrer les lignes et colonnes i telles que a ij = 1 5 Tant que il existe une ligne non marqu´ ee et non barr´ ee ne

comportant que des 1 barr´ es ou des 0 faire

6 Marquer une ligne j non marqu´ ee et non barr´ ee ne comprenant que des 1 barr´ es ou des 0

7 Y ← Y ∪ {j}

8 Dans la colonne j, barrer les lignes et colonnes i telles que a ij = 1

9 Fin Tant que 10 Output : Y

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 53 / 159

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Exemple

Reprenons l’exemple 2 pr´ ec´ edent : A =

/1 2 /3 /4 5 /1 0 /1 0 /1 0 2 0 0 /1 /1 0 /3 0 0 0 0 /1 /4 0 0 0 0 /1 5 0 0 0 0 0

Nous voyons que nous pouvons successivement d´ eterminer les

´ el´ ements du noyau :

1

It´ eration 1 : Y = {5}

2

It´ eration 2 : Y = {2, 5}

Puisque toutes les lignes sont soit marqu´ ees (en rouge) soit barr´ ees, on arrˆ ete l’algorithme.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 54 / 159

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Exemple pratique

Le concept de noyau est important en th´ eorie des graphes tant du point de vue th´ eorique que du point de vue pratique. Il intervient notamment dans les probl` emes de th´ eorie des jeux et d’aide ` a la d´ ecision.

Exemple concret : Un gouvernement a d´ ecid´ e de r´ epartir 500 Millions d’Euros en vue de diminuer la mortalit´ e sur les routes et propose dans ce cas cinq alternatives :

1

Augmentation du nombre de gendarmes

2

Construction d’autoroutes

3

Mise en place de signaux lumineux ` a tous les carrefours

4

R´ ecompenses aux meilleurs conducteurs

5

Gratuit´ e des transports publics

Quelques probl`emes importants de l’´etude d’un graphe Noyau d’un graphe

Exemple pratique (suite)

Il charge un groupe de receuillir les pr´ ef´ erences du public et ce groupe parvient ` a ´ etablir le graphe suivant o` u les cinq sommets repr´ esentent les cinq alternatives et o` u un arc (i , j) est trac´ e s’il est certain que la population ne pr´ ef` ere pas i ` a j (autrement dit elle pr´ ef` ere j ` a i).

autor

gend

signaux

r´ ecomp

trans pub

D´ etermination du noyau : Y = {autor,trans pub}

Ceci permet de justifier : (i) la

non-subvention des ´ el´ ements hors du

noyau, (ii) la subvention des ´ el´ ements

du noyau, (iii) l’incomparabilit´ e entre

les deux ´ el´ ements du noyau (50/50).

(15)

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Rappel du Sommaire

2 Quelques probl` emes importants de l’´ etude d’un graphe Graphes sans circuit

Noyau d’un graphe

Stabilit´ e et absorption d’un graphe non orient´ e Coloration des sommets

Arbre partiel de poids minimum

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 57 / 159

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Rappel et d´ efinition

D´ efinition. (Graphe non orient´ e)

Un graphe G = [X , U] dont les ´ el´ ements u ∈ U ne sont pas ordonn´ es est dit non orient´ e. Les ´ el´ ements u sont alors appel´ es arˆ etes.

Il s’agit d’un graphe dont on ne s’int´ eresse pas ` a l’orientation des arcs. Dans ce cas, (i, j) ∈ U est ´ equivalent ` a (j, i ) ∈ U.

D´ efinition. (Graphe biparti)

Un graphe G = [X , U] est biparti s’il est possible de partitionner X en deux

sous-ensembles S et S tel que chaque arˆ ete ait exactement une extr´ emit´ e dans S et une extr´ emit´ e dans S

Exemple de graphe biparti :

1 2 3

5 4

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 58 / 159

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Stabilit´ e et absorption

D´ efinition. (Sous-ensemble stable et absorbant) Soit G = [X , U] un graphe non orient´ e.

Un sous-ensemble S ⊂ X est stable si deux sommets de S ne sont jamais adjacents : ∀i , j ∈ S : (i , j) ∈ / U

Un sous-ensemble T ⊂ X est absorbant a si toute arˆ ete de U poss` ede au moins une extr´ emit´ e dans T : ∀u = (i , j) ∈ U : i ∈ T ∨ j ∈ T

a. on dit ´egalement transversal pour les graphes non orient´es

1 2

3

5 4 u 1

u 2 u 3

u 4

u 5

Exemples de sous-ensembles stables :

S 1 = {1, 3}, S 2 = {2, 5}.

Exemples de sous-ensembles absorbants :

T 1 = {2, 4, 5}, T 2 = {1, 3, 4}.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 59 / 159

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Propri´ et´ es sur la stabilit´ e et l’absorption

Propri´ et´ e.

Le compl´ ement de tout sous-ensemble stable est absorbant et r´ eciproquement.

Dans l’exemple pr´ ec´ edent on a par exemple : T 1 = X \ S 1 et S 2 = X \ T 2 .

Propri´ et´ e.

Dans un graphe biparti, les sous-ensembles X 1 et X 2 sont tout ` a la fois stables et absorbants.

1 2 3

5 4

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 60 / 159

(16)

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Nombres de stabilit´ e et d’absorption

D´ efinition.

Soit respectivement S et T , les familles des sous-ensembles stables et absorbants de X . On d´ efinit alors les nombres suivants :

Nombre de stabilit´ e : α(G ) = max S∈S |S | Nombre d’absorption : τ (G ) = min T∈T |T | Remarque : α(G ) + τ (G ) = |X |.

1 2

3

5

4 u 1

u 2 u 3

u 4 u 5

Dans l’exemple pr´ ec´ edent : α(G ) = 2 et τ (G ) = 3.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 61 / 159

Quelques probl`emes importants de l’´etude d’un graphe Stabilit´e et absorption d’un graphe non orient´e

Exemple d’application

Soit une forteresse compos´ ee de 5 tours {1, . . . , 5} qui sont reli´ ees par 5 murs {u 1 , . . . , u 5 } comme l’indique le graphe suivant :

1

2

3

5

4 u 1

u 2

u 3

u 4 u 5

Un gardien plac´ e sur une tour peut surveiller les deux murs adjacents

`

a cette tour. Pour des raisons d’´ economie, on cherche a mobiliser le minimum de gardiens pour garder la forteresse. Quel est donc le nombre minimum de gardiens permettant de garder tous les murs de la forteresse ?

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 62 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Rappel du Sommaire

2 Quelques probl` emes importants de l’´ etude d’un graphe Graphes sans circuit

Noyau d’un graphe

Stabilit´ e et absorption d’un graphe non orient´ e Coloration des sommets

Arbre partiel de poids minimum

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Coloration des sommets d’un graphe

Colorer les sommets d’un graphe G = [X , U], consiste ` a leurs asssocier des couleurs (ou tout autre identificateur : num´ eros, noms, . . . ) de telle sorte que deux sommets adjacents n’aient pas la mˆ eme couleur. Si k-couleur sont utilis´ ees on parle de k-coloration.

On v´ erifie directement qu’une k -coloration des sommets de G est

´ equivalent ` a une partition de X en k sous-ensembles stables, chacun

d’entre eux contenant les sommets de mˆ eme couleur.

(17)

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Nombre chromatique

D´ efinition. (Nombre chromatique)

Le nombre chromatique d’un graphe G , not´ e γ(G ), est la plus petite valeur de k pour laquelle il existe une k-coloration. Une coloration des sommets en γ(G ) couleur est dite minimale.

De nombreux probl` emes concrets, tels que certains probl` emes d’horaire et d’allocation de ressources, peuvent se ramener ` a la recherche d’une coloration minimale des sommets d’un graphe.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 65 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple d’un graphe biparti

1

2

3

5

4

Nombre chromatique du graphe : γ(G ) = 2.

Propri´ et´ e.

Un graphe G est biparti ssi il est bichromatique.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 66 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

D´ etermination du nombre chromatique d’un graphe

La d´ etermination du nombre chromatique d’un graphe G = [X , U]

ainsi que l’obtention d’une coloration minimale des sommets de G constitue un probl` eme complexe. Na¨ıvement, on peut proc´ eder de la mani` ere suivante :

I

Enum´ erer tous les ensembles stables maximaux (au sens de l’inclusion).

I

Chercher un recouvrement des sommets form´ e d’un nombre minimum d’ensembles stables maximaux. Ce nombre est ´ egal ` a γ(G ).

I

D´ eduire de ce recouvrement une partition de X en sous-ensembles stables et donc une coloration minimale de G .

Cependant, le nombre d’ensembles stables maximaux sera souvent trop important pour que la proc´ edure soit effectivement appllicable.

⇒ En pratique on a recours ` a des algorithmes de coloration heuristiques simples mais qui m` enent ` a une coloration des sommets non

n´ ecessairement minimale.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 67 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Algorithme de coloration de Welsh et Powell

Input : A (matrice d’adjacence de G )

1 Ranger les sommets par ordre de degr´ es non croissant 2 k ← 0

3 B ← liste ordonn´ ee des sommets

4 Tant que toutes les lignes de B ne sont pas color´ ees faire

5 k ← k + 1

6 Tant que B 6= ∅ faire

7 Colorer dans A par la couleur c k la 1` ere ligne non color´ ee dans B ainsi que la colonne correspondante 8 B ← liste ordonn´ ee des sommets non color´ es ayant un z´ ero dans toutes les colonnes de A de couleur c k

9 Fin Tant que

10 B ← liste ordonn´ ee des sommets non color´ es 11 Fin Tant que

12 Output : k -coloration de G

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 68 / 159

(18)

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple

1 2

5

3

4 6

7

8

Matrice d’adjacence A :

1 2 3 4 5 6 7 8

1 0 1 1 0 0 1 1 0

2 1 0 1 0 1 0 1 0

3 1 1 0 1 0 0 0 1

4 0 0 1 0 1 0 0 1

5 0 1 0 1 0 1 0 0

6 1 0 0 0 1 0 0 0

7 1 1 0 0 0 0 0 0

8 0 0 1 1 0 0 0 0

Degr´ e des sommets :

1 2 3 4 5 6 7 8

d G (i ) 4 4 4 3 3 2 2 2

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 69 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple (initialisation)

1 2

5

3

4 6

7

8

Input : A

1 Les sommets sont d´ ej` a ordonn´ es 2 k ← 0

3 B ← {1, 2, . . . , 8}

Matrice d’adjacence A :

1 2 3 4 5 6 7 8

1 0 1 1 0 0 1 1 0

2 1 0 1 0 1 0 1 0

3 1 1 0 1 0 0 0 1

4 0 0 1 0 1 0 0 1

5 0 1 0 1 0 1 0 0

6 1 0 0 0 1 0 0 0

7 1 1 0 0 0 0 0 0

8 0 0 1 1 0 0 0 0

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 70 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple (1` ere it´ eration : k = 1)

1 2

5

3

4 6

7

8

5 k ← 1 Matrice d’adjacence A :

1 2 3 4 5 6 7 8 1 0 1 1 0 0 1 1 0

2 1 0 1 0 1 0 1 0

3 1 1 0 1 0 0 0 1

4 0 0 1 0 1 0 0 1

5 0 1 0 1 0 1 0 0

6 1 0 0 0 1 0 0 0

7 1 1 0 0 0 0 0 0

8 0 0 1 1 0 0 0 0

8 B ← {4, 5, 8}

8 B ← ∅

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple (2` eme it´ eration : k = 2)

1 2

5

3

4 6

7

8

10 B ← {2, 3, 5, 6, 7, 8}

5 k ← 2 Matrice d’adjacence A :

1 2 3 4 5 6 7 8 1 0 1 1 0 0 1 1 0 2 1 0 1 0 1 0 1 0

3 1 1 0 1 0 0 0 1

4 0 0 1 0 1 0 0 1

5 0 1 0 1 0 1 0 0

6 1 0 0 0 1 0 0 0

7 1 1 0 0 0 0 0 0

8 0 0 1 1 0 0 0 0

8 B ← {6, 8}

8 B ← {8}

8 B ← ∅

(19)

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple (3` eme it´ eration : k = 3)

1 2

5

3

4 6

7

8

10 B ← {3, 5, 7}

5 k ← 3 Matrice d’adjacence A :

1 2 3 4 5 6 7 8 1 0 1 1 0 0 1 1 0 2 1 0 1 0 1 0 1 0 3 1 1 0 1 0 0 0 1 4 0 0 1 0 1 0 0 1 5 0 1 0 1 0 1 0 0 6 1 0 0 0 1 0 0 0 7 1 1 0 0 0 0 0 0 8 0 0 1 1 0 0 0 0

8 B ← {5, 7}

8 B ← {7}

8 B ← ∅

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 73 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple (fin de l’algorithme)

1 2

5

3

4 6

7

8

4 Toutes les lignes sont color´ ees (B = ∅)

12 On obtient une 3-coloration : {1, 4}, {2, 6, 8}, {3, 5, 7}

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 74 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Borne pour le nombre chromatique

Attention : l’algorithme de Welsh et Powell est une heuristique et donc la k-coloration obtenue n’est pas n´ ecessairement minimale. Le nombre chromatique est en g´ en´ eral inconnu.

En revanche, il existe des bornes pour γ(G ) :

I

Bornes inf´ erieures :

F

γ(G ) ≥

N−minN

i(dG(i)) F

γ(G ) ≥

α(G)N

F

γ(G ) ≥ ω(G ) o` u ω(G ) est le cardinal de la plus grande clique de G (une clique est un sous-graphe complet c` ad tel qu’il existe une arˆ ete pour toute paire de sommets)

I

Bornes sup´ erieures :

F

γ(G ) ≤ max

i

(d

G

(i)) + 1

F

γ(G ) ≤ N + 1 − α(G )

F

γ(G ) ≤ k o` u k est le nombre de couleurs obtenu ` a l’issue de l’algorihtme de Welsh et Powell

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 75 / 159

Quelques probl`emes importants de l’´etude d’un graphe Coloration des sommets

Exemple

1 2

5

3

4 6

7

8 Degr´ e des sommets :

1 2 3 4 5 6 7 8

d G (i ) 4 4 4 3 3 2 2 2

Calcul des bornes : Bornes inf´ erieures :

I

γ(G ) ≥

N−minN

i(dG(i))

=

86

I

γ(G ) ≥

α(G)N

=

83

I

γ(G ) ≥ ω(G ) = 3

Bornes sup´ erieures :

I

γ(G ) ≤ max

i

(d

G

(i)) + 1 = 5

I

γ(G ) ≤ N + 1 − α(G ) = 6

I

γ(G ) ≤ k = 3

Donc pour l’exemple : γ(G ) = 3.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 76 / 159

(20)

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Rappel du Sommaire

2 Quelques probl` emes importants de l’´ etude d’un graphe Graphes sans circuit

Noyau d’un graphe

Stabilit´ e et absorption d’un graphe non orient´ e Coloration des sommets

Arbre partiel de poids minimum

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 77 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Pr´ eambule : Graphes valu´ es

D´ efinition. (Graphe valu´ e)

Etant donn´ e un graphe G = [X , U], on associe ` a chaque arˆ ete u un nombre p(u) ∈ R appel´ e poids de l’arˆ ete. On dit que G est valu´ e ou pond´ er´ e par les valeurs p(u). Si u = (i , j), on utilisera ´ egalement la notation p ij pour d´ esigner le poids de l’arˆ ete u.

2

1

4 5

1

3

10 6

8 5 2

4

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 78 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Arbres

D´ efinition. (Arbres et forˆ ets)

Un arbre est un graphe non orient´ e simple, connexe et sans cycle. Une forˆ et est un graphe non orient´ e simple et sans cyle. Une forˆ et peut ˆ etre vue comme un ensemble d’arbres.

Exemples d’application : r´ eseaux de t´ el´ ecommunications, hi´ erarchies, taxonomies. . .

Exemples d’arbres :

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Poids d’un graphe partiel

D´ efinition. (Poids d’un graphe partiel)

Soit G = [X , U] un graphe valu´ e simple et soit U 0 ⊂ U. Le poids du graphe partiel G 0 = [X , U 0 ] est le nombre :

p(U 0 ) = X

u∈U

0

p(u)

(21)

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Probl` eme de l’arbre partiel de poids minimum

D´ efinition. (Probl` eme de l’arbre partiel de poids minimum)

Soit G = [X , U] un graphe valu´ e simple et connexe. Un graphe partiel sans cycles de G (donc un arbre admettant X pour ensemble de sommets) est appel´ e arbre partiel de G . Notons par A l’ensemble de tous les arbres partiels de G . L’ arbre partiel de poids minimum a est l’arbre G 0 = [X , U 0 ] qui minimise p(U 0 ) sur A :

∀G 00 = [X , U 00 ] ∈ A : p(U 0 ) ≤ p(U 00 )

a. on parle aussi d’arbre couvrant de poids ou de longueur minimum

La construction d’un arbre partiel de poids minimum dans un graphe a de nombreuses applications notamment dans certains probl` emes de distribution et de t´ el´ ecommunication. Par ailleurs, en fouille de donn´ ees, et en classification automatique en particulier, la r´ esolution du probl` eme aboutit ` a une m´ ethode de classification hi´ erarchique.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 81 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Obtention d’un arbre partiel de poids minimal : propri´ et´ es de l’algorithme de Kruskal

Il existe plusieurs algorithmes d’obtention d’un arbre partiel de poids minimum dans un graphe valu´ e simple et connexe G = [X , U]. Nous pr´ esentons ici l’algorithme de Kruskal. Il repose sur les propri´ et´ es suivantes :

I

La solution du probl` eme est unique si les poids des arˆ etes sont tous distincts. Nous supposons cette condition satisfaite dans la suite.

I

La solution du probl` eme est invariante pour les transformations

monotones croissantes des poids : elle ne d´ epend donc que du rang des arˆ etes lorsque celles-ci sont class´ ees par poids croissants.

I

Notons U

Y

avec Y ⊂ X , l’ensemble des arˆ etes de G = [X , U] ayant une extr´ emit´ e dans Y et l’autre dans X \ Y . Si G

0

= [X , U

0

] est un arbre partiel de poids minimum alors pour tout Y ⊂ X , l’arˆ ete de valeur minimum de U

Y

appartient ` a U

0

.

I

Le graphe G = [X , U] ´ etant suppos´ e simple et connexe, tout arbre partiel de G est un arbre ` a N − 1 arˆ etes et N sommets.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 82 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Obtention d’un arbre partiel de poids minimal : algorithme de Kruskal

Input : G = [X , U]

1 Ranger les arˆ etes de U par ordre de poids croissants 2 U 0 ← {u 1 } ; k ← 1

3 Tant que |U 0 | 6= N − 1 faire

4 k ← k + 1

5 Tant que il existe un cycle dans U 0 ∪ {u k } faire

6 k ← k + 1

7 Fin Tant que

8 U 0 ← U 0 ∪ {u k } 9 Fin Tant que

10 Output : G 0 = [X , U 0 ] est l’arbre partiel de poids minimum On ajoute successivement ` a U 0 les arˆ etes dont les poids sont les plus bas pourvu que ces ajouts n’entraˆınent pas l’apparition d’un cycle.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 83 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Exemple

2

1

4 5

1

3

10 6

8 5 2

4

7

1 Ranger les arˆ etes de U par ordre de poids croissants

(i , j) p

ij

u

k

(1, 4) 1 u

1

(2, 4) 2 u

2

(2, 3) 4 u

3

(1, 3) 5 u

4

(1, 2) 6 u

5

(3, 4) 7 u

6

(2, 5) 8 u

7

(1, 5) 10 u

8

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 84 / 159

(22)

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Exemple (suite)

2

1

4 5

1

3

10 6

8 5 2

4

7

(i, j) p

ij

u

k

(1, 4) 1 u

1

(2, 4) 2 u

2

(2, 3) 4 u

3

(1, 3) 5 u

4

(1, 2) 6 u

5

(3, 4) 7 u

6

(2, 5) 8 u

7

(1, 5) 10 u

8

2 U

0

= {u

1

} ;k = 1 3 |U

0

| = 1 4 k = 2 8 U

0

= {u

1

, u

2

} 3 |U

0

| = 2 4 k = 3

8 U

0

= {u

1

, u

2

, u

3

} 3 |U

0

| = 3 4 k = 4 6 k = 5 6 k = 6 4 k = 7

8 U

0

= {u

1

, u

2

, u

3

, u

7

} 3 |U

0

| = 4

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 85 / 159

Quelques probl`emes importants de l’´etude d’un graphe Arbre partiel de poids minimum

Exemple (suite)

2

1

4 5

1

3 8

2 4

Arbre partiel de poids minimum : G 0 = [X , U 0 ] avec U 0 = {u 1 , u 2 , u 3 , u 7 }

p(U 0 ) = p(u 1 ) + p(u 2 ) + p(u 3 ) + p(u 7 ) = 15

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 86 / 159

Probl`eme du plus court chemin

Rappel du Sommaire

1 El´ ements de la th´ eorie des graphes

2 Quelques probl` emes importants de l’´ etude d’un graphe

3 Probl` eme du plus court chemin

4 Probl` emes de Flot

Probl`eme du plus court chemin

Exemples d’applications

Les probl` emes de cheminement dans les graphes sont parmi les probl` emes les plus anciens de la th´ eorie des graphes. Le probl` eme du plus court chemin est, parmi ceux-ci, le plus typique et poss` ede de nombreuses applications :

I

Probl` emes de tourn´ ees

I

Probl` emes d’optimisation de r´ eseaux (routiers, t´ el´ ecommunications)

I

certains probl` emes d’investissements et de gestion de stocks

I

certains probl` emes en intelligence artificielle

I

. . .

(23)

Probl`eme du plus court chemin

Pr´ eambule : Graphes valu´ es

D´ efinition. (Rappel : Graphe valu´ e)

Etant donn´ e un graphe G = [X , U], on associe ` a chaque arc u un nombre l (u) ∈ R appel´ e “longueur de l’arc” ou poids de l’arc (comme

pr´ ec´ edemment). On dit que G est valu´ e par les longueurs l (u). Si

u = (i , j), on utilisera ´ egalement la notation l ij pour d´ esigner la longueur de l’arc u.

2

1

4

6 3

4

7

1

3

7

5

5

2 5

2 1

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 89 / 159

Probl`eme du plus court chemin

Probl` eme du plus court chemin

D´ efinition. (Probl` eme du plus court chemin)

Le probl` eme du plus court chemin entre deux sommets i et j sera de trouver un chemin µ(i , j ) de i ` a j dont la longueur totale :

l(µ) = X

u∈µ(i,j)

l(u) soit minimum

La longueur d’un chemin est la somme des longueurs des arcs le consituant.

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 90 / 159

Probl`eme du plus court chemin Algorithme de Moore-Dijkstra

Rappel du Sommaire

3 Probl` eme du plus court chemin Algorithme de Moore-Dijkstra Algorithme de Ford-Bellman

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 91 / 159

Probl`eme du plus court chemin Algorithme de Moore-Dijkstra

Algorithme de Moore-Dijkstra

D´ etermination du plus court chemin du sommet s aux autres

sommets dans un graphe valu´ e dont les longueurs sont positives c` ad

∀u ∈ U : l(u) ≥ 0.

Exemples de longueurs positives ou nulles :

I

Temps (en minutes, en heures, . . . )

I

Coˆ uts (en euros, . . . ), . . .

Posons X = {1, 2, . . . , N } et soit l ij la longueur de l’arc (i, j) ∈ U . D´ efinissons π (i) comme la longueur du plus court chemin de s ` a i . Nous avons π (s) = 0.

L’algorithme utilise la repr´ esentation du graphe par Γ. Il proc` ede en N − 1 it´ erations. Au d´ ebut de chaque it´ eration, l’ensemble X est partitionn´ e en deux sous-ensembles, S et S = X \ S avec s ∈ S . Chaque sommet i de X est affect´ e d’une ´ etiquette π(i) qui v´ erifie la propri´ et´ e suivante :

I

si i ∈ S, π(i ) = π

(i)

I

si i ∈ S, π(i ) = min

j∈S,j∈Γ−1(i)

(π(j) + l

ji

)

J. Ah-Pine (Univ-Lyon 2) Optimisation et Recherche Op´erationnelle M1 Informatique 2019/2020 92 / 159

Références

Documents relatifs

Dans cette ´etude, nous avons abord´e deux probl`emes importants dans le d´eveloppement ` a grande ´echelle de l’utilisation de cerf-volants pour exploiter l’´energie ´eolienne

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du

Soit (G , c ) le r´eseau potentiel-tˆ aches d’un probl`eme

Quel est le nombre minimum de pi`eces d’or de tr´esor que peut esp´erer acqu´erir le cuisinier chinois s’il empoisonne l’´equipage

Expliquez le fonctionnement d’un algorithme qui proc`ede en r´esolvant n = |V | probl`emes de plus courts chemins d’un sommet vers tous les autres, dont n − 1 fois en

But : R´ esoudre un probl` eme d’optimisation num´ erique Trouver une des meilleures solution selon le crit` ere :. =

But : R´ esoudre un probl` eme d’optimisation num´ erique Trouver une des meilleures solution selon le crit` ere :?. =

etre plus int´ eressant d’avoir des allumettes et un r´ echaud que l’un des deux s´ epar´ ement. Exprimer l’objectif de ce nouveau