TER de maîtrise d’informatique
Compte-rendu TER 11
Métaheuristique d’un
ordonnancement Juste à temps
Arnaud Malapert
Gildas Jeantet
Université Pierre et Marie Curie
15/06/2005
1
Table des matières
1 Présentation générale du projet 4
1.1 Acronymes et définitions . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Présentation du problème . . . . . . . . . . . . . . . . . . . . . . 5
2 La Conception théorique du projet 5
2.1 Les Méthodes de recherche . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 La recherche locale . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 La recherche tabou . . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Lerecuitsimulé....................... 7
2.1.4 Lesvoisinages ....................... 9
2.2 Le Sous-problème de la séquence fixée . . . . . . . . . . . . . . . 12
2.2.1 Algorithme de programmation dynamique de Sourd . . . . 12
2.2.2 L’exploration du voisinage . . . . . . . . . . . . . . . . . 13
3 Conception des structures de données 13
3.1 Instance du problème . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Solution............................... 13
3.3 Méthodes de recherches . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Les recherches locales . . . . . . . . . . . . . . . . . . . 14
3.3.2 Les listes tabou . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Sous-problème de la séquence fixée . . . . . . . . . . . . . . . . 14
3.4.1 Les fonctions linéaires par morceaux . . . . . . . . . . . 17
3.4.2 Voisinage basée sur la permutation de deux taches consé-
cutives ........................... 17
3.4.3 Voisinage basée sur la permutation de deux taches quel-
quonques.......................... 18
3.4.4 Parcours de Voisinage . . . . . . . . . . . . . . . . . . . 25
3.4.5 debugger .......................... 25
4 Conception de l’interface graphique 25
5 Analyses et tests 27
5.1 Testsurlerecuit........................... 27
5.2 Testsurletabou........................... 28
5.3 Test sur la descente locale . . . . . . . . . . . . . . . . . . . . . . 29
5.4 conclusion.............................. 29
6 Références Bibliographiques 31
2
Table des figures
1 PseudocodeRT........................... 7
2 RègledeMetropolis......................... 8
3 PseudocodeRS........................... 9
4 UMLAlgorithme.......................... 15
5 UMLSéquencexée ........................ 16
6 les fonctions Σ............................ 19
7 calcul du coût d’un voisin . . . . . . . . . . . . . . . . . . . . . . 20
8 Un arbre binaire complet . . . . . . . . . . . . . . . . . . . . . . 21
9 rootetsesls............................ 23
10 calculderoot ............................ 24
11 UMLAlgorithme.......................... 26
Liste des tableaux
1 Dénitionsdestermes........................ 4
2 LesVoisinages ........................... 11
3 AlgorithmedeSourd ........................ 12
3
1 Présentation générale du projet
1.1 Acronymes et définitions
Nous allons d’abord introduire les acronymes utilisés dans la suite du texte :
dasnod : Nom de l’application.
JAT : Juste A Temps.
RT : méthode de Recherche Tabou ou méthode tabou.
RS : méthode du Recuit Simulé ou méthode du recuit.
SPS : Sous Problème pour une Séquence fixée.
voisinage VC : un voisinage basée sur la permutation de deux tâches consé-
cutives.
voisinage VNC : un voisinage basée sur la permutation de deux tâches quel-
quonques.
voisinage VNCE : un voisinage contenant le voisinage VC mais aussi d’autres
configurations car il a une structure de parcours de cycles(i.e. il parcours
plusieurs cycles distincts).
voisinage VEI : Ce voisinage a aussi une structure de parcours de cycles
mais il visite le voisinage extraction insertion avec décalage à gauche.
cycle : une liste ordonnée cde permutations telles que x l(x) = x.
Nous allons maintenant définir certains termes relatifs au problèmes dans le ta-
bleau 1 page 4.
Terme Définition
J={J1,...,Jn}L’ensemble des tâches (jobs)
n=|J|le nombre de tâches
pila durée de la tâche Ji(processing time)
rila date de début au plus tôt de la tâche Ji(release date)
dila date échue à la tâche ou écheance Ji(due date)
Sila date de début de la tâche Ji(start time)
Cila date de fin de la tâche Ji(completion time)
αila pénalité d’avance
βila pénalité de retard
fi(t)la déviation de Jifinissant en t
TAB. 1 – La définition des termes en relation avec les données, l’ordonnancement
et l’optimisation.
4
1.2 Présentation du problème
Le problème proposé présente un cas simplifié d’ordonnancement JAT : il a
pour but de montrer les difficultés liées à l’optimisation de ce genre de critère.
Néanmoins, ce problème de base apparaît trés souvent comme sous-problème
d’un problème plus complexe.
La chaîne de production est ici modélisée par une seule machine (la machine
critique) qui ne peut exécuter à un moment donné qu’au plus une activité.
Les activités à exécuter sont supposées toutes connues.
Un ordonnancement O={C1,...,Cn}est donc réalisable s’il observe les trois
contraintes suivantes :
i∈ {1,...,n}Siri(1)
i∈ {1,...,n}pi=CiSi(2)
i∈ {1,...,n1}Si+1Ci(3)
Pour chaque activité ion a :
fi(Ci) = {max(αi×(diCi),βi×(Cidi)) si Ciri+pi
si Ci<ri+pi
Le but du problème est de trouver un ordonnancement réalisable minimisant
la pénalité totale :
coutO=
n
i=1fi(Ci)
existence d’un ordonnancement de coût nul : d’après nos hypothèses, le coût
de chaque tâche est positif ou nul. Donc, s’il existe un ordonnancement de coût
nul chaque tâche a un coût nul, ce qui signifie qu’elle termine à sa date d’échéance
si aucune des pénalités n’est nulle. Bien qu on puisse Verifier à la main s’il existe
un ordonnancement de cout nul avec des pénalités nulles,nous considérerons que
puisque cette étape peut faire intervenir une permutation de l’ordre des tâches,elle
doit être trouvée par nos méthodes de recherche. On peut donc verifier si l’ordon-
nancement : i∈ {1,...,N},Cj=djest réalisable.Cette opération peut se réaliser
en O(N).
2 La Conception théorique du projet
2.1 Les Méthodes de recherche
Le problème d’ordonnancement JAT étant un problème NP-Complet, parcou-
rir l’ensemble de ses solutions pour en déterminer la meilleure, prendrait beaucoup
5
1 / 31 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !