• Aucun résultat trouvé

III in ill

167 fait en sorte qu'une technique soit un composant incorporé d'une autre technique. Dans

6.4.1 Domaine de positions associé à un travail

Dans les chapitres précédents, nous avons constaté qu'il est très important d'utiliser des mécanismes ayant la capacité de préserver et de maintenir à la fois l'ordre absolu et l'ordre relatif pour la résolution du problème MURDS. Nous avons également remarqué que l'opérateur de croisement RMPX ainsi que l'opérateur de croisement hybride CHCBS

permettent de maintenir davantage l'ordre relatif que l'ordre absolu. Le mécanisme décrit dans cette présente section a pour but de renforcer le maintien et la préservation de l'ordre absolu.

A titre de rappel, la conservation de l'ordre absolu pendant un croisement revient à ce que les travaux issus de l'un des deux parents gardent leurs positions initiales. En d'autres termes, par exemple, si les travaux 1 et 3 se trouvent aux positions 4 et 6 dans le premier parent et que l'information du premier parent est conservée dans l'enfant généré, alors les travaux 1 et 3 doivent se retrouver dans les positions 4 et 6. Maintenant, le problème qui se pose est de déterminer quels travaux doivent être fixés pendant le croisement et/ou quelles positions doivent être fixées avec ces travaux. En effet, le

processus doit préserver assez de diversité en évitant de générer des individus identiques et ainsi faire converger l'algorithme génétique prématurément.

L'idée consiste à utiliser le concept de « domaines de valeurs » de la programmation par contraintes ou en ordonnancement basé sur les contraintes pour déduire de l'information reliée au positionnement des travaux. En ordonnancement basé sur les contraintes, le processus de résolution construit des domaines pour les variables de début et de fin des activités. Dans notre cas, nous avons besoin de domaines contenant les positions potentielles associées à un travail. En programmation par contraintes, les domaines des variables sont construits au début du processus et les contraintes et la propagation de celles-ci sont appliquées, par la suite, pour réduire les domaines. La construction des domaines se fait à partir des données en entrée du problème. Dans notre cas, l'information est récupérée à partir de l'algorithme génétique pour construire le domaine de positions pour chaque travail. Toutefois, une population à un temps t comporte, à la fois, de bonnes et de mauvaises solutions. Ces dernières peuvent alors dégrader «l'information » utilisée par le processus pour établir les domaines de positions.

Pour surmonter ce problème, l'information utilisée pour construire les domaines est récupérée, non pas à partir de la population, mais plutôt à partir d'une archive qui sauvegarde les meilleures solutions tout au long du processus d'évolution comme c'est le cas des algorithmes évolutifs multi-objectifs utilisant les concepts de solutions Pareto-optimales [Zitzler et Thiele, 1999]. La mise à jour de cette archive est effectuée à chaque création d'un nouvel individu. La taille de l'archive, notée N, est égale au nombre de travaux du problème traité et contient les N meilleurs individus trouvés durant l'algorithme.

169 À partir de cette archive, les domaines des travaux sont établis en deux étapes. Tout d'abord, une matrice de probabilités POSA est construite de la manière suivante :

Vje[\,n]etke[\,n~]

1=1

T>n?A\ •im _ fréquence d]apparition du travail j à la position 1 n

avec n la taille du problème considéré

Cette matrice contient, pour chaque travail y, la probabilité cumulée que ce travail soit à une position donnée k à partir du début de la séquence. C'est à partir des probabilités de cette matrice que nous déterminons la borne supérieure du domaine de positions associé au travail/

De même, une autre matrice de probabilités POSR est construite de la manière suivante :

Vye[l,«]efÀ:e[l,H

p/oçDr .ir i _ fréquence d'apparition du travail j à la position n n

avec n la taille du problème considéré

Celle-ci contient pour chaque travail j , la probabilité cumulée que ce travail soit à une position donnée k à partir de la fin de la séquence. C'est à partir des probabilités de cette matrice que nous déterminons la borne inférieure du domaine de positions associé au travail j .

À la deuxième étape, le domaine de chaque travail est alors défini à l'aide des matrices POSA et POSR. Pour cela, considérons un seuil s A qui représente la probabilité

cumulative nécessaire pour fixer la borne supérieure ou inférieure. Par exemple, pour un travail y, si s A est égal à 0.5 et que la probabilité cumulée 0.5 est atteinte dans POSA à la position k égale à 6, alors la borne supérieure du travail y' est fixée à la sixième position. Il en va de même pour le calcul de la borne inférieure POSR. Ainsi, ces bornes représentent la position maximale et minimale à laquelle un travail peut apparaître dans la séquence en construction. Toutefois, il est possible que le travaily n'apparaisse jamais dans certaines positions spécifiques du domaine dans les chromosomes de l'archive puisque les bornes sont construites à partir de probabilités cumulatives. Cependant, ce mécanisme permet d'ajouter de la diversité pendant la phase d'évolution. Il peut également exister le cas où le domaine d'un travaily couvre toutes les positions parce que celui-ci apparaît dans l'une ou l'autre des solutions de l'archive à chacune des positions. Dans ce cas limite et dans le cas de domaines très étendus, cette information n'a toutefois pas beaucoup d'utilité car l'objectif de ce processus est de limiter le nombre de positions par domaine. À partir du domaine ainsi construit, il est maintenant possible de choisir et de fixer, pour le travail j , une position dans son domaine.

Pour expliquer plus en détails le fonctionnement de la construction des domaines, considérons, à la Figure 6-4 pour une instance de 8 travaux, les lignes des matrices POSA et POSR pour le travail7. Si le seuil SA est égal à 0.7, alors la borne supérieure est égale à 6 et la borne inférieure est égale à 3. Ainsi, pour le travail j , le domaine de positions possibles est [3,6]. Par la suite, le travaily peut être fixé à l'une des positions 3, 4, 5 et 6.

De plus, nous remarquons que ce travail n'apparaît pas à la position 4 puisque la probabilité cumulative entre 3 et 4 est la même. Cette position fait tout de même partie du domaine pour assurer une éventuelle diversité comme décrit un peu plus haut.

171

Figure 6-4: Construction des domaines de positions pour un travaily