• Aucun résultat trouvé

Algorithmes génétiques et Single Machine : état de l’art

5. Algorithmes Génétiques, Fouille de Données, et Simulation pour l’Allocation de Règles

6.3. Algorithmes génétiques et Single Machine : état de l’art

population initiale, l’évaluation des chromosomes, la sélection, le croisement, et la mutation. Durant la génération de la population initiale, les chromosomes peuvent être générés aléatoirement [45], ou en se reposant sur d’autres heuristiques ou méta-heuristiques qui

construisent de meilleures solutions, réduisent les chances d’atteindre un optimum local, et permette d’atteindre, idéalement, une solution optimale. C’est le cas notamment de Liu et al.

[46] qui utilise cinq règles de priorité lors de la génération de la population initiale. L’algorithme génétique évalue tous les chromosomes de la population et leur affecte une valeur

163

(fitness) qui permet de déterminer leurs chances de survie dans la prochaine génération via une procédure de sélection. La sélection tente de maintenir les chromosomes avec le plus grand potentiel en faisant appel au croisement et à la mutation. Dans littérature plusieurs techniques de sélection sont adoptées, par exemple, Armentano & Mazzini [39] considèrent une sélection par roulette afin de déterminer l’ensemble de chromosomes à faire évoluer. Sevaux & Sörensen

[45] utilisent une sélection par classement (ranking selection) qui favorise les chromosomes les mieux classés de la population comme premier parent, alors que le second est choisi aléatoirement. Chou [53] propose une procédure de sélection appelée « Lowerbound-Base Bias

Roulette » qui donne une plus grande probabilité de sélection au chromosome avec la borne

inférieure la plus petite donnée par le Branch & Bound. Kapanoglu & Alikalfa [88] utilisent une sélection par tournoi avec élitisme, où un groupe de chromosomes avec les meilleures valeurs de critère d’optimisation est sélectionné pour la reproduction. Quant à l’élitisme, il consiste à maintenir le meilleur individu de la population et d’assurer sa survie dans la prochaine population en le protégeant contre les opérateurs d’évolution.

Une fois les chromosomes sélectionnés pour le processus d’évolution, l’algorithme génétique utilise les opérateurs de croisement ou de mutation. Dans la littérature on dénombre plusieurs procédures de croisement comme « Partially Mapped Crossover », « Cycle Crossover », « Order Crossover », ou « Edge Recombination » [13]. Par exemple, Sevaux & Sörensen [45]

utilisent un croisement à un point (one-point crossover) qui construit le premier fils en copiant la première partie du premier parent jusqu’à atteindre un point de coupure choisi aléatoirement et complète par les gènes manquants en suivant la séquence donnée par le second parent. La même procédure est répétée pour construire le second fils en inversant les rôles des deux parents. En ce qui concerne la mutation, il est possible d’opter pour un échange de valeur d’un gène, un échange de gènes, ou d’autres techniques afin de diversifier la population.

Pour résoudre le SMTWT de nombreuses approches de la littérature s’orientent vers les algorithmes génétiques. C’est le cas de Armentano & Mazzini [39] qui utilisent l’AG pour résoudre le problème à Machine Unique avec temps de préparations, dates d’échéances, et la somme des retards comme critère d’optimisation. L’algorithme génétique proposé repose sur méthode de croisement modifiée qui se base sur la techniques « edge recombination crossover ». Les expérimentations sont menées sur plusieurs ensembles de problèmes avec 30, 32, et 90 instances. Liu et al. [46] utilisent des règles de priorité lors de la génération de la population initiale afin de réduire l’espace de recherche et introduisent une nouvelle procédure de croisement. Lors de expérimentations, l’algorithme génétique proposé est comparé avec « Descent Method with Zero Interchanges », « Descent Method », EDD, et « Weighted Shortest

Processing Time » (WSPT) en utilisant des problèmes à Machine Unique avec minimisation de

la somme des retards pondérés composés de 50, 100, 200, et 500 tâches. Les règles de priorité considérées lors de la génération de la population initiale sont : EDD, WSPT, « Shortest

Processing Time » (SPT), « Biggest Weight First », et « Apparent Urgency ».

Dans une autre contribution, Ferrolho & Crisóstomo [50] ont développé un outil appelé « HybFlexGA » dans lequel ils implémentent et testent plusieurs procédures de croisement et de mutation pour la résolution de benchmarks SMTWT constitués de 40, 50, et 100 tâches. Ces benchmarks sont issues de la fameuse OR-Library [141]. Chou [53] a développé ELGA

164

« Experienced Learning Genetic Algorithm » pour la résolution des problèmes SMTWT. La particularité d’ELGA réside dans le fait qu’il reprend les informations de l’ensemble des chromosomes de la population précédente lors de l’évolution contrairement aux autres AG de la littérature où uniquement les informations des parents sont prises en considération. Pour se faire, l’auteur utilise deux matrices tâche-tâche (job-job) et position-tâche (position-job) pour créer les nouveaux chromosomes à prendre en considération lors de la génération suivante. Les expérimentations sont menées sur des problèmes à Machine Unique issues de l’OR-Library, où ELGA arrive à atteindre quasiment l’ensemble des solutions optimales.

Azadeh et al. [57] proposent un algorithme génétique pour la résolution d’un problème à Machine Unique avec « m-familles » (m ensembles de tâches similaires) et trois objectifs à optimiser à la fois (optimisation multi-objectifs). Les auteurs proposent une procédure de croisement appelée « parameterised uniform crossover » qui repose sur le jet d’une pièce (biased coin) afin d’identifier le ou les parents à considérer pour créer de nouveaux chromosomes. Les auteurs considèrent une mutation basée sur l’échange de gènes (swap). Les objectifs du problème d’ordonnancement sont : la minimisation du retard (tardiness), les temps de cycle (cycle time), et la maximisation de l’utilisation des machines. Lors des expérimentations, plusieurs ensembles de problèmes sont générés et sont constitués de 10, 20, 50, et 100 tâches, des temps d’exécution variants entre 1 et 5 et un nombre de familles fixé à 3, 5, 10, 20, ou 50. Une étude comparative est effectuée avec les règles de priorité SPT et EDD.