la tâche (b) succède à la tâche (a) ;
les tâches (c), (d) et (e) débutent au moins 400 jours après le début des travaux et nécessitent la
fin de la tâche (b) ;
la tâche (f) ne peut débuter que 450 jours après le début des travaux et 50 jours après le début de
la tâche (b) ;
les tâches (j) et (h) ne peuvent débuter que lorsque les taches (d), (e), (f) et (g) sont achevées ;
les taches (i), (k) et (l) ne peuvent débuter que lorsque les taches (h) et (j) sont achevées.
Travail à faire :
1) Représenter le problème sous la forme d'un graphe orienté.
2) Travail d’implémentation
a. définir un fichier d'entrée au format texte décrivant le problème, par exemple au
format suivant
b. Concevoir une structure de données simples mais efficace pour stocker le graphe
c. Réaliser le programme le plus performant possible en temps d'exécution pour
calculer les dates de début au plus tôt, les dates de fin au plus tard puis les marges et
le chemin critique
d. Que se passe-t-il si la durée de la tâche (e) passe de 60 à 120 ?
e. Quel retard maximal peut-on prendre sur la tâche (j) sans que cela ne change la date
d'aucune opération dans le graphe ?
Consignes : le programme réalisera impérativement une représentation graphique sous la forme
d'un diagramme Gantt des opérations.
// taches
1 120 obtention d'un permis d'exploitation
2 180 établissement d'une piste de 6 km
3 30 installation de deux sondeuses
4 30 création des bâtiments provisoires
…
12 240 construction d'une laverie
// precedences
1 0
2 2 5
3 6 1
4 2 5
…