44
Graphes et réseaux Michel Bierlaire [email protected] EPFL - Laboratoire Transport et Mobilit ´ e - ENAC Graphes et r ´ eseaux – p. 1/44

Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Graphes et réseaux

Michel Bierlaire

[email protected]

EPFL - Laboratoire Transport et Mobilite - ENAC

Graphes et reseaux – p. 1/44

Page 2: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux routiers

Graphes et reseaux – p. 2/44

Page 3: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux de transports en commun

Graphes et reseaux – p. 3/44

Page 4: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux de gaz

Graphes et reseaux – p. 4/44

Page 5: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux d’eau

Graphes et reseaux – p. 5/44

Page 6: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux d’ordinateurs

Graphes et reseaux – p. 6/44

Page 7: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux de neurones

Graphes et reseaux – p. 7/44

Page 8: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Réseaux sociaux

Graphes et reseaux – p. 8/44

Page 9: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

Formalisation mathématique du concept de réseaux

GrapheUn graphe orienté G = (N,A) est constitué d’un ensemble N de noeuds etd’un ensemble A de paires de noeuds distincts, appelées arcs.

1

2

3

4

Graphes et reseaux – p. 9/44

Page 10: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

ArêteUne arête est un arc dont on ignore l’orientation.

ChaîneUne suite consécutive d’arêtes est appelée une chaîne.

CheminUne suite consécutive d’arcs est appelée un chemin.

Graphe connexeUn graphe G = (N,A) est connexe si, quelque soit i, j ∈ N , il existe unechaîne de i à j.

Graphe fortement connexeUn graphe G = (N,A) est fortement connexe si, quelque soit i, j ∈ N , ilexiste un chemin de i à j.

Graphes et reseaux – p. 10/44

Page 11: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Graphe non connexe

1

2 3

4 5

6

Graphes et reseaux – p. 11/44

Page 12: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Graphe connexe mais pas fortement

1

2 3

4 5

6

Graphes et reseaux – p. 12/44

Page 13: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Graphe fortement connexe

1

2 3

4 5

6

Graphes et reseaux – p. 13/44

Page 14: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

CycleUne chaîne dont les deux sommets extrémités sont identiques est un cycle.

1

2 3

4 5

6

CircuitUn chemin dont les deux sommets extrémités sont identiques est un circuit.

1

2 3

4 5

6

Graphes et reseaux – p. 14/44

Page 15: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

ForêtUn graphe sans cycle est appelé une forêt.

1

2 3

4 5

6

Graphes et reseaux – p. 15/44

Page 16: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

ArbreUn graphe connexe sans cycle est appelé un arbre.

1

2 3

4 5

6

Graphes et reseaux – p. 16/44

Page 17: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Réseaux

• On supposera qu’il existe au plus un seul arc reliant deuxnoeuds dans une même direction.

• Dans ce cours, un graphe est un graphe orienté.

RéseauUn réseau est un graphe, pour lequel des valeurs numériques ont été asso-ciées aux noeuds et/ou aux arcs.

• Longueur d’une route.

• Capacité d’un tuyau.

• Nombre de personnes habitants en un endroit.

• Flot de véhicules empruntant une autoroute.

• etc.

Graphes et reseaux – p. 17/44

Page 18: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots

• Notations:• Noeuds : i et j.• Arc : (i, j).• Flot sur l’arc (i, j) : xij .

• Si xij < 0, le flot va à contre sens.

• Vecteur de flots:

{xij tel que (i, j) ∈ A}.

• Divergence : bilan des flots en un noeud i

yi =∑

j|(i,j)∈A

xij −∑

j|(j,i)∈A

xji, ∀i ∈ N.

Graphes et reseaux – p. 18/44

Page 19: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots

1

2

3

4

x12= 1 x

24 = −2

x13 = 0 x34

= 2

x23 = 1x32 = 0

Graphes et reseaux – p. 19/44

Page 20: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots

1y1 = 1

2

y2 = −2

3y3 = 1

4 y4 = 0

x12= 1 x

24 = −2

x13 = 0 x34

= 2

x23 = 1x32 = 0

Graphes et reseaux – p. 20/44

Page 21: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots

1y1 = 1

2

y2 = −2

3y3 = 1

4 y4 = 0

x12= 1 x

24 = −2

x13 = 0 x34

= 2

x23 = 1x32 = 0

• Sources : yi > 0

• Puits : yi < 0

Graphes et reseaux – p. 21/44

Page 22: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots

• On a toujours∑

i∈N

yi = 0.

• Si yi = 0, ∀i ∈ N , on dit que le vecteur de flots est unecirculation.

Graphes et reseaux – p. 22/44

Page 23: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flots : exemple de circulation

1y1 = 0

2

y2 = 0

3y3 = 0

4 y4 = 0

x12= 1 x

24 = −1

x13 = −1 x34

= 1

x23 = 1x32 = −1

Graphes et reseaux – p. 23/44

Page 24: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transbordement

• Une entreprise doit transporter ses produits de ses usines(lieux de production) vers ses clients.

• Elle désire minimiser ses coûts.

• Elle doit se plier aux contraintes de capacité du système detransport.

• Elle peut éventuellement transborder les marchandises en toutnoeud du réseau.

Graphes et reseaux – p. 24/44

Page 25: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transbordement

• Trouver un vecteur de flots :• qui minimise une fonction de coût (linéaire),• qui produise un vecteur de divergence donné,• qui vérifie les contraintes de capacité.

Graphes et reseaux – p. 25/44

Page 26: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transbordement

Données

• aij : coût unitaire de transport sur l’arc (i, j),

• bij : flot minimum sur l’arc (i, j) (souvent 0),

• cij : capacité de l’arc (i, j),

• si : divergences désirées.• Si si > 0 alors si est l’offre en i, c.-à-d. ce qui est produit

par l’usine située en i.• Si si < 0 alors si est la demande en i, c.-à-d. ce qui est

commandé par le client situé en i.

Graphes et reseaux – p. 26/44

Page 27: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transbordement

minx

(i,j)∈A

aijxij

sous contraintes∑

j|(i,j)∈A

xij −∑

j|(j,i)∈A

xji = si ∀i ∈ N offre/demande

bij ≤ xij ≤ cij ∀(i, j) ∈ A capacités

Graphes et reseaux – p. 27/44

Page 28: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transbordement

• Il s’agit un problème d’optimisation linéaire.

• Il peut donc être résolu par l’algorithme du simplexe.

• Il généralise de nombreux problèmes dans les réseaux.

Graphes et reseaux – p. 28/44

Page 29: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Le plus court chemin

• Le problème du plus court chemin consiste à déterminer lechemin de coût minimum reliant un noeud a à un noeud b.

• On peut le voir comme un problème de transbordement.

• Idée: on envoie une seule unité de flot de a à b.

Graphes et reseaux – p. 29/44

Page 30: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Le plus court chemin

Données

• aij : longueur de l’arc (i, j),

• bij : 0,

• cij : 1,

• si :• Origine : sa = 1.• Destination : sb = −1.• Autres noeuds : si = 0, si i 6= a et i 6= b.

Graphes et reseaux – p. 30/44

Page 31: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Affectation

Je possède 4 chefs d’oeuvre que je désire vendre

Renoir Van Gogh

Monet Bierlaire

Graphes et reseaux – p. 31/44

Page 32: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Affectation

J’ai contacté quatre acheteurs qui ont fait des offres (en kCHF)

Van Gogh Renoir Monet BierlaireChristie’s 8000 11000 — —Drouot 9000 13000 12000 —COOP 9000 — 11000 0.01

Metropolitan — 14000 12000 —

Graphes et reseaux – p. 32/44

Page 33: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Affectation

• Je désire vendre exactement une peinture à chaque acheteur.

• Quelle peinture dois je vendre à quel acheteur pour gagner unmaximum ?

• On peut le voir comme un problème de transbordement.

• Représentation en réseau.

Graphes et reseaux – p. 33/44

Page 34: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Affectation

Bierlaire

Monet

Renoir

Van Gogh

Metro

COOP

Drouot

Christies

Graphes et reseaux – p. 34/44

Page 35: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Affectation

Données

• aij : valeur de l’offre, changée de signe,

• bij : 0,

• cij : 1.

• si :• Noeud i “oeuvre” : si = 1.• Noeud j “acheteur” : sj = −1.

Graphes et reseaux – p. 35/44

Page 36: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flot maximal

• Une société pétrolière désire envoyer un maximum de pétrolevia un réseau de pipelines entre un lieu a et un lieu b.

• Combien de litres par heure pourra-t-elle faire passer par leréseau ?

• Les capacités des pipelines (en kilolitres/heure) sont indiquéessur les arcs.

Graphes et reseaux – p. 36/44

Page 37: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flot maximal

a 1 2

3

bca1 = 2 c12 = 3 c2b = 2

c 13

=4 c

3b =1

ca2 = 3

Graphes et reseaux – p. 37/44

Page 38: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flot maximal

• On peut le voir comme un problème de transbordement.

• Il faut ajouter un arc artificiel.

• Idée : chaque unité de flot qui a réussi à passer à travers leréseau est ramenée artificiellement à a, en rapportant desbénéfices (coût négatif).

Graphes et reseaux – p. 38/44

Page 39: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flot maximal

a 1 2

3

bca1 = 2 c12 = 3 c2b = 2

c 13

=4 c

3b =1

ca2 = 3

cba = +∞, aba = −1

Graphes et reseaux – p. 39/44

Page 40: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Flot maximal

Données

• aij :

{

0 pour les arc réels−1 pour l’arc artificiel

• bij : 0,

• cij : capacités,

• si = 0 ∀i: on désire une circulation.

Graphes et reseaux – p. 40/44

Page 41: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transport

• Une société électrique possède trois générateurs pour fournir 4villes en électricité.

• Les générateurs produisent resp. 35, 50 et 40 MKWh.

• Les villes consomment resp. 45, 20, 30 et 30 MKWh.

• Les coûts de transport d’un MKWh d’un générateur à une villesont repris dans le tableau suivant.

Ville 1 Ville 2 Ville 3 Ville 4Gén. 1 8 6 10 9Gén. 2 9 12 13 7Gén. 3 14 9 16 5

• Comment approvisionner les villes à moindre coût ?

Graphes et reseaux – p. 41/44

Page 42: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transport

Gén. 1

Gén. 2

Gén. 3

Ville 1

Ville 2

Ville 3

Ville 4

89

146

12

9

1013

16

9

75

Graphes et reseaux – p. 42/44

Page 43: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Problème de transport

Données

• aij : prix entre générateur i et ville j,

• bij : 0,

• cij : +∞,

• si: offre et demande

si =

{

capacité de production si i = générateur−demande si i = ville

Graphes et reseaux – p. 43/44

Page 44: Graphes et réseaux - TRANSP-ORciées aux noeuds et/ou aux arcs. • Longueur d’une route. • Capacité d’un tuyau. • Nombre de personnes habitants en un endroit. • Flot de

Résumé

• Le problème de transbordement généralise beaucoup deproblèmes dans les réseaux.

• Il s’agit d’un problème d’optimisation linéaire.

• L’algorithme du simplexe peut être utilisé.

• Dans de nombreux cas, il est possible d’exploiter mieux lastructure du problème afin d’obtenir un algorithme plus efficace.

• Exemple : problème du plus court chemin.

Graphes et reseaux – p. 44/44