• Aucun résultat trouvé

Une nouvelle heuristique pour minimiser le Makespan : IBI

Dans cette section, nous proposons une heuristique constructive conçue pour mi- nimiser l’objectif du Makespan grâce à l’intégration de connaissances génotypiques des solutions. Pour cela, une analyse de la structure des solutions optimales est nécessaire.

3.3.1 Analyse de la structure d’une solution optimale

Comme présenté dans la section3.2, chacune des heuristiques commence par une solution vide, à laquelle elle ajoute de manière itérative une tâche en minimisant l’objec- tif partiel, jusqu’à ce que toutes les tâches soient ordonnancées. Dans cette section, nous allons analyser étape par étape, l’évolution de la solution optimale pour un ensemble de tâches d’une instance partielle. Afin de comprendre la dynamique de la construc- tion d’une telle solution. Nous avons donc observé la structure des solutions optimales pour chaque taille d’instance partielle, puis nous avons observé les différences pré- sentes entre les solutions de taille ±1.

SoitPk, une instance du NWFSP ayant k tâches à ordonnancer. Pour k petit, il est

possible de connaître la solution optimale puisque l’ensemble des solutions est énumé- rable en un temps raisonnable. Nous pouvons donc énumérer toutes les solutions pos- sibles pour un k ≤ 12. Une instance Pk+1est définie commePk+1= Pk+Nouvelle tâche,

cela afin de garder à chaque fois les mêmes données pour chaque taille d’instance. Ainsi nous pouvons observer pour chaque taille d’instance l’évolution de la meilleure solu- tion entre les différentes tailles. Observer les solutions optimales des ensemblesPk et

P(k + 1) revient à étudier quelles sont les opérations nécessaires pour passer d’une so-

lution optimale de taille k à une solution optimale de taille k + 1, où juste une nouvelle tâche à été ajoutée.

Notre proposition est d’étendre les observations réalisées sur un ensemble de sous- problèmes de petite taille, afin d’obtenir une meilleure solution sur les problèmes de grandes tailles.

Le Tableau3.1décrit l’évolution de la solution optimale au fur et à mesure de l’ajout de nouvelles tâches. Nous observons que dans une majorité des cas, la structure de la so- lution est globalement conservée, donc que son génotype change peu. En effet, une in- sertion simple (en rouge dans le tableau) suffit pour garder la meilleure solution. Néan- moins pourP6,P9, P10etP12, une à deux tâches ont eu besoin d’être déplacées par

rapport à la solution du problème précédent pour obtenir la solution optimale.

On peut donc déduire qu’une stratégie d’insertion comme dans l’heuristique NEH s’éloignera de la solution optimale dès la 6eitération pour cet exemple. Car au-delà, des

P Solution optimale Makespan P1= 1 1 273 P2= 1,2 1 2 352 P3= 1..3 3 1 2 367 P4= 1..4 3 1 4 2 471 P5= 1..5 3 1 5 4 2 580 P6= 1..6 3 6 5 4 2 1 628 P7= 1..7 3 1 5 4 2 6 7 705 P8= 1..8 3 8 1 5 4 2 6 7 749 P9= 1..9 9 1 5 4 2 6 7 8 3 794 P10= 1..10 9 1 4 2 6 5 10 7 8 3 851 P11= 1..11 9 11 1 4 2 6 5 10 7 8 3 952 P12= 1..12 9 1 4 2 6 5 10 7 12 11 8 3 1021

TABLEAU3.1 – Évolution de la solution optimale sur l’instance Ta01 (020x05) avec les 12 premières tâches pour le Makespan. En rouge, la nouvelle tâche à ajouter par rapport l’itération précédente. En bleu, les tâches ayant été réinsérées ailleurs dans la solution optimale par rapport à l’itération précédente.

La figure3.2explicite ce phénomène pour le passage deP8àP9. A partir de la so-

lution optimale deP8, la 9e tâche est insérée à la position qui minimise le Makespan

du problèmeP9. En comparant la solution obtenue avec la solution optimale deP9,

on peut observer qu’elles sont très proches. En effet, seules deux réinsertions amélio- rantes (réinsertions des tâches 3 et 8) sont nécessaires pour obtenir la solution optimale à partir de la solution construite itérativement.

P8 3 8 1 5 4 2 6 7 Cmax∗ = 749

Insertion de la tâche 9 3 9 8 1 5 4 2 6 7 Cmax= 804

P9 re-insertion de la tâche 3 9 8 1 5 4 2 6 7 3 Cmax= 795

re-insertion de la tâche 8 9 1 5 4 2 6 7 8 3 Cmax∗ = 794 FIGURE3.2 – Exemple de l’évolution de la structure d’une solution optimale d’un pro- blèmeP8de taille 8 à un problèmeP9de taille 9.

Cette étude a été réalisée sur les 30 premières instances de Taillard, de Ta001 à Ta030 (c’est-à-dire pour 5 à 20 machines, sur les 12 premières tâches de chaque instance), ce qui a confirmé les observations suivantes :

— L’insertion d’une nouvelle tâche produit une solution peu éloignée de la solution optimale du nouveau problème.

— La solution construite peut-être modifiée avec peu de ré-insertions pour obtenir la solution optimale.

3.3.2 Heuristique constructive utilisant des réinsertions partielles

Suite à ces observations, nous proposons une nouvelle heuristique constructive ap- pelée Iterated Best Insertion (IBI). A chaque itération, deux phases sont successivement réalisées : (a) la première tâche non planifiée restante est insérée dans la solution par- tielle afin de minimiser le makespan partiel (même stratégie que NEH) et (b), une amé- lioration itérative est effectuée sur cette solution partielle pour réorganiser les tâches et afin d’être plus proche de la solution optimale du sous-problème (voir Algorithme 3.5). Une amélioration itérative (aussi appelée descente) est une méthode qui se déplace, en utilisant un opérateur de voisinage, d’une solution voisine à une autre améliorante, pour optimiser la qualité. Elle s’arrête naturellement lorsqu’un optimum local (une solution sans solution voisine améliorante) est atteint. Ici, l’opérateur de voisinage est basé sur l’insertion et lorsqu’un mouvement possible améliorant le Makespan est trouvé, il est appliqué.

Algorithme 3.5 : IBI

Entrées : Ensemble J de n tâches,σ critère pour trier les tâches J , c ycle nombre d’itérations sans amélioration

Sorties :π la séquence des tâches ordonnancées π = ;;

// (i) Cr´eation de l’ordre initial

Trier l’ensemble J par rapport àσ;

// (ii) Insertion

pour k = 1 à n faire

Insérer la tâche Jkdansπ à la position qui minimise le Makespan partiel;

si k ≡ c ycl e = 0 alors

Réaliser une descente surπ; retournerπ

Deux paramètres ont été introduits dans l’algorithme proposé. Le premier est le tri initialσ pour l’ensemble des tâches J ; il indique dans quel ordre les tâches sont considé- rées pendant la construction. Le deuxième, appelé c ycl e, représente le nombre d’itéra- tions sans appliquer la procédure de descente. En effet, même si l’analyse expérimentale montre que la séquence construite en phase (a) n’est pas très éloignée de l’optimum du sous-problème, on sait que le temps d’exploration du voisinage croît avec la taille du problème. Afin de contrôler la performance de IBI et du temps de calcul nécessaire, le paramètre c ycl e permet à la descente d’être exécutée à un nombre régulier d’itérations uniquement.