• Aucun résultat trouvé

1 tant que La condition d’arrˆet n’est pas satisfaite faire 2 s← ConstructionGloutonneAleatoire() 3 s← RechercheLocale(s) 4 si (f (s) < f (sopt)) alors 5 sopt ← s 6 fin 7 fin 8 retourner sopt

La proc´edure principale de l’algorithme GRASP est la construction probabiliste de solutions. C’est une construction it´erative, i.e., en partant d’une solution vide, et en ajoutant des composants de solution jusqu’`a obtenir une solution compl`ete. Cette construction qui n’utilise pas de m´emoire11s’appuie sur une strat´egie gloutonne

al´eatoire. A chaque ´etape de construction, les composants de solution `a ajouter `a la solution en cours de construction (i.e., une solution partielle) sont choisis `a partir d’une liste appel´ee la liste de candidats restreints (de l’anglais Restricted Candidate List : RCL). Cette liste contient `a chaque ´etape de construction un sous-ensemble de composants de solution qui peuvent ˆetre utilis´es pour ´etendre la solution partielle. Les ´el´ements de la liste RCL sont s´electionn´es en fonction d’un crit`ere heuristique qui estime localement la qualit´e des composants de solution. Apr`es la d´etermination de la liste RCL, un composant de solution est choisi uniform´ement au hasard. Un param`etre important de l’algorithme GRASP est la taille de la liste RCL, not´ee α. Si α = 1, la construction de solutions est d´eterministe et les solutions construites sont gloutonnes. Dans l’autre cas extrˆeme, -c’est-`a-dire, si la liste RCL contient toujours tous les composants de solution qui peuvent ˆetre ajout´es aux solutions partielles,- une 11En revanche, les algorithmes de colonies de fourmis (Ant Colony optimization : ACO), voir la

section 1.4.3, construisent ´egalement des solutions de fa¸con incr´ementale, mais ils m´emorisent et utilisent l’historique de la recherche.

solution al´eatoire est g´en´er´ee sans aucune influence de la r`egle heuristique. De ce fait, α est un param`etre critique qui n´ecessite un r´eglage fin.

La seconde phase de la m´ethode GRASP consiste en l’application d’une proc´edure de recherche locale sur la solutions construite. Ceci peut ˆetre une recherche locale de base comme la descente, ou plus avanc´ee comme un algorithme de recuit simul´e ou une recherche tabou. D’apr`es (Blum et Roli, 2003), l’algorithme GRASP peut ˆetre plus efficace si deux conditions sont satisfaites : (1) la strat´egie de construction de solutions ´echantillonne des r´egions prometteuses de l’espace de recherche, et (2) les solutions construites sont de bons points de d´epart pour la recherche locale utilis´ee, i.e., les solutions construites sont situ´ees dans des bassins d’attraction d’optima locaux de qualit´e ´elev´ee.

1.4

M´etaheuristiques `a population de solutions

Les m´etaheuristiques `a base de population travaillent sur un ensemble (dit popula- tion) de solutions (on dit aussi individus). Comme elles manipulent une population de solutions, elles fournissent une capacit´e naturelle et intrins`eque pour l’exploration de l’espace de recherche. Leurs performances d´epondent fortement de la fa¸con dont la po- pulation est manipul´ee. Elles sont divis´ees principalement en deux grandes cat´egories : les algorithmes ´evolutionnaires et les algorithmes d’intelligence en essaim.

Les algorithmes ´evolutionnaires (Evolutionary algorithms : EAs) Ces al- gorithmes sont inspir´es de la th´eorie darwinienne ´evolutionniste (N´eodarwinisme ou th´eorie synth´etique de l’´evolution), i.e., la capacit´e d’une population biologique `a s’adapter `a son environnement complexe et g´en´eralement dynamique. Divers EAs ont ´et´e propos´es dans la litt´erature. Cette grande cat´egorie comprend principalement la programmation ´evolutionnaire (Evolutionary Programming : EP) (Fogel et al., 1966), les strat´egies d’´evolution (Evolutionary Strategies : ES) (Rechenberg, 1973) et les al- gorithmes g´en´etiques (Genetic Algorithms : GAs) (Goldberg, 1989, Holland, 1975). La EP a ´et´e originalement propos´ee pour faire ´evoluer des repr´esentations discr`etes d’automates `a ´etat fini. Les ES ont ´et´e d´evelopp´ees pour la r´esolution des probl`emes

d’optimisation en variables continues. Les GAs, qui seront d´etaill´es dans la section 1.4.1, ont ´et´e appliqu´es principalement pour la r´esolution de probl`emes d’optimisa- tion combinatoires. D’autres techniques ´evolutionnaires ont ´et´e d´evelopp´es, comme la programmation g´en´etique (Genetic programming : GP) (Koza, 1992) et la recherche dispers´ee (Scatter Search : SS) (Glover et al., 2000). Malgr´e la diversit´e des EAs, ils sont tous fond´es sur les principes de l’´evolution naturelle des ˆetres vivants, via les pro- cessus de s´election, recombinaison et mutation pour g´en´erer de nouveaux individus de bonne qualit´e.

Les algorithmes d’intelligence en essaim Ce type d’algorithmes s’inspire des comportements collectifs observ´es chez les insectes sociaux et certains animaux, qui ´emergent des comportements simples des individus. Les algorithmes d’intelligence en essaim mettent en jeu une population d’agents simples (petites entit´es homog`enes capables de faire certaines op´erations simples) en interaction locale l’un avec l’autre et avec leur environnement. Ces entit´es avec leurs capacit´es individuelles tr`es limi- t´ees peuvent accomplir, conjointement, des tˆaches complexes n´ecessaires `a leur survie. Bien qu’il n’existe aucune entit´e de contrˆole centralis´ee qui distribue le travail entre les agents du syst`eme et surveille le processus de recherche, les interactions locales entre les agents conduisent souvent `a l’´emergence d’un comportement global organis´e et adapt´e. Plusieurs m´etaheuristiques bas´ees sur l’intelligence en essaim existent. Les deux principaux types sont l’optimisation par colonies de fourmis et l’optimisation par essaims de particules, qui seront d´etaill´ees dans les sections 1.4.2 et 1.4.3, respec- tivement. D’autres algorithmes ont ´et´e d´evelopp´es, comme l’algorithme de colonies d’abeilles, l’algorithme inspir´e du syst`eme immunitaire et l’algorithme de l’optimisa- tion par coucou. Pour une pr´esentation des diff´erentes m´etaheuristiques relavant de l’intelligence en essaim, nous r´ef´erons le lecteur int´eress´e `a (Blum et Li, 2008, Boussa¨ıd et al., 2013, Engelbrecht, 2006).

1.4.1

Algorithmes g´en´etiques (GAs)

1.4.1.1 Description

Les GAs sont les repr´esentants les plus connus des m´ethodes ´evolutionnaires. Ils ont ´et´e popularis´es par John Holland et ses coll`egues de l’universit´e du Michigan (Goldberg, 1989, Holland, 1975) comme des m´ethodes fond´ees sur une analogie entre la r´esolution d’un probl`eme d’optimisation et l’´evolution d’une population biologique. Les individus d’une population biologique n’ont pas ´et´e “programm´es” pour r´esoudre un probl`eme sp´ecifique, mais ils changent continˆument en s’adaptant `a leur environne- ment. La th´eorie de n´eodarwinisme a montr´e que cette caract´eristique (d’adaptation `a l’environnement ou d’´evolution naturelle) des ˆetres vivants r´esulte de la combinaison d’une g´en´eration de diversit´e et du m´ecanisme de s´election naturelle. La diversit´e (i.e., variation ou diff´erence entre individus) provient des mutations du caract`ere g´en´etique et du m´ecanisme de la reproduction sexu´ee. Le m´ecanisme de s´election naturelle avan- tage les individus qui sont “le plus adapt´es” dans le m´ecanisme de reproduction. Les GAs ont ´et´e construits sur la base de ce mod`ele biologique.

Maintenant, nous expliquons le sch´ema g´en´eral de fonctionnement d’un GA. Apr`es cr´eation d’une population initiale d’individus codant des solutions possibles pour le probl`eme trait´e, un GA fait ensuite ´evoluer les individus par op´erateurs d’´evolution et s´election selon une fonction d’adaptation (fitness), jusqu’`a produire une po- pulation d’individus codant de bonnes solutions. Le pseudo-code d’un GA est illustr´e dans l’algorithme 1.7. La population initiale constitue le point de d´epart de l’algo- rithme (ligne 1). Elle est usuellement g´en´er´ee al´eatoirement, bien que des connais- sances du domaine du probl`eme trait´e puissent mener au d´eveloppement de GAs efficaces (par exemple, en injectant des solutions gloutonnes dans la population ini- tiale). Apr`es g´en´eration de la population initiale, les valeurs d’adaptation de tous les individus sont ´evalu´ees (ligne 2). L’´etape d’´evaluation consiste `a calculer la valeur d’adaptation de chaque individu de la population en fonction de son chromosome12.

Le cycle de reproduction (boucle des lignes 3 `a 9) est li´e `a la g´en´eration d’une nou- 12Pour les probl`emes mono-objectifs, les valeurs d’adaptation sont le plus souvent donn´ees par la

velle population. Cette phase comprend la s´election des parents g´eniteurs (ligne 4), leur combinaison (ligne 5), la mutation des enfants obtenus (ligne 6) et, ensuite, l’´eva- luation de ces derniers (ligne 7). L’op´erateur de s´election et les op´erateurs d’´evolution (croisement et mutation) sont typiques dans les GAs. La nouvelle population g´en´er´ee (enfants) dans ce cycle de reproduction est utilis´ee en combinaison avec la po- pulation courante (P ) pour d´eterminer la population de la g´en´eration suivante (ligne 8). L’algorithme retourne `a la fin de recherche la meilleure solution trouv´ee.