Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une...

29
Université Paris Dauphine Graphes : modélisation et algorithmes Licence MI2E - L3 apprentissage 2017-2018 TD1 : Applications et Modélisations par les graphes Choix d’un itinéraire Comment faire pour aller le plus rapidement possible de Bordeaux à Grenoble sachant que : Bordeaux Nantes 4h Bordeaux Marseille 9h Bordeaux Lyon 12h Nantes Paris-Montparnasse 2h Nantes Lyon 7h Paris-Montparnasse Paris-Lyon 1h Paris-Lyon Grenoble 4h30 Marseille Lyon 2h30 Marseille Grenoble 4h30 Lyon Grenoble 1h15 Proposer une modélisation à l’aide d’un graphe et formuler le problème à résoudre dans ce graphe. Sous quelles conditions existe-t-il une solution finie à ce problème ? Organisation d’une session d’examen 8 groupes d’étudiants (numérotés de G1 à G8) doivent passer des examens dans différentes disci- plines, chaque examen occupant une demi-journée : chimie G1 et G2 Electronique G3 et G4 Informatique G3, G5, G6 et G7 Mathématiques G1, G5, G6 et G8 Physique G2, G6, G7 et G8 On cherche à organiser la session d’examen la plus courte possible. Proposer une modélisation à l’aide d’un graphe et formuler le problème à résoudre dans ce graphe. Problème d’ordonnancement de tâches La mise en exploitation d’un nouveau gisement minier demande l’exécution d’un certain nombre de tâches : 1

Transcript of Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une...

Page 1: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

TD1 : Applications et Modélisations par les graphes

Choix d’un itinéraire

Comment faire pour aller le plus rapidement possible de Bordeaux à Grenoble sachant que :

Bordeaux→ Nantes 4hBordeaux→Marseille 9hBordeaux→ Lyon 12hNantes→ Paris-Montparnasse 2hNantes→ Lyon 7hParis-Montparnasse→ Paris-Lyon 1hParis-Lyon→ Grenoble 4h30Marseille→ Lyon 2h30Marseille→ Grenoble 4h30Lyon→ Grenoble 1h15

Proposer une modélisation à l’aide d’un graphe et formuler le problème à résoudre dans ce graphe.Sous quelles conditions existe-t-il une solution finie à ce problème ?

Organisation d’une session d’examen

8 groupes d’étudiants (numérotés de G1 à G8) doivent passer des examens dans différentes disci-plines, chaque examen occupant une demi-journée :

chimie G1 et G2Electronique G3 et G4Informatique G3, G5, G6 et G7Mathématiques G1, G5, G6 et G8Physique G2, G6, G7 et G8

On cherche à organiser la session d’examen la plus courte possible. Proposer une modélisation àl’aide d’un graphe et formuler le problème à résoudre dans cegraphe.

Problème d’ordonnancement de tâches

La mise en exploitation d’un nouveau gisement minier demande l’exécution d’un certain nombre detâches :

1

Page 2: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Codes Tâches Durées Tâches anté-rieures

1 Obtention d’un permis d’exploitation 120 -2 Etablissement d’une piste de 6 km 180 13 Transport et installation de 2 sondeuses 3 24 Création de bâtiments provisoires pour le bureau des

plans et le logement des ouvriers30 2

5 Goudronnage de la piste 60 26 Adduction d’eau 90 47 Campagne de sondage 240 3, 48 Forage et équipement de 3 puits 180 5, 6, 79 Transport et installation du matériel d’exploitation 30 10, 810 Construction de bureaux et de logements définitifs

ouvriers et ingénieurs240 6, 5, 7

11 Traçage et aménagement du fond 360 10, 8

Résoudre un problème d’ordonnancement consiste à déterminer les dates au plus tôt et au plus tardde chaque tâche ainsi que le temps minimum de réalisation de l’ensemble. Proposer une modélisation àl’aide d’un graphe et formuler le problème à résoudre dans cegraphe.

Exploitation de gisement pétrolier

Le président de la compagnie GP a décidé d’installer neuf stations de pompage dans un champd’exploitation. Les positions relatives des stations de pompage et du réservoir de pétrole sont donnéesci-dessous :

2.8 2.6

3.4

3.1

2.7

2.3

3.4

2.9

3.62.5

6.05.8

3.9

2.4

2.1

A

BC

D

E

F

G

H

I

J

RESERVOIR

3.2

Le nombre associé à chaque arc du graphe représente le coût total d’installation d’une conduite(en milliers de dollars) entre les stations (noeuds) correspondantes. La compagnie cherche à minimiserle coût d’installation des conduites pour amener le pétroledes9 stations au réservoir. Le pétrole peuts’écouler dans l’un ou l’autre des sens de la conduite et deuxconduites peuvent se rencontrer à uneintersection et s’écouler dans une même conduite. On supposera que la taille des conduites est suffisantepour les débits envisagés. On ne tiendra pas compte des coûtsde pompage.

1. Formuler le problème en utilisant des concepts issus de lathéorie des graphes.

2. Pouvez-vous proposer une solution de coût minimal ?

2

Page 3: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Composition d’équipes

En 1941, les escadrilles anglaises se composaient d’avionsbiplaces, mais certains pilotes ne pou-vaient pas faire équipe dans le même avion par suite de différence de langues et de capacités. Sous cescontraintes, on cherche à déterminer le nombre maximum d’avions pouvant voler simultanément.Considérer l’exemple numérique suivant où 8 pilotes sont disponibles pour faire voler 4 avions. Dans letableaux ci-dessous, une croix lignei colonnej signifie que les pilotesi etj ne peuvent pas faire équipe :

1 2 3 4 5 6 7 81 × × × ×2 × ×3 × × × × × ×4 × ×5 × × ×6 × × × × ×7 × × × × ×8 × × × × ×

1. Modéliser ce problème sous la forme d’un graphe.

2. Pour déterminer le nombre maximum d’avions pouvant volersimutanément, quel problème doit-on résoudre ?

3. Est-il possible de faire voler les 4 avions de la flotte en même temps ? Si non, combien d’avionspeuvent voler simultanément ?

4. Quelle est la propriété d’une solution permettant de faire voler tous les avions ?

3

Page 4: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

T.D. 2

Exercice 1

1. Combien d’arêtes au maximum peut comporter un graphe simple àn sommets ?

2. Combien d’arcs au maximum peut comporter un 1-graphe àn sommets ?

3. Combien existe-t-il de graphes simples différents à4 sommets ? Àn sommets ?

4. Prouver que dans tout graphe simple le nombre de sommets dedegré impair est pair.

Exercice 2

1. Montrer qu’il n’existe pas de graphe simple (donc non orienté)G = (X,U) d’ordre 6 avec dessommets de degré 2, 3, 3, 4, 4, 5.

2. Montrer qu’il n’existe pas de graphe simpleG = (X,U) d’ordre 5 avec des sommets de degré 2,3, 4, 4, 5.

3. Montrer qu’il n’existe pas de graphe simpleG = (X,U) d’ordre 6 avec des sommets de degré 2,2, 5, 5, 5, 5.

4. Un graphe simpler-régulier est un grapheG = (X,U) dont tous les sommets ont le même degrér. Considérant un grapher-régulierG = (X,U) d’ordre n, calculer le nombre d’arêtesm enfonction den et der.

Exercice 3

On considère un graphe simple connexe. Montrer qu’il existetoujours deux sommets ayant le mêmedegré.

Exercice 4

Démontrer (par l’absurde) qu’une condition nécessaire pour qu’un graphe soit sans circuit est qu’ilcomporte au moins un sommet de demi-degré intérieur nul.

Exercice 5

On joue au jeu suivant : on donne à deux joueurs deux stylos de couleurs différentes. Puis chacun àleur tour les joueurs tracent sur la figure ci-dessous une arête reliant deux sommets entre eux.

•• •

• ••

4

Page 5: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Le gagnant est celui qui le premier aura tracé un triangle avec sa couleur. Montrer qu’il n’y a jamais departie nulle.

Exercice 6 : Localisation de magasins

Une chaîne de magasins à grande surface envisage l’implantation de nouvelles unités dans une régionoù elle n’en possède encore aucune. Cette société a recensé l’ensemble des localités,L = {l1, . . . , lp}où il serait possible d’implanter un nouveau magasin. Pour chaque localité, elle a estimé le bénéficeb(li) que ferait annuellement un magasin situé dans cette localité. Pour éviter la concurrence entre deuxmagasins de la chaîne, la société a décidé de ne pas implanterdeux unités à moins de 40 km l’une del’autre et les estimations des bénéfices ont été réalisées sous cette hypothèse.

1. Poser le problème du choix des localités qui maximise le bénéfice total annuel comme la re-cherche d’un ensemble remarquable de sommets dans un grapheG = (X,V ) à définir.

2. SoitQ le plus grand entier tel que :∑

li∈L(Q)

b(li) ≥ Q

où L(Q) =

{

li t.q.p∑

i=1b(li)− σ(li) ≥ Q

}

et où pour toute localitéli, σ(li) désigne la somme des bénéfices associés aux magasins implantésdans une localité se trouvant à moins de 40 km deli.

Montrer que le bénéfice maximal que peut réaliser la société est inférieur ou égal àQ.

3. Les deux tableaux ci-dessous donnent la liste des localités où l’on peut envisager la constructiond’un magasin, le bénéfice correspondant et les distances quiséparent les différentes localités.Déterminer par une méthode empirique, un ensemble de localités qui vous paraît optimal et dé-montrer qu’il est effectivement optimal en utilisant le résultat de la question 2.

Localité Auxerre Avallon Clamecy Joigny Migennes Pontigny Sens TonnerreBénéfice en kEUR 100 80 10 100 20 40 80 50

Tableau des distances (en km) :

Avallon 45Clamecy 35 30Joigny 25 70 60Migennes 20 60 55 10Pontigny 15 50 50 25 20Sens 50 90 85 30 35 50Tonnerre 35 35 55 50 35 25 70

Auxerre Avallon Clamecy Joigny Migennes Pontigny Sens

Exercice 7

Montrer que siG est un graphe simple d’ordren avecp composantes connexes, le nombre maximumd’arêtes dansG est :

1

2(n− p) (n− p+ 1) .

5

Page 6: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 8

SoitG = (X,U) un graphe simple. Démontrer que :

1. siG est connexe, alors| U |≥| X | −1,

2. siG est sans cycle, alors| U |≤| X | −1.

6

Page 7: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

T.D. 3 : Représentation des graphes

Exercice 1

Soit la matrice d’incidence représentant le grapheG :

u1 u2 u3 u4 u5 u6a +1 −1 +1b −1c −1 +1 +1d +1 −1 −1e +1 −1

1. Quel est le demi-degré intérieur de chacun des sommets ?

2. Quel est le demi-degré extérieur de chacun des sommets ?

3. Quel est le degré de chacun des sommets ?

4. Quelle est la matrice d’adjacence associée àG?

5. Dessiner le grapheG.

6. Donner les représentations forward star, reverse star, forward-reverse star.

Exercice 2

SoitH la matrice d’adjacence d’un grapheG d’ordre n. DéfinissonsHk = H ∗ Hk−1 pour k =2, 3, . . ..

(a) Montrer que l’élèmenth2ij de la matriceH2 correspond au nombre de chemins allant dei à j delongueur 2. En déduire que l’élèmenthkij de la matriceHk correspond au nombre de cheminsallant dei à j de longueurk.

1. Montrer queG est fortement connexe si et seulement si la matriceR définie parR = H+H2 +H3 + · · ·+Hn ne possède aucune entrée nulle.

7

Page 8: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

T.D. 4 : Algorithmes basés sur un parcours de graphes

procedure explore(grapheG, sommeti)etat[i] ← explorépref[i] ← kk ← k + 1pour toutj dansΓ+(i) faire

Si etat[j] =inexploré alorsA ← A ∪(i, j)explore(G, j)

FinSiFinPoursuff[i]← ff ← f + 1

FinExplore

DFS(grapheG)A ← ∅k ← 1f ← 1Pouri = 1 àn Faire etat[i]← inexploréPouri = 1 àn Faire

Si etat[i] = inexploréexplore(G, i)

FinSiFinPour

FinDFS

Exercice 1

Décrire le parcours en profondeur d’abord du grapheG de la figure ci-dessous à partir du sommetA, c’est-à-dire donner l’arborescence couvrante, les arcsavant, arrière, croisé. Donner la numérotationpréfixe et suffixe de chacun des sommets.

B

C

D

EF G

A

8

Page 9: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 2

1. Faire un parcours en profondeur d’abord (DFS) à partir du sommet 1 dans le 1-graphe représentéci-dessous.

1

9

853

7

612

4

2

10

11

2. Lister les arcs de types avant, arrière et croisé.

3. Donner les numérotations préfixe et suffixe de chacun des sommets.

4. Déterminer les composantes fortement connexes avec l’algorithme de Kosaraju-Shamir.

5. Donner le graphe réduit associé.

6. Déterminer les composantes connexes du graphe ci-dessus.

Exercice 3

Un ingénieur du service technique d’une ville propose, pourla zone centrale, le plan de sens uniquesreprésenté dans la figure ci-dessous.

Avant d’adopter ce plan, il convient d’examiner s’il ne rendpas certains points inaccessibles.

1. Proposez un graphe orientéG = (X,U) représentant ce plan.

2. Quelle propriété ce graphe devra-t-il vérifier pour que leplan de circulation soit acceptable ?

3. Tracer le graphe réduit associé au graphe de la question 2.

4. Le plan de circulation est-il acceptable ?

9

Page 10: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 4

1

2 5 8

9

74

63

13

1110

12

1. Faire un parcours en profondeur d’abord à partir du sommet1 (en choississant prioritairement lesuccesseur de plus petit numéro) du graphe G=(X,U) représenté dans la figure ci-dessus.

2. G contient-il des circuits (justifier votre réponse) ?

3. Modifier l’orientation de deux arcs afin de rendre le grapheG sans circuit.

4. Déterminer l’ordre topologique de ce nouveau graphe

Exercice 5

La mise en oeuvre d’une série de 13 programmesP1, P2, ..., P13 sur un ordinateur doit être planifiée.Il existe des couples(Pi, Pj) de programmes qui subissent des contraintes d’antériorité: Pi doit êtreplanifié avantPj carPj utilise des données calculées parPi. Ces couples sont :(P1, P6) (P2, P1) (P3, P8) (P4, P1) (P4, P2) (P5, P10) (P6, P2) (P6, P12) (P6, P13) (P8, P10) (P8, P12)(P9, P1) (P9, P4) (P10, P7) (P11, P4) (P12, P3) (P12, P5) (P13, P3)

L’informaticien en charge de la planification de ces programmes doit s’assurer que cette mise enoeuvre est possible et doit définir un ordre d’exécution des programmes.

1. Pour tester si l’exécution des 13 programmes est possible, l’informaticien s’appuie sur une modé-lisation du problème sous la forme d’un graphe. Définir le graphe associé. Formuler le problèmede l’informaticien en terme de problème classique de graphe. Comment localiser un ensemble deprogrammes qui posent un problème ?

2. Représenter le graphe associé et appliquer un algorithmegénéral pour effectuer le test. Existe-t-ilun ensemble de programmes qui posent un problème ?

3. Pour définir un ordre d’exécution des programmes, quel problème classique de graphe doit-onrésoudre ? Justifier votre réponse.

Exercice 6

Déterminer la fermeture transitive du graphe ci-dessous.

6

21

345

Evaluer la complexité en temps dans le pire cas de cet algorithme.

10

Page 11: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 7

SoitG = (X,U) un graphe simple connexe d’ordren. G est dit biconnexe s’il vérifie l’une des troisconditions suivantes :

— n = 1— n = 2 avecX = {a, b} et (a, b) ∈ U— n ≥ 3 et pour tout sommeti et j deX, il existe un cycle élémentaire passant pari et j.

Un sommeti de G est appelé point d’articulation si le sous-graphe induit par X \ {i} n’est pasconnexe.

1. Démontrer queG est biconnexe si et seulement siX ne contient pas de point d’articulation.

2. Une composante biconnexe deG est un sous-graphe biconnexe deG, maximal au sens de l’in-clusion. Déterminer les composantes biconnexes du graphe ci-dessous.

105 6 7 8 9

11 12 13 14

17 18 19 2015 16

1 2 3 4

3. Sur le graphe ci-dessus, on réalise, à partir du sommet 1, une exploration en profondeur d’abord.

(a) Représenter l’arborescence décrivant cette exploration. Indiquer pour chaque sommeti, sonnuméro préfixe noté pref(i).

(b) Pour chaque sommeti, calculer ord(i) égal au minimum de pref(i) et des pref(j) où j est unsommet que l’on peut atteindre à partir dei en descendant dans l’arborescence par une suite(éventuellement vide) d’arêtes d’arbre et en remontant parune unique arête n’appartenant pasà l’arborescence.

(c) Considérer un sommeti deX, différent de la racine de l’arbre décrivant DFS(G). Que peut-on dire dei lorsqu’il existe une arête d’arbre allant dei à k telle que pref(i) ≤ord(k) ? Al’inverse, qu’en est-il lorsque tout filsk dei est tel que pref(i) >ord(k) ?

(d) En déduire une méthode pour déterminer les points d’articulation d’un graphe simple connexebasée sur une exploration de ce graphe en profondeur d’abord(en n’oubliant pas d’étudierle cas particulier de la racine de l’arbre décrivant DFS(G)). Appliquer cette méthode pourdéterminer les points d’articulation du graphe représentédans la figure 2.

11

Page 12: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

T.D. 5 : Cheminements dans les graphes

Algorithme de Dijkstra

λ(i0)← 0 etλ(i)← +∞ ∀i ∈ X \ {i0}p(i)← i ∀i ∈ XS ← {i0}i← i0TantQueS 6= X Faire

Pour toutj ∈ Γ+(i) \ S FaireSi λ(j) > λ(i) + lij alors

λ(j)← λ(i) + lijp(j)← i

FinSiFinPourSélectionneri ∈ X \ S tel queλ(i) = minj∈X\S λ(j)S ← S ∪ {i}

FinTantQue

Algorithme de Johnson

T ← ∅λ(i0)← 0λ(i)← +∞ ∀i ∈ X \ {i0}p(i)← i ∀i ∈ Xinsere(i0, T )Tant queT 6= ∅ faire

i←min(T )S ← S ∪ {i}Pour toutj ∈ Γ+(i) \ S faire

v = λ(i) + lijSi λ(j) > v alors

Si λ(j) = +∞ alorsλ(j)← vp(j)← iinsere(j, T )

Sinonλ(j)← vp(j)← idiminue(v, j, T )

FinSiFinSi

FinPourFinTantque

12

Page 13: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Algorithme de Ford-Bellman

k ← 0λ0(i0)← 0λ0(i)← +∞ ∀i ∈ X \ {i0}p(i)← i ∀i ∈ X \ {i0}M ← {i0}TantQuek ≤ n− 1 etM 6= ∅ faire

k ← k + 1M ′ ← ∅Pour toutj ∈ Γ+(M) faire

λk(j)← min{λk−1(j);λk−1(i) + lij , i ∈ Γ−(j) ∩M}Si λk(j) < λk−1(j) Alors

M ′ ←M ′ ∪ {j}p(j)← i∗ aveci∗ ∈ Γ−(j) ∩M tel queλk(j) = λk−1(i∗) + li∗j

FinSiFinPourPour tourj /∈M ′ faire

λk(j)← λk−1(j)FinPourM ←M ′

FinTantQueSiΓ(M) 6= ∅ Alors ∃ un circuit de valeur négative FinSi

Algorithme de Floyd

Soit la matriceA = {aij} de taillen× n avec :

aij =0 si i = jlij si (i, j) ∈ U+∞ sinon

Pourl = 1 àn FairePouri = 1 àn Faire

Pourj = 1 àn Faireaij = min{aij , ail + alj}

FinPourFinPour

FinPour

13

Page 14: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 1 : le GPS

Résoudre le problème du choix d’un itinéraire énoncé dans leTD1.

Exercice 2

Soit le graphe ci-dessous :

J I

HG

F E

D C

B4

4

3

2

0 3

3

2

1

2

0

2 4

5 1

2

A

1

1

1

1. Appliquer l’algorithme de Dijkstra pour déterminer le plus court chemin allant de A à J.

2. On utilise l’algorithme de Johnson pour déterminer le plus court chemin allant de A à J. A uneitération de l’algorithme, alors que l’on a marqué définitivement les sommets A, C et D au coursdes itérations précédentes, le minimier est :

(a) Décrivez en détail l’itération suivante de l’algorithme de Johnson : quel sommet marque-t-ondéfinitivement ? comment le minimier va-t-il être modifié ?

(b) Donner la complexité théorique dans le pire cas de l’algorithme de Johnson.

Exercice 3

Appliquer l’algorithme de Dijkstra pour trouver les distances minimales des chemins allant du som-met 1 à tous les autres sommets du graphe représenté ci-dessous.

14

Page 15: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

1

2 3

4 5

2

-2

1

2

-4

1

Exercice 4 : Gestion de projet et ordonnancement de tâches

Résoudre le problème d’ordonnancement de tâches énoncé dans le TD1. Calculer les dates au plustôt et au plus tard de chacune des tâches.

Exercice 5 (Un problème de stocks)

La demande d’un équipement important en janvier, février etmars est de deux unités ; les deux unitésétant livrées à la fin de chaque mois. Le fabricant souhaite établir le plan de production de cet équipement.

Le stock ne peut dépasser deux unités en février et mars et, est nul en janvier et en avril. La productionmaximale pour un mois donné est de quatre unités.

Pour un stock dej équipements et une productioni, le coût mensuel vaut

C(i, j) = f(i) + 6j

avecf(0) = 0, f(1) = 15, f(2) = 17, f(3) = 19, f(4) = 21.

Modéliser le problème du fabricant (qui souhaite définir un plan de production en janvier, févrieret mars de façon à satisfaire la demande tout en minimisant ses coûts) sous la forme de la recherched’un plus court chemin dans un graphe orienté sans circuit. Déterminer la solution optimale à l’aide del’algorithme de Bellman.

Exercice 6

1. Déterminer les distances minimales à partir du sommet 1 sur le graphe suivant :

2. Comment obtenir par le même algorithme les plus courts chemins à partir du sommet 2 ?

15

Page 16: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 7

Appliquer l’algorithme de Floyd pour déterminer les valeurs des plus courts chemins entre tous lescouples de sommets du graphe ci-dessous.

x3x4

x1 x2

6

-1 5-2

2

3

-2

16

Page 17: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2017-2018

T.D. 5 : Flot de valeur maximale

Algorithme de marquage de Ford-Fulkerson

φu ← 0 ∀uFaire

marque(i)← 0 ∀i ∈ Npred(i)← i ∀i ∈ Nmarque(s)← +∞ et LISTE← {s}Tant que LISTE6= ∅ et marque(t) = 0 faire

Sélectionneri ∈ LISTELISTE← LISTE \{i}Pour chaque arcu = (i, j) ∈ ω+(i) faire

Si marque(j)= 0 et cu > φu alorsmarque(j)← cu − φu (marquage de type +)pred(j)← iLISTE← LISTE∪{j}

FinSiFinPourPour chaque arcu = (j, i) ∈ ω−(i) faire

Si marque(j)= 0 etφu > 0 alorsmarque(j)← −φu (marquage de type -)pred(j)← iLISTE← LISTE∪{j}

FinSiFinPour

FinTantqueSi marque(t)6= 0 alorsaugmenter

Tant que marque(t) 6= 0

Procédure augmenterIdentifier la chaîneµ à l’aide de pred(t) : µ = (s, i0, i1, . . . , ik, t)δ ← mini∈µ | marque(i) |φ(s,i0) ← φ(s,i0) + δPourj ← 1 àk faire

Si marque(ij ) < 0 alorsφ(ij−1,ij) ← φ(ij−1,ij) − δ

Sinonφ(ij−1,ij) ← φ(ij−1,ij) + δ

FinSiFinPourφ(ik ,t) ← φ(ik ,t) + δ

17

Page 18: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 1 : Algorithme de Ford et Fulkerson

Soit le réseau de transportR représenté dans la figure ci-dessous (les valeurs sur les arêtes repré-sentent des valeurs de capacités) : le sommet 1 est la source,le sommet 11 le puits.

7

6

3

2

5

4

7

3

9

2

5

2

7

3

6

4

1

2

3

4

5

6

7

8

9

10

11

1. Faire circuler dansG le flot suivant :chemin(1,2,5,8,11) : 2 unitéschemin(1,3,6,9,11) : 3 unitéschemin(1,3,6,8,11) : 1 unitéchemin(1,4,7,10,11) :3 unitésQuelle est la valeur de ce flot ? Ce flot est-il complet ? Est-il de valeur maximale ?

2. Appliquer à partir de ce flot l’algorithme de Ford et Fulkerson pour déterminer le flot de valeurmaximale.

3. Spécifier la coupe séparant 1 et 11 de capacité minimale.

Exercice 2 : Flot maximum / coupe minimum

Déterminer selon les valeurs dex, x étant un réel compris entre0 et2 (bornes comprises), un flot devaleur maximale entre les sommets1 et4.

1

2

3

41+4X

2+3X

3+X

1+4X

1+2X

6-X

Exercice 3

Une société de vente par correspondance gère un réseau commercial et logistique composé de troiscentres de prises de commandes (C1, C2 etC3), deux centres de préparation de commandes (P1 etP2) etdeux centres de distribution (D1 etD2). Pour répondre à la demande, le directeur désire évaluer lacapa-cité mensuelle du réseau, c’est-à-dire le nombre maximal decommandes pouvant être prises, préparéeset livrées en un mois.

Le réseau possède les caractéristiques suivantes (exprimées en milliers de commandes par mois) :

18

Page 19: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

(1) les capacités des centres de prises de commande deC1, C2 etC3 sont respectivement de 30, 30et 20,

(2) les capacités des centres de préparation deP1 etP2 sont respectivement de 10 et 60,(3) les capacités des centres de distribution deD1 etD2 sont respectivement de 30 et 50.Chaque centre de prise de commande peut alimenter les deux centres de préparation. Toutefois, les

capacités des liaisons informatiques limitent à 20000 commandes par mois le flux entre chaque centreCi et chaque centrePj. Le centre de distributionD1 distribue uniquement les commandes préparées parle centreP1. De même,D2 distribue uniquement les commandes préparées parP2. Le centreD2 a lapossibilité de transférer une partie de son activité au centreD1. Ce transfert ne peut dépasser les 20000commandes par mois. Il ne réduit pas la capacité de distribution deD2.

1. Construire un réseau de transport modélisant ce problème.

2. Le directeur envisage la répartition suivante :— C1 envoie 20000 commandes àP2 et rien àP1,— C2 envoie 20000 commandes àP2 et rien àP1,— C3 envoie 10000 commandes àP1 et 10000 commandes àP2,— D2 ne transfère aucune de ces activités àD1.Quel est le flot, sur le réseau défini en a), qui représente cette répartition de la charge de travail ?Quel est la valeur de ce flot ? Est-il complet ? Est-il maximum ?

3. Déterminer le flot maximum. Donner la coupe de valeur minimale. Traduisez ce flot en termesd’activité de chaque centre.

4. On s’attend pour le mois prochain à une demande accrue de 80000 commandes. Pour augmenterla capacité du réseau de distribution, plusieurs solutionssont proposées— Le directeur commercial propose d’augmenter les capacités de l’un des centres deC1 ouC2,— Le directeur informatique propose d’augmenter les capacités de transmission des lignes au

départ deC1 etC2,— Le DRH propose de transférer temporairement (durant le mois pendant lequel la demande est

accrue) du personnel deC1 à C3, ce qui permettrai un glissement d’une capacité de 10000commandes par mois au profit deC3.

Après une analyse de la coupe de capacité minimale, commentez la pertinence de ces propositionset évaluez les actions à entreprendre.

Exercice 4

Chaque année, un directeur d’école élémentaire doit faire face au problème suivant : il doit inscrireun nombre maximal de sesn élèves à au plus un desm ateliers organisés le soir dans son école. Pourcela, chaque élève choisit au plus 3 ateliers qui l’intéressent. Chaque atelierj dispose d’un nombre limitéde places, notépj. Il s’agit d’aider le directeur à résoudre au mieux ce problème d’affectation des élèvesaux ateliers.

1. Expliquer comment il est possible de représenter les données du problème sous la forme d’unréseau de transport. Pour cela, préciser ce que représentent les sommets et les arcs ainsi que lescapacités.

2. Quel problème doit-on résoudre pour déterminer une affectation des élèves aux ateliers qui maxi-misent le nombre total d’inscriptions ?

3. On suppose que l’affectation des élèves aux ateliers a déjà été effectuée en juillet. Mais, enseptembre, 5 nouveaux élèves arrivent et seuls 4 ateliers peuvent encore accepter de nouvellesinscriptions. Il reste 2 places dans l’atelier Roller, 1 place dans l’atelier Théatre, 2 places dansl’atelier Echec et 1 place dans l’atelier Magie. Les 5 nouveaux élèves ont exprimés les choixsuivants :

19

Page 20: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

— Justine souhaite suivre Roller ou Echec,— Adèle, Roller ou Théatre,— Martin, Théatre ou échec,— Ferdinand, Théatre, Echec ou Magie,— Clara, Théatre ou Magie.

(a) Représenter le problème de l’affectation de ces 5 nouveaux élèves aux 4 ateliers dans unréseau de transport noté R=(N,A).

(b) Le directeur décide d’inscrire Adèle à l’atelier Théatre, Martin à l’atelier Echec et Ferdinandà l’atelier Magie. Il ne propose rien à Clara et Justine.

i. Spécifier le flot dans R qui représente cette affectation.

ii. Ce flot est-il complet ? Si non, transformer ce flot de façonà le rendre complet.

iii. Ce flot est-il de valeur maximale ? Si non, déterminer le flot de valeur maximale.

iv. Déterminer la coupe de valeur minimale.

20

Page 21: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 2017-2018

T.D. 6 : Arbre couvrant

Exercice 1

Dans le graphe suivant, déterminer l’arbre couvrant de valeur minimale en utilisant l’algorithme dePrim puis l’algorithme de Kruskal.

1 9 7 5 3

6 2

8 4

5

14

2

9

8

8

5

1

7

6 0

15

10

11

11

12

10 13

Exercice 2

On s’intéresse au problème de la recherche des chaînes minimax entre toutes paires de sommets d’ungraphe simple valué. Dans ce problème, une chaîneµ prend pour valeur la plus grande valeur des arêtesde la chaîne, i.e.,v(µ) = maxu∈µ{l(u)}.

Montrer que ce problème se ramène au problème de l’arbre couvrant de valeur minimale.

Exercice 3

On considère un réseau den centres informatiques qui peuvent être reliés par des liaisons possédantdes caractéristiques différentes. On considère le taux d’erreur cij d’une liaison(i, j) qui représente laprobabilité pour qu’un message transitant sur cette liaison soit corrompu. On suppose que les probabilitéssur les différentes liaisons sont indépendantes On s’intéresse à la recherche du réseau connexe de fiabilitémaximale.

1. Formaliser le problème.

2. Montrer que l’on peut se ramemer à un problème classique dela théorie des graphes en affectantà chaque arête la valeurlog(1 − pij).

3. On considère le réseau représenté par le graphe de l’exercice 1 et on suppose que les valeurs sontles taux d’erreur exprimées en pourcentage. Trouver le réseau de fiabilité maximale.

21

Page 22: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2015-2016

ExamenDurée : 2 heures

Aucun document de cours ou de TD autorisés

NOM :

PRENOM :

Exercice 1 : 7 points

Soit G = (X,U) un graphe orienté valué par des longueurs positives ou nulles sur les arcs. Etantdonné deux sommetss et t deX, un arc est ditvital si sa suppression entraîne une augmentation dela longueur du plus court chemin allant des à t. Un arc vital est maximal si sa suppression engendrel’augmentation la plus importante.

Partie 1. Considérer le graphe suivant :

s

2

1

4

3

t

2

556

3

1

0

74

6

2

1. Déterminer, en appliquant l’algorithme de votre choix (et en prenant soin de bien détaillerson déroulement), le plus court chemin allant des à t et sa longueur.

2. Existe-il un arc vital dans ce graphe ?

3. Proposer une démarche algorithmique pour déterminer un arc vital maximal. Evaluer sa com-plexité.

Partie 2. Pour chacune des assertions suivantes, montrer qu’elle estvraie ou proposer un contre-exemple dans le cas contraire

1. Un arc de longueur minimal est vital.

2. Un arc qui appartient à un plus court chemin allant des à t est vital.

3. Un arc qui n’appartient à aucun plus court chemin allant des à t ne peut pas être vital.

4. Un graphe contient nécessairement un arc vital.

22

Page 23: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Exercice 2. Le théorème de Konig-Egervary - 10 points

SoitG = (X,E) un graphe non orienté. Rappelons quelques définitions :— G est biparti siX peut être partitionné en deux ensembles stablesX1 etX2.— On appelle couverture de sommets dansG un ensembleC de sommets tel que toute arête deE

ait au moins une extrémité dansC. Une couverture minimum est une couverture de cardinalitéminimale.

— Un couplage deG est un ensembleK ⊆ E d’arêtes tel que deux arêtes quelconques deK n’aientpas d’extrémités en commun. Un couplage maximum est un couplage de cardinalité maximale.

On se propose de montrer lethéorème de Konig-Egervary: dans un graphe biparti, la cardinalitéd’un couplage maximum est égale à la cardinalité d’une couverture minimum de sommets.

Par la suite, on considère le grapheG = (X,E) biparti représenté en figure 1.

5

4

3

2

1

6

7

8

9

FIGURE 1 – Graphe biparti avecX1 = {1, 2, 3, 4, 5} etX2 = {6, 7, 8, 9}

1. Dans le graphe de la figure 1, déterminer un ensemble de sommetsC1 qui constitue une couver-ture de sommets de cardinalité 3 et déterminer un ensemble d’arêtesK1 qui constitue un couplagede cardinalité 3.

2. Transformer (et représenter sur cette feuille) le graphede la figure 1 de la façon suivante : ajouterune sources et un puitst, ajouter des arcs allant des vers chaque sommet deX1 (avec unecapacité de 1), ajouter des arcs allant de chaque sommet deX2 verst (avec une capacité de 1),orienter chaque arête deE en donnant le sommet deX1 comme extrémité initiale et le sommetdeX2 comme extrémité terminale (les arcs obtenus ont une capacité de+∞).

3. L’ensembleK2 = {(2, 6), (4, 7)} constitue un couplage, décrire comment le transformer en unflot de valeur|K2| = 2 des à t.

4. Montrer alors que la recherche d’un couplage de cardinalité maximum peut se ramener à larecherche d’un flot de valeur maximale des à t.

23

Page 24: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

5. Partant du flot représentantK2, déterminer à l’aide de l’algorithme de Ford et Fulkerson, le flotde valeur maximale ainsi que last-coupe de capacité minimale.

6. Justifier le fait que last-coupe de capacité minimale ne puisse pas inclure des arcs allant d’unsommet deX1 vers un sommet deX2.

7. A partir de last-coupe de capacité minimale donnée par l’algorithme de Ford-Fulkerson, définirC2 l’ensemble des sommetsi du graphe biparti tels que : soit(s, i), soit (i, t) appartient à lacoupe. Montrer queC2 forme nécessairement une couverture de sommets dansG.

8. Montrez alors, en appliquant le théorème de Ford-Fulkerson (la valeur d’un flot maximum estégale à la capacité minimale d’une coupe), le théorème de Konig-Egervary.

Exercice 3 : 3 points

Combien de feuilles possède un arbre binaire complet àn sommets ?

24

Page 25: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : modélisation et algorithmesLicence MI2E - L3 apprentissage 2016-2017

Exercices de Controle Continu

Exercice 1 - Graphe d’intervalle - 9 points

On considère un ensemble den intervalles. Pouri = {1, . . . , n}, l’intervalle i est défini par[ai, bi]avecai < bi. Deux intervalles[ai, bi] et [aj , bj ] sont ditscompatiblessi et seulement si :

[ai, bi] ∩ [aj, bj ] = ∅

et ils sont ditsincompatiblessinon.Le problème à résoudre est celui de déterminer un sous-ensemble d’intervalles tous compatibles 2 à

2 de cardinalité maximale.

Par la suite, on considèrera d’application numérique suivante avecn = 9 :

i 1 2 3 4 5 6 7 8 9[ai, bi] [11, 16] [2, 12] [16, 25] [0, 3] [4, 9] [18, 23] [7, 14] [15, 20] [21, 24]

Il est aussi très utile de représenter cette application numérique comme suit :

1. Considérant l’application numérique ci-dessus, représenter le problème sous la forme d’un graphenon orientéG = (X,E) dont les sommets représentent les intervalles et les arêtesla relation bi-naire d’incompatibilité.

2. Formuler le problème à résoudre surG (justifier votre réponse)

3. Proposer une solution au problème décrit dans l’application numérique (non nécessairement op-timale).

4. On définit maintenant un graphe orientéGP = (X,U) dont les sommets représentent les in-tervalles et les arcs la relation binaire de précédence, notéeP, suivante :[ai, bi]P[aj , bj ] si etseulement sibi < aj . Montrer queGP est un graphe transitif c’est-à-dire que, pour tout tripletdesommets(i, j, k), (i, j) ∈ U et (j, k) ∈ U implique(i, k) ∈ U .

5. Montrer que si on renumérote les sommetsi deGP par ordre croissant desai, on définit un ordretopologique. Quel est alors la complexité dans le pire des cas pour définir un ordre topologiquedansGP ? En terme de complexité dans le pire des cas, serait-il préférable d’utiliser l’algorithmevu en cours pour déterminer un ordre topologique (vous prendrez soin de bien justifier votreréponse) ?

6. A partir deGP = (X,U), on définit un second graphe orienté, notéGPR = (XR, UR), comme

suit :

25

Page 26: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

— XR = X ∪ {e, s} avece ets deux sommets fictifs,— UR contient les arcs(e, i) pour touti ∈ X tel qued−(i) = 0 et, les arcs(i, s) pour touti ∈ X

tel qued+(i) = 0 ; UR contient également tous les arcs deU \ T avec

T = {(i, k) ∈ U : ∃j ∈ X \ {i, k} avec(i, j) ∈ U et (j, k) ∈ U}

T est appelé l’ensemble des arcs de transitivité.DessinerGP

R = (XR, UR) associé à l’application numérique.

7. A quoi correspond dansGPR la solution trouvée question 3 ?

8. Expliciter les étapes permettant de construireG à partir deGPR.

9. Formuler le problème à résoudre surGPR.

Exercice 2 - 8 points

Après avoir exécuté DFS(G), sur le graphe ci-dessous :

g

e

c

b

d

f

a

on a obtenu les numérotations suffixe et préfixe suivantes :

sommet a b c d e f g

pref 7 6 1 5 2 3 4suff 7 5 4 6 2 1 3

1. Donner la liste des arcs d’arbre.

2. Donner les listes des arcs avants, arrières et croisés.

3. Que peut-on dire d’un sommeti pour lequel pref(i)=suff(i) ? Un tel sommet peut-il être racinedeG (justifier votre réponse) ?

4. Ce graphe est-il connexe ? Si non, donner son nombre de connexité et ses composantes connexes.Vous prendrez soin d’appliquer l’algorithme vu en cours et de bien détailler chacune des étapes.

5. Ce graphe est-il fortement connexe ? Si non, donner son nombre de connexité forte et ses com-posantes fortement connexes. Vous prendrez soin d’appliquer l’algorithme de Kosaraju-Shamiret de bien détailler chacune des étapes. Représenter le graphe réduit.

Exercice 3 - 3 points

Le graphe complémentaire d’un graphe non orientéG = (X,E) est un graphe non orienté, notéG = (X,E), ayant le même ensemble de sommets et un ensemble d’arêtes défini comme suit :∀i ∈ X,∀j ∈ X aveci 6= j, (i, j) ∈ E si et seulement si(i, j) /∈ E. Montrer que si un grapheG n’est pasconnexe, alors son graphe complémentaireG l’est nécessairement.

26

Page 27: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

Université Paris Dauphine Graphes : Modélisation et algorithmesLicence MI2E 3ème année MIAGE Apprentissage 2016-2017

ExamenDurée de l’épreuve : 2 heures

Aucun document autorisé

Exercice 1 (5 points)

La veille de prendre l’avion se pose le problème de faire sa valise de façon à voyager avec une valisede poids inférieur ou égal à une certaine valeurv (imposée par la compagnie aérienne). Parmin objetspossibles indicés de 1 àn, vous devez donc choisir les objets à emporter connaissant leur poids mais aussileur utilité. Pour cela, vous attribuez une note, comprise entre 0 et 20, à chacun des objets : plus la note estélévée, plus l’objet est utile. Considérons quev = 5 et que vous devez choisir parmi les 5 objets suivants :

Objeti 1 2 3 4 5Poidspi 2 2 5 4 2Utilité ui 5 6 12 8 7

TABLE 1 – Poids et utilité des objets

Votre problème est donc de sélectionner les objets à emporter de façon à maximiser la somme de leurutilité et à constituer une valise de poids total inférieur ou égal àv.

1. On peut représenter ce problème sous la forme d’un graphe orienté valué défini comme suit :— Les sommets représentent les états possibles(i, d) du sac-à-dos.(0, 0) est un sommet racine

qui représente le sac-à-dos vide.(n+1, v) est un sommet anti-racine qui represente le sac-à-dos rempli des objets sélectionnés. Pour touti allant de 1 àn, et pour toutd allant de 0 àv,il existe un sommet(i, d) si et seulement si il existe un ensemble d’objetsO ⊆ {1, . . . , i} telqued =

i∈O pi ≤ v.— Pour touti allant de0 àn − 1, et pour tout sommet(i, d), il existe un arc allant du sommet

(i, d) au sommet(i + 1, d) de valeur 0 : cet arc représente le fait de ne pas ajouter l’objeti+ 1.

— Pour touti allant de0 àn − 1, et pour tout sommet(i, d), il existe un arc allant du sommet(i, d) au sommet(i+ 1, d′) de valeurui+1 si et seulement si

d′ = d+ pi+1 ≤ v

Cet arc représente le fait d’ajouter l’objeti+ 1.— Pour tout sommet(n, d), il existe un arc allant de(n, d) à (n+ 1, v) de valeur O.Représenter le graphe associé au problème décrit dans la table 1 (indication : on procède parniveau en commençant par(0, 0) puis on ajoute les sommets de la forme(1, d) en evisageant lesdeux cas : ajouter l’objet 1 ou pas, puis on passe aux sommets de la forme(2, d)...).

2. Peut-on borner supérieurement le nombre de sommets du graphe ?

3. Expliquer pourquoi ce graphe est nécessairement sans circuit.

4. Dans le cas général, que faut-il déterminer dans ce graphepour trouver le sac-à-dos d’utilitémaximale ?

27

Page 28: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

5. Quel algorithme peut-on utiliser pour résoudre le problème ? Justifier votre réponse et donner lacomplexité de cet algorithme.

Exercice 2 (4 points)

SoitG le graphe defini par la matrice d’adjacence suivante :

A =

0 1 0 1 0 00 0 0 0 1 01 0 0 0 1 10 0 1 0 0 10 1 0 0 0 10 0 0 0 0 0

Déterminer, avec l’algorithme vu en cours, la fermeture transitive deG (vous prendrez soin de biendétailler toutes les étapes de l’algorithme). Donner la matrice d’adjacence de la fermeture transitive.

Exercice 3 (4 points)

Dans le grapheG = (X,U) ci-dessous, on veut déterminer le plus court chemin en termedenombred’arcs entre les sommets 1 et 8 :

Pour cela, on peut appliquer l’algorithme de Dijkstra aprèsavoir posé :lij = 1, ∀(i, j) ∈ U

1. Déterminer le plus court chemin entre 1 et 8. Vous prendrezsoin de présenter le déroulement del’algorithme dans un tableau.

2. Si on avait choisi de stocker les marques temporaires finies des sommets dans un tas, représenterle tas obtenu lorsque les sommets définitivement marqués sont les sommets 3 et 6.

Exercice 3 : Flot maximum - 7 points

Trois villes,J ,K,L, sont alimentées en eau grâce à quatre réservesA,B,C,D (nappes souterraines,chateaux d’eau, usines de traitement, ...). Les réserves journalières disponibles sont de 15 milliers de m3

pourA, de 10 pourB, de 15 pourC, et de 15 pourD. Le réseau de distribution, comprenant aussi biendes aqueducs romains que des canalisations récentes, est schématisé par le graphe ci-dessous (les débitsmaximaux sont indiqués sur chaque arc entre crochets en milliers de m3 par jour) :

Ces trois villes en pleine évolution désirent améliorer leur réseau d’alimentation afin de satisfaire desbesoins futurs plus importants. Une étude a été faite et a permis de déterminer les demandes journalièresmaximales probables, à savoir 15 milliers de m3 pour la villeJ , 20 pour la villeK et, 15 pour la villeL.

28

Page 29: Université Paris Dauphine Graphes : modélisation et ...gabrel/DOCUMENTS/tdsL3mi2e1718.pdf · Une chaîne de magasins à grande surface envisage l’implantation de nouvelles ...

[5]

[7]

[5]

[10]

[7]

[10]

[5]

[4]

[15]

[15]

[15]

[7]

[7]

[10]

[4]

[30]

[5]

A

B

C

D

E

F

G

I

H J

K

L

1. Expliquer comment tranformer ce réseau de distribution en réseau de transport et, comment ajou-ter au modèle les informations concernant les réserves journalières disponibles enA, B, C, Dainsi que les demandes jounalières dans chacune des 3 villesJ , K etL.

2. Un ingénieur propose d’utiliser le réseau de la façon suivante (les flux sont indiqués en gras surles arcs à coté des capacités) :

0 [5]

7 [7]

5 [5]

8 [10]

7 [7]

8 [10]

0 [5]

2 [4]

5 [15]

13 [15]

15 [15]

7 [7]

5 [7] 4 [10]

4 [4]

24 [30]

5 [5]

A

B

C

D

E

F

G

I

H J

K

L

(a) Partant des valeurs proposées par l’ingénieur, déterminer le flot de valeur maximal pouvantpasser dans le réseau.

(b) Donner une coupe de capacité minimale.

3. La valeur de ce flot est jugée nettement insuffisante, aussile conseil régional décide de renover lacanalisation(A,E). Pourquoi cette proposition est-elle pertinente ? Si la capacité de l’arc(A,E)passe de 7 à 10, la valeur du flot maximum peut-elle augmenter de 3 unités ?

29