1
1
Démo #4
28 septembre 2005
2
Hillier et Lieberman, Exercice 9.3-3
Trouver le plus court chemin de la source à la destination du graphe suivant en utilisant l’algorithme de Dijkstra
O
C B A
E D
T
Source Destination
4
6
5 1
2 7
5
4
5 1
6
8
3
Hillier et Lieberman, Exercice 9.4-2
La compagnie Bois Fûté doit bientôt commencer à planter 8 bosquets de bananiers dans une région du désert.
Aussi, afin de les arroser régulièrement au coût minimum, il faut développer un système de chemins de sable qui rend chaque bosquet accessible à partir de tous les autres bosquets. La distance (en km) entre chaque paire de bosquets est
comme suit:
4Hillier et Lieberman, Exercice 9.4-2, suite 1
8 7 6 5 4 3 2 1
- 0.5 1.0 0.8 0.9 1.0 1.1 1.5
0.5 - 0.6 1.1 1.5 1.9 2.3 2.0
1.0 0.6 - 0.9 1.6 2.5 2.6 1.8
0.8 1.1 0.9 - 0.7 1.7 1.2 0.7
0.9 1.5 1.6 0.7 - 2.6 1.8 0.9
1.0 1.9 2.5 1.7 2.6 - 0.9 2.1
1.1 2.3 2.6 1.2 1.8 0.9 - 1.3
1.5 2.0 1.8 0.7 0.9 2.1 1.3
B -
o s q u e ts
8 7 6 5 4 3 2 1
Distances entre les paires de bosquets
5
Hillier et Lieberman, Exercice 9.4-2, suite 2
La direction veut maintenant déterminer entre quelle paire de bosquets les chemins de sable doivent être construits pour connecter tous les bosquets avec une longueur totale minimum de chemins.
a) Décrire en quoi ce problème correspond à un problème d’arbre de poids minimum.
b) Utiliser l’algorithme vu en cours pour résoudre le problème.
6
Hillier et Lieberman, Exercice 9.5-3
Le diagramme de la page suivante décrit un système d’aqueducs qui prennent origine dans 3 rivières (noeudsR1, R2et R3) et qui se terminent à une ville importante (nœudT), où les autres nœuds correspondent à des points de jonction dans le réseau.
On fournit également en m3la quantité d’eau qui peut être pompée à travers chaque aqueduc à chaque jour.
Le gestionnaire de l’eau de la ville veut déterminer un plan d’eau (
☺
), c’est-à-dire une planification de l’écoulement des flots de telle sorte à maximiser la quantité d’eau qui est acheminée vers la ville.2
7
Hillier et Lieberman, Exercice 9.5-3, suite 2
a) Formuler le problème comme un problème de flot maximum en identifiantunesource, unpuits et les nœuds de transit, puis en dessinant le réseau complet avec les capacités des arcs.
b) Utiliser l’algorithme de Ford et Fulkerson pour résoudre ce problème de flot maximum.
c) Formuler le problème de flot maximum comme un programme linéaire et le résoudre en utilisant votre logiciel préféré.
d) Comment le réseau du problème de flot maximum (tel que défini dans la question a)) se modifie si, au lieu d’alimenter une ville, il faut alimenter deux villes (par exemple, on rajoute une villeT2reliée aux
noeudsB, Eet F). 8
Hillier et Lieberman, Exercice 9.5-3, suite 1
70 80 - R3
60 50 40 R2
- 65 75 R1
C B A
De/vers
90 70 - C
45 55 70 B
- 45 60 A
F E D
De/vers R3
R1
R2 T
C B A
F E D
130 F
190 E
120 D
T
De/vers
9
Hillier et Lieberman, Exercice 9.7-1
Considérer le problème de flot à coût minimum représenté ci-dessous, où les valeursbi(valeurs nettes des flots) sont fournies pour chacun des noeuds, les valeurscij(couts par unité de flot) sont indiquées sur les arcs, et des capacitésuijexistent pour certains arcs.
B A
D C
E [20]
[10] [0]
[0]
[-20]
2 5 3
5 6
4 3 [10]
[25]
[∞]
[∞] [∞]
[∞] [∞]
10
Hillier et Lieberman, Exercice 9.7-1, suite 1
Dérouler manuellement les opérations nécessaires pour a) obtenir une solution initiale “de coin” en résolvant l’arbre
réalisable suivant avec les arcs A →B, C →E, D →E, et C →A (arc renversé), et où un des arcs hors base C →B est aussi un arc renversé. Dessiner le réseau qui en résulte (en incluant les valeursbij, cijet uij) dans le même format que celui du premier réseau fourni (utiliser des arcs en traits pointillés pour représenter les arcs hors base), et ajouter les valeurs des flots entre parenthèses sur les arcs en base.
a) Utiliser le test d’optimalité pour vérifier que cette solution “de coin” est optimale et qu’il y a plusieurs solutions optimales.
Réaliser une itération de l’algorithme du simplex pour trouver l’autre solution “de coin”, et utiliser les résultats obtenus pour en déduire les autres solutions optimales qui ne sont pas des solutions “de coin”.
11
Hillier et Lieberman, Exercice 9.7-1, suite 2
c) Considérer la solution “de coin” suivante:
En partant de cette solution “de coin”, réaliser une itération de l’algorithme du simplex pour les réseaux. Identifier l’arc entrant en base, l’arc sortant de base, ainsi que la prochaine solution “de coin”.
D →E 10
B →D C →E 20
A →C B →C 10
A →B A →D 20
Arc hors base Flot
Arc en base