Vous êtes sur la page 1sur 19

Chapitre 5 : Techniques d'optimisation par métaheuristiques 1

Chapitre 5

TECHNIQUES D'OPTIMISATION PAR METAHEURISTIQUES

INTRODUCTION :

Les problèmes d’optimisation occupent une place importante dans la communauté des
ingénieurs, des scientifiques et des décideurs. En effet, ce genre de problèmes intervient dans
leurs domaines d’activité qui sont très divers, comme la conception de systèmes mécaniques, le
traitement d’images, l’électronique ou la recherche opérationnelle.

Un problème d’optimisation est défini par un ensemble de variables, une fonction objectif et
un ensemble de contraintes. L’espace de recherche est l’ensemble des solutions possibles du
problème. Résoudre un problème d’optimisation consiste à trouver la ou les meilleures
solutions (en minimisant et/ou maximisant la/les fonctions objectifs du problème posé), tout en
satisfaisant un ensemble de contraintes définies par l’utilisateur.

Un problème d’optimisation peut être :

 statique ou dynamique (i.e. la fonction objectif change avec le temps),


 monoobjectif ou multi-objectif (i.e. plusieurs fonctions objectifs doivent être optimisées),
 avec ou sans contraintes.

Il existe de nombreuses méthodes exactes (ou déterministes) permettant de résoudre certains


types de problèmes d’optimisation et d’obtenir la solution optimale du problème, en un temps
raisonnable. Ces méthodes nécessitent que la fonction objectif présente un certain nombre de
caractéristiques telles que la convexité, la continuité ou la dérivabilité.

Les méthodes de résolution exacte ne sont pas adaptées à toutes les problématiques, et donc
certains problèmes sont trop complexes à résoudre par ces méthodes. Parmi ces
problématiques, on peut citer l’existence de discontinuités, l’absence de convexité stricte, la
non-dérivabilité, la présence de bruit ou encore la fonction objectif peut ne pas être définie
précisément. En outre, les méthodes de résolution exacte peuvent avoir un temps de résolution
trop long. Dans ce cas, le problème d’optimisation est dit difficile, car aucune méthode exacte
n’est capable de le résoudre en un temps raisonnable. Il est alors nécessaire d’avoir recours à
des méthodes dites approchées, qui fournissent un résultat sans garantie de l’optimalité.

Ainsi, lorsque l’on dispose d’un temps de calcul limité ou que les problèmes sont trop
grands, on peut être amené à se contenter de rechercher une solution de « bonne qualité » sans
utiliser de méthodes exactes.

C’est pour ces raisons que les méthodes approchées ont été développées. Ces méthodes
permettent de trouver des solutions approchées ou que l’on espère proches de la solution
optimale en un temps raisonnable. En contrepartie, avec ces méthodes, il n’est pas garanti de
trouver un optimum global. Parmi ces méthodes approchées, deux classes de méthodes peuvent
être identifiées : les heuristiques et les métaheuristiques.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 2

DEFINITIONS :

1- Problème d’optimisation :

Un problème d’optimisation se définit comme la recherche du minimum ou du maximum


d’une fonction donnée.

Mathématiquement, dans le cas d’une minimisation, un problème d’optimisation se


présentera sous la forme suivante :

Minimiser f(s) (fonction à optimiser)


avec g(s)  0 (m contraintes d’inégalités)
et h(s) = 0 (p contraintes d’égalités)

En d’autres termes, résoudre un problème d’optimisation P(S,f) revient à déterminer une


solution s*  S minimisant ou maximisant la fonction f avec :

 S l’ensemble des solutions ou l’espace de recherche.

 f : S  Y une application ou une fonction d’évaluation qui à chaque configuration s associe


une valeur f(s)  Y.

On peut tout aussi bien résoudre des problèmes de maximisation, les principes de résolution
restent naturellement les mêmes. Il est possible de passer d’un problème de maximisation à un
problème de minimisation.

Généralement, une solution s*  S est un vecteur d’un espace à N dimensions.

2- Problème d’optimisation discrète (combinatoire) :

Un problème d’optimisation discrète (combinatoire) consiste à trouver, dans un ensemble


discret, une solution réalisable. Le problème majeur réside ici dans le fait que le nombre de
solutions réalisables est généralement très élevé, donc il est très difficile de trouver la meilleure
solution dans un temps « raisonnable ». Les problèmes à variables discrètes rassemblent les
problèmes de type NP-complets, tels que le problème du voyageur de commerce.

Un problème d’optimisation discrète (POD) peut être formulé ainsi :

( POD ) min f ( s )
sZ N

où une solution s est un vecteur composé de N valeurs entières, soit S  N.

3- Problème d’optimisation continue :

Dans le cas de variables réelles, on a : S  N. On parle alors de problème d’optimisation en


variables continues. C’est le cas par exemple des problèmes d’identification, où l’on cherche à

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 3

minimiser l’erreur entre le modèle d’un système et des observations expérimentales. Ce type de
problèmes est moins formalisé que le précédent, mais un certain nombre de difficultés sont bien
connues, comme l’existence de nombreuses variables présentant des corrélations non
identifiées, la présence de bruit ou plus généralement une fonction objectif accessible par
simulation uniquement.

Un problème d’optimisation continue (POC) peut être formulé de la façon suivante :

( POC ) min f ( s )
sR N

4- Optimum global :

Une solution est un optimum global à un problème d’optimisation s’il n’existe pas d’autres
solutions de meilleure qualité. La solution s*  S est un optimum global si et seulement si :

 f ( s* )  f ( s ) dans le cas de minimisation


s  S ,  *
 f ( s )  f ( s ) dans le cas de maximisation

La figure 01 schématise la courbe d’une fonction d’évaluation en faisant apparaître


l’optimum global dans le cas d’un problème de minimisation.

Optimum global

Espace des solutions

Figure 01

5- Voisinage :

Le voisinage de s est un sous-ensemble de configurations de S directement atteignable à


partir d’une transformation donnée de s. Il est noté V(s) et une solution s’  V(s) est dite voisine
de s.

Cette notion de voisinage structure l’espace de recherche dans le sens où elle permet de
définir des sous-ensembles de solutions. En particulier, à partir d’une solution donnée, on peut
établir plusieurs structures de voisinage selon la transformation que l’on s’autorise, celle-ci
étant définie comme une application V : S  P(S). Chaque structure de voisinage fournit un
voisinage, ou un ensemble de solutions, précis via la transformation définie.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 4

Pour illustrer cette notion, la figure 02 présente deux voisinages distincts. Une solution est
composée ici de 3 variables binaires. Selon le voisinage V1 , deux solutions sont voisines si et
seulement si une seule composante diffère entre elles. Le voisinage V2 définit deux solutions
voisines si et seulement si une permutation entre deux composantes permet de passer de l’une à
l’autre. Depuis une solution s quelconque de l’ensemble V1(s) est différent de V2(s). Cependant
les voisinages se recoupent souvent très largement ; par exemple certaines solutions
appartenant à l’ensemble V2(s) sont accessibles à partir de l’ensemble V1(s1). La structure du
voisinage permet de se déplacer d’une solution à une autre dans l’espace de recherche en
établissant des chemins entre les solutions.

s4=(0,1,1) s5=(1,1,0)

V2(s)

V1(s1)
s=(1,0,1)

V1(s)
s1=(1,1,1) s3=(1,0,0)
s2=(0,0,1)

Figure 02

6- Optimum local :

Une solution s  S est un optimum local si et seulement s’il n’existe pas de solution s’  V(s)
dont l’évaluation est de meilleure qualité que s, soit :

 f ( s )  f ( s' ) dans le cas de minimisation


s'  V ( s ) ,  '
 f ( s )  f ( s ) dans le cas de maximisation

avec V(s) l’ensemble des solutions voisines de s.

La définition d’un optimum local est liée à la structure de voisinage. En d’autres termes, un
optimum local pour une structure de voisinage donnée ne l’est pas forcément pour une autre
structure de voisinage.

La figure 03 schématise la courbe d’une fonction d’évaluation en faisant apparaître


l’optimum global dans le cas d’un problème de minimisation.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 5

Optimum local

Optimum global

Espace des solutions

Figure 03

7- Notion de paysage :

La notion de paysage permet de décrire visuellement l’ensemble des valeurs que peut
prendre une fonction objectif pour une paramétrisation donnée. Cette description permet
notamment de voir s’il existe potentiellement de nombreux optima locaux. La description d’un
paysage se fait en analogie avec la notion « géographique » du paysage. Ainsi un paysage peut
être décrit comme une vallée, une plaine, un bassin, etc. Cela correspond à la forme générale.
Ensuite, il est possible d’apporter une information sur le nombre d’optima locaux existants.

Ainsi, un paysage rugueux ou chaotique correspondra plutôt à un paysage possédant un


nombre important d’optima locaux. Au contraire, un paysage tout à fait lisse amènera à priori
vers un nombre restreint d’optima locaux. La figure 04 propose quelques exemples de forme de
paysage.

L’étude du paysage d’une fonction objectif permet de guider le choix de la méthode de


résolution à appliquer.

Plaine lisse Vallée lisse Vallée rugueuse

Figure 04- Exemples de forme de paysage

8- Diversification :

Le principe de diversification d’une méthode d’optimisation donnée correspond à sa capacité


de parcourir aisément l’espace de recherche pour obtenir des solutions très différentes les unes
des autres. Dans un paysage donné, cela se traduit par la possibilité de faire des déplacements
plutôt horizontaux comme cela est montré dans la figure 05. Cependant, comme cela est visible
sur cette figure, la diversification seule n’amène pas forcément à des optima locaux mais à des
solutions se trouvant potentiellement dans la zone d’un optimum local non encore trouvé
jusqu’à maintenant.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 6

Une première solution

Une solution différente de l’originale

Mouvement de diversification (Perturbation, mutation, …)

Figure 05- Processus de diversification d’une solution dans un paysage donné

9- Intensification

Autant le principe de diversification essaye de déplacer les solutions dans d’autres zones de
l’espace de recherche, autant le processus d’intensification vise à forcer une solution donnée à
tendre vers l’optimum local de la zone à laquelle elle est attachée.

La figure 06 donne un exemple de processus d’intensification pour des solutions de départ


données. Comme on peut le voir, une phase d’intensification correspond plutôt à un
mouvement vertical dans le paysage pour accéder à un optimum local (peut-être l’optimum
global). La force mais aussi la faiblesse de l’intensification est de rester cantonnée à la zone dans
laquelle la solution se trouve sans possibilité de pouvoir sortir de celle-ci. Donc si les solutions
que l’on veut intensifier ne sont pas dans la zone de l’optimum global, il n’y a aucune chance
que l’intensification seule permet d’y accéder.

Solution avant intensification

Solution après intensification

Mouvement d’intensification

Figure 06- Processus d’intensification de solutions dans un paysage donné

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 7

10- Heuristiques :

Le terme heuristique dérive du grec ancien heuriskêin et signifie « trouver ». Il qualifie tout
ce qui sert à la découverte et à l’exploitation. Il est à souligner ici qu’une méthode heuristique
peut être déterministe ou stochastique.

Une heuristique est un algorithme qui fournit rapidement (en un temps polynomial) une
solution approchée et réalisable, pas nécessairement optimale, pour un problème d’optimisation
difficile. Cette méthode approximative est le contraire d’un algorithme exact qui donne une
solution optimale pour un problème donné.

Il y a une multitude d’heuristiques qui ont déjà été proposées dans la littérature. On peut
citer des heuristiques très simples telles que les algorithmes gloutons, les approches par
amélioration itérative, etc.

11- Métaheuristiques :

Les métaheuristiques forment une famille d’algorithmes d’optimisation visant à résoudre des
problèmes d’optimisation difficile, pour lesquels on ne connait pas de méthodes classiques plus
efficaces. Elles sont généralement utilisées comme des méthodes génériques pouvant optimiser
une large gamme de problèmes différents, d’où le qualificatif méta.

Leur capacité à optimiser un problème à partir d’un nombre minimal d’informations est
contrebalancée par le fait qu’elles n’offrent aucune garantie quant à l’optimalité de la meilleure
solution trouvée. Cependant, ce constat n’est pas forcément un désavantage, puisque l’on
préfère toujours une approximation de l’optimum global trouvée rapidement à une valeur
exacte trouvée dans un temps rédhibitoire.

Il existe un grand nombre de métaheuristiques différentes, allant de la simple recherche


locale à des algorithmes complexes de recherche globale. Les métaheuristiques peuvent être
considérées comme des algorithmes stochastiques itératifs, où elles manipulent une ou
plusieurs solutions à la recherche de l’optimum. Les itérations successives doivent permettre de
passer d’une solution de mauvaise qualité à la solution optimale. L’algorithme s’arrête après
avoir atteint un critère d’arrêt, consistant généralement en l’atteinte du temps d’exécution
imparti ou en une précision demandée.

Ces méthodes tirent leur intérêt de leur capacité à éviter les optima locaux, soit en acceptant
des dégradations de la fonction objectif au cours du traitement, soit en utilisant une population
de points comme méthode de recherche.

Les métaheuristiques sont souvent inspirées de processus naturels qui relèvent de la


physique (l’algorithme du recuit simulé), de la biologie de l’évolution (les algorithmes
génétiques) ou encore de l’éthologie (les algorithmes de colonies de fourmis ou l’optimisation
par essaim particulaire).

Les métaheuristiques se caractérisant par leur capacité à résoudre des problèmes très divers,
elles se prêtent naturellement à des extensions. Pour illustrer celles-ci, on peut citer :

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 8

 Les métaheuristiques pour l’optimisation multiobjectif : où il faut optimiser plusieurs


objectifs contradictoires. Le but ne consiste pas ici à trouver un optimum global, mais à
trouver un ensemble d’optima, qui forment une surface de compromis pour les différents
objectifs du problème ;

 Les métaheuristiques pour l’optimisation multimodale : où l’on ne cherche plus l’optimum


global, mais l’ensemble des meilleurs optima globaux et/ou locaux ;

 Les métaheuristiques pour l’optimisation de problèmes bruités : où il existe une incertitude


sur le calcul de la fonction objectif, dont il faut tenir compte dans la recherche de l’optimum ;

 Les métaheuristiques pour l’optimisation dynamique : où la fonction objectif varie dans le


temps, ce qui nécessite d’approcher l’optimum à chaque pas de temps ;

 Les métaheuristiques hybrides : qui consistent à combiner différentes métaheuristiques, afin


de tirer profit des avantages respectifs ;

 Les métaheuristiques parallèles : où l’on cherche à accélérer le calcul, en répartissant la


charge de calcul sur des unités fonctionnant de concert. Le problème revient alors à adapter
les métaheuristiques pour qu’elles soient distribuées.

Une autre manière, plus intuitive, de classifier les métaheuristiques consiste à distinguer :

Les métaheuristiques à base de solution unique :

Ces algorithmes partent d’une solution initiale (obtenue de façon exacte, ou par tirage
aléatoire) et s’en éloignent progressivement, pour réaliser une trajectoire (un parcours
progressif) dans l’espace des solutions.

Dans cette catégorie, se rangent :

 la méthode de descente,
 le recuit simulé,
 la méthode Tabou,
 la recherche par voisinage variable,
 etc.

Ces méthodes qui tentent itérativement d’améliorer une solution sont appelées « méthodes de
recherche locale » ou « méthodes de trajectoire ».

Les métaheuristiques à base de population de solutions :

Elles consistent à travailler avec un ensemble de solutions simultanément, que l’on fait
évoluer graduellement. L’utilisation de plusieurs solutions simultanément permet
naturellement d’améliorer l’exploration de l’espace des configurations.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 9

Dans cette seconde catégorie, on recense :

 les algorithmes génétiques


 les algorithmes par colonies de fourmis
 l’optimisation par essaims particulaires
 etc.

1- Les métaheuristiques à base de solution unique :

1.1- La méthode de descente :

La recherche par descente (Hill Climbing) est une des métaheuristiques à base de solution
unique la plus utilisée. Elle est facile à mettre en place et donne de bons résultats. Comme toute
méthode de recherche à base de solution unique, le but est d’améliorer la qualité (la « fitness »,
la valeur objectif) d’une solution par exploration de son voisinage. Dans la recherche par
descente, tant qu’un voisin de meilleure qualité que la solution courante existe, on utilise ce
voisin comme base d’une nouvelle exploration. La figure 07 schématise ce processus qui est
aussi détaillé par l’algorithme 1.

Algorithme 1 : La recherche par descente.

Données : Une solution initiale « Sol ».


Résultat : Une solution meilleur ou égale à « Sol ».

1 tant que critère d’arrêt non vérifié faire


2 génération du voisinage de Sol;
3 si il existe un meilleur voisin alors
4 Sol = meilleur voisin
5 fin
6 fin
7 retourner Sol;

Solution initiale

Solution finale=optimum local




 
  Solution
Mouvement pour passer
d’une solution à une autre
Voisinage d’une solution

Figure 07- Processus d’une recherche par descente.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 10

Ce processus est déterministe, c’est-à-dire que pour un type de voisinage donné et une même
solution initiale, le résultat donné sera forcément le même : un optimum local (qui peut être
l’optimum global). Des variations basées sur la modification du principe de sélection du voisin
permettent de « casser » le déterminisme de la méthode. Le choix du voisin peut être aussi bien
stochastique que basé sur une exploration incomplète du voisinage (premier voisin améliorant).

De plus, le choix de la solution initiale restreint la descente dans un sous-espace de l’espace


de recherche comme cela est montré dans la figure 08. Une fois le processus de descente
démarré, la méthode ne remet jamais en compte les choix faits précédemment, par conséquent
la descente reste concentrée sur une zone précise de l’espace de recherche.

Solution initiale
Solution finale
Mouvement

Optimum local

Optimum global

Figure 08- Impact du choix de la solution initiale sur le résultat d’un recherche par descente

1.2- Le recuit simulé :

L’algorithme de recuit simulé (Simulated Annealing) trouve ses origines dans les travaux de
S. KIRKPATRICK (1983) et V. CERNY (1985). Il voit son succès par son efficacité aussi bien sur
des problèmes combinatoires que continus. Le recuit simulé retranscrit le processus physique
permettant d’obtenir des structures cristallines. À partir d’une température élevée, un
refroidissement contrôlé permet d’abaisser la température jusqu’à l’obtention d’un état
d’équilibre. La température initiale et la vitesse de refroidissement sont des critères essentiels
de ce processus.

Dans l’algorithme de recuit simulé, la température intervient dans la probabilité d’accepter


des voisins de moins bonne qualité que la solution courante. Généralement cette probabilité suit
la probabilité de Boltzmann :

f ( sol' )  f ( sol )

Pe T

f (x) est la valeur de qualité de la solution x et T la température courante. Ainsi, quand le


meilleur voisin n’est pas de meilleure qualité que la solution courante, plus grande est la
température, plus grande sera la probabilité de l’accepter. Par conséquent, le recuit simulé peut
être vu comme un processus d’exploration qui petit à petit tend vers un processus
d’intensification à la manière d’une recherche par descente. L’algorithme 2 donne le pseudo-
code d’un recuit simulé.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 11

Algorithme 2 : Algorithme de la recherche par recuit simulé.

Données : Une solution initiale « Sol », une température initiale « T ».


Résultat : Une solution meilleure ou égale à « Sol ».

1 T = Tmax répéter
2 répéter
3 Sol’ = un voisin aléatoire de Sol;
4 δE = qualité de Sol’ - qualité de Sol;
5 si δE ≤ 0 alors
6 Sol = Sol’;
7 sinon
8 Sol = Sol’ avec la probabilité e−δE/T
9 fin
10 jusqu’à ce que l’état d’équilibre soit atteint ;
11 mise à jour de la température;
12 jusqu’à ce que le critère d’arrêt soit vérifié (T < Tmin) ;
13 retourner Sol ;

La force du recuit simulé tient dans sa capacité à sortir des optima locaux. La figure 09
montre comment la température peut influencer la sortie d’optima locaux. Au début de
l’algorithme, il est plus aisé de sortir d’un optimum local (phase d’exploration) mais plus la
température descend, plus il devient difficile de continuer d’explorer les différentes zones de
l’espace de recherche quitte à rester autour d’un optimum local (phase d’intensification).

Température trop basse Température assez haute


pour sortir de la vallée pour sortir de la vallée

1
 3 2
Solution quelconque

4 Optimum local (global ?)


Mouvement

Figure 09- Exemple de cheminement au sein d’un recuit simulé.

Le recuit simulé est un processus qui peut se révéler coûteux notamment à cause de la
génération de nombres aléatoires et l’utilisation d’exponentiels. Par conséquent, inspirées du
recuit simulé, d’autres méthodes ont vu le jour pour permettre une résolution plus rapide sans
pour autant perdre la qualité de solution obtenue grâce au recuit simulé.

1.3- La recherche Tabou :

L’algorithme de recherche tabou (Tabu Search) a été proposé par F. GLOVER (1986) et est
devenu populaire dans les années 90. À la manière d’une méthode par descente, le voisinage est

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 12

exploré de manière complète et dès qu’une meilleure solution est trouvée, elle remplace la
solution courante. Cependant, lorsqu’il n’y a plus de meilleures solutions dans le voisinage, le
meilleur voisin remplace la solution courante même si celui-ci est moins bon puis la recherche
recommence.

Le risque dans ce type d’approche est l’apparition de cycles. C’est pour cela que la recherche
tabou possède une liste taboue afin de mémoriser les mouvements déjà effectués dans le
voisinage.

Cependant, plus cette liste est grande, plus elle prend de place en mémoire et plus il est
coûteux de vérifier qu’un voisin appartient déjà à cette liste. C’est pour cela, que les listes
taboues sont généralement de taille fixe.

De plus, il peut arriver qu’un mouvement particulier, qui appartient à la liste taboue puisse
cependant permettre l’obtention d’une meilleure solution. C’est pour cela que la recherche
tabou possède aussi un critère d’aspiration.

Ainsi, une solution est finalement acceptée si le mouvement qui l’a générée n’est pas tabou
ou si le critère d’aspiration est vérifié. L’algorithme 3 détaille en pseudo-code l’algorithme
classique de recherche tabou.

Algorithme 3 : Algorithme de la Recherche Tabou.

Données : Une solution initiale « Sol »


Résultat : Une solution meilleure ou égale « Sol »

1 Initialisation des mémoires à court, moyen et long terme ;


2 répéter
3 Sol’ = meilleur voisin de Sol;
4 Mise à jour de la liste taboue, du critère d’aspiration et des mémoires à moyen et long terme;
5 si critère d’intensification est vérifié alors
6 intensification;
7 fin
8 si critère de diversification est vérifié alors
9 diversification;
10 fin
11 jusqu’à ce que le critère d’arrêt soit vérifié ;
12 retourner la meilleure solution trouvée ;

Un algorithme de recherche tabou comporte trois types de mémoire :

 La mémoire à court terme : il s’agit de la liste taboue traditionnelle. Le principe est d’éviter de
faire des mouvements inverses pour ne pas regénérer des solutions déjà rencontrées. La taille
des listes taboues est une donnée critique. C’est pour cela qu’elle peut être fixe ou variable
voir même adaptative. Dans ce dernier cas, la taille évolue en fonction des solutions qu’elle
contient et du voisinage utilisé.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 13

 La mémoire à moyen terme : cette mémoire traduit le principe d’intensification pour la


recherche tabou. Le but est de permettre de tirer la recherche vers des solutions ayant de
bonnes propriétés. Le problème est bien sûr de trouver ses bonnes propriétés. Ce type de
mémoire est forcément dédié au problème étudié et il faut pouvoir extraire des meilleures
solutions trouvées l’information commune qui va guider la recherche.

 La mémoire à long terme : il s’agit du mécanisme de diversification. Le principe est de


pouvoir diriger la recherche vers les régions non encore explorées de l’espace de recherche.
Cette étape de diversification est appliquée de temps en temps pour permettre de relancer la
recherche.

L’utilisation de ces trois mémoires n’améliore pas à coup sûr la recherche. En effet, l’efficacité
des processus d’intensification et de diversification sont intimement liés à la forme du paysage
de la fonction d’évaluation utilisée. En effet, si le paysage ressemble à une vallée, un processus
de diversification n’a pas d’intérêt et inversement si le paysage est un ensemble d’optima
locaux, la phase d’intensification risque d’astreindre la recherche dans certaines zones de
l’espace. Donc une étude préalable du paysage du problème doit permettre des choix
intelligents du paramétrage de ce type d’algorithme.

2- Les métaheuristiques à base de population de solutions :

2.1- Les algorithmes génétiques :

Voir Chapitre 4.

2.2- Les algorithmes par colonies de fourmis :

2.2.1- Principe :

Les algorithmes de colonies de fourmis sont des algorithmes itératifs à population où tous les
individus partagent un savoir commun qui leur permet d’orienter leurs futurs choix et
d’indiquer aux autres individus des choix à suivre ou à éviter.

Le principe de cette métaheuristique repose sur le comportement particulier des fourmis,


elles utilisent pour communiquer une substance chimique volatile particulière appelée
phéromone grâce à une glande située dans leur abdomen. En quittant leur nid pour explorer
leur environnement à la recherche de la nourriture, les fourmis arrivent à élaborer des chemins
qui s’avèrent fréquemment être les plus courts pour aller du nid vers une source de nourriture.
Chaque fourmi dépose alors une quantité de phéromones sur ces pistes qui deviendront un
moyen de communication avec leurs congénères, les fourmis choisissent ainsi avec une
probabilité élevée les chemins contenant les plus fortes concentrations de phéromones à l’aide
des récepteurs situés dans leurs antennes. C'est ce mode de communication particulier, qui fait
intervenir des modifications dans l’environnement, que l'on appelle la stigmergie.

La figure 10 illustre et confirme ce constat, une expérience a été faite par Gauss et
Deneubourg en 1989 appelée « expérience du pont à double branche », les fourmis qui

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 14

retournent au nid rapidement, après avoir visité la source de nourriture, sont celles qui ont
choisi la branche courte et les fourmis empruntant cette branche faisant plus d’aller retour, et
par conséquent la quantité de phéromones déposée sur la plus courte branche est relativement
supérieure que celle présente sur la plus longue branche. Puisque les fourmis sont attirées plus
vers les pistes de plus grande concentration en phéromones, alors la branche courte sera la plus
empruntée par la majorité des fourmis.

Une deuxième expérience consiste à examiner ce qu'il se passe dans le cas d'une modification
environnementale. Initialement, les fourmis utilisent un chemin donné (figure 11.a) entre le nid
(A) et la source de nourriture (E). Subitement, une bûche bloque le chemin d'origine. Les
fourmis sont donc contraintes de trouver un autre chemin. Dans le sens A vers E, les premières
fourmis à devoir faire ce choix auront la même probabilité de se diriger à gauche ou à droite de
l'obstacle car aucune autre fourmi ne sera passée avant elles. Il n'y a donc aucune trace
phéromonale (figure 11.b). Toutefois, une fourmi ayant choisi d'aller à droite (chemin BCD)
arrivera en D bien avant une fourmi ayant choisi la gauche. De plus la situation est identique en
ce qui concerne le sens E vers A (figure 11.c). Finalement, la quantité de fourmis utilisant l'axe
BCD est plus élevée que pour l'axe BHD ce qui entraîne une quantité de phéromone croissante
sur l'axe BCD. Après un certain laps de temps, toutes les fourmis devraient (statistiquement)
utiliser l'axe BCD (figure 11.d).

Nourriture Nourriture Nourriture

Nid Nid Nid

Figure 10- L’expérience du pont à double branche

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 15

Nourriture Nourriture Nourriture Nourriture

Nid Nid Nid Nid

a) Recherche sans obstacle b) Apparition d’un c) Recherche du chemin d) Chemin optimal trouvé
obstacle optimal

Figure 11- Évolution du comportement des fourmis en fonction d'une modification de l'environnement

Plusieurs algorithmes sont inspirés du comportement des fourmis pour résoudre des
problèmes d’optimisation. Ces métaheuristiques partagent la même source d’inspiration
qu’offrent les fourmis et sont regroupées sous l’acronyme ACO (Ant Colony Optimization).

2.2.2- Algorithme de base : Ant System (AS)

Le premier algorithme d’optimisation s’inspirant de cette analogie a été proposé par A.


Colorni, M. Dorigo et V. Maniezzo (1992), afin de résoudre le problème du voyageur de
commerce qui consiste à trouver le trajet le plus court reliant n villes données, chaque ville ne
devant être visitée qu’une seule fois.

Dans l’algorithme AS, à chaque itération t ( 1  t  tmax ), chaque fourmi k ( k = 1,…,m )


parcourt le graphe et construit un trajet complet de n étapes. Pour chaque fourmi, le trajet d’une
ville i à une ville j dépend de :

 La liste des villes déjà visitées, qui définit les mouvements possibles à chaque pas, quand la
fourmi k est sur la ville i : J ik .

 L’inverse de la distance entre les villes ηij = 1/dij , appelée visibilité. Cette information
statique est utilisée pour diriger le choix des fourmis vers des villes proches et éviter les villes
trop lointaines.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 16

 La quantité de phéromone τij(t) déposée sur l’arête reliant les deux villes i et j, appelée
l’intensité de la piste. Ce paramètre définit l’attractivité d’une piste et change à chaque
passage d’une fourmi. C’est en quelque sorte la mémoire du système, qui évolue par
apprentissage.

La règle de déplacement, appelée « règle aléatoire de transition proportionnelle », est la


suivante :

 [ ij ( t )] .( ij ) 
   si j  J ik
pijk ( t )   k [ il ( t )] .(il ) 
 l J i
0 si j  J ik

où  et β sont deux paramètres contrôlant l’importance relative de l’intensité de la piste τij(t) et


de la visibilité ηij . Avec  = 0 , seule la visibilité de la ville est prise en compte ; la ville la plus
proche est donc choisie à chaque pas. Au contraire, avec β = 0 , seules les pistes de phéromones
jouent. Pour éviter une sélection trop rapide d’un trajet, un compromis entre ces deux
paramètres, jouant sur les comportements de diversification et d’intensification, est nécessaire.

Après un tour complet, chaque fourmi dépose une quantité de phéromones  ijk ( t ) sur
l’ensemble de son parcours. Cette quantité dépend de la qualité de la solution trouvée et est
définie par :

 Q
 si ( i , j )  T k ( t )
 ijk ( t )   Lk ( t ) 
0 k
si ( i , j )  T ( t )

où :

 Tk(t) est le trajet effectué par la fourmi k à l’itération t,


 Lk(t) est la longueur du tour Tk(t),
 Q est un paramètre de réglage.

L’algorithme ne serait pas complet sans le processus d’évaporation des phéromones. En


effet, pour éviter de rester piégé dans des optima locaux, il est nécessaire de permettre aux
fourmis « d’oublier » les mauvaises solutions. La règle de mise à jour est donc :

τij(t + 1) = (1 − ρ).τij(t) + τij(t) 

où :
m
  ij ( t )    ijk ( t ) ,
k1
 m est le nombre de fourmis,
 ρ est un paramètre de réglage,

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 17

 la quantité initiale de phéromone sur les arêtes est une distribution uniforme d’une petite
quantité   0.

L’algorithme 6 présente en pseudo-code un exemple simplifié de problème du voyageur de


commerce optimisé par un algorithme AS.

Algorithme 6 : Algorithme de colonies de fourmis de base : Ant System (AS)

1 Pour t = 1 , … , tmax
2 Pour chaque fourmi k = 1 , … , m
3 Choisir une ville au hasard
4 Pour chaque ville non visitée i
5 Choisir une ville j dans la liste J ik des villes restantes selon la formule 
6 Fin
7 Déposer une quantité de phéromone  ijk ( t ) sur le trajet Tk(t) selon la formule 
8 Fin
9 Évaporer les phéromones selon la formule 
10 Fin

Remarque :

La démarche initiée par cette analogie a été étendue à la résolution d’autres problèmes
d’optimisation, discrets et continus. Ainsi, l’algorithme de colonies de fourmis a pu s’adapter à
d’autres problèmes que le voyageur de commerce, en attribuant une signification plus générale
aux facteurs  et .

2.3- L’optimisation par essaims particulaires :

2.3.1- Principe :

L’Optimisation par Essaim Particulaire (OEP), ou Particle Swarm Optimization (PSO) en


anglais, a été proposée par J. Kennedy et R. C. Eberhart (1995). Cette méthode est inspirée du
comportement social des animaux évoluant en essaim.

Au départ, ils cherchaient à simuler la capacité des oiseaux à voler de façon synchrone et leur
aptitude à changer brusquement de direction tout en restant en une formation optimale.

Les particules sont les individus et elles se déplacent dans l’hyperespace de recherche en se
basant sur des informations limitées :

 Chaque particule est dotée d’une mémoire qui lui permet de mémoriser le meilleur point par
lequel elle est déjà passée et elle a tendance à retourner vers ce point.

 Chaque particule est informée du meilleur point connu au sein de son voisinage et elle va
tendre à aller vers ce point.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 18

Chaque individu utilise donc, non seulement, sa propre mémoire, mais aussi l’information
locale sur ses plus proches voisins pour décider de son propre déplacement. Des règles simples,
telles que « aller à la même vitesse que les autres », « se déplacer dans la même direction » ou
encore « rester proche de ses voisins » sont des exemples de comportements qui suffisent à
maintenir la cohésion de l’essaim.

Le déplacement d’une particule est influencé par les trois types de comportement :

 Une composante physique : la particule tend à suivre sa suivre sa propre voie ;

 Une composante cognitive : la particule tend à revenir vers le meilleur site par lequel elle est
déjà passée ;

 Une composante sociale : la particule tend à se diriger vers le meilleur site déjà atteint par ses
voisins.

2.3.2- Algorithme de base :

Un essaim de particules survole l’espace de recherche, en quête de l’optimum global.

Dans n, la particule i (solution potentielle) de l’essaim est modélisée par son vecteur
position xi = (xi1, xi2, ..., xin) et par son vecteur vitesse vi = (vi1, vi2, ..., vin).

Cette particule garde en mémoire la meilleure position par laquelle elle est déjà passée, que
l’on note pi = (pi1, pi2, ..., pin). La meilleure position atteinte par toutes les particules de l’essaim
est notée pg = (pg1, pg2, ..., pgn).

Au temps t + 1, le vecteur vitesse est calculé à partir de la relation suivante :

vij(t + 1) = vij(t) + c1r1 [ pij(t)  xij(t) ] + c2r2 [ pgj(t)  xij(t) ] 

 c1 et c2 sont deux constantes, appelées coefficients d’accélération ;


 r1 et r2 sont deux nombres aléatoires tirés uniformément dans [0 , 1].
 vij(t) correspond à la composante physique du déplacement.
 c1r1 [ pij(t)  xij(t) ] correspond à la composante cognitive du déplacement. c1 pondère les
tendances de la particule à vouloir suivre son instinct de conservation et à aller vers sa
meilleure position connue.
 c2r2 [ pgj(t)  xij(t) ] correspond à la composante sociale du déplacement. c2 contrôle l’aptitude
sociale de la particule en se rapprochant plus de la meilleure position de ses informatrices.

La position de la particule i est alors définie par :

xi(t + 1) = xi(t) + vi(t + 1) 

Il est à noter que le terme « vitesse » est ici abusif car les vecteurs vi ne sont pas homogènes à
une vitesse. Il serait plus approprié de parler de « direction de déplacement ».

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique
Chapitre 5 : Techniques d'optimisation par métaheuristiques 19

La stratégie de déplacement d’une particule est illustrée dans la figure 12.

vi (t+1)
pg
vi (t)

xi pi

Figure 12- Stratégie de déplacement d’une particule

L’algorithme 7 donne le pseudo code de la version la plus générale de l’OEP (la version
continue).

Algorithme 7 : Algorithme d’Optimisation par Essaim Particulaire (OEP)

1 Initialiser aléatoirement Ps particules : position et vitesse


2 Évaluer les positions des particules
3 Tant que le critère d’arrêt n’est pas atteint
4 Pour i = 1, ..., Ps
5 Déplacer les particules selon  et 
6 Si f (xi) < f (pi)
7 pi = x i
8 Si f (xi) < f (pg)
9 pg = xi
10 Fin
11 Fin
12 Fin
13 Fin

Le critère d’arrêt peut être différent suivant le problème posé et les exigences de l’utilisateur.
Si l’optimum global est connu a priori, on peut définir une « erreur acceptable » comme critère
d’arrêt. Sinon, on peut fixer nombre maximum d’itérations ou un nombre maximum
d’évaluations de la fonction objectif.

Remarque :

Contrairement à la plupart des métaheuristiques, l’OEP a été conçue initialement pour


résoudre des problèmes d’optimisation à variables continues. Plusieurs auteurs ont récemment
adapté cette métaheuristique pour résoudre des problèmes à variables discrètes. Les approches
proposées diffèrent de l’approche continue par la manière dont une particule est associée à une
solution discrète, de même que par le modèle de vitesse utilisé.

Cours : Techniques de l’Intelligence Artificielle Université Mohammed Seddik Ben Yahia - Jijel / Faculté des Sciences et de la Technologie
Enseignant : N. LOURCI Département d'Électrotechnique / 2ème année Master / Option : Commande Électrique

Vous aimerez peut-être aussi