• Aucun résultat trouvé

PROBLEME MURDS

149 réduit dans le voisinage, ce qui rend une recherche locale inefficace pour ce genre de

6.3 Algorithme génétique hybride collaboratif

6.3.2 Processus d'intensification

L'intégration d'un processus d'intensification au sein d'un algorithme génétique a été appliqué dans plusieurs domaines de recherche avec succès [Focacci et al., 2002;

Talbi, 2002; Talbi, 2009]. L'incorporation d'heuristiques et/ou d'autres approches, telles les méthodes exactes en général et la programmation par contraintes en particulier, peut être effectuée au niveau de la phase d'initialisation d'un AG pour générer des individus de bonne qualité au sein de la population initiale et/ou pendant la phase de reproduction pour améliorer la qualité des enfants générés.

Nous proposons, dans cette section, un processus d'intensification pour l'algorithme génétique proposé au Chapitre 4 qui intègre l'approche de résolution par l'ordonnancement basé sur les contraintes proposé au Chapitre 5. Celui-ci est appliqué pendant la phase de reproduction afin d'améliorer la qualité des enfants générés dans un espace de recherche spécifique. Il est à noter qu'il n'existe que quelques travaux traitant ce genre d'hybridation dans la littérature [Puchinger et Raidi, 2005; Talbi, 2009]. Nous proposons, dans ce qui suit, deux processus distincts d'intensification : le premier optimise le retard total alors que le deuxième optimise le Makespan. L'introduction du Makespan et le choix de ces deux processus sont justifiés et expliqués dans les deux prochaines sous-sections.

155 6.3.2.1 Processus d'intensification optimisant le retard total

L'idée de base utilisée pour appliquer le processus d'intensification consiste à fournir à l'approche de programmation par contraintes proposé au Chapitre 5 une sous-séquence de travaux afin de l'optimiser tout en tenant compte du reste de la sous-séquence.

Plus précisément, lors de la phase de croisement, après avoir généré un enfant E à partir de deux parents PI et P2, une sous-séquence de longueur n - a de l'enfant E est traitée par le solveur en fixant les a autres travaux de la séquence. Le paramètre a est à déterminer. Ainsi, l'ordre absolu est préservé pour la partie du chromosome fixé. Ce processus d'intensification est noté

INTRET-L'efficacité de ce processus d'intensification dépend donc essentiellement de deux éléments : la longueur de la sous-séquence LongMAX (n-a) et le temps alloué au solveur Temps MAX pour la traiter. En effet, si LongMAX est trop petit, aucune amélioration de la fonction objectif peut être observée. En revanche, si LongMAX est trop grand, le solveur peut manquer de temps pour terminer entièrement l'optimisation de cette sous-séquence.

Dans le but d'améliorer la performance du processus d'intensification INTRET, la meilleure valeur du retard total trouvée jusqu'ici est passée au solveur comme contrainte supplémentaire afin d'élaguer plus rapidement les branches de l'arbre de recherche et en accélérer le traitement.

6.3.2.2 Processus d'intensification optimisant le Makespan

Nous avons remarqué que les résultats des différentes versions de l'algorithme génétique présentés à la Section 4.3 avaient des écarts importants avec le TABOU/VNS principalement pour les instances de type **1 et **5. Ces deux types d'instance ont deux caractéristiques en commun : un domaine de retard restreint et un facteur de retard bas.

Nous avons remarqué, en examinant les solutions optimales associées à ces instances, qu'il y a moins de 20 % de l'ensemble des travaux qui sont en retard et que ceux-ci se retrouvent généralement à la fin de séquence. Ainsi, en supposant que l'algorithme génétique amène ces travaux en retard en fin de la séquence, il est alors judicieux d'ordonnancer les travaux du début de la séquence en minimisant leur temps de fin d'exécution. De ce fait, les retards des travaux en fin de séquence sont ainsi diminués. Le problème étudié devient alors un problème de voyageur de commerce asymétrique l\sr\ Cmax. D'un autre côté, Bigras et al. [2008] ont également utilisé la similarité du problème 11 su | Cmax avec le problème 11 sSj \ ^Tj pour résoudre ce dernier en utilisant des relaxations lagrangiennes. La formulation du problème 11 stJ | Cmax par l'approche d'ordonnancement basé sur les contraintes est toutefois différente de celle du problème

présentée à la Section 5.3. Toutefois, il suffit de modifier la définition de la fonction objectif en introduisant tout d'abord la variable Cmax de type IloNumVar qui représente le Makespan. Ensuite, à la création de toute activité A/, une contrainte est introduite pour imposer une date de fin inférieure à Cmax à l'aide de la méthode I l o A c t i v i t y : : endsBef o r e ( ). Enfin, une contrainte qui minimise la variable Cmax avec la méthode I l o M i n i m i z e (IloNumVar) est ajoutée.

Le processus d'intensification impliquant cette nouvelle formulation est noté

INTCMAX et fonctionne de la même manière que INTRET- Après avoir appliqué le croisement RMPX, une sous-séquence de longueur n - a est traitée par le solveur. De même, pour améliorer la performance du processus d'intensification, la valeur initiale du

157 Makespan de la séquence est fournie au solveur pour élaguer le plus rapidement l'arbre de recherche.

Comme dans le cas de CHCBS, les processus d'intensification INTRET et INTCMAX

peuvent ne pas retourner de solutions dans le temps imparti. Dans ce cas, les individus originaux sélectionnés sont retournés à YAG.

La Figure 6-3 illustre le fonctionnement du processus d'intensification impliquant

INTRET et INTCMAX- À chaque génération, un enfant est sélectionné par tournoi binaire avec une probabilité pIP. Ensuite, suite à des tests expérimentaux, a positions contigùes sont fixées avec n*0.2 < a < n*0.S où n est le nombre de travaux à traiter. Ainsi, la taille de la sous-séquence fournie au solveur LongMAx est variable dans l'intervalle n*0.2

< LongMAx < «*0.8. Finalement, l'un des deux processus d'intensification, INTRET OU INTCMAX est appliqué et le choix du processus à appliquer est équiprobable.

Population (t)

Sélection par tournoi avec une probabilité p,P

a positions fixés

Choisir et appliquer un processus d'intensification équiprobablement

Enfant final

Figure 6-3: Fonctionnement du processus d'intensification

6.3.3 Résultats et discussions sur la performance de l'approche collaborative