UNIVERSITÉ DE MONTRÉAL
ALGORITHMES DE DÉNOMBREMENT D’EXTENSIONS LINÉAIRES D’UN ORDRE
PARTIEL ET APPLICATION AUX PROBLÈMES D’ORDONNANCEMENT
DISJONCTIF
RACHID CHERKAOUI EL AZZOUZI
DÉPARTEMENT DE GÉNIE INFORMATIQUE ET GÉNIE LOGICIEL
ÉCOLE POLYTECHNIQUE DE MONTRÉAL
MÉMOIRE PRÉSENTÉ EN VUE DE L’OBTENTION
DU DIPLÔME DE MAÎTRISE ÈS SCIENCES APPLIQUÉES
(GÉNIE INFORMATIQUE)
DÉCEMBRE 2015
©Rachid Cherkaoui El Azzouzi, 2015.
UNIVERSITÉ DE MONTRÉAL
ÉCOLE POLYTECHNIQUE DE MONTRÉAL
Ce mémoire intitulé :
ALGORITHMES DE DÉNOMBREMENT D’EXTENSIONS LINÉAIRES D’UN ORDRE
PARTIEL ET APPLICATION AUX PROBLÈMES D’ORDONNANCEMENT
DISJONCTIF
présenté par : CHERKAOUI EL AZZOUZI Rachid
en vue de l’obtention du diplôme de : Maîtrise ès sciences appliquées
a été dûment accepté par le jury d’examen constitué de :
M. BILODEAU Guillaume-Alexandre, Ph. D., président
M. PESANT Gilles, Ph. D., membre et directeur de recherche
M. GALINIER Philippe, Doctorat, membre
iii
REMERCIEMENTS
J’aimerais remercier toutes les personnes m’ayant aidé dans la réalisation de ce projet en
particulier mon directeur de recherche, professeur Gilles, qui fut une source d’inspiration et
de bons conseils. J’aimerais également remercier les membres du laboratoire Quosséça pour
leur soutien et leur agréable compagnie.
iv
RÉSUMÉ
En programmation par contraintes, une contrainte de ressource unaire est un ensemble de
permutations valides des activités chacune avec une fenêtre de temps et une durée. Cette
contrainte est généralisée si on considère des préséances entre activités données sous la
forme d’un ensemble partiellement ordonné. Un problème d’ordonnancement disjonctif peut
être modélisé par une ou plusieurs contraintes de ressource unaire auxquelles s’ajoutent des
contraintes supplémentaires telles que des disjonctions entre activités de différentes ressources
ou des contraintes de séquences. La recherche d’une solution au problème se fait par une sé-
rie de décisions de la position relative d’une paire d’activités associées à une contrainte dont
l’ordre n’est pas encore connu. L’algorithme utilisé dans le choix de la paire ainsi que la posi-
tion relative est appelé heuristique de branchement. Dans le contexte de l’heuristique maxSD,
il s’agit de calculer les densités de solutions de toutes les assignations de paires d’activités
à un ordre et ensuite de brancher sur celle de densité maximum. Pour adapter cette heuris-
tique aux problèmes d’ordonnancement avec contraintes de ressource unaire, on considérera
les densités de permutations dans lesquelles une activité est placée avant l’autre dans l’ordre
partiel associé à chaque contrainte. Pour ce faire, on propose deux algorithmes exact et heu-
ristique pour le calcul des densités de permutations dans un ensemble partiellement ordonné.
Ces algorithmes sont utilisés dans l’heuristique de branchement pour résoudre la version de
satisfaction de contraintes du problème Job-Shop, un cas typique d’ordonnancement avec
ressources unaires.
v
ABSTRACT
In constraint programming a unary resource constraint is a set of valid permutations of ac-
tivities each with a time window and a duration. This constraint is generalized if we consider
precedence constraints between activities given by a partially ordered set. A disjunctive
scheduling problem can be stated as a combination of one or more such constraints for which
some additional constraints such as disjunction or sequence of activities on different resources
may be added. In this model, a solution is found by a series of decisions on the relative po-
sition of a pair of activities on a same resource and for which the order is unknown. The
algorithm used to select the pair and the order is called a branching heuristic. In the context
of maxSD, densities of all assignments of pairs and order are computed and the assignment of
maximum density is selected. In order to adapt this heuristic for scheduling problems with
unary resources, we will consider the permutations of the partial order in which the rank
of an activity is superior to another. For that, we propose exact and heuristic algorithms
that compute the density of permutations in a partially ordered set. These algorithms are
then used in branching to solve the constraint satisfaction version of the Job-Shop scheduling
problem, a typical use case of scheduling with unary resource constraints.
1 / 72 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 !