Telechargé par ABOUDOU RAHIME NAILI BOURHANE

Applications de la Théorie des Graphes

publicité
Applications
de la
théorie des graphes
"Rien n'est plus pratique qu'une bonne théorie"
K. LEWIN
1. INTRODUCTION A PARTIR D'UN EXEMPLE .......................................................................................... 2
2. QUELQUES DEFINITIONS ............................................................................................................................ 3
2.1 SUR LES GRAPHES ORDINAIRES ............................................................................................................................ 3
2.2 SUR LES GRAPHES ORIENTES................................................................................................................................ 4
3. UTILISATION DES MODELES DE GRAPHES ...........................................................................................5
3.1 QUELQUES APPLICATIONS EN GESTION................................................................................................................ 5
3.2 QUELQUES PROBLEMES CLASSIQUES ................................................................................................................... 6
4. APPLICATION AUX PROBLEMES D'ORDONNANCEMENT ................................................................ 8
4.1 INTRODUCTION ................................................................................................................................................... 8
4.2 EXEMPLE............................................................................................................................................................. 9
4.3 MODELISATION ................................................................................................................................................... 9
4.3.1 La méthode "Potentiel-tâches" ................................................................................................................. 10
4.3.2 La méthode "Potentiel-étapes" ................................................................................................................. 11
4.4 LES OUTILS ALGORITHMIQUES .......................................................................................................................... 12
4.4.1 Algorithme de "mise à niveau" d'un graphe sans circuits ........................................................................ 12
4.4.2 Algorithme de recherche d'un chemin de poids optimum ......................................................................... 13
4.5 OPTIMISATION DU CALENDRIER ........................................................................................................................ 14
4.6 COMPLEMENTS A L'ORDONNANCEMENT ............................................................................................................ 16
4.6.1 La méthode PERT..................................................................................................................................... 16
4.6.2 La méthode CPM (Critical Path Method) ................................................................................................ 18
4.6.3 La prise en compte des moyens matériels et humains .............................................................................. 22
4.6.4 Autres types de contraintes....................................................................................................................... 22
5. EXERCICES .................................................................................................................................................... 23
Cours sur les graphes et projets – Page 1 /28
1.
Introduction à partir d'un exemple
Idée clé :
Un dessin permet de synthétiser un problème et de raisonner efficacement.
Une représentation graphique claire soutient l'intuition et stimule l'imagination.
Les 7 ponts de Koenigsberg
Cours sur les graphes et projets – Page 2 /28
2.
Quelques définitions
Nous allons brièvement présenter quelques notions relatives aux graphes ordinaires, puis aux
graphes orientés.
2.1 Graphes ordinaires
graphe :
ensemble de sommets et d'arêtes.
G = (X,E) avec X ensemble des sommets et E ensemble des arêtes.
B
a1
a6
a2
a3
A
a5
a4
D
a7
C
sommet :
A,B,C,D sont les 4 sommets du graphe ci-dessus.
arête :la "ligne" reliant A et B est une arête du graphe (le graphe en comporte 7)
degré d'un = nombre d'arêtes incidentes.
sommet
exemple: le sommet A est de degré 5
chaîne :
Suite alternée de sommets et d'arêtes où chaque arête est "origine de la suivante"
(exemple:
(A, a4, C, a7, D) est une chaîne reliant A à D.)
cycle :
chaîne dont l'origine est égale à la destination.
exemple: (A, a4, C, a7, D, a3, A)
connexité : Soit un graphe: G = (X,E) avec x,y X
La relation C définie par :
x C y <==> il existe une chaîne de x à y
est une relation d'équivalence dont les classes sont appelées composantes
connexes de G.
arbre:
un arbre est un graphe connexe et sans cycles.
Cours sur les graphes et projets – Page 3 /28
2.2 Graphes orientés (réseaux)
On ajoute un "sens de parcours" sur les arêtes qui deviennent des arcs.
B
a1
a6
a2
a3
A
a5
a4
D
a7
C
 Sur l'arc (B,A), on dira que B est le prédécesseur de A et que A est le successeur de B.
 L'équivalent de la chaîne est le chemin; celui du cycle est le circuit.
 (par exemple: (A, a4, C, a7, D) est un chemin de A à D
 (A, a4, C, a7, D, a3, A) est un circuit ).
 A la notion de connexité pour un graphe non orienté correspond la notion de forte connexité
pour un graphe orienté.
 A la notion d'arbre pour un graphe non orienté correspond la notion d'arborescence pour un
graphe orienté.
Cours sur les graphes et projets – Page 4 /28
3.
Utilisation des modèles de graphes

De manière générale, les graphes aident à décrire et à comprendre les
problèmes.

Pour certains problèmes, des méthodes d'optimisation sont utilisées pour
assister la prise de décision.
3.1 Quelques applications en gestion
 Gestion de projets dans tous les domaines, ordonnancement.
 Gestion de ressources humaines (modélisation de certains types d'interaction).
 Optimisation de politique financière ou commerciale.
 Réseaux de transport, de communication.
Cours sur les graphes et projets – Page 5 /28
3.2 Quelques problèmes classiques
Le problème de transport
1 200
16
23
21
1
400
2 250
15
13
2
600
19
3 400
16
26
4 150
Le problème du plus court chemin
C
11
A
6
4
17
F
6
5
S
5
D
4
3
B
3
T
4
5
G
8
6
5
E
Cours sur les graphes et projets – Page 6 /28
Le problème du flot maximum
B
3
6
4
E
12
A
9
15
C
G
8
7
5
F
9
D
Le problème du voyageur de commerce
E
30
17
21
31
D
A
13
24
34
17
23
27
B
Cours sur les graphes et projets – Page 7 /28
C
4.
Application aux problèmes d'ordonnancement
4.1
Introduction
L'étude et la conduite d'un projet complexe, et cela dans des domaines très variés, nécessitent
une parfaite coordination entre les différentes cellules de travail.
On peut formuler les problèmes d'ordonnancement de la manière suivante:
Soit un objectif dont la réalisation suppose l'exécution préalable de multiples tâches soumises à
de multiples contraintes.

Il s'agit de trouver un ordre et un calendrier d'activation de ces tâches tels que ces
contraintes soient satisfaites.
Remarque :
Plus généralement, le management de projet doit permettre :


La planification (gestion prévisionnelle)

élaborer le processus opérationnel optimum de réalisation du projet.

faire ressortir et hiérarchiser les priorités et les points critiques.

calculer les dates de réalisation.

préciser les responsabilités.

évaluer et répartir les moyens humains, matériels et financiers.
Le suivi et le contrôle

suivre la progression des actions.

évaluer l'impact des dysfonctionnements en vue de préparer les décisions
de management de projet pour respecter les objectifs d'origine
Cours sur les graphes et projets – Page 8 /28
4.2
Exemple
Projet :
Construction d'une villa
Objectif :
Préparation des travaux
N° tâche
Description
Durée (en jours)
1
Exécution des terrassements
10
2
Mise en place de la grue
2
3
Fondations
5
4
Branchement électrique
3
5
Installation de la fosse septique
6
Contraintes

La grue ne peut fonctionner que si le branchement électrique est effectué.

On a besoin de la grue pour les fondations.

L'installation de la fosse septique et les fondations ne peuvent être exécutés que si les
travaux de terrassement sont terminés.
4.3
Modélisation
Nous allons construire deux types de modèles pour ce problème à l'aide de graphes orientés
(réseaux).
Ces réseaux permettent de représenter les différentes tâches du projet et ses différentes
contraintes.
Cours sur les graphes et projets – Page 9 /28
4.3.1 La méthode "Potentiel-tâches"
 Un sommet du graphe correspond à une tâche.
 On relie deux sommets: i et j par un arc, si la tâche i doit précéder la tâche j .
 Chaque arc (i,j) sera porteur d'un "poids" correspondant à la durée de la tâche i .
Appliquons cette méthode pour modéliser l'exemple précédent:
Cours sur les graphes et projets – Page 10 /28
4.3.2 La méthode "Potentiel-étapes"
 chaque arc correspond à une tâche.
 le début et la fin d'une tâche sont les étapes du projet et correspondent à des sommets du
graphe.
Deux méthodes très connues : la méthode PERT (Program Evaluation and Review Technique) et
la méthode CPM (Critical Path Method) sont basées sur cette modélisation ; nous les décrirons
un peu plus loin.
Appliquons cette méthode pour modéliser l'exemple précédent :
Cours sur les graphes et projets – Page 11 /28
4.4
Les outils algorithmiques
La théorie des graphes fournit des techniques d'optimisation permettant d'aider à établir des
ordonnancements à partir des modèles précédents.
Nous allons présenter deux "algorithmes de cheminement dans les graphes orientés" :
4.4.1 Algorithme de "mise à niveau" d'un graphe sans circuits
Description : On détermine le niveau, c’est à dire le « numéro d’ordre » de tous les sommets du
graphe.
Le numéro d’un sommet sera tout simplement égal à 1 + le maximum des
numéros de tous les sommets qui précédent.
Cette phase de numérotation par « niveaux » dans le graphe est nécessaire pour la
suite des opérations si l’on désire éviter les erreurs sur un gros graphe.
Cours sur les graphes et projets – Page 12 /28
4.4.2 Algorithme de recherche d'un chemin de longueur maximale
(algorithme de BELLMAN-FORD)
Cet algorithme est basé sur un principe tellement simple qu'on pourrait le qualifier de
lapalissade mais qui est extrêmement puissant et utile pour de nombreux problèmes: le principe
d'optimalité.
Soit C = {S,A1,X1,A2,X2,...,An-1,Xn-1,An,T} un chemin de S à T.
Pour que C soit un chemin optimal de S à T; il est nécessaire que le chemin
(S,A1,X1,...,An-1,Xn-1 } soit un chemin optimal de S à Xn-1 .
Il dit simplement que pour trouver le plus long chemin dans le graphe, à partir d’un
sommet de départ, jusqu'à un sommet quelconque du graphe : S, il suffit de prendre la plus
grande parmi toutes les longueurs maximales1 des chemins qui arrivent aux sommets
prédécesseurs, additionnées des longueurs des arcs reliant ces sommets à S.
1
Supposées déjà déterminées précédemment ! D’où l’intérêt de progresser, niveau par niveau dans le graphe....
Cours sur les graphes et projets – Page 13 /28
4.5
Optimisation du calendrier
Il faut :

Déterminer un ordre chronologique des tâches ; cela revient à numéroter les
sommets du graphe, c-à-d à déterminer le niveau de chaque sommet.

Déterminer un calendrier d'activation des tâches

Les dates de réalisation au plus tôt sont obtenues en déterminant "un
chemin de longueur maximale" dans le graphe.
 Les dates de réalisation au plus tard sont obtenues par le même calcul
en partant "de la fin du graphe".
Application à l'exemple précédent :
4
3
0
0
0
2
2
3
10
0
1
5
6
6
10
5
Lorsque les dates au plus tôt et au plus tard pour une tâche sont confondues, la marge
de la tâche est nulle (la marge correspond à la différence entre date au plus tard et date au plus
tôt) ; on dit alors que cette tâche est une tâche critique.
Cours sur les graphes et projets – Page 14 /28
Chemin critique
8
0 8
4
3
1
0
9
0
0 9
0
2
2
0
10 11
16 16
5
3
1
0
1
3
2
10
0
6
0
0 0
10 10
10
1
1
6
5
2
Diagramme de Gantt
0
2
4
6
8
10
12
14
16
Cours sur les graphes et projets – Page 15 /28
temps
4.6
Compléments à l'ordonnancement
Différentes méthodes ont été proposées pour aller plus loin que le simple calendrier établi plus
haut.
Nous allons ainsi nous intéresser successivement :

à la prise en compte du hasard.

à la prise en compte des coûts.

à la prise en compte d'autres types de contraintes.
4.6.1 La méthode PERT
Si l'on ne peut pas prévoir de manière certaine la durée d'une tâche t, il peut être possible
d'associer à cette tâche, 3 estimations:
p(t)
= durée la plus probable de la tâche t
a(t)
= estimation optimiste
b(t)
= estimation pessimiste
On peut alors souvent observer que la durée de la tâche pouvait être considérée comme une
variable aléatoire de loi Beta
de moyenne
(4p(t) + a(t) + b(t) ) / 6
et d'écart-type
(b(t) - a(t))/6
Cours sur les graphes et projets – Page 16 /28
Exemple
N° tâche
Description
p
a
b
1
Exécution des terrassements
10
8
18
2
Mise en place de la grue
2
1
3
3
Fondations
5
3
8
4
Branchement électrique
3
2
4
5
Installation de la fosse septique
6
5
7
4
0
0
0
2
3
1
5
0
Cours sur les graphes et projets – Page 17 /28
6
4.6.2 La méthode CPM (Critical Path Method)
En fait dans la pratique, la durée d'une tâche est souvent étroitement liée aux moyens mis en
oeuvre, donc au coût.
Cette relation a en général la forme suivante:
Dans la méthode CPM (Critical Path Method).
 On commence par déterminer l'ordonnancement de coût minimum. Cela conduit à un premier
chemin critique.
 Ensuite, on cherche à réduire la durée du projet en réduisant la durée des tâches critiques (ce
qui, bien sûr, élève le coût).
 Et ainsi de suite de manière itérative jusqu'à ce que le compromis entre le temps et la durée
soit jugé acceptable.
Cours sur les graphes et projets – Page 18 /28
Exemple
N° tâche
Description
Durée
normale
Durée
min.
1
Exécution des terrassements
10
6
Coût
d’accélération
200
2
Mise en place de la grue
2
1
250
3
Fondations
5
3
150
4
Branchement électrique
3
2
180
5
Installation de la fosse septique
6
2
120
Le coût d’accélération est exprimé en euros/jour. Par exemple, pour réduire la tâche 1 de 10j à
8j, il en coûte 400 €.
4
0
0
0
2
3
1
5
0
Cours sur les graphes et projets – Page 19 /28
6
4
0
0
0
2
3
1
5
6
0
4
0
0
0
2
3
1
5
0
Cours sur les graphes et projets – Page 20 /28
6
4
0
0
0
2
3
1
5
6
0
SYNTHESE GRAPHIQUE
4000
3500
3000
2500
2000
1500
1000
500
0
8
9
10
11
12
13
14
15
16
Cours sur les graphes et projets – Page 21 /28
temps
4.6.3 La prise en compte des moyens matériels et humains
4.6.4 Autres types de contraintes
Contraintes disjonctives
Deux tâches i et j ne peuvent être exécutées simultanément (par exemple, elles font appel
en même temps à un même matériel disponible à un seul exemplaire), alors que l'ordre de
ces tâches est sans importance.
Contraintes cumulatives
= généralisation des contraintes disjonctives
Un moyen à partager par différentes tâches est disponible en quantité limitée.
Cours sur les graphes et projets – Page 22 /28
5.
Exercices
Exercice 1
Le PDG de la société Hélium (spécialités laitières allégées) souhaite avoir rapidement le budget
de l’année prochaine. Le directeur financier dispose des informations suivantes :
Tâche
Description
Durée
A
B
Prévision des ventes
Estimation des prix de la
concurrence
Estimation des revenus
Préparation plan de production
Estimation coûts de
production
Préparation du budget
14
3
Tâches
antérieures
Aucune
Aucune
3
7
4
A,B
A
D
10
C, E
C
D
E
F
Compléter le modèle de graphe et déterminer la durée minimale des travaux.
Cours sur les graphes et projets – Page 23 /28
Exercice 2
On reprend l’exercice de construction de la villa. Jusqu’à maintenant, il n’y avait que 5 tâches
préparatoires à la construction. On ajoute maintenant les tâches suivantes :
N° tâche
6
7
8
9
10
11
12
13
14
15
Description
Gros oeuvre, maçonnerie
Couverture
Plomberie, chauffage central
Electricité
Menuiserie
Plâtre
Peinture
Adduction d’eau
Carrelage
Pose des appareils sanitaires
Durée (jours)
23
14
7
10
11
10
10
12
5
2
Contraintes supplémentaires
 Le gros oeuvre ne peut commencer que lorsque les fondations sont achevées.
 La maçonnerie doit être terminée pour que les tâches 7,8 et 9 puissent débuter.
 La couverture se décompose en deux phases : construction de la charpente (tâche 7’ de durée
8 jours) et couverture proprement dite (tâche 7’’ de durée 6 jours).
 Les travaux d’électricité se décomposent en gros travaux (9’, durée 5j) et petits travaux (9’’,
durée 5j).
 Les travaux de menuiserie se décomposent en « huisseries » (10’, durée 7j) et petits travaux
(10’’, durée 4j).
 Il est nécessaire que la plomberie, la charpente, les huisseries et les gros travaux d’électricité
soient terminés pour qu’on puisse commencer le plâtre.
 Les petits travaux d’électricité et de menuiserie peuvent commencer dès que les plâtres sont
secs (durée de séchage = 21j à partir du moment où les platres sont exécutés et la couverture
terminée).
 Le carrelage peut commencer dès que le plâtre est terminé (il n’est pas nécessaire qu’il soit
sec).
 La pose des appareils sanitaires peut intervenir dès que le carrelage est posé ; cependant il faut
un délai de 21j entre le moment où les appareils sanitaires sont commandés et celui où ils sont
livrés.
 Les travaux de peinture ne peuvent commencer que lorsque le plâtre est sec, que les travaux
de menuiserie et d’électricité sont terminés et que le carrelage est posé.
Compléter le modèle de graphe et déterminer la durée minimale des travaux, les
dates au plus tôt et au plus tard ainsi que le chemin citique.
Cours sur les graphes et projets – Page 24 /28
Cours sur les graphes et projets – Page 25 /28
Exercice 3
On reprend l’exercice 1 avec des durées aléatoires.
Tâche
Description
A
B
Prévision des ventes
Estimation des prix de la
concurrence
Estimation des revenus
Préparation plan de production
Estimation coûts de
production
Préparation du budget
C
D
E
F
Durée
opt.
10
2
Durée +
prob.
14
3
Durée
pess.
19
4
Tâches
antérieures
Aucune
Aucune
2
5
3
3
7
4
4
10
6
A,B
A
D
7
10
15
C, E
Compléter le modèle de graphe et déterminer la durée minimale espérée des
travaux.
Cours sur les graphes et projets – Page 26 /28
Exercice 4
On considère un projet de remise en état d’un moteur électrique. L’ensemble des tâches
nécessaires est le suivant :
Tâche
Description
Durée
normale
Coût
Durée
minimale d’accélért.
Tâches
antérieures
(par heure)
A
B
C
D
E
Démonter le moteur
Nettoyer le châssis
Enrouler l’induit
Remplacer les roulements à
bille.
Asembler le moteur
8
7
12
9
6
4
5
5
100
180
120
80
Aucune
Aucune
A, B
A
6
6
-
C, D
 Déterminer le chemin critique lorsque les tâches prennent leur durée normale; Quelles sont les
tâches critiques ?
 On suppose que les coûts indirects du projet sont de 250 € par heure. Trouver le plan le plus
économique
 Tracer un graphe donnant la relation entre le coût du projet et sa durée.
Cours sur les graphes et projets – Page 27 /28
Exercice 5
Vous êtes responsable du projet informatique de création d’un cédérom de présentation de votre
entreprise. La première partie du sujet reprend certains points de l’étude statistique menée au
préalable, la seconde établit un calendrier prévisionnel de déroulement du projet.
Le prévisionnel du projet fait apparaître les tâches suivantes :
Code
A
B
C
D
E
F
G
H
I
Intitulé
Durée
en jour
Définition des informations à présenter.
10
Elaboration
du
scénario
général
30
d’utilisation
Définition des pages écrans
25
Recueil des médias
25
Définition d’une charte graphique
12
Mise en forme des médias.
15
Réalisation d’une structure prototype
20
Intégration des médias
15
Tests d’utilisation
15
Prédéces- Durée
Coût de réduction
seurs
minimale par jour en francs
A
B
B
B
D, E
C
F,G
H
15
15
7 500
7 500
10
10
10
9 000
7 000
5 000
3.1
En utilisant les durées normales, construisez un graphe d’ordonnancement des tâches du
projet. Calculez les dates au + tôt, au + tard et la durée minimale du projet.
3.2
Utilisez la méthode CPM, sachant que les coûts indirects représentent 10 000€ par jour.
Donnez un tableau synthétisant vos résultats (expliquez en détails uniquement la première
étape)
Construisez un graphique (Durée en abscisse, Coûts en ordonnée) de présentation de vos
résultats.
Cours sur les graphes et projets – Page 28 /28
Téléchargement