You are on page 1of 31

MATH-F-306 Optimisation

chapitre 4

Optimisation dans les Graphes


20 avril 2007
Optimisation MATH-F-306
MATH-F-306 4. Optimisation dans les Graphes
RAPPEL :
foret = graphe sans cycle
arbre = foret connexe
isthme = arete telle que si on la retire du graphe, le nombre de composantes connexes
augmente
1
4. Optimisation dans les Graphes MATH-F-306
2
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 1
Exercice 4 . 1
Soit G = (V, E) un graphe simple ni. Notons m = [E[ et n = [V [.
a. Montrer que si d(v) 2 pour tout sommet v V , alors G contient un cycle.
b. Montrer que si m n, alors G contient un cycle.
c. Montrer que si G est connexe, alors m n 1.
Solution :
a. Decrivons un algorithme qui trouve un cycle :
Partons dun sommet quelconque v
1
V . Comme d(v
1
) 2, il existe un sommet v
2
adjacent `a v
1
.
On va ajouter petit `a petit des successeurs an de former un cycle.
A letape k, supposons quon a un chemin v
1
, v
2
, . . . , v
k1
, v
k
. Comme d(v
k
) 2 il existe une deuxi`eme
arete incidente au sommet v
k
, notons-la [v
k
, v
k+1
] (hormis larete [v
k1
, v
k
]). Alors il y a deux possibilites
pour le sommet v
k+1
:
si v
k+1
v
1
, . . . , v
k1
alors on a trouve un cycle
sinon on ajoute v
k+1
au chemin et on it`ere
Comme le graphe est ni, on va necessairement aboutir `a la premi`ere situation pour un certain sommet
et on a trouve un cycle.
b. On le demontre par recurrence :
vrai pour n = 3 (pour un graphe simple)
supposons que cest vrai pour n 1 et montrons que cest vrai pour n.
sil existe un sommet de degre 0 :
Il existe donc un sommet isole w. Considerons le graphe G

= (V w, E). Pour G

on a donc :
m

= m n et n

= n 1. Donc G

contient un cycle (par lhypoth`ese de recurrence) et par


consequent G contient un cycle (car G

est un sous-graphe de G).


sil existe un sommet de degre 1 :
Alors il existe un sommet w qui est relie au reste du graphe via une seule arete.
G

w
Soit G

alors le graphe G moins cette arete et moins le sommet w. On a que n

= n1 et m

= m1.
G

contient donc un cycle (par lhypoth`ese de recurrence) et par consequent G contient aussi un
cycle.
si tous les sommets sont de degre au moins 2 :
Alors G contient un cycle (par le point a..)
3
Exercice 4 . 1 4. Optimisation dans les Graphes MATH-F-306
c. On le demontre par recurrence :
vrai pour n = 2
supposons que cest vrai pour n 1 et montrons que cest vrai pour n.
sil existe un sommet de degre 0 :
Ce cas est impossible (pourquoi ?)
sil existe un sommet de degre 1 :
Alors il existe un sommet w qui est relie au reste du graphe via une seule arete.
G

w
Soit G

alors le graphe G moins cette arete et moins le sommet w. On a que n

= n1 et m

= m1
avec m

1 (par lhypoth`ese de recurrence) et par consequent m = m

+1 n

1+1 = n1.
si tous les sommets sont de degre au moins 2 :
Alors on a que

vV
d(v) 2 n. Or on sait aussi que 2 m =

vV
d(v).
2 m 2 n
m n n 1
4
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 2
Exercice 4 . 2 (Proposition 4.5)
cf : Syllabus (Geir Dahl) ex 4.5 page 104
Soit T = (V, E) un graphe. Montrer que les propositions suivantes sont equivalentes :
a. T est un arbre.
b. T est connexe et chaque arete e E est un isthme.
c. Il existe un et un seul chemin entre chaque paire de sommets.
d. T est connexe et m = n 1.
e. T est une foret et m = n 1.
Indice : Montrer que (e.) (d.) (c.) (b.) (a.) (e.)
Solution :
(e.) (d.)
T est une foret et m = n 1. Il reste `a montrer que T est connexe. Par labsurde, supposons que T
nest pas connexe. Supposons par exemple que T contient 2 composantes connexes C
1
et C
2
.
Comme il ny a pas darete entre C
1
et C
2
on a que m = [E(C
1
)[ + [E(C
2
)[ = n 1
Or C
1
ne contient pas de cycle (cest une foret) [E(C
1
)[ [C
1
[ 1 (par lexercice precedent).
De meme C
2
ne contient pas de cycle [E(C
2
)[ [C
2
[ 1.
[E(C
1
)[ + [E(C
2
)[ [C
1
[ + [C
2
[ 2 = n 2
Contradiction
(d.) (c.)
Comme T est connexe, on sait quil existe au moins 1 chemin entre toute paire de sommets.
Sil existe une paire de sommets i, j tel quil existe 2 ij-chemins, alors il doit exister un cycle dans
T. (Justier)
Si on retire une arete e de ce cycle, alors le graphe restant est toujours connexe.
[E e[ n 1 (par lexercice precedent)
m = [E[ = [E e[ + 1 (n 1) + 1 = n
Contradiction
(c.) (b.)
T est connexe, car il existe un chemin entre chaque paire de sommets
Chaque arete est un isthme : si une arete [i, j] netait pas un isthme, alors il existerait un autre
chemin entre les sommets i et j.
Contradiction
(b.) (a.)
Comme chaque arete est un isthme, T ne contient pas de cycle, donc T est une foret. Comme T est
aussi connexe, T est bel et bien un arbre.
(a.) (e.)
T est un arbre T est une foret.
T est connexe m n 1. Or si m n, T contient un cycle et nest plus une foret, donc
m = n 1.
5
Exercice 4 . 2 4. Optimisation dans les Graphes MATH-F-306
6
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 3
Exercice 4 . 3
cf : Syllabus (Geir Dahl) ex 4.11 page 106
Soit G = (V, A) un graphe oriente et soient s et t deux sommets distincts de G. Supposons que :
d
+
(v) = d

(v) v ,= s, t
d
+
(s) = k +d

(s) pour un k 0
Montrer que G contient au moins k st-chemins arete-disjoints (qui nont pas darete en commun).
Solution :
De s il y a k +d

(s) arcs qui partent.


Regardons un arc qui sort de s, il y a 3 possibilites :
on arrive au sommet t. Alors on a trouve un chemin de s vers t. On enl`eve ce chemin et on recommence
un nouveau chemin `a partir de s (sil en existe encore).
on arrive au sommet s. Alors on a trouve un cycle (on est parti de s et on est revenu `a s). On enl`eve
ce cycle du graphe et on recommence un nouveau chemin `a partir de s.
on aboutit en un sommet u ,= s, t. Comme pour un tel sommet il y a autant darcs entrants que
sortants, on peut repartir de ce sommet. On suit donc un des arcs sortants et on a de nouveau les
memes 3 possibilites (on it`ere)
En resume, chaque fois quon part de s, soit on revient en s, soit on arrive en t. Mais comme on ne peut
revenir que d

(s) fois en s et quon sait partir sur (d

(s) + k) chemins dierents, il y en a necessairement


au moins k qui aboutissent en t.

7
Exercice 4 . 3 4. Optimisation dans les Graphes MATH-F-306
8
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 4
Exercice 4 . 4
Considerons le probl`eme du plus court chemin de s vers t.
a. Donner une formulation de ce probl`eme sous forme de programme lineaire.
b. Trouver le plus court chemin du sommet A vers le sommet H dans le graphe suivant, en utilisant lalgorithme
de Dijkstra :
7
15 6
14
9
15 20
20 20
6
12
14 8 13 5
F
A B
D
G
E
C
H
Solution :
a. Notons c
ij
le co ut pour traverser larete [i, j].
Soit
x
ij
=

1 si larete [i, j] appartient au plus court chemin


0 sinon
Le probl`eme est alors :
min

j
c
ij
x
ij
s.t. :

j
x
ji

k
x
ik
=

1 si i = s
1 si i = t
0 sinon
x
ij
0, 1
b. En utilisant lalgorithme de Dijkstra, on trouve le plus court chemin de A vers H :
A F D E H de valeur 34
9
Exercice 4 . 4 4. Optimisation dans les Graphes MATH-F-306
10
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 5
Exercice 4 . 5
Considerons le graphe dirige suivant, o` u il y a des capacites sur les arcs :
10
9
6
3
5
4
1
4
2
7
5
2
3
6
4
2
8
5
4
3
9
2
C
B
E
D
G
F
s t
A
H
I
a. Utiliser un algorithme de chemins augmentants pour trouver un st-ot maximum.
b. Trouver une st-coupe minimale.
Reponse : valeur dun st-ot maximal : 21
Solution :
a. On peut trouver par exemple les chemins augmentants suivants (dans lordre) :
s A D G H t on augmente le ot de 2 unites
s A C t 5
s A D F I t 2
s D F I t 1
s D C F H t 2
s D G F I t 1
s F H I t 5
s B C t 3
On obtient alors un ot maximum de valeur 21
b. On sait quil existe une st-coupe de meme valeur que la valeur du ot maximum. On voit que la coupe (S,

S)
avec S = s, A, D est de valeur 21 ; cest donc une st-coupe minimale.
11
Exercice 4 . 5 4. Optimisation dans les Graphes MATH-F-306
12
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 6
Exercice 4 . 6
Soit le probl`eme de transport suivant : une rme dispose de 3 depots A, B, C dans lesquels sont stockes
respectivement 31, 14 et 26 tonnes de charbon. La rme doit livrer 5 clients u, v, x, y, z, ayant un besoin de
15, 20, 9, 10, respectivement 17 tonnes de charbon.
Les co uts de transport (par tonne de charbon) des depots vers les clients sont les suivants :
u v x y z
A 6 - - 12 -
B - 5 9 - -
C - 4 - 8 10
On voit que chaque client nest pas accessible `a partir de chaque depot.
Utiliser les ots an de voir sil existe une solution realisable `a ce probl`eme. Si le probl`eme est realisable,
donner une solution, sinon quelle est la quantite maximale de charbon qui peut etre delivree ?
Solution :
On modelise le probl`eme de transport par un probl`eme de ot maximum :
On ajoute une source s et un puits t.
On relie s `a A, B et C avec un arc de capacite egale au stock disponible (31, 14, resp. 26)
De tout stock on ajoute les arcs vers les clients quon peut desservir `a partir de ce stock de capacite .
On relie chaque client au puits t avec un arc de capacite egale `a la demande du client.
s t
u
17
9
15
v
x
y
z
14
A
B
C
31
26
10
20
Comme la somme de toutes les demandes est egale `a 71, nous savons quil existe une solution realisable du
probl`eme si on arrive `a envoyer `a travers ce reseau un ot de valeur 71.
On resout donc le probl`eme du ot maximum pour ce reseau et si la valeur optimale est egale `a 71, alors il
existe une solution au probl`eme donne.
On trouve par exemple les chemins augmentants suivants (dans lordre) :
s A u t on augmente le ot de 15 unites
s A y t 10
s B v t 14
s C v t 6
s C z t 17
s C v B x t 3
Pour lexemple, on trouve un ot maximum de valeur 65. Donc il nexiste pas de solution au probl`eme de
transport et la quantite maximale quon puisse delivrer vaut 65 tonnes de charbon.
13
Exercice 4 . 6 4. Optimisation dans les Graphes MATH-F-306
14
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 7
Exercice 4 . 7
cf : Network Flows (Ahuja, Magnanti, Orlin) Prentice Hall ; appl 6.4 page 172
Regardons le probl`eme dordonnancement suivant : on doit eectuer J jobs sur M machines identiques
parall`eles. A chaque job j J on associe un temps dexecution p
j
(le nombre de jours machines necessaires
pour accomplir le job j), une date de disponibilite r
j
(date `a partir de laquelle on peut commencer `a executer
le job j) et une date de terminaison d
j
(due date) `a laquelle le job j doit etre termine.
Supposons que chaque machine ne peut executer quun seul job `a la fois et que chaque job ne peut etre
execute simultanement sur plusieurs machine. Par contre, un job peut etre interrompu et repris quelques
jours plus tard.
Le probl`eme dordonnancement consiste `a trouver un horaire realisable (qui eectue tous les jobs dans les
delais) ou bien `a montrer quun tel horaire nexiste pas.
Resoudre le probl`eme suivant avec 4 jobs et M = 2 machines :
job (j) 1 2 3 4
temps dexecution (p
j
) 1.5 1.25 2.1 3.6
date de disponibilite (r
j
) 3 1 3 5
date limite de n (d
j
) 5 4 7 9
Indice : Modeliser le probl`eme comme probl`eme de ot maximum.
Solution :
On commence par ordonner (de mani`ere croissante) les dates de disponibilite r
j
et de terminaison d
j
.
1 3 4 5 7 9
Alors on obtient P 2 [J[ 1 intervalles (2 `a 2 disjoints) de dates consecutives de la liste precedente.
Soit T
kl
lintervalle qui commence `a la date k et sarrete `a la date l + 1.
T
12
T
33
T
44
T
56
T
78

[1, 3] [3, 4] [4, 5] [5, 7] [7, 9]
Remarquons qu`a linterieur dun intervalle, lensemble des jobs qui sont susceptibles detre executees,
ne change pas. Et les jobs quon peut eectuer pendant lintervalle T
kl
sont tous les jobs j tels que
r
j
k et d
j
l + 1.
Construisons alors le reseau ^ suivant :
Lensemble des sommets V est deni par :
une source s
un puits t
un sommet j pour tout job j
un sommet T
kl
pour tout intervalle T
kl
Le reseau contient les arcs suivants :
un arc (s, j) de capacite p
j
pour tout job j J (on a besoin de p
j
jours de travail pour completer
le job j)
15
Exercice 4 . 7 4. Optimisation dans les Graphes MATH-F-306
un arc (T
kl
, t) de capacite M (l + 1 k) pour tout intervalle T
kl
(durant lintervalle T
kl
on peut
utiliser au plus M machines pendant l + 1 k jours)
un arc (j, T
kl
) si r
j
k et d
j
l + 1 de capacite l + 1 k (pendant lintervalle T
kl
le job j peut
etre eectuee sur au plus 1 machine, donc au plus l + 1 k jours)
Pour lexercice, on obtient :
1.5
1.25
2.1
3.6
2
1
1
1
4
2
2
4
4
2
2
1
2
1
1
2
3
4
s t T44
T56
T78
T12
T33
Alors existe un horaire realisable sil existe un ot de valeur

j
p
j
dans le reseau ^. Essayons donc de
resoudre le probl`eme du st-ot maximum dans ^.
On trouve par exemple les chemins augmentants suivants :
s 1 T
33
t ot de valeur 1
s 1 T
44
t ot de valeur 0.5
s 2 T
12
t ot de valeur 1.25
s 3 T
33
t ot de valeur 1
s 3 T
56
t ot de valeur 1.1
s 4 T
56
t ot de valeur 2
s 4 T
78
t ot de valeur 1.6
On obtient alors le ot suivant (en rouge) :
16
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 7
1.5
1.25
2.1
3.6
2
1
1
1
4
2
2
4
4
2
2
1
2
3.6
2.1
1.25
1.5
1.25
1
0
0.5
0
1.25
2
0.5
1.1
2
3.1
1.6
1.6
1
1
s
2
1
3
4
T12
T33
T44
T56
T78
t
Ce ot nous donne par exemple lhoraire suivant :
M2
M1
0 1 2 3 4 5 6 7 8 9 10
job 1
job 2
job 3
job 4
17
Exercice 4 . 7 4. Optimisation dans les Graphes MATH-F-306
18
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 8
Exercice 4 . 8
cf : Network Flows (Ahuja, Magnanti, Orlin) Prentice Hall ; page 193
Considerons un reseau ^ = (V, A, l, u, b) o` u il existe non seulement une capacite u (= borne superieure) sur
chaque arc, mais egalement une borne inferieure l sur tout arc, cest-`a-dire 0 l
ij
x
ij
u
ij
pour tout arc
(i, j) A.
Le probl`eme qui se pose est que dans un tel reseau il nexiste pas forcement un st-ot realisable. Par exemple
le reseau suivant ne contient pas de 13-ot realisable :
1 2 3
(5, 10) (2, 4)
Montrer quil est possible de resoudre le probl`eme de trouver un st-ot realisable dans ^ en resolvant un
probl`eme de st-ot maximum dans un reseau ^

= (V

, A

, u

, b

) avec 0 x

ij
u

ij
pour tout arc (i, j) A

.
Indice : Transformer dabord le st-ot de ^ en circulation (b(v) = 0, v V ), faire ensuite un changement
de variable pour se ramener `a un probl`eme de st-ot maximum.
Solution :
Le but est de savoir sil existe un st-ot realisable dans le reseau. On cherche donc des valeurs de x telles
que :

j:(i,j)A
x
ij

k:(k,i)A
x
ki
=

b si i = s
b si i = t
0 sinon
i V
0 l
ij
x
ij
u
ij
(i, j) A
On va transformer le probl`eme de mani`ere `a se ramener `a un probl`eme de st-ot habituel :
On ajoute larc (t, s) de capacite qui ram`ene le ot envoye de s vers t `a lorigine s. Ainsi on obtient
un probl`eme de circulation.
Le probl`eme initial du st-ot est realisable si le probl`eme de circulation est realisable, cest-`a-dire si on
trouve des x tels que :

j:(i,j)A
x
ij

k:(k,i)A
x
ki
= 0 i V
0 l
ij
x
ij
u
ij
(i, j) A
On eectue le changement de variables : x

ij
= x
ij
l
ij
Ainsi le probl`eme du st-ot initial devient :

j:(i,j)A
x

ij

k:(k,i)A
x

ki
= b

i
i V
0 x
ij
u
ij
l
ij
(i, j) A
o` u b

i
=

k:(k,i)A
l
ki


j:(i,j)A
l
ij
19
Exercice 4 . 8 4. Optimisation dans les Graphes MATH-F-306
On a que

iV
b

i
= 0 comme tout terme l
ij
apparat 2 fois.
Remarquons quon est maintenant en presence dun probl`eme de multiot avec plusieurs sources et
puits.
On se ram`ene alors de nouveau `a un probl`eme de st-ot :
on ajoute une nouvelle source S et un nouveau puits T
on ajoute un arc (S, i) de capacite b

i
pour tout sommet i tel que b

i
> 0
on ajoute un arc (i, T) de capacite b

i
pour tout sommet i tel que b

i
< 0
Maintenant on peut resoudre le probl`eme de ot maximum.
Le probl`eme initial du st-ot est realisable si dans la solution optimale du dernier ST-ot maximum, tous
les arcs partant de S et tous les arcs arrivant `a T sont egaux `a leur capacite.
20
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 9
Exercice 4 . 9
cf : Network Flows (Ahuja, Magnanti, Orlin) Prentice Hall ; appl 6.3 page 171
Considerons le probl`eme darrondir une matrice : on dispose dune matrice p q D de reels d
ij
, des sommes
des lignes
i
et des sommes des colonnes
j
.
On peut arrondir tout reel a soit vers lentier plus grand le plus proche a|, soit vers lentier plus petit le
plus proche a| et ceci comme on veut. La question est alors sil existe une mani`ere darrondir tous les reels
telle que les sommes arrondies correspondent bien `a la somme des dierents elements arrondies.
Essayer de resoudre le probl`eme suivant (en utilisant bien s ur les ots) :
somme
3.1 6.8 7.3 17.2
9.6 2.4 0.7 12.7
3.6 1.2 6.5 11.3
somme 16.3 10.4 14.5
Solution :
On modelise le probl`eme sous forme de probl`eme de ot realisable :
un sommet i pour toute ligne (p sommets)
un sommet j

pour toute colonne (q sommets)


une source s et un puits t
un arc (i, j

) pour tout element d


ij
de la matrice D
un arc (s, i) pour toute ligne
un arc (j

, t) pour toute colonne


`a chaque arc on associe une borne inferieure d
ij
| et une borne superieure d
ij
|
Pour lexemple, on obtient donc le graphe suivant :
1
2
3
(
7
,
8
)
(
6
,
7
)
(3, 4)
(6, 7)
(
1
,
2
)
(
3
,
4
)
(
0
,
1
)
(2, 3)
(
9
,
1
0
)
(12, 13) (10, 11)
(
1
4
,
1
5
)
(
1
6
,
1
7
)
(
1
1
,
1
2
)
(
1
7
,
1
8
)
2

s t
On essaie de trouver un ot realisable dans le graphe ci-dessus.
Apr`es transformations et calculs, on obtient une solution :
21
Exercice 4 . 9 4. Optimisation dans les Graphes MATH-F-306
somme
4 6 7 17
9 3 0 12
3 1 7 11
somme 16 10 14
22
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 10
Exercice 4 . 10
cf : Network Flows (Ahuja, Magnanti, Orlin) Prentice Hall ; ex 6.16 page 201
Un probl`eme darrondi de matrice : on veut arrondir chaque element de la matrice et aussi les sommes des
lignes et colonnes vers le multiple de 2 le plus proche (vers le haut ou vers le bas), de mani`ere `a ce que les
sommes arrondies correspondent bien aux sommes des dierents elements arrondis (pour etre precis : 4.3
peut etre arrondi soit vers 4, soit vers 6).
1. Expliquer comment on peut utiliser les ots pour savoir sil existe un tel arrondissement ou non.
2. Resoudre lexemple numerique suivant et donner une solution, sil en existe une !
somme
7.5 6.3 15.4 29.2
3.9 9.1 3.6 16.6
15.0 5.5 21.5 42.0
somme 26.4 20.9 40.5
Solution :
23
Exercice 4 . 10 4. Optimisation dans les Graphes MATH-F-306
24
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 11
Exercice 4 . 11
cf : Network Flows (Ahuja, Magnanti, Orlin) Prentice Hall ; appl 6.4 page 172
Regardons le probl`eme dordonnancement suivant : on doit eectuer J jobs sur M machines identiques
parall`eles. A chaque job j J on associe un temps dexecution p
j
(le nombre de jours machines necessaires
pour accomplir le job j), une date de disponibilite r
j
(date `a partir de laquelle on peut commencer `a executer
le job j) et une date de terminaison d
j
(due date) `a laquelle le job j doit etre termine.
Notons que chaque machine ne peut executer quun seul job `a la fois et que chaque job ne peut etre execute
simultanement sur plusieurs machines. Par contre, un job peut etre interrompu et repris quelques jours plus
tard.
Le probl`eme dordonnancement consiste `a trouver un horaire realisable (qui eectue tous les jobs dans les
delais) ou bien `a montrer quun tel horaire nexiste pas.
Resoudre le probl`eme suivant avec 3 jobs et 2 machines en utilisant les techniques de ot :
job (j) 1 2 3
temps dexecution (p
j
) 3.5 2.25 2.6
date de disponibilite (r
j
) 1 1 2
date limite de n (d
j
) 6 4 5
(Detailler les dierentes etapes de votre solution)
Solution :
On commence par ordonner (de fa con croissante) les dates de disponibilite r
j
et de terminaison d
j
.
1 2 4 5 6
Alors on obtient un certain nombre P 2 [J[ 1 intervalles (2 `a 2 disjoints) de dates consecutives de
la liste precedente.
Soit T
kl
lintervalle qui commence `a la date k et sarrete `a la date l + 1.
T
11
T
23
T
44
T
55

[1, 2] [2, 4] [4, 5] [5, 6]
Remarquons qu`a linterieur dun intervalle, lensemble des jobs qui peuvent etre executees pendant cet
intervalle, ne change pas. Et les jobs quon peut eectuer pendant lintervalle T
kl
sont tous les jobs j
tels que r
j
k et d
j
l + 1.
Construisons alors le reseau ^ suivant :
Lensemble des sommets V est deni par :
une source s
un puits t
un sommet j pour tout job j
un sommet T
kl
pour tout intervalle T
kl
25
Exercice 4 . 11 4. Optimisation dans les Graphes MATH-F-306
Le reseau contient les arcs suivants :
un arc (s, j) de capacite p
j
pour tout job j J (on a besoin de p
j
jours de travail pour completer
le job j)
un arc (T
kl
, t) de capacite M (l + 1 k) pour tout intervalle T
kl
(durant lintervalle T
kl
on peut
utiliser au plus M machines pendant l + 1 k jours)
un arc (j, T
kl
) si r
j
k et d
j
l + 1 de capacite l + 1 k (pendant lintervalle T
kl
le job j peut
etre eectuee sur au plus 1 machine, donc au plus l + 1 k jours)
Pour lexercice, on obtient le graphe :
2.6
3.5
2.25
2
4
2
2
2
2
1
1
1
1
1
2
2
1
3
s t
T
55
T
44
T
23
T
11
Il existe un horaire possible sil existe un ot de valeur

j
p
j
= 8.35 dans le reseau ^. Essayons donc
de resoudre le probl`eme de st-ot maximum dans ^.
Utilisons lalgorithme des chemins augmentants pour trouver le ot maximum :
on trouve par exemple les chemins suivants :
s 1 T
55
t ot de valeur 1
s 1 T
11
t ot de valeur 1
s 1 T
23
t ot de valeur 1.5
s 2 T
11
t ot de valeur 1
s 2 T
23
t ot de valeur 1.25
s 3 T
23
t ot de valeur 1.25
s 3 T
44
t ot de valeur 1
s 3 T
23
1 T
44
t ot de valeur 0.35
On obtient donc le ot suivant (en rouge)
2.6
2.25
2
2
2
2
1
1
1
1
3.5
2.6
3.5
1
1
1.15
0.35
4
2
1
4
2
2
1
1.35
1.25
1
1.6
1
2.25
2
1
3
s t
T
55
T
44
T
23
T
11
26
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 11
Ce ot nous donne par exemple lhoraire suivant :
1 2 3 4 5
M
M
1
2
job 1
job 2
job 3
6
27
Exercice 4 . 11 4. Optimisation dans les Graphes MATH-F-306
28
MATH-F-306 4. Optimisation dans les Graphes Exercice 4 . 12
Exercice 4 . 12
Soit le probl`eme de transport suivant : une rme dispose de 4 depots A, B, C, D dans lesquels sont stockes
respectivement 8, 17, 6 et 15 tonnes de charbon. La rme doit livrer 3 clients u, v, w, ayant un besoin de 13,
16 respectivement 12 tonnes de charbon.
Les co uts de transport (par tonne de charbon) des depots vers les clients sont les suivants :
u v w
A 6 12
B 5
C 7 4 1
D 9 3
o` u un co ut veut dire quil nest pas possible daller du depot vers le client.
Actuellement la rme poss`ede le plan de transport suivant :
- 1 tonne de A vers v
- 13 tonnes de B vers u
- 6 tonnes de C vers w
- 15 tonnes de D vers v
Le plan de transport actuel ne satisfait pas le besoin de tous les clients. En partant du plan actuel, utiliser
un algorithme de ot an de voir sil existe une solution `a ce probl`eme qui satisfait les besoins de tous les
clients. Si le probl`eme est realisable, donner une solution avec le co ut correspondant, sinon quelle est la
quantite maximale de charbon qui peut etre delivree et ` a quel co ut ?
Solution :
29

You might also like