Adloun

L'ordonnancement de tâches pondérées

Exercice · informatique (tronc commun des prépas scientifiques), chapitre 18 — La programmation dynamique

Énoncé

Soit un ensemble de tâches définies par (début, fin, gain) : , , , . (a) Montrer que l'algorithme glouton par temps de fin croissant échoue lorsque les tâches ont des gains différents. (b) Concevoir une programmation dynamique : trier par temps de fin, déterminer pour chaque tâche sa dernière tâche compatible , formuler la récurrence du gain maximal , puis dérouler et reconstruire la solution. (c) Évaluer la complexité globale de l'algorithme.

Corrigé

(a) Le glouton par fin croissante sélectionne successivement les tâches incompatibles , puis , puis , obtenant un gain cumulé de . Ce choix bloque la tâche qui offrait à elle seule un gain supérieur de . L'optimalité locale gloutonne ne fonctionne plus. (b) Classons les tâches par fin croissante : , , , . Les prédécesseurs compatibles sont : , , , . Calculons la table des gains optimaux :

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.