Académique Documents
Professionnel Documents
Culture Documents
Methodes Const
Methodes Const
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
Le mot heuristique, dérivé de la langue grecque, vient du verbe ‘heuriskein’ qui signifie
trouver. Une heuristique est un algorithme qui permet de trouver, dans un temps polynomial
une solution réalisable, tenant en compte d’une fonction objectif, pas nécessairement optimale
(approchée) ou exacte pour un problème d’optimisation difficile. Ce type de méthodes traduit
2
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
différentes de voisinage ; l'optimisation locale avec des voisinages qui limitent les changements
à k composantes de la solution est souvent appelée k-optimale.
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
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 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é.
10
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.
– 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.
11
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.
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
12
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
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.
13
S0, S et S’ : Solution initiale, optimale et voisine;
Voisin : Liste de solutions;
T0, T, fit : réels;
Début
Initialiser S0 et T0;
S ← S0;
T ← T0;
fit ← f(S);
répéter
Choisir aléatoirement S’ ∈ Voisin(S);
∆ = f(S’) − fit;
si ∆ ≤ 0 alors
S ← S’ ;
fit ← f(S);
sinon
Prendre p nombre aléatoire de [0, 1];
si p < e−∆/T alors
S ← S’ ;
fit ← f(S);
fin
fin
Mise à jour de la température T;
jusqu’à critère d’arrêt;
fin
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.
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
14
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 :
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 :
15
Le graphique suivant résume les résultats trouvés :
16
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.
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
17
— 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;
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
18
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
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
20
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 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.
21
Exemple
22
1.1.2 Codage réel
23
1.3 Adaptation
1.4 Sélection
24
1.4.1. La méthode de la roulette
25
1.4.2. Sélection par « élitisme »
26
1.4.3. Sélection par tournoi
27
1.4.4. Sélection par rang
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
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.
Les valeurs de tels paramètres dépendent fortement de la problématique étudiée. Ainsi il
n’existe pas de paramètres qui soient adaptés à la résolution de tous les problèmes qui peuvent
être posés à un algorithme génétique. Cependant certaines valeurs sont souvent utilisées
(définies dans la littérature) et peuvent être de bons points de départ pour démarrer une
recherche de solutions à l’aide d’un AG.
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.
1. Ecrire l’algorithme qui implémente la méthode de sélection « Roue de loterie », puis dérouler
cet algorithme sur les individus cités dans la première question.
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) :
Toute tentative de concevoir des algorithmes ou des dispositifs de résolution des problèmes,
distribuées, inspirés des comportements collectifs des insectes sociaux ou d’autres sociétés
animales.
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
espèces les moins populeuses pour des raisons pratiques et évidentes d’étude en laboratoire.
39
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
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.
La stigmergie à base de la trace de la phéromone est beaucoup plus observée dans la recherche
de nourriture, avec l’émergence du chemin minimal entre la source de nourriture et le nid
(Goss et al., 1989). Il a été démontré que les fourmis n’utilisent aucune information visuelle
41
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.
L’évaporation permet de réduire les amplifications et de créer des points de fluctuations, pour
lesquels des nouvelles situations prometteuses peuvent être visitées. Ce mécanisme conduit à
la découverte des nouvelles régions riches en nourriture.
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
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 court
43
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).
Le reste des travaux a été concentré sur l’utilisation de la philosophie de la méthode, pour
la résolution des problèmes d’optimisation dans les différentes disciplines.
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.
52
Ce modèle est bien conseillé dans les problèmes où la fonction objective est 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.
3.4.1.1.Paramètres de l’algorithme
56
3.4.1.2. Initialisation de l’essaim (position et vitesse)
3.4.1.3.Première évaluation
57
3.4.1.4. Fonction d’évaluation
58
1.1.
59