Methodes Constructives
Methodes Constructives
Sommaire
1 Classification des méthodes de résolution
2 Notions d’heuristique
2.2 Métaheuristique
Introduction
Face à un problème d’optimisation combinatoire donné, la question à laquelle on doit
répondre est la résolution du problème. Ce dernier possède généralement un nombre énorme
de solutions réalisables. La résolution la plus évidente est de lister toutes les combinaisons
possibles afin de trouver celles qui sont valides et meilleures. On appelle ce type
d’algorithme : Algorithmes Exhaustifs.
Ces algorithmes sont très gourmands en termes de complexité. Ils passent d’algorithmes
polynomiaux à non-polynomiaux avec l’augmentation de la dimension du problème à traiter.
Par exemple, si on veut résoudre le problème de voyageur de commerce, on se retrouve avec
n! combinaisons possibles. Alors chercher un chemin hamiltonien de 4 villes donne 4! = 24
combinaisons possibles, tandis que la résolution du même problème avec 10 villes nécessite
10! = 3, 628, 800 combinaisons possibles.
La figure 3.1 illustre la taxonomie des méthodes de résolution des problèmes d’optimisation.
1
Figure 3.1– Taxonomie des méthodes de résolution de problème d’optimisation
Les méthodes exactes (appelées aussi complètes) produisent une solution optimale pour une
instance de problème d’optimisation donné. Elles se reposent généralement sur la recherche
arborescente et sur l’énumération partielle de l’espace de solutions. Elles sont utilisées pour
trouver au moins une solution optimale d’un problème. Les algorithmes exacts les plus
connus sont la méthode de séparation et évaluation, la programmation dynamique, et la
programmation linéaire.
L’inconvénient majeur de ces méthodes est l’explosion combinatoire : Le nombre de
combinaisons augmente avec l’augmentation de la dimension du problème. L’efficacité de
ces algorithmes n’est prometteuse que pour les instances de problèmes de petites tailles.
Contrairement aux méthodes exactes, les méthodes approchées ne fournissent pas forcément
une solution optimale, mais seulement une bonne solution (de qualité raisonnable) dans un
temps raisonnable.
2 Notions d’heuristique
2
type de méthodes traduit une stratégie (une manière de penser) en s’appuyant sur la
connaissance du problème. Une heuristique est spécifique au problème et ne peut pas être
généralisée.
2.2 Métaheuristique
Le mot métaheuristique est composé de deux mots grecs : méta et heuristique. Le mot
méta est un suffixe signifiant au-delà c’est-à-dire de niveau supérieur. Les métaheuristiques
sont des méthodes généralement inspirées de la nature. Contrairement aux heuristiques, elles
s’appliquent à plusieurs problèmes de nature différentes. Pour cela on peut dire qu’elles sont
des heuristiques modernes, de plus haut niveau, dédiées particulièrement à la résolution des
problèmes d’optimisation. Leur but est d’atteindre un optimum global tout en échappant les
optima locaux. Les métaheuristiques regroupent des méthodes qui peuvent se diviser en deux
classes :
1. Métaheuristiques à solution unique :
Ces méthodes traitent une seule solution à la fois, afin de trouver la solution
optimale.
2. Métaheuristiques à population de solutions :
Ces méthodes utilisent une population de solutions à chaque itération jusqu’à
l’obtention de la solution globale.
1. Intensification :
L’intensification (exploitation) se concentre sur des régions trouvées à l’avance et
considérées comme prometteuses en commençant la recherche dans les voisinages de
leurs meilleures solutions. Une mémoire doit être utilisée pour implémenter cette
stratégie.
2. Diversification :
La diversification (exploration) guide la recherche vers de nouvelles régions dans
l’espace de recherche, dans le but de détecter de nouvelles meilleures solutions. Elle
peut utiliser l’historique de recherche ou simplement une recherche aléatoire.
3
Figure 3.2- (a) diversification (b) intensification
La Construction : Son principe est de construire une solution par une suite de choix
partiels et définitifs (sans retour arrière) jusqu’à ce que la solution complète soit obtenue.
La Recherche locale : Elle démarre par solution initiale complète et construit une suite
de solutions de meilleur coût. Le choix se fait dans un ensemble localement proche (dans
un voisinage).
L’évolution : La solution optimale est trouvée à partir d’une population de solutions. Ces
dernières évoluent par des opérateurs inspirés de la nature.
Hybridation : Les méthodes hybrides profitent des avantages de plusieurs méthodes
mélangeant entre les approches.
4
MÉTHODES CONSTRUCTIVES
Sommaire
1. Principe des heuristiques constructives
2. Méthodes gloutonnes
3. Méthodes gloutonne aléatoires
4. Heuristique de plus proche voisin
Introduction
Ce chapitre définit et présente les méthodes constructives. Ces méthodes intuitives et simples
à implémenter sont des heuristiques spécifiques qui ne peuvent s’appliquer que sur un
nombre de problèmes de spécificité commune.
L’idée de base des méthodes constructives est de produire une solution, en partant d’une
combinaison vide, par l’ajout itératif des composants à la sous-solution existante (solution
partielle à une itération donnée). Les choix partiels sont définitifs. Les méthodes
constructives sont largement utilisées comme des auxiliaires dans d’autres méthodes. Elles
sont introduites généralement pour calculer des solutions initiales, ou à l’intérieur d’autres
procédures. L’algorithme 1 illustre le fonctionnement d’une méthode constructive.
5
Ces heuristiques ne cherchent pas forcément une bonne solution, mais juste une solution de
qualité modérée dans un temps de calcul réduit. La qualité de la combinaison construite
dépend de l’heuristique choisie.
2 Méthodes gloutonnes
Les méthodes gloutonnes (greedy en anglais) sont les méthodes de construction les plus
connues. A partir d’une configuration initiale, elles sélectionnent le meilleur élément de la
solution à chaque itération en espérant que la solution finale soit optimale. Ces choix
(décisions) se font selon des heuristiques spécifiques.
Une heuristique gloutonne qui peut résoudre ce problème serait d’ajouter en premier les
objets ayant le meilleur rapport valeur/poids. La solution globale sera alors : S = 2, 3, 4, 5. Si
on modélise le problème en binaire la solution sera : S = {0, 1, 1, 1, 1}.
Les méthodes gloutonnes sont des algorithmes très rapides. Cependant la résolution d’un
problème d’optimisation combinatoire donné par ce type de méthode retourne toujours la
même solution. Cette solution peut passer de côté par la solution optimale si l’heuristique
choisie n’est pas adaptée.
Pour diversifier la recherche, on ajoute un peu d’aléatoire. Un algorithme glouton aléatoire ne
choisit pas le meilleur élément mais un élément e parmi les meilleurs candidats. L’exécution
de l’algorithme, plusieurs fois, peut retourner une meilleure solution.
Exemple : Pour un problème de voyageur de commerce, on applique un algorithme glouton
aléatoire de façon à choisir une ville dans un rayon spécifique (disant un rayon de 10 km).
6
4 Heuristique de plus proche voisin
La solution obtenue par cette heuristique ne garantit pas un résultat optimal. Comme toute
heuristique constructive, on pourrait améliorer la solution en exécutant n fois l’algorithme du
plus proche voisin en changeant à chaque fois le point de départ.
7
MÉTHODES DE RECHERCHE LOCALE
Sommaire
Introduction
Les méthodes de recherche locale sont des métaheuristiques à base de solution unique. La
recherche se fait localement sur un ensemble de voisins de la solution actuelle.
8
1.1. Notion de voisinage
Habituellement, chaque solution candidate a plus d'une solution voisine ; le choix de celle
vers laquelle se déplacer est pris en utilisant seulement l'information sur les solutions voisines
de la solution courante, d'où le terme de recherche locale. Quand le choix de la solution
voisine est fait uniquement en prenant celle qui maximise le critère, la métaheuristique prend
le nom de hill climbing (escalade de colline).
Le critère d'arrêt de la recherche locale peut être une limite en durée. Une autre possibilité est
de s'arrêter quand la meilleure solution trouvée par l'algorithme n'a pas été améliorée depuis
un nombre donné d'itérations. Les algorithmes de recherche locale sont des algorithmes sous-
optimaux puisque la recherche peut s'arrêter alors que la meilleure solution trouvée par
l'algorithme n'est pas la meilleure de l'espace de recherche. Cette situation peut se produire
même si l'arrêt est provoqué par l'impossibilité d'améliorer la solution courante car la solution
optimale peut se trouver loin du voisinage des solutions parcourues par l'algorithme.
1.3. Algorithme
9
S0 : Solution initiale;
S : Solution optimale;
S’ : Solution voisine;
fit : réel;
début
Choisir S0 une solution initiale;
S ← S0;
fit ← f(S);
tant que (∃S’ dans le voisinage de S) et (acceptable(S’)) faire
S ← S’;
fit ← f(S);
fin
fin
1.4. Transformation élémentaire
La construction d’un voisinage est définie par des transformations élémentaires. Ces transformations
sont des opérations qui permettent de changer une solution S en une autre solution voisine S’. Le
voisinage V (S) est l’ensemble de solutions localement proche, que l’on peut obtenir en appliquant à
S une transformation locale élémentaire.
— Échange (Swap) : Pour une solution codée en caractères (ou en binaires), permuter 2
caractères données :
ABCDE → AECDB
— Insertion Décalage : Pour une chaîne de caractères (ou binaires), choisir 2 positions i et j,
mettre le caractère de la position j en position i et décaler les caractères à droite :
i=2,j=5 : ABCDEFG −→ AFBCDEG
1.5. Exemple
On prend comme exemple le problème du voyageur de commerce, qui consiste, étant donnée
une liste de villes et les distances entre celles-ci, à trouver un circuit qui passe par toutes les
villes, et qui est le plus court possible. Autrement dit, l'ensemble des solutions admissibles est
l’ensemble des circuits qui passent par toutes les villes, et l'objectif est la minimisation de la
longueur. On peut considérer que l'on se place sur un graphe non orienté dont les sommets
sont les villes, et les arêtes sont des routes entre les villes.
Un algorithme de recherche locale simple, appelé 2-opt, est le suivant : partir d'un circuit
quelconque, et itérer la recherche suivante. Prendre deux arêtes (A,B) et (C,D), et les
10
remplacer par les arêtes par (A,D) et (B,C). Si ce nouveau circuit est plus court le conserver
et continuer, sinon reprendre le circuit précédent et essayer une autre paire d'arêtes.
On peut arrêter l'algorithme lorsque toutes les paires d'arêtes ont été testées. La solution
obtenue n'est pas garantie d'être optimale, mais peut tout de même être utile et de qualité.
1.6. Inconvénients
Le principal problème d’une heuristique de recherche locale est qu’il est possible qu’une
fonction possède plusieurs minimaux locaux distincts du minimum global, tel qu’illustré
à la figure suivante. Dans ce cas, il est donc possible que l’algorithme d’exploration
locale reste pris dans un tel minimum local.
Une des façons d’éviter ce problème peut alors être de répéter le processus de recherche
locale, et ce avec des valeurs de départ différentes en ne conservant que la meilleure
solution trouvée. Cette dernière heuristique illustre les deux mécanismes présents dans la
plupart des heuristiques et métaheuristiques :
- Un mécanisme visant à l’intensification des caractéristiques des bonnes solutions. On
explore le voisinage local pour tenter de trouver une configuration qui améliore la
fonction à optimiser.
- Un mécanisme visant à la diversification des configurations explorées. Pour éviter de
rester pris dans un minimum local, on tente donc de visiter différentes parties de
l’espace des solutions.
• Entrée
– État initial (tiré de l’environnement ou aléatoire).
– Fonction à optimiser :
• notée VALUE dans l’algorithme;
• parfois aussi notée h ou h(n).
• Méthode
– Le nœud courant est initialisé à l’état initial.
11
– Itérativement, le nœud courant est comparé à ses successeurs (voisins) immédiats.
• Le meilleur successeur immédiat (celui qui a la plus grande valeur VALUE que le nœud
courant), devient le nœud courant.
• Si un tel voisin n’existe pas, on arrête et on retourne le nœud courant comme solution.
Algorithme 4. Algorithme de l’escalade (Hill Climbing)
Le recuit simulé est une méthode de recherche locale qui simule le procédé de recuit en
métallurgie. Ce processus alterne des cycles de refroidissement lents et de réchauffage
(recuit) qui ont pour effet de minimiser l’énergie du matériau.
12
2.1. Principe naturel
On commence par chauffer le métal jusqu'à une certaine température où il devient liquide
(les atomes peuvent donc circuler librement). Après avoir atteint ce stade, on abaisse la
température très lentement de sorte à obtenir un solide (Olivier, 2001). Si cette baisse de
température est brusque on obtient alors du verre ; si au contraire cette baisse de
température est très lente (laissant aux atomes le temps d'atteindre l'équilibre statistique),
nous obtiendrons des structures de plus en plus régulières, jusqu’à atteindre un état
d’énergie minimale correspondant à la structure parfaite d’un Crystal, on dit alors que le
système est « gelé ». Au cas où cet abaissement de température ne se ferait pas assez
lentement, il pourrait apparaitre des défauts. Il faudrait alors les corriger en réchauffant de
nouveau légèrement la matière de façon à permettre aux atomes de retrouver la liberté de
mouvement, leur facilitant ainsi un éventuel réarrangement conduisant à une structure
plus stable. (Olivier, 2001)
2.2. Principe de la métaheuristique
L’idée principale du recuit simulé tel qu’il a été proposé par Metropolis en 1953 est de
simuler le comportement de la matière dans le processus du recuit très largement utilisé
dans la métallurgie. Le but est d’atteindre un état d’équilibre thermodynamique, cet état
d’équilibre (où l’énergie est minimale) représente - dans la méthode du recuit simulé – la
solution optimale d’un problème ; L’énergie du système sera calculée par une fonction
coût (ou fonction objectif) spécifique à chaque problème (Kendall). La méthode va donc
essayer de trouver la solution optimale en optimisant une fonction objectif, pour cela, un
paramètre fictif de température a été ajouté par Kirkpatrick, Gelatt et Vecchi. En gros le
principe consiste à générer successivement des configurations à partir d'une solution
initiale S0 et d'une température initiale T0 qui diminuera tout au long du processus
jusqu'à atteindre une température finale ou un état d’équilibre (optimum global).
2.3. Algorithme
La méthode du recuit simulé, introduite par Kirkpatrick et al. (1983), exploite le voisinage
et permet la redirection vers une solution voisine de moindre qualité avec une probabilité
non nulle. Autrement dit, on n’améliore pas toujours la solution. Cette opération permet
d’échapper les optima locaux.
L’algorithme 5 présente le fonctionnement de la méthode Recuit Simulé. Le paramètre T
représente la température qui diminue tout en long de la résolution. Une probabilité p est
13
liée à la température et aux valeurs de la fonction de fitness de la solution actuelle et celle
de la solution voisine. Cette probabilité définit l’acceptation de la nouvelle solution.
Discussion
— Si T est très élevée alors p est élevée (−∆/T 0 , e0 = 1). On a de forte chance d’accepter
la nouvelle solution (une dégradation de qualité).
−∞
— Si T est très petite alors p est très petite (−∆/T −∞ , e = 0). On a de forte chance de
laisser la solution actuelle.
14
Dans un premier temps, T étant généralement choisi très grand, beaucoup de solutions -
même celles dégradant la valeur de f - sont acceptées, et l'algorithme équivaut à une visite
aléatoire de l'espace des solutions. Mais à mesure que la température baisse, la plupart des
solutions augmentant l'énergie sont refusés, et l'algorithme se ramène à une amélioration
itérative classique. A température intermédiaire, l'algorithme autorise de temps en temps des
transformations qui dégradent la fonction objectif. Il laisse ainsi une chance au système de
s'extraire d'un minima local. (Autin, 2006)
Le recuit simulé peut être appliqué au problème du voyageur de commerce. Le but est alors
de trouver le circuit hamiltonien de coût minimal dans un graphe. L’énergie représentera la
distance totale à parcourir, et un état du système représentera le chemin entre les villes.
L’algorithme va donc tenter de minimiser la longueur totale du chemin, en modifiant l’ordre
des villes à parcourir. Soit le graphe suivant représentant un ensemble de villes :
15
Le résultat obtenu en échangeant les sommets 2 et 3, la distance totale a augmenté. Pour une
heuristique classique cette est solution est rejetée car la distance doit être minimisée, mais le
recuit simulé pourra l’accepter si la température est encore élevée, et cette solution qui est «
mauvaise » par rapport à la première va lui permettre de trouver une solution meilleure :
16
Facile à implémenter ;
Donne généralement de bonnes solutions par rapport aux algorithmes de recherche
classiques ;
Peut être utilisé dans la plupart des problèmes d’optimisation ;
Il converge vers un optimum global (lorsque le nombre d’itérations tend vers l’infini
(Autin, 2006)).
Cela fait de lui une option attrayante pour les problèmes d'optimisation difficiles.
2.6.2. Inconvénients
Le principal inconvénient du recuit simulé est qu'une fois l'algorithme piégé à basse
température dans un minimum local, il lui est impossible de s'en sortir. Plusieurs
solutions ont été proposées pour tenter de résoudre ce problème, par exemple en
acceptant une brusque remontée de la température de temps en temps, pour relancer la
recherche sur d’autres régions plus éloignées. (Autin, 2006)
3 Recherche Taboue
La recherche taboue a été introduite par Glover (1989). L’exploitation du voisinage permet de
se déplacer de la solution courante vers son meilleur voisin. Ce dernier n’est pas forcément
meilleur que la solution courante. Cette méthode permet un déplacement d’une solution S
vers la meilleure solution S’ appartenant à son voisinage V(S). L’algorithme 6 résume la
procédure de la Recherche Taboue. Le déplacement interdit, d’où vient le mot tabou, consiste
au retour vers une solution récemment visitée. Pour cela, les solutions visitées sont
temporairement interdites et stockées dans une liste taboue.
17
Une fois la liste taboue est remplie, la solution la plus ancienne est retirée (selon le principe
d’une file d’attente). La taille de cette liste est un paramètre crucial qui affecte la résolution
du problème. Elle peut être statique ou dynamique.
Discussion
— Il y a moins d’interdictions.
— Il y a d’avantage d’interdictions.
— La taille du voisinage.
— Plus le voisinage est petit, moins la liste taboue a besoin d’être grande.
Result : S : Solution
Données :
S0, S et S’ : Solution initiale, optimale et voisine;
Voisin, ListeTaboue : Liste de solutions;
T0, T, fit : réels;
début
Initialiser S0, Voisin et ListeTaboue;
S ← S0;
fit ← f(S);
répéter
Choisir la meilleure S’ ∈ Voisin(S) tel que S’ ∈ ListeTaboue;
18
si S’ si elle est meilleure que S alors
S ← S’;
fin
Enfiler (ListeTaboue, S’);
si ListeT aboue est pleine alors
Défiler (ListeTaboue);
fin
jusqu’à critère d’arrêt;
Fin
Exemple récapitulatif
Soit le problème suivant :
19
MÉTHODES D’EVOLUTION
Sommaire
1 Algorithmes génétiques
1.1. Codage/Décodage de la population
1.2. Population initiale
1.3. Adaptation
1.4. Sélection
1.5. Croisement
1.6. Mutation
1.7. Mise à jour de la population
1.8. Intensification/Diversification
1.9. Algorithme
1.10. Convergence et mesure de performance pour un AG
2 Optimisation par Colonies des fourmis
3 Essaim de Particules (PSO)
2.1. Voisinage
2.2. Facteur d’inertie et Vitesse maximale
2.3. Les coefficients de confiance
2.4. Algorithme
Introduction
Les méthodes d’évolution sont généralement basées sur une population de solutions : On
commence par une population de solutions pour améliorer la solution globale.
Contrairement aux recherches locales, les méthodes à base de population de solutions
améliorent, au fur et à mesure des itérations, une population de solutions. Ces méthodes
20
commencent par une population initiale pour arriver ou s’approcher de la solution optimale
du problème.
Ces algorithmes sont très flexibles et ont la capacité de traiter des problèmes avec des
fonctions objectif de différentes propriétés, qu’elles soient continues, discrètes ou mixtes.
1. Algorithmes génétiques
Pour les espèces vivantes, la reproduction est conduite par une sélection naturelle. Cette
dernière est définie par Darwin (1866) comme étant l’adaptation de survie ; les individus les
mieux adaptés tendent à survivre et ont de plus grandes probabilités de se reproduire.
Les algorithmes génétiques simulent ce processus de l’évolution d’une population. La
population regroupe n solutions appelées individus. La reproduction de la population
sélectionnée se fait en utilisant deux opérations : le croisement et la mutation. Les nouvelles
générations sélectionnent, au fur et à mesure, les individus les mieux adaptés afin de trouver
la meilleure solution au problème.
Le code de l’algorithme correspondant représente les étapes essentielles pour un algorithme
génétique. Ainsi, pour mettre en œuvre l’algorithme génétique, on passe par le codage de
l’individu, l’évaluation et les opérateurs de reproduction (croisement et mutation).
Algorithme 6 : Algorithme génétique
Result : S : Meilleure Solution de la population
début
Initialiser la population de solution avec un ensemble de combinaisons ;
répéter
Sélectionner des combinaisons;
Créer de nouvelles combinaisons par croisement et mutation;
Mise à jour de la population;
jusqu’à critère d’arrêt;
Fin
Avant la reproduction de la population, il faut savoir que le codage des individus est une
étape très importante. Chaque individu de la population est codé par un chromosome. On
retrouve différentes techniques de codages. Le codage est un processus de représentation des
21
gènes. Le processus peut être effectué par utilisation des : bits, nombres, arbres, tableaux,
listes ou tous autres objets. La littérature définit deux types de codage : binaire et réel.
Exemple
22
1.1.2 Codage réel
23
Le décodage est une transformation du chromosome en valeur du problème recherché (avant
chaque évaluation de l’individu).
1.3 Adaptation
1.4 Sélection
24
1.4.1. La méthode de la roulette
25
26
1.4.2. Sélection par « élitisme »
27
1.4.3. Sélection par tournoi
28
1.5 Croisement
La naissance d’un nouvel individu, nécessite la prise aléatoire d’une partie des gènes de
chacun des deux parents. Ce phénomène, issu de la nature est appelé croisement (crossover).
Deux individus (parents) produisent deux nouveaux individus (enfants). Les enfants héritent
des caractéristiques de leurs parents. Cela se fait par une découpe de chacun des individus
parents, dans les mêmes positions, en m morceaux. En échangeant les morceaux on obtient
les nouveaux individus. Le croisement est une opération qui ne touche pas forcément toute la
population. La littérature définit plusieurs opérateurs de croisement. Ils différent selon le type
de codage adapté et la nature du problème traité.
1.5.1. Croisement binaire
29
30
1.5.2. Croisement réel
Le codage réel requiert des opérateurs génétiques spécifiques pour la manipulation des
chromosomes. Il est de plusieurs types :
L’opérateur de Croisement PMX (Partially Mapped Crossover)
PMX est un opérateur de croisement à deux points de coupure qui définit un segment de
même longueur dans chacun des parents P1 et P2. Les segments sont indiqués avec une trame
foncée dans la partie (a) de la figure Fig. 12. Ces segments sont copiés vers les enfants E1 et
E2. E1 a hérité du segment de P2 et E2 de P1, comme le montre la partie (b) de la figure.
A partir de l’un de ces segments, on établit à chaque gène une liste de correspondance. Cette
liste va servir à placer les gènes redondants et elle est formée de la manière suivante : pour
chaque position du segment on note x le gène qui s'y trouve et y celui de l'autre enfant dans la
31
même position. Tant que y est retrouvé ailleurs dans le segment de départ, on note y' son
correspondant dans l'autre enfant et on remplace y par y'. Par exemple, le gène correspondant
à "1" de El est "6" mais ce gène existe aussi dans El et son correspondant est "3". Ainsi dans
la liste de correspondance, on note que "1" a pour correspondant "3". La liste complètement
formée se trouve à la marge de la partie (b) du schéma.
On procède ensuite au placement des gènes hors segment en les copiant des parents
respectifs. Par exemple, copier "l" de P1 dans E1 provoque un conflit puisque ce gène existe
déjà. On utilise alors son correspondant dans la liste qui est "3". En procédant de manière
itérative, on arrive à former les enfants E1 et E2 illustrés dans la partie (c) de la figure.
32
la première position où cette position est déjà occupée dans El donc le cycle est terminé. Le
cycle de El est "1, 4, 8, 3,2" et de manière analogue, le cycle "4, 1, 2, 3,8" est formé pour E2.
En dernier lieu, il faut combler les positions vacantes à partir des parents opposés. Par
exemple, les gènes "7 ,6 ,9" de El proviennent de P2. On obtient ainsi les enfants illustrés
dans la partie (b) de la figure, Fig. 13.
33
1.6 Mutation
L’opération de la mutation est une modification d’un seul gène pour passer d’une solution à
une autre. Cela permet à certains caractères d’apparaître ou de disparaître de façon aléatoire.
La mutation ne touche pas toute la population.
34
Mutation par insertion
Deux positions sont sélectionnées au hasard et le gène appartenant à l'une est inséré à l'autre
position. Dans la Figure Fig. 16 partie (a), les gènes "3" et "6" de l'individu i sont
sélectionnés. La deuxième étape, illustrée par la partie (b), montre l'insertion de "6" avant "3"
et le décalage de tous les autres gènes.
35
est une sélection par rang : une 2 ème sélection où on ne garde que les meilleurs individus.
Cette sélection peut écraser partiellement ou totalement la population précédente.
1.8 Intensification/Diversification
On fait appel aux mécanismes d’intensification et de diversification pour un algorithme
génétique au cours de la reproduction. On intensifie la recherche pendant le croisement et on
diversifie par la mutation.
1.9. Algorithme
Le critère de convergence peut être de nature diverse. Les paramètres qui conditionnent la
convergence d’un algorithme génétique sont :
La probabilité de croisement ;
La probabilité de mutation.
36
Exercice 1.
Soit le problème de voyageur de commerce décrit comme suit :
1 2 3 4 5
1 7 6 8 3
2 7 2 4 3
3 6 2 5 6
4 8 4 5 4
5 3 3 6 4
Exercice 3.
1. Ecrire un algorithme de sélection à base de la méthode de tournoi.
2. Ecrire un algorithme de sélection à base de la méthode de l’élitisme.
37
Exercice 4.
Soit à minimiser la fonction f(x)=x2-1, à l’aide d’un algorithme génétique, avec x 0.0,
10.0],
- Donner la représentation binaire des individus ayant pour valeur 0.5, 1.2, 2.2, 6.5, 7.6,
9.9.
- Donner l’évaluation puis l’adaptation de ces individus.
Exercice 5.
On désire calculer le couple d’entiers (a,b) de [-30,+30] 2 pour lequel la fonction f(a,b) = 2a-b2
est maximale par un algorithme génétique en utilisant une population de 3 individus.
1) Supposons qu’à l’itération i, la population contient les individus : (1,0) ; (5,1) ; (2,3).
Calculer les probabilités de sélection de chacun de ces individus lorsqu’on utilise :
2) Quel est le nombre de bits nécessaires pour coder une solution en binaire. Justifier.
38
2. Optimisation par colonies des fourmis
Dans ces dernières années, l’intelligence en essaims avait gagné une grande popularité.
L’intelligence en essaims est souvent définie comme (Bonabeau et al., 1999) :
L’approche est motivée par le fait que la richesse en comportements dans les insectes
sociaux, émerge, non pas des entités prises séparément, mais à travers les interactions
entre elles. Il a été proposé que même avec des sociétés plus complexes, les individus
sont moins compliqués et plus simples (Delgado et al. 1997).
Kennedy et autres dans leur livre « Swarm Intelligence » (Kennedy et al., 2001), avaient
remis en cause cette dernière définition, en se basant sur une définition plus ancienne,
donnée pour décrire les systèmes de simulation des essaims : « Nous utilisons le terme
“Essaims” dans un sens général pour référencer toute structure de collection d’agents en
interaction. L’exemple classique d’essaims est l’essaim des abeilles, mais la métaphore
d’essaim peut être élargie aux autres systèmes avec une architecture similaire. Une
colonie de fourmis peut être vue comme un essaim dans lequel ces entités et ces agents
sont des fourmis, un essaim d’oiseaux est un essaim et pour lequel ces agents sont des
oiseaux, …».
Les essaims de fourmis par exemple offrent une grande diversité de comportements et de
morphologies. L’étude précise de leur comportement (l’éthologie) est souvent limitée aux
39
espèces les moins populeuses pour des raisons pratiques et évidentes d’étude en
laboratoire. Cette diversité exubérante est une mine d’inspiration fascinante pour les
systèmes informatiques. C’est ainsi que les capacités des fourmis en matière de
coopération, de communication, de compétition et d’apprentissage, peuvent être mises à
profit pour la conception de robots ou d’algorithmes de résolution de problèmes, qui
constitue l’objet de ce chapitre.
La communication chimique est la plus présente chez les fourmis. Les phéromones, sont des
mélanges hydrocarbures, sont à la base de la communication de nombreuses espèces.
Les ouvrières sont capables de déposer des traces chimiques sur le trajet qu’elles empruntent
pour ramener de la nourriture. Ils sont capables aussi de déclencher des alarmes quand le nid
est attaqué et ainsi mobiliser un grand nombre d’individus pour défendre la fourmilière.
40
2.2.2. Principe de la Stigmergie
Un principe fondamental des comportements émergents à travers des interactions locales est
la stigmergie. Le biologiste Grassé est le premier qui fait introduire ce concept dans les
années cinquante (Grassè, 1959), devenue maintenant une voie de recherche et de
conception dans les systèmes d’agents artificiels. Grassé fut découvrir le principe en
étudiant les comportements des insectes sociaux. Le nom stigmergie dérivé du mot Grec «
Stigma » veut dire « Signe » et le mot « Ergon » veut dire « Travail », indiquant que les
activités des individus sont influencées par des signes externes, eux-mêmes générés par les
activités des individus. Ainsi, des tâches simples doivent être coordonnées par le moyen de
la communication indirecte et émanant à l’émergence de phénomènes.
Deux formes de la stigmergie ont été identifiées. Une stigmergie Sematectonique, entraînant
un changement physique dans les caractéristiques de l’environnement. La construction du
nid chez les fourmis est un exemple de la stigmergie sema-tectonique. Une fourmi observe
une structure en développement et c’est à son tour d’y participer à la construction. La
deuxième forme de la stigmergie est basée sur la trace. Ici les marques sont des traces,
déposées par les fourmis sur l’environnement, émanant à une forme de contribution
indirecte à la tâche en question et réalisant une influence sur le comportement désiré.
La stigmergie n’explique pas les mécanismes de coordination en détail, mais pour des
problèmes inverses pour concevoir des systèmes accomplissant des tâches globales, la
stigmergie fournit le concept général permettant la coordination entre les individus et le
comportement global au niveau de la colonie.
Les fourmis sociales exhibent les deux formes de la stigmergie. La stigmergie sema-
tectonique est observée dans la construction du nid.
41
et le nid (Goss et al., 1989). Il a été démontré que les fourmis n’utilisent aucune information
visuelle dans leurs activités, et sans aucun contrôle central indiquant aux fourmis le chemin
à employer (Hölldobler et al., 1990).
2.2.2.1 Phéromones
La phéromone est une substance chimique qui joue un rôle très important dans la réalisation
des tâches définies. Il permet de refléter une caractéristique des systèmes complexes. La
présence de la phéromone dans une piste joue le rôle d’un moyen permettant l’attraction des
fourmis à la piste renforcée.
2.2.2.2 Propagation
La propagation de la phéromone est un processus qui permet de laisser passer une quantité
de la phéromone d’un emplacement à un autre emplacement voisin. Si le taux d’évaporation
est de ½ par exemple, la moitié de la quantité de la phéromone de l’emplacement actuel est
propagée vers les emplacements voisins.
2.2.2.3 Evaporation
L’évaporation est un processus, qui permet de réduire la quantité de la phéromone dans un
emplacement par un taux défini. Cette évaporation est due aux contraintes de
l’environnement.
2.3 Le Fourragement
La recherche de la nourriture, appelée aussi « le fourragement », est une activité souvent plus
dispersée spatialement que la construction du nid et qui peut aussi être mise en œuvre de
façon très différente suivant les espèces de fourmis.
42
Les étapes suivantes expliquent bien ce mécanisme,
La figure Fig. 19, montre un scénario initial. Les fourmis emploient le chemin marqué par la
trace de la phéromone. Le chemin joint le nid à la source de nourriture. La phéromone est une
substance chimique générée et perçoive par les fourmis. La substance représente le moyen de
communication indirecte dans le scénario. Les fourmis dans leurs retours au nid, déposent
une quantité de la phéromone à chaque déplacement et préfèrent de se déplacer vers les
emplacements les plus concentrés de la phéromone.
Lorsque le chemin émergé est obstrué à l’aide d’un obstacle, comme le montre la figure Fig.
20, les fourmis prennent une décision aléatoire pour choisir l’un des deux branches droite ou
gauche de l’obstacle. Au début et sans présence d’aucune concentration de la phéromone, le
flux des fourmis se subdivise en deux flux approximativement égaux. Le choix aléatoire
donne une exploration des deux choix, figure 21.
Le chemin représenté dans la figure Fig. 21 (a), est le plus concentré en phéromone. Ainsi, les
fourmis qui circulent sur ce chemin, arrivent en premier à la destination et permettent la
formation d’un flux entre le nid et la source de nourriture. Tandis que dans le deuxième
chemin, représenté à l’aide de la figure Fig. 21 (b), la quantité secrétée est moins concentré.
En effet avec la considération du caractère d’évaporation de la phéromone, le chemin le plus
43
court devient le plus concentré, ce qui conduit à une attraction des fourmis jusqu’au
recrutement de toutes les fourmis, comme il est indiqué dans la figure Fig.22.
Chaque fourmi construit une solution pour le problème et l'évaluation de chaque solution est
utilisée pour mettre à jour les traces de la phéromone. Ces principes ont été appliqués en
premier au problème de voyageur de commerce (Colorni et al., 1991) (Colorni et al., 1992).
Après des variations de la méthode ont été proposées par (Dorigo et al., 1996a) (Gambardella
et al., 1996). La même technique est appelée pour d'autres problèmes combinatoires comme
l'affectation quadratique et autres problèmes (Gambardella et al., 1999) (Maniezzo et al.,
1999).
Lorsqu’une fourmi doit prendre de décision sur la direction à prendre, elle doit choisir le
chemin ayant la plus forte concentration en phéromone, c'est-à-dire la décision dépend de la
probabilité de transition d’un emplacement à une autre. Cette probabilité dépend de la
concentration en phéromone. C’est exactement le principe utilisé par les algorithmes
d’optimisation à base des fourmis.
Chaque fourmi est considérée comme un agent capable de générer des solutions, la décision à
prendre une fourmi pour construire une solution dépend de deux facteurs :
44
2.3.1.1. Evaporation
45
2.3.1.2. Renforcement
2.3.2. Algorithme
46
L’émergence de chemin minimale entre la source de nourriture et le nid est utilisée en
premier pour résoudre le problème de voyageur de commerce. Le travail qui suit est inspirée
des travaux de (Colorni et al. 1991) (Colorni et al. 1992) (Dorigo et al. 1996a) (Gambardella
et al. 1996).
47
48
2.6. Algorithme AS pour PVC
Les étapes essentielles de l’algorithme résolvant le voyageur de commerce (PVC) à base des
fourmis, sont les suivantes :
49
3. Méthodes d’optimisation par essaims particules
3.1. Introduction
Les réseaux de nuerons, le recueil simulé, les algorithmes culturels, l’optimisation par
colonies des fourmis et les algorithmes évolutionnaires sont des instances pour lesquelles
les théories en psychologie, en physique et en biologie avaient influencé le
développement des méthodes de calculs pour la résolution des problèmes.
Les individus apprennent, l’un de l’autre, non seulement les faits mais aussi les méthodes
et techniques, traitant ces faits. Le modèle de simulation appelé Modèle d’Adaptation
Culturelle (MAC), montre à travers les simulations informatiques que la dissémination
des propriétés culturelles, peut émerger à travers des interactions sociales (Axelrod,
1997). Ce modèle constitue l’élément de base de la méthode d’optimisation par essaims
particulaires (OEP).
La méthode OEP, développée par Kennedy et al. (Kennedy, et al. 1995), a été influencée
par les travaux cités au-dessus, pour lesquels l’apprentissage social est l’élément de base
de ces modèles. La méthode a été aussi influencée par les travaux de Reynold et
Heppener dans la simulation des essaims, et plus particulièrement la simulation de
comportement de vol d’oiseaux (Reynold, 1987) (Heppner, 1990).
50
L’OEP, est un outil d’optimisation basé sur une population d’individus. Il a été prouvé
que l’OEP peut donner des bons résultats pour les problèmes d’optimisation
combinatoires discrets (Sheloker et al. 2006), et continues avec une fonction mono-
objective ou multi-objectives (Van der bergh et al. 2006).
Plusieurs versions du modèle d’équation de base de la méthode, ont été proposées dans la
littérature. Une standardisation a été proposée en 2006 visant à donner un seul modèle
d’équation. Un grand nombre des travaux réalisés à base de la méthode, vise à trouver des
51
valeurs aux paramètres d’équations, afin d’adapter les particules dans l’espace des
solutions. Nous résumons les progrès de la méthode en trois catégories :
D’autres travaux, sont centrés sur l’aspect social des particules, proprement dit le
voisinage informant les particules (Kennedy et al. 2003) (Mendes et al. 2004).
Deux modèles considérés comme ancêtres pour l’OEP, le modèle Lbest et le modèle
Gbest. Ces deux modèles représentent permettent de préciser le voisinage informant des
particules. Dans le modèle Lbest, un individu est connecté à son voisin immédiat selon une
topologie en anneau. L’individu d’index i est influencé par les deux individus, celui
d’ordre (i -1) et de (i +1), respectivement.
Typiquement, il n’y a que deux voisins pour un individu dans le modèle Lbest. Dans la
topologie Gbest, un individu est connecté à la totalité de la population selon une topologie
en étoile. Le meilleur individu acte comme un attracteur, permettant d’attirer tous les
individus de la population vers son bassin. Le mouvement des individus est influencé par
l’attracteur.
Dans le modèle Lbest, l’essaim est divisé en groupes d’individus, qui permettent une
meilleure exploration de l’espace de recherche (Kennedy et al. 2003) (Abraham et al.
2005). Cependant, dans le modèle Gbest, il n’y a qu’un seul groupe qui explore l’espace
de recherche, ce qui donne une convergence prématurée de l’essaim vers des optimums
locaux. Ce modèle est bien conseillé dans les problèmes où la fonction objective est
52
unimodale, alors que l’approche Lbest est recommandée pour les fonctions objectives
multimodales.
La notion de topologie est divisée en deux types : spatiale, si le voisinage est mesuré à
travers une distance euclidienne entre deux positions ou sociale, s’il est déterminé à
travers une structure de données comme les tableaux, listes, arbres ou hiérarchique.
Dans la plupart des cas, les topologies de voisinage contrôlent les deux critères
d’exploration et d’exploitation d’une population. Elles affectent ainsi, la capacité de
communication et la performance des groupes (Kennedy et al. 2003) (Mendes et al.
2004). Il existe plusieurs topologies :
53
3.3.3. L’essaim particule entièrement informé
54
L’importante différence entre l’OEP canonique et FIPS est la contribution de l’expérience
dans l’apprentissage, en contraste avec l’OEP canonique dans laquelle l’expérience
contribue par la moitié.
55
Dans FIPS l’individu est complètement informé. Différentes expérimentations ont été
faites par Kennedy et Mendes, à base de différentes topologies en utilisant plusieurs types
de FIPS, avec différents coefficients de contribution dans l’apprentissage.
Pour conclure, dans l’ordre de comparer, il serait nécessaire de trouver des topologies qui
s’adaptent bien à chaque algorithme. Alors on peut penser à quelque chose comme « le
meilleur voisin possédant un grand poids » (Clerc, 2006).
3.4. Applications
Ces fonctions et d’autres sont des benchmarks utilisés pour tester les méthodes
d’optimisation global pour le cas de minimisation. Nous utilisons la fonction
Rosenbrock pour l’implémenter par la méthode d’optimisation par essaimes, nous
utilisons le standard PSO définie par Clerc (Clerc 2006). X est de dimension D, donc
chaque individu ou position de l’individu est représenté sous forme d’un vecteur de
dimension D. Le minimum de la fonction est connu, min =0.
56
3.4.1.2. Initialisation de l’essaim (position et vitesse)
57
3.4.1.4. Fonction d’évaluation
58
1.1.
59