chap 04 exercices opt graphe

Upload: samah-sam

Post on 30-Oct-2015

94 views

Category:

Documents


2 download

TRANSCRIPT

  • 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 connexesaugmente

    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 fini. 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 v1 V . Comme d(v1) > 2, il existe un sommet v2 adjacent a` v1.

    On va ajouter petit a` petit des successeurs afin de former un cycle.

    A letape k, supposons quon a un chemin v1, v2, . . . , vk1, vk. Comme d(vk) > 2 il existe une deuxie`mearete incidente au sommet vk, notons-la [vk, vk+1] (hormis larete [vk1, vk]). Alors il y a deux possibilitespour le sommet vk+1 :

    si vk+1 {v1, . . . , vk1} alors on a trouve un cycle

    sinon on ajoute vk+1 au chemin et on ite`re

    Comme le graphe est fini, on va necessairement aboutir a` la premie`re situation pour un certain sommetet 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 lhypothe`se de recurrence) et parconsequent 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.

    Gw

    Soit G alors le graphe Gmoins cette arete et moins le sommet w. On a que n = n1 etm = m1.G contient donc un cycle (par lhypothe`se de recurrence) et par consequent G contient aussi uncycle.

    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.

    Gw

    Soit G alors le graphe G moins cette arete et moins le sommet w. On a que n = n1 etm = m1avec m > n1 (par lhypothe`se de recurrence) et par consequent m = m+1 > n1+1 = n1.

    si tous les sommets sont de degre au moins 2 :Alors on a que

    vV

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

    d(v).

    2m > 2n

    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 Tnest pas connexe. Supposons par exemple que T contient 2 composantes connexes C1 et C2.

    Comme il ny a pas darete entre C1 et C2 on a que m = |E(C1)|+ |E(C2)| = n 1

    Or C1 ne contient pas de cycle (cest une foret) |E(C1)| 6 |C1| 1 (par lexercice precedent).

    De meme C2 ne contient pas de cycle |E(C2)| 6 |C2| 1.

    |E(C1)|+ |E(C2)| 6 |C1|+ |C2| 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 dansT . (Justifier)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 autrechemin 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 estaussi 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, doncm = 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 6= 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 enle`ve ce chemin et on recommenceun 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 enle`vece cycle du graphe et on recommence un nouveau chemin a` partir de s.

    on aboutit en un sommet u 6= s, t. Comme pour un tel sommet il y a autant darcs entrants quesortants, on peut repartir de ce sommet. On suit donc un des arcs sortants et on a de nouveau lesmemes 3 possibilites (on ite`re)

    En resume, chaque fois quon part de s, soit on revient en s, soit on arrive en t. Mais comme on ne peutrevenir que d(s) fois en s et quon sait partir sur (d(s) + k) chemins differents, il y en a necessairementau 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 proble`me du plus court chemin de s vers t.

    a. Donner une formulation de ce proble`me sous forme de programme lineaire.

    b. Trouver le plus court chemin du sommet A vers le sommet H dans le graphe suivant, en utilisant lalgorithmede Dijkstra :

    7

    15 6

    14

    9

    1520

    20 20

    6

    12

    14 8135

    F

    A B

    D

    G

    E

    C

    H

    Solution :

    a. Notons cij le cout pour traverser larete [i, j].

    Soit

    xij =

    {1 si larete [i, j] appartient au plus court chemin0 sinon

    Le proble`me est alors :

    mini

    j

    cij xij

    s.t. :j

    xji k

    xik =

    1 si i = s1 si i = t0 sinon

    xij {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, ou` il y a des capacites sur les arcs :

    10

    9

    6

    3

    5

    4

    1

    42

    7

    5

    2

    3

    6

    4

    2

    8

    5

    439

    2

    C

    B

    E

    DG

    F

    s t

    A

    H

    I

    a. Utiliser un algorithme de chemins augmentants pour trouver un st-flot maximum.

    b. Trouver une st-coupe minimale.

    Reponse : valeur dun st-flot maximal : 21

    Solution :

    a. On peut trouver par exemple les chemins augmentants suivants (dans lordre) :

    s A D G H t on augmente le flot de 2 unitess A C t 5s A D F I t 2s D F I t 1s D C F H t 2s D G F I t 1s F H I t 5s B C t 3

    On obtient alors un flot maximum de valeur 21

    b. On sait quil existe une st-coupe de meme valeur que la valeur du flot 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 proble`me de transport suivant : une firme dispose de 3 depots A,B,C dans lesquels sont stockesrespectivement 31, 14 et 26 tonnes de charbon. La firme doit livrer 5 clients u, v, x, y, z, ayant un besoin de15, 20, 9, 10, respectivement 17 tonnes de charbon.

    Les couts 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 flots afin de voir sil existe une solution realisable a` ce proble`me. Si le proble`me est realisable,donner une solution, sinon quelle est la quantite maximale de charbon qui peut etre delivree ?

    Solution :

    On modelise le proble`me de transport par un proble`me de flot 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 duproble`me si on arrive a` envoyer a` travers ce reseau un flot de valeur 71.

    On resout donc le proble`me du flot maximum pour ce reseau et si la valeur optimale est egale a` 71, alors ilexiste une solution au proble`me donne.

    On trouve par exemple les chemins augmentants suivants (dans lordre) :

    s A u t on augmente le flot de 15 unitess A y t 10s B v t 14s C v t 6s C z t 17s C v B x t 3

    Pour lexemple, on trouve un flot maximum de valeur 65. Donc il nexiste pas de solution au proble`me detransport 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 proble`me dordonnancement suivant : on doit effectuer J jobs sur M machines identiquesparalle`les. A chaque job j J on associe un temps dexecution pj (le nombre de jours machines necessairespour accomplir le job j), une date de disponibilite rj (date a` partir de laquelle on peut commencer a` executerle job j) et une date de terminaison dj (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 etreexecute simultanement sur plusieurs machine. Par contre, un job peut etre interrompu et repris quelquesjours plus tard.

    Le proble`me dordonnancement consiste a` trouver un horaire realisable (qui effectue tous les jobs dans lesdelais) ou bien a` montrer quun tel horaire nexiste pas.

    Resoudre le proble`me suivant avec 4 jobs et M = 2 machines :

    job (j) 1 2 3 4

    temps dexecution (pj) 1.5 1.25 2.1 3.6

    date de disponibilite (rj) 3 1 3 5

    date limite de fin (dj) 5 4 7 9

    Indice : Modeliser le proble`me comme proble`me de flot maximum.

    Solution :

    On commence par ordonner (de manie`re croissante) les dates de disponibilite rj et de terminaison dj .

    1 3 4 5 7 9

    Alors on obtient P 6 2 |J | 1 intervalles (2 a` 2 disjoints) de dates consecutives de la liste precedente.

    Soit Tkl lintervalle qui commence a` la date k et sarrete a` la date l + 1.

    T12 T33 T44 T56 T78q q q q q

    [1, 3] [3, 4] [4, 5] [5, 7] [7, 9]

    Remarquons qua` linterieur dun intervalle, lensemble des jobs qui sont susceptibles detre executees,ne change pas. Et les jobs quon peut effectuer pendant lintervalle Tkl sont tous les jobs j tels querj 6 k et dj > l + 1.

    Construisons alors le reseau N suivant :

    Lensemble des sommets V est defini par :

    une source s

    un puits t

    un sommet j pour tout job j

    un sommet Tkl pour tout intervalle Tkl

    Le reseau contient les arcs suivants :

    un arc (s, j) de capacite pj pour tout job j J (on a besoin de pj jours de travail pour completerle job j)

    15

  • Exercice 4 . 7 4.Optimisation dans les Graphes MATH-F-306

    un arc (Tkl, t) de capacite M (l + 1 k) pour tout intervalle Tkl (durant lintervalle Tkl on peututiliser au plus M machines pendant l + 1 k jours)

    un arc (j, Tkl) si rj 6 k et dj > l + 1 de capacite l + 1 k (pendant lintervalle Tkl le job j peutetre effectuee 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 tT44

    T56

    T78

    T12

    T33

    Alors existe un horaire realisable sil existe un flot de valeur

    j pj dans le reseau N . Essayons donc deresoudre le proble`me du st-flot maximum dans N .

    On trouve par exemple les chemins augmentants suivants :

    s 1 T33 t flot de valeur 1

    s 1 T44 t flot de valeur 0.5

    s 2 T12 t flot de valeur 1.25

    s 3 T33 t flot de valeur 1

    s 3 T56 t flot de valeur 1.1

    s 4 T56 t flot de valeur 2

    s 4 T78 t flot de valeur 1.6

    On obtient alors le flot 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

    11

    s

    2

    1

    3

    4

    T12

    T33

    T44

    T56

    T78

    t

    Ce flot nous donne par exemple lhoraire suivant :

    M2

    M1

    0 1 2 3 4 5 6 7 8 9 10job 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 N = (V,A, l, u, b) ou` il existe non seulement une capacite u (= borne superieure) surchaque arc, mais egalement une borne inferieure l sur tout arc, cest-a`-dire 0 6 lij 6 xij 6 uij pour tout arc(i, j) A.

    Le proble`me qui se pose est que dans un tel reseau il nexiste pas forcement un st-flot realisable. Par exemplele reseau suivant ne contient pas de 13-flot realisable :

    1 2 3(5, 10) (2, 4)

    Montrer quil est possible de resoudre le proble`me de trouver un st-flot realisable dans N en resolvant unproble`me de st-flot maximum dans un reseau N = (V , A, u, b) avec 0 6 xij 6 u

    ij pour tout arc (i, j) A.

    Indice : Transformer dabord le st-flot deN en circulation (b(v) = 0, v V ), faire ensuite un changementde variable pour se ramener a` un proble`me de st-flot maximum.

    Solution :

    Le but est de savoir sil existe un st-flot realisable dans le reseau. On cherche donc des valeurs de x tellesque :

    j:(i,j)A

    xij

    k:(k,i)A

    xki =

    b si i = sb si i = t0 sinon

    i V

    0 6 lij 6 xij 6 uij (i, j) A

    On va transformer le proble`me de manie`re a` se ramener a` un proble`me de st-flot habituel :

    On ajoute larc (t, s) de capacite qui rame`ne le flot envoye de s vers t a` lorigine s. Ainsi on obtientun proble`me de circulation.

    Le proble`me initial du st-flot est realisable si le proble`me de circulation est realisable, cest-a`-dire si ontrouve des x tels que :

    j:(i,j)A

    xij

    k:(k,i)A

    xki = 0 i V

    0 6 lij 6 xij 6 uij (i, j) A

    On effectue le changement de variables : xij = xij lij

    Ainsi le proble`me du st-flot initial devient :

    j:(i,j)A

    xij

    k:(k,i)A

    xki = b

    i i V

    0 6 xij 6 uij lij (i, j) A

    ou` bi =

    k:(k,i)A

    lki

    j:(i,j)A

    lij

    19

  • Exercice 4 . 8 4.Optimisation dans les Graphes MATH-F-306

    On a queiV

    bi = 0 comme tout terme lij apparat 2 fois.

    Remarquons quon est maintenant en presence dun proble`me de multiflot avec plusieurs sources etpuits.

    On se rame`ne alors de nouveau a` un proble`me de st-flot :

    on ajoute une nouvelle source S et un nouveau puits T

    on ajoute un arc (S, i) de capacite bi pour tout sommet i tel que b

    i > 0

    on ajoute un arc (i, T ) de capacite bi pour tout sommet i tel que b

    i < 0

    Maintenant on peut resoudre le proble`me de flot maximum.

    Le proble`me initial du st-flot est realisable si dans la solution optimale du dernier ST -flot maximum, tousles 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 proble`me darrondir une matrice : on dispose dune matrice p q D de reels dij , des sommesdes lignes i et des sommes des colonnes j .

    On peut arrondir tout reel a soit vers lentier plus grand le plus proche dae, soit vers lentier plus petit leplus proche bac et ceci comme on veut. La question est alors sil existe une manie`re darrondir tous les reelstelle que les sommes arrondies correspondent bien a` la somme des differents elements arrondies.

    Essayer de resoudre le proble`me suivant (en utilisant bien sur les flots) :

    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 proble`me sous forme de proble`me de flot 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 dij 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 bdijc et une borne superieure ddije

    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,10)

    (12, 13) (10, 11)

    (14,15)

    (16, 17)

    (11, 12)

    (17,18)

    2

    1

    3

    s t

    On essaie de trouver un flot realisable dans le graphe ci-dessus.

    Apre`s 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 proble`me darrondi de matrice : on veut arrondir chaque element de la matrice et aussi les sommes deslignes et colonnes vers le multiple de 2 le plus proche (vers le haut ou vers le bas), de manie`re a` ce que lessommes arrondies correspondent bien aux sommes des differents elements arrondis (pour etre precis : 4.3peut etre arrondi soit vers 4, soit vers 6).

    1. Expliquer comment on peut utiliser les flots 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 proble`me dordonnancement suivant : on doit effectuer J jobs sur M machines identiquesparalle`les. A chaque job j J on associe un temps dexecution pj (le nombre de jours machines necessairespour accomplir le job j), une date de disponibilite rj (date a` partir de laquelle on peut commencer a` executerle job j) et une date de terminaison dj (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 executesimultanement sur plusieurs machines. Par contre, un job peut etre interrompu et repris quelques jours plustard.

    Le proble`me dordonnancement consiste a` trouver un horaire realisable (qui effectue tous les jobs dans lesdelais) ou bien a` montrer quun tel horaire nexiste pas.

    Resoudre le proble`me suivant avec 3 jobs et 2 machines en utilisant les techniques de flot :

    job (j) 1 2 3

    temps dexecution (pj) 3.5 2.25 2.6

    date de disponibilite (rj) 1 1 2

    date limite de fin (dj) 6 4 5

    (Detailler les differentes etapes de votre solution)

    Solution :

    On commence par ordonner (de facon croissante) les dates de disponibilite rj et de terminaison dj .

    1 2 4 5 6

    Alors on obtient un certain nombre P 6 2 |J | 1 intervalles (2 a` 2 disjoints) de dates consecutives dela liste precedente.

    Soit Tkl lintervalle qui commence a` la date k et sarrete a` la date l + 1.

    T11 T23 T44 T55q q q q

    [1, 2] [2, 4] [4, 5] [5, 6]

    Remarquons qua` linterieur dun intervalle, lensemble des jobs qui peuvent etre executees pendant cetintervalle, ne change pas. Et les jobs quon peut effectuer pendant lintervalle Tkl sont tous les jobs jtels que rj 6 k et dj > l + 1.

    Construisons alors le reseau N suivant :

    Lensemble des sommets V est defini par :

    une source s

    un puits t

    un sommet j pour tout job j

    un sommet Tkl pour tout intervalle Tkl

    25

  • Exercice 4 . 11 4.Optimisation dans les Graphes MATH-F-306

    Le reseau contient les arcs suivants :

    un arc (s, j) de capacite pj pour tout job j J (on a besoin de pj jours de travail pour completerle job j)

    un arc (Tkl, t) de capacite M (l + 1 k) pour tout intervalle Tkl (durant lintervalle Tkl on peututiliser au plus M machines pendant l + 1 k jours)

    un arc (j, Tkl) si rj 6 k et dj > l + 1 de capacite l + 1 k (pendant lintervalle Tkl le job j peutetre effectuee 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 flot de valeur

    j pj = 8.35 dans le reseau N . Essayons doncde resoudre le proble`me de st-flot maximum dans N .

    Utilisons lalgorithme des chemins augmentants pour trouver le flot maximum :

    on trouve par exemple les chemins suivants :

    s 1 T55 t flot de valeur 1

    s 1 T11 t flot de valeur 1

    s 1 T23 t flot de valeur 1.5

    s 2 T11 t flot de valeur 1

    s 2 T23 t flot de valeur 1.25

    s 3 T23 t flot de valeur 1.25

    s 3 T44 t flot de valeur 1

    s 3 T23 1 T44 t flot de valeur 0.35

    On obtient donc le flot 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.252

    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 flot 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 proble`me de transport suivant : une firme dispose de 4 depots A,B,C,D dans lesquels sont stockesrespectivement 8, 17, 6 et 15 tonnes de charbon. La firme doit livrer 3 clients u, v, w, ayant un besoin de 13,16 respectivement 12 tonnes de charbon.

    Les couts 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 1D 9 3

    ou` un cout veut dire quil nest pas possible daller du depot vers le client.

    Actuellement la firme posse`de 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, utiliserun algorithme de flot afin de voir sil existe une solution a` ce proble`me qui satisfait les besoins de tous lesclients. Si le proble`me est realisable, donner une solution avec le cout correspondant, sinon quelle est laquantite maximale de charbon qui peut etre delivree et a` quel cout ?

    Solution :

    29