• Aucun résultat trouvé

Principes généraux

Dans le document Habilitation à Diriger des Recherches (Page 32-35)

Le paradigme des algorithmes évolutionnistes (De Jong, 2000 ; Bäck, 2000a) fondé dans les années 1960, consiste à s’inspirer des mécanismes de l’évolution naturelle et à utiliser le concept de populations d’individus ou solutions pour résoudre des problèmes du monde réel.

La mise en œuvre relativement aisée de ces algorithmes ainsi que les nombreux succès qu’elles ont obtenus ont contribué à leur développement spectaculaire ces vingt dernières années (Bäck, 2000b ; 2000c). Ce développement porte à la fois sur leur diffusion dans de très nombreux domaines d’application ainsi que sur l’étude et l’exploration des mécanismes d’évolution eux-mêmes. De nombreuses applications de ces méthodes concernent le domaine des systèmes de production (Pierreval, 2003) et notamment le domaine de l'ordonnancement (Portmann, 2001).

4

Figure II-1 Algorithmes évolutionnistes : (Schoenauer, 2001)

Le cycle principal d’un algorithme évolutionniste présenté en Figure II-1consiste à sélectionner des individus parents à partir d’une population de départ, qui en se reproduisant par des opérations de "croisement" et "mutation" engendrent de nouveaux individus. Une nouvelle population est ainsi constituée par "remplacement" de l’ensemble ou d’une partie de la population de départ, par ces nouveaux individus. La répétition de ce cycle de base engendre donc une succession de générations de solutions, jusqu’à satisfaction d’un critère donné de fin de cycle.

La "sélection" est basée sur une évaluation de chaque individu qui détermine le degré d’adaptation de cet individu dans son environnement ; le résultat de cette évaluation est appelé " fitness ou force" de l’individu.

Par analogie avec la biologie, la terminologie courante désigne la représentation d’un individu par le terme “ génotype ” et désigne le comportement de celui-ci dans un environnement donné par le terme “ phénotype ”.

Le modèle général des algorithmes évolutionnistes doit être adapté au problème traité. Il est nécessaire de définir en particulier la représentation des solutions ou génotypes, la fonction d’évaluation des solutions ainsi que les opérateurs génétiques. Les opérations de sélection et de remplacement sont, quant à elles, indépendantes des choix de représentation.

Le concept d’algorithme évolutionniste se décline en plusieurs modèles recensés ci-dessous et décrits en Figure II-2. ne s’agit pas de décrire en profondeur chacun de ces modèles mais simplement de préciser leurs principales caractéristiques. En outre, ce recensement n’est pas exhaustif ; d’autres techniques sont aux frontières du domaine telles que les “ Classifiers ”(Holland, 1986) par exemple ou telles que le modèle récent des colonies de fourmis (Dorigo ,1996). Evaluation Remplacement Sélection Meilleur Individu Croisement, Mutation Arrêt ? PARENTS Oui Non Initialisation Evaluation ENFANTS

Figure II-2 Taxonomie des algorithmes évolutionnistes

- Programmation Evolutive ou Evolutionary Programming (Fogel, 1966). Ce modèle évolutionniste accentue l’utilisation de la mutation et n’utilise pas dans sa version originale la recombinaison des individus par croisement. Développé à l’origine pour l’évolution d’automates à état-fini, ce modèle est souvent appliqué à la résolution de problèmes d’optimisation à variables réelles. Dans ce cas, il utilise une mutation qui consiste à ajouter une perturbation Gaussienne à chaque composante du vecteur à variables réelles constituant l’individu. Cette perturbation est basée sur la performance de l’individu : l’idée consiste à faire subir des mutations importantes aux mauvais individus et inversement des mutation faibles aux bons individus. L’opérateur de sélection est de type probabiliste : il s’agit de la méthode du tournoi basée sur une compétition entre individus choisis aléatoirement. Il est à noter que la représentation des individus n’est pas contrainte à une forme spécifique de génome telle que dans une représentation linéaire de type chaîne binaire par exemple. En effet, l’opérateur de recombinaison qui induit de fortes contraintes de représentation, est ici absent.

- Stratégies d’Evolution ou Evolution Strategies (Schwefel, 19955). Elles ont été développées pour résoudre des problèmes d’optimisation industriels à variables réelles dans lesquels il n’existe pas de fonction d’objectif analytique. Rappelons que dans le contexte général de l’optimisation, chaque individu représente un point dans l'espace de recherche des solutions potentielles au problème donné. Ce modèle des Stratégies d’Evolution utilise le principe de mutation sur les réels du modèle de la Programmation Evolutive. Cependant, ce principe a été affiné de sorte que la fonction de perturbation Gaussienne est contrôlée par l’ensemble de la population courante. Une mise en œuvre de ce principe est la règle des 1/5 de Rechenbergh (1973) : sur un intervalle de temps passé de profondeur donné, lorsque la proportion de descendants de bonne qualité i.e. nombre de mutation à succès, dépasse 20 % de la population totale, l’intensité de cette mutation est augmentée. Cette augmentation se traduit par un accroissement de la variance caractérisant la perturbation gaussienne. Elle est diminuée dans le cas opposé. Une interprétation possible de cette règle est la suivante : si la proportion de mutation réussie est élevée, l’espace de recherche exploré est restreint autour d’un optimum local, il faut donc diversifier la population en augmentant le taux de mutation. Ces approches utilisent un opérateur de sélection de type déterministe: les solutions dont le fitness est mauvais sont éliminées de la population. En outre, dans le modèle originel, les populations des parents et de leurs descendants sont généralement de taille différente.

5

La référence d’origine (1965) est en allemand

Algorithmes Evolutionnistes Stratégies d’Evolution Algorithmes Génétiques Programmation Evolutive Programmation Génétique

Il convient de noter que le principe de mutation présenté ci-dessus est une caractéristique importante qui préfigure la mutation auto-adaptative et l’extension du processus d’évolution aux paramètres de contrôle de l’algorithme génétique. En effet, la variance de la mutation peut être ajustée au cours du temps par le processus d’évolution. Les méthodes évolutionnistes auto-adaptatives visent précisément à automatiser le réglage des paramètres de l’algorithme évolutionniste et ainsi à remédier aux méthodes empiriques du type “ essais erreurs ” qui sont employées dans la pratique.

- Algorithmes Génétiques ou Genetic Algorithms (Holland, 1962 ; Goldberg, 1989; Michalewicz, 1996). Contrairement au modèle de la Programmation Evolutive, les algorithmes génétiques favorisent l’utilisation du croisement comme principal opérateur de recherche. Il utilise cependant la mutation avec un faible pourcentage de probabilité. Une méthode de sélection de type probabiliste est utilisée. La représentation des individus - i.e. génotype, qui est à l’origine de type binaire, a été par la suite étendue à de nombreuses autres formes de représentation. L’opérateur de sélection est comme dans le modèle précédent de type probabiliste avec un tirage des individus basé sur la méthode de la roulette dans laquelle la probabilité de sélection est proportionnelle au

fitness de l’individu.

- Programmation Génétique ou Genetic Programming (Koza, 1992) est une extension du modèle d’apprentissage des algorithmes génétiques à l’espace des programmes. Les individus formant une population sont donc des programmes candidats à la résolution d’un problème. Ces programmes sont exprimés sous la forme d’arbres sur lesquels les opérateurs génétiques produisent des transformations en vue d’obtenir un programme qui satisfait la résolution du problème choisi.

Ces différents modèles évolutionnistes dont les origines diffèrent et qui possèdent chacun leur spécificité tendent aujourd’hui à converger vers le modèle unique des algorithmes évolutionnistes intégrant les particularités de chacun des modèles.

Par ailleurs, deux types d’extensions fondamentales ont été développés à partir du concept de base de ces algorithmes:

- la première extension, concerne la résolution de problèmes d’optimisation sous contraintes (Schoenauer, 1993). Dans ce domaine, trois approches de résolution peuvent être distinguées: la première vise à pénaliser les individus ne satisfaisant pas les contraintes, appelés “ individus infaisables ”, en diminuant artificiellement leur

fitness; la seconde approche possible tend à modifier par réparation les solutions infaisables pour satisfaire les

contraintes; la dernière approche vise quant à elle, à engendrer uniquement des solutions faisables par une représentation et des opérateurs génétiques adaptés. Dans cette dernière catégorie, il convient de mentionner l’utilisation de "décodeurs" qui correspondent à des individus particuliers donnant des instructions sur la manière de générer des solutions acceptables.

- la seconde extension majeure des algorithmes évolutionnistes concerne la résolution de problèmes d’optimisation multicritères . Nous avons choisi de développer plus en détail ces approches dans le paragraphe suivant, car ce type d’approche évolutionniste a été exploité pour la résolution d’un problème d’ordonnancement dans la suite de notre travail.

Dans le document Habilitation à Diriger des Recherches (Page 32-35)

Documents relatifs