Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou...

47
Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou [email protected] Ce transparents ont été élaborés en se basant sur le document de Pierre Lopez, LAAS, Toulouse http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html

Transcript of Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou...

Page 1: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

Mise à Niveau en Recherche Opérationnelle

Première partie

Théorie des graphes

Mohamed Ali [email protected]

Ce transparents ont été élaborés en se basant sur le document dePierre Lopez, LAAS, Toulouse

http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html

Page 2: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

Plan du cours

1. Qu’est ce qu’on peut faire avec la théorie des graphes ?

2. Concepts généraux en théorie des graphes

3. Le problème du plus court chemin4. Problème central de l’ordonnancement5. Flots et réseaux de transports

http://http://www.laas.frwww.laas.fr/~/~lopezlopez/cours/GRAPHES//cours/GRAPHES/graphes.htmlgraphes.html

Page 3: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

Pourquoi la théorie des graphes ?

• Modélisation– Plusieurs problèmes dans différentes

disciplines (chimie, biologie, sciences sociales, applications industrielles, …)

– Un graphe peut représenter simplement la structure, les connexions, les cheminements possibles d’un ensemble complexe comprenant un grand nombre de situations

• Un graphe est une structure de données puissante pour l’informatique

Exemples

Page 4: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

• Définitions• Représentations d’un graphe• Coloration des sommets d’un graphe• Connexité dans les graphes• Graphes particuliers

Page 5: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Définitions• Concepts orientés

– Un graphe G(X,U) est déterminé par

• Un ensemble X={x1,…,xn} de sommets

• Un ensemble U={u1, …, um} du produit cartésien X×X d’arcs.

– Un p-graphe : pas plus que p arcs (xi,xj)

3-graphe

1-graphe = graphe

boucleArc u=(xi,xj)

Page 6: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Définitions• Graphes et applications multivoques

– xj est successeur de xi si (xi,xj)∈U– L’ensemble des successeurs de xi est noté

Γ(xi)– L’ensemble des prédécesseurs de xi est noté

Γ-1(xi)– Γ est appelée une application multivoque

• Pour un 1-graphe, G peut être parfaitement déterminé (ou caractérisé) par (X,Γ)

Page 7: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Définitions• Concepts non orientés

– On s’intéresse à l’existence d’arcs entre deux sommets sans en préciser l’ordre

– Arc = arête– U est constitué de paires non pas de couples– Multigraphe : plusieurs arêtes entre deux

sommets– Graphe simple = non multigraphe + pas de

boucles

Page 8: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Définitions• D’autres définitions : Voir

http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html– Adjacence, degrés, Graphe complémentaire,

partiel, sous graphe, sous graphe partiel– Graphe réflexif, irréflexif, symétrique,

antisymétrique, transitif, complet …

définitions

Page 9: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Représentations d’un graphe

1. Matrice d’adjacence

Pour un graphe numérisé : remplacer 1 par la valeur de l’arc

Place mémoire : n²

Page 10: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Représentations d’un graphe2. Matrice d’incidence sommets-arcs

Place mémoire : n x m

Page 11: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Représentations d’un graphe3. Listes d’adjacence

Place mémoire : n+1+m

Page 12: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Coloration d’un graphe

Page 13: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Coloration d’un graphe

Page 14: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Connexité dans les graphes• Chaîne – Cycle

• Chemin – Circuit

Page 15: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Connexité dans les graphes• Le terme parcours regroupe les chemins, les

chaînes, les circuits et les cycles• Un parcours peut être

– élémentaire : tous les sommets sont distincts– simple : tous les arcs sont distincts– hamiltonien : passe une fois et une seule par chaque

sommet– eulérien : passe une fois et une seule par chaque arc– préhamiltonien : ou moins une fois par chaque

sommet– préeulérien : au moins une fois par chaque arc

Page 16: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Connexité dans les graphes• Exemple

– Le problème du voyageur de commerce : un voyageur de commerce doit visiter n villes données en passant par chaque ville exactement une fois et doit revenir à la ville de départ.

�Trouver un circuit hamiltonien de coût minimal dans un graphe valué

Page 17: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Connexité dans les graphes• Connexité

Page 18: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Connexité dans les graphes• Forte connexité

Page 19: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

1. Concepts généraux en théorie des graphes

Graphes particuliers• Graphes sans circuit

– Décomposition en niveaux

• Graphe biparti• Graphe planaire• Hypergraphe• Arbre• Forêt• Arborescence

Page 20: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

• Définition• Principe d’optimalité et conditions

d’existence• Graphes à valuations positives

– Algorithme de Moore-Dijkstra (1959)

• Graphes à valuations quelconques– Contre-exemple– Algorithme de Bellman-Ford

Page 21: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Définition

• Exemple : Construire une autoroute entre deux villes A et K– Arcs = tronçons possibles de

l’autoroute– Valuation des arcs peut être

• coût de réalisation correspondant• longueur du trajet • …

A

B

C

D

E

F

H

I

J

K

G

Page 22: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Principe d’optimalité et condition d’existence

• Condition d’existenceLe graphe n’admet pas de circuit de longueur négative

i

j

k

w l(w)<0

Page 23: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Graphes à valuations positives

• Algorithme de Dijkstra : plus court chemin d’une source s à tous les autres sommets

∆∆∆∆[s]←←←← 0Pour tout x�s faire

∆∆∆∆[s]←←←← +∞∞∞∞Fin pourT ←←←← STant que T�Ø faire

soit x∈∈∈∈T tel que ∆∆∆∆[x]=miny∈∈∈∈T{∆∆∆∆[y]}Pour tout y∈∈∈∈T, y∈Γ∈Γ∈Γ∈Γ+(x) faire

∆∆∆∆[y]←←←← min (∆∆∆∆[y], ∆∆∆∆[x]+l(x,y))fin pourT ←←←← T\{x}

Fin Tant que

Page 24: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Graphes à valuations positives• Algorithme de Dijkstra : Exemple

A

B

D

C

E

F H

G

2

4

4

32 2

12

3

25

• ∆(a)=0 ; ∆(b,c,d,e,f,g,h)=+∞• ∆(a)=0;∆(b)=2;∆(d)=4;∆(c,e,f,g,h)=+∞• ∆(a)=0;∆(b)=2;∆(d)=3;∆(e)=6;∆(f)=7;

∆(c,g,h)=+∞• ∆(a)=0;∆(b)=2;∆(c)=5;∆(d)=3;∆(e)=6;

∆(f)=7; ∆(g,h)=+∞• ∆(a)=0;∆(b)=2;∆(c)=5;∆(d)=3;∆(e)=6;

∆(f)=7;∆(g)=6;∆(h)=+∞• ∆(a)=0;∆(b)=2;∆(c)=5;∆(d)=3;∆(e)=6;

∆(f)=7;∆(g)=6;∆(h)=8• ∆(a)=0;∆(b)=2;∆(c)=5;∆(d)=3;∆(e)=6;

∆(f)=7;∆(g)=6;∆(h)=8• …

Page 25: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

A

B

D

C

E

F H

G

2

4

4

3 2 2

1

2

3

25

3 ?

1

0 00

0 ∞∞0 ∞∞

0 ∞∞

0 ∞∞0 ∞∞

0 ∞∞

0 ∞∞

A 22

A 44B 33

B 77

B 66

D 55C 66

E 88

Page 26: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Algorithme de Dijkstra et graphes à valuations quelconques

• L’algorithme de Dijkstra donne – ∆(s)=0; ∆(a)=1; ∆(b)=2; ∆(c)=2;

∆(d)=5; ∆(e)=6;

• Or – ∆(c)=2 et ∆(e)=6 alors que

l(c,e)=2� On pourrait avoir un chemin de

s à e de longueur 4� ∆(e)=6 ne peut pas être la

longueur du plus court chemin de s à e

S

A

B

C

E

D

6

1

23

3

2

2

-4

Page 27: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Graphes à valuations quelconques

• Algorithme de Bellman-Ford∆∆∆∆[s]←←←← 0Pour tout x�s faire ∆∆∆∆[s]←←←← +∞∞∞∞ Fin pourk ←←←← 0Répéter

stable ←←←← vrai Pour tout y∈∈∈∈S\{s}

Pour tout x∈Γ∈Γ∈Γ∈Γ-(y)si (∆∆∆∆[y] > ∆∆∆∆[x]+l(x,y)) alors

∆∆∆∆[y] ←←←← ∆∆∆∆[x]+l(x,y)stable ←←←← faux

fsifin pour

fin pourk ←←←← k+1

Jusqu’à (stable = vrai) ou (k>n-1)si k>n-1 alors présence d’un circuit de poids négatif

Page 28: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

2. Le problème du plus court chemin

Graphes à valuations quelconques

• Graphes sans circuits– Il suffit de visiter les successeurs de chaque

sommet

• Plus court chemin entre tous les couples de sommets– Algorithme matriciel de Floyd-Warshall

Page 29: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

3. Le problème central de l’ordonnancement

�������������� �������

���������������������

������������� ������������

!���� ������������

"���#�$%�����������&��

'�&��()����&��*�����������������$

+!'� ���������������

��&�����

�,�����������������������

+%�� ��������������������������#

'�&���'� ������������+

����&����

�!���������� � ����

'%����-�.����

�('������*����� � ���'

����

",������������*��

)!�����������*�"

�%'� ��������������*�)

/���

0� �������� �����'�&��

������������ ��

������������� ���������������

�������������� �������

���������������������

������������� ������������

!���� ������������

"���#�$%�����������&��

'�&��()����&��*�����������������$

+!'� ���������������

��&�����

�,�����������������������

+%�� ��������������������������#

'�&���'� ������������+

����&����

�!���������� � ����

'%����-�.����

�('������*����� � ���'

����

",������������*��

)!�����������*�"

�%'� ��������������*�)

/���

0� �������� �����'�&��

������������ ��

������������� ���������������

Page 30: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

3. Le problème central de l’ordonnancement

Modélisation

���������������� ������������������������������� �������� ����������������������

'�&��

+

$

#

'

)

� �

" �

��

� � , 1 ! 2 % 3 (��������

� ( %!

!

,

,!%

!

!

( %

!

%

Page 31: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

3. Le problème central de l’ordonnancement

Dates de début au plus tôt

• La date début au plus tôt dptôt(i) d’une tâche i = longueur du plus long chemin de la tâche Début (ou 0) à i

• Formule de récurrence– dptôt(i)=maxj∈Pred(i)(dptôt(j)+durée(j))– dptôt(0) =0

Page 32: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

3. Le problème central de l’ordonnancement

Dates de fin au plus tard

• On souhaite terminer le projet au plus tard à la date D=dptôt(n+1)

• Date de début au plus tard de i = Date maximum àlaquelle on peut exécuter i sans retarder le chantier

• Longueur du plus long chemin de i à Fin (ou n+1)

• Formule de récurrence– dptard(n+1)=D– dptard(i)=minj∈Succ(i)dptard(j)-durée(i)

Page 33: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

3. Le problème central de l’ordonnancement

Marges, chemin critique

• La marge totale d’une tâche i est le retard total qu’on peut se permettre sur i sans remettre en cause la date de fin du projet

• MT(i)=dptard(i)-dptôt(i).

• Les tâches critiques ont une marge nulle. Tout retard sur leur exécution entraîne un retard global sur le projet

• Un chemin est critique s’il relie Début à Fin et s’il ne contient que des tâches critiques

Page 34: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

• Définition : Un flot dans un graphe G=(X,U) est un vecteur ϕ=[ϕ1,ϕ2,…,ϕm]∈ℜm tel que– La quantité de flot ou flux sur l’arc j ϕj ≥ 0, pour tout j

=1,…, m – Pour tout sommet x∈X, la 1ère loi de Kirchhoff est

vérifiée

��−+ ∈∈

=���� ���

���

� ϕϕ

Page 35: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Réseau de transport

• Définition : un réseau de transport de E à S est un graphe G=(X,U) connexe sans bouclecomportant une racine unique E (entrée ou source) et une antiracine unique S (sortie ou puit)– Chaque arc u=(xi,xj) est caractérisé par

• Une capacité max k(u) et une capacité min b(u) de matière pouvant circuler sur u

• Un coût unitaire c(u)

• Soit G0=(X,U0) le graphe issu de G en rajoutant un arc de retour (S,E)

Page 36: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Flot dans un réseau de transport• On dit que le vecteur ϕ=[ϕ1,ϕ2,…,ϕm] est flot

de E à S dans G ssi la loi de Kirshhoff est vérifiée en tout sommet de G sauf pour E et S où on a

• Donc, si ϕ=[ϕ1,ϕ2,…,ϕm] est un flot dans G alors ϕ’=[ϕ0,ϕ1,ϕ2,…,ϕm] est un flot dans G0

• ϕ’=[ϕ0,ϕ1,ϕ2,…,ϕm] est un flot admissible dans G0 ssi pour tout j=0,…,m, b(j)≤ϕj≤k(j)

���������� ���

��

��−+ ∈∈

==���

���

� ϕϕϕ

Page 37: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Flot dans un réseau de transport• On veut acheminer un produit à partir de 3

entrepôts (1,2,3) vers 4 clients (a,b,c,d)– Quantités en stock : 45, 25, 25– Demande des clients : 30,10, 20, 30– Limitations en matière de transport d’un entrepôt à un

client

1010--3

-55202

20-15101

dcba

E

1

2

3

a

b

d

c

S

[0,10]

[0,15]

[0,20]

[0,20]

[0,5]

[0,5][0,10]

[0,10]

[0,45]

[0,25][0,25]

[0,30][0,10]

[0,20]

[0,30]

Page 38: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Exemple de flot

E

1

2

3

a

b

d

c

S

[0,10], 10

[0,15], 5

[0,20], 20

[0,20], 15

[0,5], 5

[0,5], 5

[0,10], 10

[0,10], 10

[0,45], 35

[0,25], 25

[0,25], 20

[0,30], 25

[0,10], 10

[0,20], 15

[0,30], 30

Valeur du flot = 80

Ce flot est un flot complet, c-à-d, tout chemin de E à S comporte au moins un arc saturé

Page 39: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Quelques problèmes qui se posent1. Détermination d’un flot réalisable ou

compatible : c’est le cas où il existe des arcs u tels que b(u)>0

2. Détermination d’un flot maximum• Un flot complet n’est pas forcément maximum• Un flot maximum est forcément complet

3. Détermination d’un flot maximum de coût minimum

Page 40: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Détermination d’un flot maximum• Principe de l’algorithme de Ford-Fulkerson

1. Construire un flot complet2. Améliorer itérativement ce flot

1. Construire un flot complet– Examiner tous les chemins de E à S de façon

systématique– Pour chaque chemin faire passer un flot égal à la

capacité résiduelle minimale de ce chemin

Page 41: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Détermination d’un flot maximum

2. Améliorer itérativement ce flot– Graphe d’écart : Soit ϕ un flot admissible sur

G. Le graphe d’écart Ge(ϕ)=(X, Üe(ϕ)) est tel que• Pour tout arc j∈U on associe deux arcs dans

Üe(ϕ)– j+ de même sens que j et de capacité résiduelle

k+(j)=k(j)- ϕj

– j- de sens opposé que j et de capacité k-(j)=ϕj-b(j)

Page 42: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

10

5

10 5 5

5

E

1

2

3

a

b

d

c

S

[0,10], 10

[0,15], 5

[0,20], 20

[0,20], 15

[0,5], 5

[0,5], 5

[0,10], 10

[0,10], 10

[0,45], 35

[0,25], 25

[0,25], 20

[0,30], 25

[0,10], 10

[0,20], 15

[0,30], 30

E

1

2

3

a

b

d

c

S

35

25

2010

1020

55

10

15

5

25

10

30

15

Graphe d’écart

Un flot complet

Page 43: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Détermination d’un flot maximum

2. Améliorer itérativement ce flot– Théorème : Un flot ϕ compatible est

maximal ssi il n’existe pas de chemin de E àS dans Ge(ϕ).

– Principe de l’amélioration• Chercher un chemin γ de E à S dans Ge(ϕ)• Soit δ la plus petite capacité de γ

– Pour j+ de γ, augmenter ϕj de δ– Pour j- de γ, diminuer ϕj de δ

Page 44: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

4. Flots dans les réseaux

Détermination d’un flot maximum

10

5

10 5 5

5E

1

2

3

a

b

d

c

S

35

25

2010

1020

55

10

15

5

25

10

30

15

Capacité minimale δ = 5

5

40

5

100

5

020 0

30

Valeur du flot = 85

Page 45: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

Exemples

En 1736, Euler a montré que c’est impossible !!

retour

Page 46: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

retour

Page 47: Mise à Niveau en Recherche Opérationnelle - Paris … · Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr ... – Pour tout sommet x˛X, la 1ère loi de Kirchhoff

Références bibliographiques

• P. Lopez, Cours de graphes, LAAS-CNRS http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html

• Ph. Vallin and D. Vanderpooten. Aide à la décision : une approche par les cas. Ellipses, Paris, 2000.

• M. Gondron, M. Minoux, Graphes et algorithmes, Eyrolles, Paris, 1984

• C. Prins, Algorithmes de graphes, Eyrolles, Paris, 1994

• Ph. Lacomme, C. Prins, M. Sevaux, Algorithmes de graphes, Eyrolles, 2003

• B. Baynat, Ph. Chrétienne, …, Exercices et problèmes d’algorithmique, Dunod, 2003