Vous êtes sur la page 1sur 45

Optimisation dans les

rseaux
GC-SIE

Graphes et flots

Graphes

Un graphe orient G =(N,A) consiste en


un ensemble de N nuds N et un
ensemble de A arcs A.
On supposera

1 N < et 0 A <
il existe un seul arc reliant deux nuds dans
une mme direction

Un arc (i,j) sera considr comme une


paire ordonne. (i,j) est donc diffrent
de (j,i).

Graphes et flo

Michel Bierlaire

Dfinitions

Si (i,j) est un arc, on dira que

(i,j) est un arc sortant de i


(i,j) est un arc entrant dans j
(i,j) est incident i et j
i est le prdcesseur de j
j est le successeur de i

Le degr du nud i est le nombre darcs


qui lui sont incidents.
Un graphe est complet sil y a un arc
entre chaque paire de nuds.

Graphes et flo

Michel Bierlaire

Chemins

Nous utiliserons principalement des graphes


orients, et omettrons souvent ladjectif
orient.
Un chemin P est une suite de nuds (n1,n2,
,nk), k > 1, et la suite correspondante de k1 arcs tels que le iime arc de la suite est soit

(ni,ni+1) : arc avanant


(ni+1,ni) : arc reculant

n1 est lorigine du chemin


nk est la destination du chemin

Graphes et flo

Michel Bierlaire

Chemins

P+ est lensemble des arcs avanant de P


P- est lensemble des arcs reculant de P
Un cycle est un chemin dont lorigine est
identique la destination n1=nk
Un chemin est simple lorsquil ne contient
pas darcs ni de nuds rpts, excepts
ventuellement n1 et nk
Un chemin est avanant si tous ses arcs le
sont.
Un chemin est reculant si tous ses arcs le
sont.

Graphes et flo

Michel Bierlaire

Chemins
Un cycle Hamiltonien est un cycle
simple avanant contenant tous les
nuds du graphe.
Attention : la suite de nuds nest
pas toujours suffisante pour dcrire
le chemin.

Nuds (1,2,3,4,5) Arcs ((1,2),(3,2),(3,4),(4,5))


Graphes et flo

Michel Bierlaire

Flots

Notation : xij = flot sur arc (i,j) IR


Si xij < 0, le flot est orient dans le
sens contraire larc.
Lensemble {xij t.q. (i,j) A} est
appel vecteur de flots
A chaque vecteur de flots x est
associ un vecteur de divergence
yIRN

Graphes et flo

Michel Bierlaire

Flots

Pour tout i N,

yi = flot total sortant flot total


entrant

Graphes et flo

Michel Bierlaire

Flots

Un nud i est une source si yi > 0

Un nud i est un puits si yi < 0

Un vecteur de flots x est une


circulation si yi=0 pour tout i N

On a toujours

Graphes et flo

Michel Bierlaire

10

Flots
y2= -2

puits

2
x24=-2

x12=1
y1= 1 1

x23=1

x32=0

x13=0
sources
Graphes et flo

y4= 0

x34=2
3
y3= 1
Michel Bierlaire

11

Flots
y2= 0

Circulation

2
x24=-1

x12=1
y1= 0 1

x23=1 x32=-1
x13=-1

y4= 0

x34=1
3
y3 = 0

Graphes et flo

Michel Bierlaire

12

Flots

Contraintes de borne
bij xij cij (i,j) A
Un chemin P est non bloqu par rapport
x si

xij < cij (i,j) P


xij > bij (i,j) P

Ide : on ne peut plus envoyer de flot


sur un chemin bloqu sans violer une
contrainte.

Graphes et flo

Michel Bierlaire

13

Flots
-2 xij 2 (i,j) A

y2= -2
2
x24=-2

x12=1
y1 = 1

1
x13=0

(1,2,4)
(4,2,1)
Graphes et flo

4 y4= 0

x32=0

x23=1

x34=2

non bloqu
bloqu

3
y3= 1

Michel Bierlaire

14

Flots et chemins

Un flot de chemin simple est un


vecteur de flot qui correspond
lenvoi dune quantit positive a de
flot le long dun chemin simple.

Graphes et flo

Michel Bierlaire

15

Flots et chemins
2
1

x24=-2

x12=1

x23=1

x32=0

x13=0

4
x34=2

3
Graphes et flo

Michel Bierlaire

16

Flots et chemins
2
x24=-2
-1

x12=1
1

x23=1

x32=0

x13=0

x34=2
3

Graphes et flo

Michel Bierlaire

17

Flots et chemins
2
x24=-2
-1

x12=1
1

x23=1
1

x32=0

1
x13=0

x34=2
3

Graphes et flo

Michel Bierlaire

18

Flots et chemins

On aimerait dcomposer un vecteur de


flots en la somme de flots de chemins
simples.
Un chemin P est conforme un vecteur de
flots x si

xij > 0 (i,j) P


xij < 0 (i,j) P
P est un cycle ou P relie une source un puits.

Un flot de chemin simple xs est conforme


x si le chemin correspondant lest.

Graphes et flo

Michel Bierlaire

19

Flots et chemins
y2= -2
2
1
4

y1 = 1 1

y4= 0

3
y3= 1
Graphes et flo

Michel Bierlaire

20

Flots et chemins
y2= -2
2
-1
4

y1= 1 1

y4= 0

1
3
y3 = 1
Graphes et flo

Michel Bierlaire

21

Flots et chemins
y2= -2
2
-1
y1 = 1 1

y4= 0

1
3
y3= 1
Graphes et flo

Michel Bierlaire

22

Flots et chemins
y2= -2
2
x24=-2

x12=1
y1= 1 1

x23=1

x32=0

x13=0

y4 = 0

x34=2
3
y3 = 1

Graphes et flo

Michel Bierlaire

23

Flots et chemins
Thorme de dcomposition conforme :
Un vecteur de flots non nul peut tre
dcompos en la somme de t vecteurs
de flots de chemin simple x1, x2,, xt,
tous conformes x.
Si x est entier, on peut choisir x1, x2,,
xt entiers galement
Si x est une circulation, on peut choisir
x1, x2,, xt flots de cycle simple
Graphes et flo

Michel Bierlaire

24

Le problme de
transbordement

nonc

Une entreprise doit transporter ses


produits de ses usines (lieux de
production) vers ses clients.
Elle dsire minimiser ses cots.
Elle doit se plier aux contraintes de
capacit du systme de transport.
Elle peut ventuellement transborder les
marchandises en tout nud du rseau.

Graphes et flo

Michel Bierlaire

26

nonc

Trouver un vecteur de flots

qui minimise une fonction de cot


(linaire),
qui produise un vecteur de
divergence donn,
qui vrifie les contraintes de capacit.

Graphes et flo

Michel Bierlaire

27

nonc
Donnes :
coefficients de cot : aij
capacits infrieures : bij
capacits suprieures : cij
divergences : si

Si si > 0 alors si est loffre en i, c--d ce qui


est produit par lusine situe en i
Si si < 0 alors si est la demande en i, c--d
ce qui est rclam par le client situ en i.

Graphes et flo

Michel Bierlaire

28

nonc

sous contraintes

Graphes et flo

Michel Bierlaire

29

Contraintes
contraintes doffre/demande
contraintes de conservation des flots

contraintes de capacit

Graphes et flo

Michel Bierlaire

30

Problme du plus court


chemin

Le problme du plus court chemin


consiste dterminer le chemin de
cot minimum reliant un nud
un nud .
On peut le voir comme un problme
de transbordement.
On envoie une unit de flot de
.

Graphes et flo

Michel Bierlaire

31

Problme du plus court


chemin
Donnes :
coefficients de cot : aij
capacits infrieures : 0
capacits suprieures : +
divergences :

s = 1
s = -1
si = 0 si i et i

Graphes et flo

Michel Bierlaire

32

Problme daffectation

Je possde 4 chefs-duvre que je dsire


vendre.
4 acheteurs se prsentent, et me font les
propositions suivantes (en milliers de $)
Van Gogh

Renoir

Monet

Bierlaire

Christies

8000

11000

Drouot

9000

13000

12000

COOP

9000

11000

0.01

Metropolitan

14000

12000

Graphes et flo

Michel Bierlaire

33

Problme daffectation

Je dsire vendre exactement une


peinture chaque acheteur.
Quelle peinture dois-je vendre quel
acheteur pour gagner un
maximum ?
On peut le voir comme un problme
de transbordement.
Reprsentation en rseau.

Graphes et flo

Michel Bierlaire

34

Problme daffectation
Van Gogh

Christies

Renoir

Drouot

Monet

COOP

Bierlaire

Metro

Graphes et flo

Michel Bierlaire

35

Problme daffectation
Donnes :
coefficients de cot : -aij
aij = prix propos par acheteur j pour
peinture i.
capacits infrieures : 0
capacits suprieures : 1
divergences :

si = 1 si i reprsente une peinture (offre)


si = -1si i reprsente un acheteur (demande)

Graphes et flo

Michel Bierlaire

36

Problme de flot maximal

Une socit ptrolire dsire envoyer un


maximum de ptrole via un rseau de
pipelines entre un lieu et un lieu .
Combien de litres par heure pourra-telle faire passer par le rseau ?
Les capacits des pipelines (en
kilolitres/heure) sont indiques sur les
arcs.

Graphes et flo

Michel Bierlaire

37

Problme de flot maximal


3
1

Graphes et flo

Michel Bierlaire

38

Problme de flot maximal

On peut le voir comme un


problme de transbordement.
Il faut ajouter un arc artificiel.
Ide : chaque unit de flot qui a
russi passer travers le rseau
est ramene artificiellement ,
en rapportant des bnfices (cot
ngatif).

Graphes et flo

Michel Bierlaire

39

Problme de flot maximal


3
1

Graphes et flo

Michel Bierlaire

40

Problme de flot maximal


Donnes :
coefficients de cot :

0 pour les arcs rels


-1 pour larc artificiel

capacits infrieures : bij (souvent 0)


capacits suprieures : cij
divergences :

si = 0 pour tout i
on dsire une circulation

Graphes et flo

Michel Bierlaire

41

Problme de transport

Une socit lectrique possde trois


gnrateurs pour fournir 4 villes en
lectricit.
Les gnrateurs produisent resp. 35, 50
et 40 MKWh.
Les villes consomment resp. 45, 20, 30 et
30 MKWh.
Les cots de transport dun MKWh dun
gnrateur une ville sont repris dans le
tableau suivant.

Graphes et flo

Michel Bierlaire

42

Problme de transport
Ville 1 Ville 2 Ville 3 Ville 4

Gn. 1

10

Gn. 2

12

13

Gn. 3

14

16

Comment approvisionner les villes


moindre cot ?
Reprsentation en rseau.

Graphes et flo

Michel Bierlaire

43

Problme de transport
Gn. 1 35

45 Ville 1

Gn. 2 50

20 Ville 2

Gn. 3 40

30 Ville 3

30 Ville 4
Graphes et flo

Michel Bierlaire

44

Problme de transport
Donnes :
coefficients de cot : aij

aij = prix entre gn. i et ville j

capacits infrieures : 0
capacits suprieures : +
divergences :

si = capacit de production si i = gnrateur

si = -demande si i = ville

Graphes et flo

Michel Bierlaire

45