Adloun

Ordonnancement de tâches pondérées

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 17 — Programmation dynamique

Énoncé

Le programme cite cet exemple. On dispose de tâches ; deux tâches sont compatibles si elles ne se chevauchent pas. Trouver un ensemble de tâches deux à deux compatibles de poids total maximal. Pourquoi le glouton du chapitre chap:gloutons ne convient-il pas ?

Corrigé

Pourquoi le glouton échoue. Le chapitre chap:gloutons traite la sélection d'activités : maximiser le nombre de tâches, en prenant toujours celle qui finit le plus tôt. Avec des poids, cette règle n'a plus aucune raison d'être optimale — une tâche longue et lourde peut valoir mieux que trois courtes et légères. Le glouton perd sa preuve d'échange, et il perd le résultat avec.

La formulation dynamique. On trie les tâches par date de fin croissante. Pour la tâche , on note l'indice de la dernière tâche compatible avec elle (celle de plus grande date de fin début de ), ou s'il n'y en a aucune. Alors, avec le poids optimal des premières tâches :

C'est la structure du sac à dos : prendre ou ne pas prendre, et la sous-structure optimale vient de ce que le reste d'une solution optimale contenant est une solution optimale sur les tâches compatibles avec .

Mesure sur huit tâches, déjà triées par date de fin :


j     1        2        3        4        5        6        7        8
tache (1,4,3)  (3,5,4)  (0,6,5)  (4,7,6)  (3,8,2)  (5,9,7)  (6,10,1) (8,11,4)
p(j)  0        0        0        1        0        2        3        5
M[j]  3        4        5        9        9       11       11       13

L'optimum est , atteint par les tâches , et . Une énumération exhaustive des sous-ensembles confirme la valeur et la même sélection.

Complexité. Le tri coûte . Le calcul des se fait par recherche dichotomique dans le tableau des dates de fin, également (chapitre chap:sequentielles). Le remplissage est . Total : — et c'est ici la seule fois du chapitre où le coût dominant n'est pas celui de la table.

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.