|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2012 Messages : 1 ![]() |
L'algorithme suivant permet d'ordonnancer un ensemble des taches I : { 1, 2, 3,.., n} sur une machines de façon à minimiser le temps la date de fin de la dernière tache. On donne la durée de chaque tache pi avec i varie de 1 à n, et ri : date de disponibilité qui signifie que une tâche ne peut démarrer avant cette tâche. avec i variant de 1à n .
Si C*est la solution optimale pour S de I alors : C*(∅)=0 et C*(S)=min{max〖(C*(S-{i});ri)+pi 〗 } si S ≠0 La solution du problème est par conséquent C*(I) C* (S-{i}) est la date de fin du passé précédent la décision i Algorithme à implémenter dans un langage Entrée : I : Ensemble contenant mes tâches à ordonnancés n : nombre de tâches ri, pi : respectivement date de disponibilité et durée de la tâche Variables intermédiaires : S est un sous ensemble de I k, i, Min, Max : entiers Sorties : C*(I) Début : C*(∅)=0 Pour k=1 à n Pour tout sous ensemble S de I contenant k éléments de I C*(S)=∞ Pour tout élément i de S Si C*(S-{i})<= ri alors Max=ri Sinon Max = C*(S-{i}) Min=Max + pi Si Min<C*(S)alors C*(S)=Min Fin pour Fin pour Fin pour Fin Mon souci se situe au niveau de la création ses sous ensembles S de I en langage C !! Si vous pouvez me donnez de l'aide à ce niveau je vous en serai reconnaissant soit en langage C ou tout autre langage!!! merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com