Bonjour tout le monde,
L'algorithme suivant permet d'ordonnancer un ensemble des taches j{ j1, j2, j3,.., jn} sur m machines{m1, m2} de façon à minimiser le temps la date de fin de la dernière tache. On donne la date début de chaque tache rj avec j varie de 1 à n, qj :dae de fin souhaitée avec j varie de 1 à n et pj : période d'exécution de tache j avec j varie de 1 à n. J est l'ensemble des taches ordonnancées qui seront exécutées dans leur date. jR : l'ensemble de taches qui débutent l'ordonnancement. jQ: les taches qui seront placées en dernier. ù0 : la date sur la machine, j0 : la tache qui sera placé dans jR ou jQ selon la condition et ù: l'ordonnancement final optimal.
Je suis débutante en la matière. Pourriez vous m'aider un coup de pouce en me corrigeant les erreurs?
Par avance, merci.
Entrées : pj,rj,qj, j0 appartient à {j1, .., jm}, u0
Sorties :ù;
début
J =0; 0, jR = 0 et jQ= 0
Tant que | J | => m faire
Si rj0+ pj0 <= rj(m+1) alors J = J \{ j0}&& jR= jR U j0
Sinon
Si qj0+ pj0 <= qj(m+1) alors J = J \{j0} && jQ= jQ U j0
Fin si
Fin si
Fin tant que
u0 = min ui ( ù )
Si jQ #{}alors
Si pj0 + qj0 =max(pj + qj)alors
j Q=j0
u0 =max(u0,rj0)+pj0
ù=ù-1
Fin si
Fin si
U0 = min ui( ù )
Si jR#{};
Si pj0+rj0=max(pj +rj)
j R=j0
u0 =max(u0,qj0)+pj0
ù=ù-1
Fin si
Voici le pseudo-code de la première partie puis la deuxième partie en anglais
Fin si
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :