Vous êtes sur la page 1sur 41

Universit Mohammed V, Facult des Sciences de

Rabat
Laboratoire de Recherche Mathmatiques,
Informatique et Applications

Cours des Mthodes de


Rsolution Exactes
Heuristiques et
Mtaheuristiques

MASTER CODES, CRYPTOGRAPHIE ET SCURIT DE


LINFORMATION

Sidi Mohamed Douiri, Souad Elbernoussi, Halima Lakhbab

Table des matires


Table des matires

iii

Liste des figures

iii

1
1
2
3
3
6
7
7
9
9
9
10
11
14
15
21
25
30
30

1.1
1.2
1.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notions sur la complexit . . . . . . . . . . . . . . . . . .
Les mthodes de rsolution exactes . . . . . . . . . . . .
1.3.1
1.3.2
1.3.3
1.3.4

1.4
1.5
1.6

La mthode sparation et valuation (Branch and Bound)


La mthode de coupes planes (Cutting-Plane) . . . . . .
La mthode (Branch and Cut) . . . . . . . . . . . . . . .
La mthode de la gnration de colonnes . . . . . . . . .

Heuristiques . . . . . . . . . .
Mthodes de trajectoire . .
1.5.1
La mthode de descente .
Mtaheuristiques . . . . . . .
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Le recuit simul (simulated annealing)


La recherche Tabou (Tabu Search) . . .
Les algorithmes gntiques . . . . . .
Les algorithmes de colonies de fourmis
Loptimisation par essaim de particules
La recherche disperse . . . . . . . . .

Conclusion . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Bibliographie

33

Liste des figures


1.1
1.2
1.3
1.4
1.5
1.6
1.7

Solutions possibles de lexemple de sac dos. . . . . . . . .


Rsolution de lexemple de sac dos par Branch & Bound. .
Evolution dune solution dans la mthode de descente . . .
Fonctionnement de lalgorithme de recuit simul. . . . . . .
Fonctionnement dun algorithme gntique. . . . . . . . . .
Croisement en un point. . . . . . . . . . . . . . . . . . . . . .
Croisement en deux points. . . . . . . . . . . . . . . . . . . .

5
6
10
12
16
18
18
iii

Reprsentation schmatique dune mutation dans le cas


dun codage binaire. . . . . . . . . . . . . . . . . . . . . . . .
1.9 Application de la roulette sur la population. . . . . . . . . .
1.10 Lexprience du pont double branche. . . . . . . . . . . . .
1.11 Analysis of Particle Trajectories . . . . . . . . . . . . . . . . .
1.12 Graphe dinfluence dun essaim de particules. ( gauche)
Graphe compltement connect, ( droite) Graphe dinformation circulaire. . . . . . . . . . . . . . . . . . . . . . . . . .

1.8

iv

19
20
22
26

29

1
1.1

Introduction

i les mthodes de rsolution exactes permettent dobtenir une solutions


dont loptimalit est garantie, dans certaines situations, on peut cependant chercher des solutions de bonne qualit, sans garantie doptimalit,
mais au profit dun temps de calcul plus rduit. Pour cela, On applique des
mthodes appeles mtaheuristiques, adaptes chaque problme trait,
avec cependant linconvnient de ne disposer en retour daucune information sur la qualit des solutions obtenues.
Les heuristiques ou les mta-heuristiques exploitent gnralement des
processus alatoires dans lexploration de lespace de recherche pour faire
face lexplosion combinatoire engendr par lutilisation des mthodes
exactes. En plus de cette base stochastique, les mta-heuristiques sont le
plus souvent itratives, ainsi le mme processus de recherche est rpt
lors de la rsolution. Leur principal intrt provient justement de leur
capacit viter les minima locaux en admettant une dgradation de la
fonction objectif au cours de leur progression.
Loptimisation combinatoire (OC) occupe une place trs importante en
recherche oprationnelle et en informatique. De nombreuses applications
pouvant tre modlises sous la forme dun problme doptimisation combinatoire (POC) telles que le problme du voyageur de commerce, lordonnancement de tches, le problme de la coloration de graphes, etc. (POC)
comprend un ensemble fini de solutions, o chaque solution doit satisfaire
un ensemble de contraintes relatives la nature du problme, et une fonction objectif pour valuer chaque solution trouve. La solution optimale
est celle dont la valeur de lobjectif est la plus petite (resp. grande) dans le
cas de minimisation (resp. maximisation) parmi lensemble de solutions.
Un problme doptimisation combinatoire peut tre dfini par :
Vecteur de variables x = ( x1 , x2 , ..., xn ),
Domaine des variables D = ( D1 , D2 , ..., Dn ), o les ( Di )i=1,...,n sont
des ensembles finis,
Ensemble de contraintes,
Une fonction objectif f minimiser ou maximiser,
Ensemble de toutes les solutions ralisable possibles est S = { x =
( x1 , x2 , , xn ) D / x satisfait toutes les contraintes}, lensemble S est
aussi appel un espace de recherche.

Chapitre 1.

La rsolution de (POC) consiste trouver la meilleure solution, dfinie


comme la solution globalement optimale ou un optimum global.
La rsolution des problmes combinatoires est assez dlicate puisque le
nombre fini de solutions ralisables crot gnralement avec la taille du
problme, ainsi que sa complexit. Cela a pouss les chercheurs dvelopper de nombreuses mthodes de rsolution en recherche oprationnelle (RO) et en intelligence artificielle (IA). Ces approches de rsolution
peuvent tre classes en deux catgories : les mthodes exactes et les mthodes approches.
Les mthodes exactes ont permis de trouver des solutions optimales pour
des problmes de taille raisonnable et rencontrent gnralement des difficults face aux applications de taille importante. En revanche les mthodes
approches ne garantissent pas de trouver une solution exacte, mais seulement une approximation.
Ces deux classes dalgorithmes de rsolution de (POC) sont dcrites dans
les sections suivantes.

1.2

Notions sur la complexit


Avant daborder les diffrentes mthodes de rsolution des problmes
doptimisation combinatoire nous introduisons quelques dfinitions et notions sur la complexit des (POC).
Gnralement, le temps dexcution est le facteur majeur qui dtermine
lefficacit dun algorithme, alors la complexit en temps dun algorithme
est le nombre dinstructions ncessaires (affectation, comparaison, oprations algbriques, lecture et criture, etc.) que comprend cet algorithme
pour une rsolution dun problme quelconque.

Dfinition 1.1

Une fonction f (n) est O( g(n)) ( f (n) est de complexit g(n)), sil existe un rel
c > 0 et un entier positif n0 tel que pour tout n n0 on a | f (n)| c.g(n).

Dfinition 1.2

Un algorithme en temps polynomial est un algorithme dont le temps de la complexit est en O( p(n)), o p est une fonction polynomiale et n est la taille de
linstance (ou sa longueur dentre).
Si k est le plus grand exposant de ce polynme en n, le problme correspondant
est dit tre rsoluble en O(nk ) et appartient la classe P, un exemple de problme
polynomial est celui de la connexit dans un graphe.

Dfinition 1.3

La classe NP contient les problmes de dcision qui peuvent tre dcids sur une
machine non dterministe en temps polynomial. Cest la classe des problmes qui
admettent un algorithme polynomial capable de tester la validit dune solution
du problme. Intuitivement, les problmes de cette classe sont les problmes qui
peuvent tre rsolus en numrant lensemble de solutions possibles et en les testant laide dun algorithme polynomial.

Dfinition 1.4

On dit quun problme de recherche P1 se rduit polynomialement un problme


de recherche P2 par la rduction de Turing sil existe un algorithme A1 pour
rsoudre P1 utilisant comme sous programme un algorithme A2 rsolvant P2 , de
telle sorte que la complexit de A1 est polynomiale, quand on value chaque appel
de A2 par une constante.

1.3. Les mthodes de rsolution exactes

Dfinition 1.5

La classe NP-complet : parmi lensemble des problmes appartenant NP, il


en existe un sous ensemble qui contient les problmes les plus difficiles : on les
appelle les problmes NP-complets. Un problme NP-complet possde la proprit
que tout problme dans NP peut tre transform (rduit) en celui-ci en temps
polynomial. Cest dire quun problme est NP-complet quand tous les problmes
appartenant NP lui sont rductibles. Si on trouve un algorithme polynomial
pour un problme NP-complet, on trouve alors automatiquement une rsolution
polynomiale de tous les problmes de la classe NP.

Dfinition 1.6

La classe NP-difficile : un problme est NP-difficile sil est plus difficile quun
problme NP-complet, cest dire sil existe un problme NP-complet se rduisant
ce problme par une rduction de Turing.

1.3

Les mthodes de rsolution exactes


Nous prsentons dabord quelques mthodes de la classe des algorithmes complets ou exacts, ces mthodes donnent une garantie de trouver la solution optimale pour une instance de taille finie dans un temps
limit et de prouver son optimalit (Puchinger et Raidl 2005).

1.3.1 La mthode sparation et valuation (Branch and Bound)


Lalgorithme de sparation et valuation, plus connu sous son appellation anglaise Branch and Bound ( B&B) (Land et Doig 1960), repose sur
une mthode arborescente de recherche dune solution optimale par sparations et valuations, en reprsentant les tats solutions par un arbre
dtats, avec des noeuds, et des feuilles.
Le branch-and-bound est bas sur trois axes principaux :
Lvaluation,
La sparation,
La stratgie de parcours.
- Lvaluation
Lvaluation permet de rduire lespace de recherche en liminant
quelques sous ensembles qui ne contiennent pas la solution optimale. Lobjectif est dessayer dvaluer lintrt de lexploration dun
sous-ensemble de larborescence. Le branch-and-bound utilise une
limination de branches dans larborescence de recherche de la manire suivante : la recherche dune solution de cot minimal, consiste
mmoriser la solution de plus bas cot rencontr pendant lexploration, et comparer le cot de chaque noeud parcouru celui de
la meilleure solution. Si le cot du noeud considr est suprieur
au meilleur cot, on arrte lexploration de la branche et toutes les
solutions de cette branche seront ncessairement de cot plus lev
que la meilleure solution dj trouve.
- La sparation
La sparation consiste diviser le problme en sous-problmes.
Ainsi, en rsolvant tous les sous-problmes et en gardant la
meilleure solution trouve, on est assur davoir rsolu le problme
initial. Cela revient construire un arbre permettant dnumrer

Chapitre 1.

toutes les solutions. Lensemble de neouds de larbre quil reste encore parcourir comme tant susceptibles de contenir une solution optimale, cest--dire encore diviser, est appel ensemble des
neouds actifs.
- La stratgie de parcours
La largeur dabord : Cette stratgie favorise les sommets les plus
proches de la racine en faisant moins de sparations du problme initial. Elle est moins efficace que les deux autres stratgies prsentes,
La profondeur dabord : Cette stratgie avantage les sommets les
plus loigns de la racine (de profondeur la plus leve) en
appliquant plus de sparations au problme initial. Cette voie
mne rapidement une solution optimale en conomisant la
mmoire,
Le meilleur dabord : Cette stratgie consiste explorer des sousproblmes possdant la meilleure borne. Elle permet aussi
dviter lexploration de tous les sous-problmes qui possdent
une mauvaise valuation par rapport la valeur optimale.

Exemple du problme du sac dos


Le problme de sac dos consiste remplir un sac dos de capacit b
avec des produits x1 , x2 ,..., xn , qui ont un poids b1 , b2 ,..., bn et rapportent
un cout c1 , c2 ,..., cn par unit, de faon maximiser le profit.
On considre lexemple suivant :

Max z = 4x1 + 5x2 + 6x3 + 2x4


33x1 + 49x2 + 60x3 + 32x4 130

xi N
Pour ne pas violer la contrainte du problme chaque variable peut
prendre les valeurs suivantes x1 {0, 1, 2, 3}, x2 {0, 1, 2}, x3 {0, 1, 2}
et x4 {0, 1, 2, 3, 4}, voir la figure 1.1.

1. Le neoud x1 = 3 avec (x2 = 0, x3 = 0, x4 = 0), dans ce cas, on


a mis un seul article dans le sac et prendre comme valuation du
noeud 3 4 = 12 : cest une valuation exacte qui correspond une
solution. Cela permet dinitialiser la valeur de la meilleure solution
courante 12.
2. Le noeud x1 = 2, On fixe larticle qui donne le meilleur rapport
cout/poids, cela est vrifi pour larticle 2. Lvaluation du noeud est
donc calcule par : 8 + (5 64/49) = 14, 53. Puisque 14, 53 > 12, on
divise ce noeud.
3. Le noeud x1 = 2, x2 = 1, pour le noeud x1 = 3, on obtient une
valuation exacte gale 13. La solution correspondante devient la
nouvelle meilleure solution courante et la meilleure valeur est gale
13.

1.3. Les mthodes de rsolution exactes

Figure 1.1 Solutions possibles de lexemple de sac dos.

4. Le noeud x1 = 2, x2 = 0 a comme valuation 8 + (6 64/60) = 14, 4


(x3 = 64/60, x4 = 0). Puisque 14, 4 > 13, on divise ce noeud.
5. Le noeud x1 = 2, x2 = 0, x3 = 1, a comme valuation est exacte
gale 14. La solution correspondante devient la nouvelle meilleure
solution courante et la meilleure valeur est gale 14.
6. Le noeud x1 = 1, a comme valuation gale 4 + (5 97/49) =
13, 89. On passe au dernier noeud x1 = 0, a comme valuation gale
5 130/49 = 13, 26 (x2 = 130/49).
La valeur de la solution optimale gale 14 et elle consiste prendre
2 units du produit 1 et une du produit 3 (x1 = 2, x2 = 0, x3 = 1, x4 = 0),
voir la figure 1.2.

Chapitre 1.

Figure 1.2 Rsolution de lexemple de sac dos par Branch & Bound.

1.3.2 La mthode de coupes planes (Cutting-Plane)


La mthode de coupes planes a t dveloppe par (Schrijver 1986),
elle est destine rsoudre des problmes doptimisation combinatoire
(POC) qui se formulent sous la forme dun programme linaire (PL) :
min{c T x : Ax b, x Rn }

(1.1)

Dans le cas, o (POC) est de grande taille pour le reprsenter explicitement en mmoire ou pour quil tient dans un solveur de programmation
linaire, on utilise une technique qui consiste enlever une partie de ces
contraintes et de rsoudre le problme relax (POCR). La solution optimale de (PL) est contenue dans lensemble de solutions ralisables de
cette relaxation. Pour un problme de minimisation la solution optimale
du problme (POCR) est infrieure ou gale la solution optimale donne
par (POC).
Cette mthode consiste rsoudre un problme relax, et ajouter itrativement des contraintes du problme initial. On dfinit une contrainte
pour le problme de minimisation (1.1) par le couple (s, s0 ) o s Rn et
s0 R, cette contrainte est dite viole par la solution courante x si pour
tout y { x : Ax b} on a s T x < s0 et s T y s0 , on appelle alors ces
contraintes des coupes planes. On arrte lalgorithme lorsquil ny a plus
de contraintes violes par la solution courante, on obtient ainsi une solution optimale pour le problme initial.
La mthode des coupes planes est peu performante mais sa performance est amliore lorsquelle est combine avec la mthode "Branch
and Bound".

1.3. Les mthodes de rsolution exactes

1.3.3 La mthode (Branch and Cut)


La mthode des coupes planes nest pas toujours efficace face aux problmes difficiles. De mme, bien que lalgorithme du "Branch and Bound"
puisse tre trs performant pour une certaine classe de problmes, pour
cela on utilise la mthode "Branch and Cut" qui combine entre lalgorithme
du "Branch and Bound" et de la mthode des coupes planes. Pour une rsolution dun programme linaire en nombres entiers, la mthode "Branch
and Cut" commence dabord par relaxer le problme puis appliquer la mthode des coupes planes sur la solution trouve. Si on nobtient pas une
solution entire alors le problme sera divis en plusieurs sous-problmes
qui seront rsolus de la mme manire.
On veut rsoudre le problme doptimisation (minct x : Ax b; x Rn )
avec A Rmxn et b Rm .
Algorithm 1 Branch and Cut
Liste des problmes = ;
Initialiser le programme linaire par le sous problme de contraintes
( A1 , b1 ) avec A1 Rm1 xn et b1 Rm1 ) avec m1 << m ;
Etapes dvaluation dun sous problme
Calculer la solution optimale x du programme linaire ct x = min(ct x :
A1 x b1 , x Rn ) ;
Solution courante= Appliquer la mthode des coupes polydrales() ;
Fin tapes dvaluation
Si Solution courante est ralisable alors
x = x est la solution optimale de min(ct x : Ax b, x Rn ) ;
Sinon
Ajouter le problme dans Liste des sous problmes ;
Fin Si
Tant que Liste des sous problmes 6= faire
Slectionner un sous problme ;
Brancher le problme ;Appliquer les tapes dvaluation ;
Fin Tant que

1.3.4 La mthode de la gnration de colonnes


Le principe de la gnration de colonnes repose sur le fait que toutes
les variables dun programme linaire ne seront pas forcment utilises
pour atteindre la solution optimale. Lobjectif de cette mthode est de rsoudre un problme rduit avec un ensemble limit de variables. Le problme initial est appel problme matre, et le problme rduit est appel
problme restreint. Le problme restreint est plus simple rsoudre, mais
si lensemble de ses variables ne contient pas celles qui donne la solution
optimale pour le problme matre, pour atteindre la solution optimale du
problme matre, il faut rajouter au problme restreint des variables pouvant tre utilises pour amliorer la solution.
Le problme consistant chercher la meilleure variable rajouter dans
le problme restreint est appel sous-problme associ au problme matre
(ou oracle). Il a comme objectif de trouver la variable (ou colonne) de cot
rduit minimum (c--d. la plus prometteuse pour amliorer la solution).

Chapitre 1.

Le cot rduit des variables est calcul laide des variables duales obtenues aprs la rsolution du problme restreint. Le point du dual ainsi
utilis dans le sous problme est appel point de sparation. Souvent, il
sagit dune solution optimale du dual du problme restreint.
On considre le programme linaire continu (LP) suivant :

Min iT ci xi
( LP) iT aij xi , b j j = 1, ..., n

xi 0, i T
Nous supposons que le nombre de variables de T est trop grand pour
que le problme (LP) puisse tre rsolu en temps raisonnable, et que nous
voulions le rsoudre par gnration de colonnes. Nous cherchons donc
rsoudre le problme restreint associ au problme matre avec un ensemble restreint de variables not Rl . Il faut que le problme restreint soit
ralisable. Il est possible dutiliser des colonnes simples par exemple des
colonnes alatoires, ou encore celles issues dune solution faisable obtenue
partir dune heuristique.
Le problme restreint (RLP) est donn sous la forme suivante :

Min i Rl ci xi
( RLP) i Rl aij x j , b j j = 1, ..., n

xi 0, i Rl
Le problme (RLP) est maintenant de taille rduite et sera plus facile
rsoudre par un solveur. Cette rsolution nous fournira les valeurs optimales des variables duales v j associes aux contraintes. Ces valeurs sont
passes au sous problme qui nous permet dobtenir la ou les colonnes
rajouter dans lensemble Rl .
Le calcul du cot rduit nous permet de savoir si une colonne a fait diminuer la valeur de lobjectif (et donc de lamliorer). Prenons par exemple
la colonne xi du problme matre (LP), son cot rduit vaut :
n

ci = ci aij v j
j =1

Puisque (LP) est un problme de minimisation, le sous problme cherche


aussi minimiser ce cot rduit. Si le cot rduit minimum est positif,
alors aucune colonne ne peut tre ajoute au problme restreint (RLP)
pour amliorer lobjectif. La solution optimale du problme restreint est
donc une solution optimale du problme matre (LP). Sinon, on rajoute
une ou des colonnes parmi celles ayant un cot rduit ngatif en faisant
une mise jour de lensemble Rl et on rsout aprs le nouveau problme
restreint (RLP).

Remarque
La mthode de la gnration de colonnes peut tre combine avec
un processus de Branch&Bound pour rsoudre un programme linaire en
nombres entiers, cette mthode est appele Branch&Price.

1.4. Heuristiques

1.4

Heuristiques
En optimisation combinatoire, une heuristique est un algorithme approch qui permet didentifier en temps polynomial au moins une solution
ralisable rapide, pas obligatoirement optimale. Lusage dune heuristique
est efficace pour calculer une solution approche dun problme et ainsi
acclrer le processus de rsolution exacte. Gnralement une heuristique
est conue pour un problme particulier, en sappuyant sur sa structure
propre sans offrir aucune garantit quant la qualit de la solution calcule. Les heuristiques peuvent tre classes en deux catgories :
Mthodes constructives qui gnrent des solutions partir dune solution initiale en essayant den ajouter petit petit des lments jusqu
ce quune solution complte soit obtenue,
Mthodes de fouilles locales qui dmarrent avec une solution initialement complte (probablement moins intressante), et de manire
rptitive essaie damliorer cette solution en explorant son voisinage.

1.5

Mthodes de trajectoire
Les mthodes de recherche locale passent dune solution une autre
dans lespace des solutions candidates (lespace de recherche) quon note
S, jusqu ce quune solution considre comme optimale soit trouve ou
que le temps imparti soit dpass. La mthode de recherche locale la plus
lmentaire est la mthode de descente.

1.5.1

La mthode de descente
Pour un problme de minimisation dune fonction f , la mthode descente peut tre dcrite comme suit :
Algorithm 2 La mthode de descente
1. Solution initiale s ;
2. Repeter :
3.

Choisir s0 dans un voisinage N (s) de s ;

4.

Si f (s0 ) < f (s) alors s := s0 ;

5. jusqu ce que f (s0 ) f (s), s0 N (s).


La figure ?? prsente lvolution dune solution dans la mthode de
descente.
Linconvnient majeur de la mthode de descente est son arrt au
premier minimum local rencontr. Pour amliorer les rsultats, on peut
lancer plusieurs fois lalgorithme en partant dun jeu de solutions initiales
diffrentes, mais la performance de cette technique dcrot rapidement.
Pour viter dtre bloqu au premier minimum local rencontr, on peut
dcider daccepter, sous certaines conditions, de se dplacer dune solution
s vers une solution s0 N (s) telle que f (s0 ) > f (s).

Chapitre 1.

10

Figure 1.3 Evolution dune solution dans la mthode de descente

1.6

Mtaheuristiques
Face aux difficults rencontres par les heuristiques pour avoir une
solution ralisable de bonne qualit pour des problmes doptimisation
difficiles, les mtaheuristiques ont fait leur apparition. Ces algorithmes
sont plus complets et complexes quune simple heuristique, et permettent
gnralement dobtenir une solution de trs bonne qualit pour des problmes issus des domaines de la recherche oprationnelle ou de lingnierie dont on ne connait pas de mthodes efficaces pour les traiter ou bien
quand la rsolution du problme ncessite un temps lev ou une grande
mmoire de stockage.
Le rapport entre le temps dexcution et la qualit de la solution trouve
dune mtaheuristique reste alors dans la majorit des cas trs intressant
par rapport aux diffrents types dapproches de rsolution.
La plupart des mtaheuristiques utilisent des processus alatoires et itratifs comme moyens de rassembler de linformation, dexplorer lespace
de recherche et de faire face des problmes comme lexplosion combinatoire. Une mtaheuristique peut tre adapte pour diffrents types de
problmes, tandis quune heuristique est utilise un problme donn.
Plusieurs dentre elles sont souvent inspires par des systmes naturels
dans de nombreux domaines tels que : la biologie (algorithmes volutionnaires et gntiques) la physique (recuit simul), et aussi lthologie
(algorithmes de colonies de fourmis).
Un des enjeux de la conception des mtaheuristiques est donc de faciliter
le choix dune mthode et le rglage des paramtres pour les adapter un
problme donn.
Les mtaheuristiques peuvent tre classes de nombreuses faons. On
peut distinguer celles qui travaillent avec une population de solutions de
celles qui ne manipulent quune seule solution la fois. Les mthodes qui
tentent itrativement damliorer une solution sont appeles mthodes de
recherche locale ou mthodes de trajectoire. Ces mthodes construisent
une trajectoire dans lespace des solutions en tentant de se diriger vers
des solutions optimales. Les exemples les plus connus de ces mthodes
sont : La recherche Tabou et le Recuit Simul. Les algorithmes gntiques,
loptimisation par essaim de particules et Les algorithmes de colonies de
fourmis prsentent les exemples les plus connus des mthodes qui travaillent avec une population.

1.6. Mtaheuristiques

11

1.6.1 Le recuit simul (simulated annealing)


Le recuit simul (SA) a t introduit par (Kirkpatrik et al. 1983) et
(Cern 1985) comme une mthode de recherche locale normale, utilisant
une stratgie pour viter les minima locaux. Cette mtaheuristique est base sur une technique utilise depuis longtemps par les mtallurgistes qui,
pour obtenir un alliage sans dfaut, faisant alterner les cycles de rchauffage (ou de recuit) et de refroidissement lent des mtaux. Le recuit simul
sappuie sur des travaux faites par (Metropolis et al. 1953), qui ont pu dcrire lvolution dun systme en thermodynamique.
Le principe du recuit simul est de parcourir de manire itrative lespace
des solutions. On part avec une solution note s0 initialement gnre de
manire alatoire dont correspond une nergie initiale E0 , et une temprature initiale T0 gnralement leve. A chaque itration de lalgorithme, un
changement lmentaire est effectu sur la solution, cette modification fait
varier lnergie du systme E. Si cette variation est ngative (la nouvelle
solution amliore la fonction objective, et permet de diminuer lnergie du
systme), elle est accepte. Si la solution trouve est moins bonne que la
prcdente alors elle sera accepte avec une probabilit P calcule suivant
la distribution de Boltzmann suivante :

P( E, T ) = exp

E
T

(1.2)

En fonction du critre de Metropolis, un nombre e [0, 1] est compar


E
la probabilit p = exp T . Si p e la nouvelle solution est accepte.
Le fonctionnement du critre de Metropolis est interprt par
E
Si E = f (s0 ) f (s) < 0 alors e T > 1, donc e est toujours infrieur
cette valeur, et on accepte la solution s0
Si > 0
E
et T est trs grande, alors e T
= 1, tout voisin est systmatiquement
accept.
E
et T est trs petite, alors e T
= 0, une dgradation a peu de chances
dtre accepte.

Chapitre 1.

12

Figure 1.4 Fonctionnement de lalgorithme de recuit simul.

1.6. Mtaheuristiques

13

Algorithm 3 Recuit simul


1. Engendrer une configuration initiale S0 de S : S S0
2. Initialiser la temprature T en fonction du schma de refroidissement
3. Rpter
4. Engendrer un voisin alatoire S0 de S
5. Calculer E = f (S0 ) f (S)
6. Si E 0 alors S S0
7. Sinon accepter S0 comme la nouvelle solution avec la probabilit
E
P( E, T ) = exp T
8. Fin si
9. Mettre T jour en fonction du schma de refroidissement (rduire
la temprature)
10. Jusqu la condition darrt
11. Retourner la meilleure configuration trouve

Le choix de la temprature est primordial pour garantir lquilibre


entre lintensification et la diversification des solutions dans lespace de
recherche. Premirement, le choix de la temprature initiale dpend de la
qualit de la solution de dpart. Si cette solution est choisie alatoirement,
il faut prendre une temprature relativement leve.
On utilise souvent la rgle suivante :
Tk+1 Tk .
o [0, 1], un paramtre qui exprime la diminution de la temprature
de litration k k + 1.
La dcroissance de la temprature peut galement tre ralise par paliers
(en dautres termes, elle ne change quaprs un certain nombre ditrations). Certains prconisent lutilisation de stratgies non monotones. On
peut ainsi rehausser la temprature lorsque la recherche semble bloque
dans une rgion de lespace de recherche. On peut alors considrer une
grande augmentation de la temprature comme un processus de diversification alors que la dcroissance de la temprature correspond un
processus dintensification.

Avantages
La mthode du recuit simul a lavantage dtre souple vis--vis des
volutions du problme et facile implmenter,
Contrairement aux mthodes de descente, SA vite le pige des optima locaux,
Excellents rsultats pour un nombre de problmes complexes.

Inconvnients
Nombreux tests ncessaires pour trouver les bons paramtres,

Chapitre 1.

14

Dfinir les voisinages permettant un calcul efficace de E.

1.6.2 La recherche Tabou (Tabu Search)


La recherche tabou (TS) est une mthode de recherche locale combine avec un ensemble de techniques permettant dviter dtre pig dans
un minimum local ou la rptition dun cycle. La recherche tabou est introduite principalement par Glover (Glover 1986), Hansen (Hansen 1986),
Glover et Laguna dans (Glover et Laguna 1997). Cette mthode a montr une grande efficacit pour la rsolution des problmes doptimisation
difficiles. En effet, partir dune solution initiale s dans un ensemble de
solutions local S, des sous-ensembles de solution N (s) appartenant au voisinage S sont gnrs. Par lintermdiaire de la fonction dvaluation nous
retenons la solution qui amliore la valeur de f , choisie parmi lensemble
de solutions voisines N (s).
Lalgorithme accepte parfois des solutions qui namliorent pas toujours la
solution courante. Nous mettons en oeuvre une liste tabou (tabu list) T de
longueur k contenant les k dernires solutions visites, ce qui ne donne pas
la possibilit a une solution dj trouve dtre accepte et stocke dans
la liste tabou. Alors le choix de la prochaine solution est effectu sur un
ensemble des solutions voisines en dehors des lments de cette liste tabou. Quand le nombre k est atteint, chaque nouvelle solution slectionne
remplace la plus ancienne dans la liste. La construction de la liste tabou
est base sur le principe FIFO, cest--dire le premier entr est le premier
sorti. Comme critre darrt on peut par exemple fixer un nombre maxiAlgorithm 4 La recherche tabou
Initialisation :
s0 une solution initiale
s s0 , s s0 , c f (s0 )
T=
2: Gnrer un sous-ensemble de solution au voisinage de s
s0 N (s) tel que x N (s), f ( x ) f (s0 ) et s0
/T
Si f (s0 ) < c alors s s0 et c f (s0 )
Mise--jour de T
3: Si la condition darrt nest pas satisfaite retour ltape 2
1:

mum ditrations sans amlioration de s*, ou bien fixer un temps limite


aprs lequel la recherche doit sarrter.

Avantages et inconvnients
La recherche tabou est une mthode de recherche locale, et la structure de son algorithme de base est proche de celle du recuit simul, avec
lavantage davoir un paramtrage simplifi : le paramtrage consistera
dabord trouver une valeur indicative t ditrations pendant lesquelles
les mouvements sont interdits. Il faudra galement choisir une stratgie
de mmorisation. En revanche, la mthode tabou exige une gestion de
la mmoire de plus en plus lourde en mettant des stratgies de mmorisation complexe. Lefficacit de la mthode tabou offre son utilisation

1.6. Mtaheuristiques

dans plusieurs problmes doptimisation combinatoire classiques tels que


le problme de voyageur de commerce, le problme dordonnancement, le
problme de tournees de vhicules, etc.

1.6.3 Les algorithmes gntiques


Les algorithmes gntiques (AG) sont des algorithmes doptimisation
stochastique fonds sur les mcanismes de la slection naturelle et de la
gntique. Ils ont t adapts loptimisation par John Holland (Holland
1975), galement les travaux de David Goldberg ont largement contribu
les enrichir (Goldberg 1989a), (Goldberg 1989b).
Le vocabulaire utilis est le mme que celui de la thorie de lvolution et
de la gntique, on emploie le terme individu (solution potentielle), population (ensemble de solutions), gnotype (une reprsentation de la solution), gne (une partie du gnotype), parent, enfant, reproduction, croisement, mutation, gnration, etc.
Leur fonctionnement est extrmement simple, on part dune population
de solutions potentielles (chromosomes) initiales, arbitrairement choisies.
On value leur performance (Fitness) relative. Sur la base de ces performances on cre une nouvelle population de solutions potentielles en utilisant des oprateurs volutionnaires simples : la slection, le croisement
et la mutation. Quelques individus se reproduisent, dautres disparaissent
et seuls les individus les mieux adapts sont supposs survivre. On recommence ce cycle jusqu ce quon trouve une solution satisfaisante. En
effet, lhritage gntique travers les gnrations permet la population
dtre adapte et donc rpondre au critre doptimisation, la figure 1.5
illustre les principales tapes dun algorithme gntique. Un algorithme
gntique recherche le ou les extrema dune fonction dfinie sur un espace de donnes. Son mise en oeuvre ncessite :

- Le codage des donnes


La premire tape est de dfinir et coder convenablement le problme. Cette tape associe chaque point de lespace de recherche
une structure de donnes spcifique, appele gnotype ou ensemble
de chromosomes, qui caractrisera chaque individu de la population.
Le codage de chaque individu en squence est essentielle dans llaboration dun algorithme gntique dont dpend notamment limplmentation des oprateurs de transformations. Ainsi, cette phase
dtermine la structure de donnes qui sera utilise pour coder le
gnotype des individus de la population. Le codage doit donc tre
adapt au problme trait.
Plusieurs types de codages sont utiliss dans la littrature, les premiers rsultats thoriques sur les algorithmes gntiques ont opt
pour un codage par une squence binaire de longueur fixe travers
la notion de schma (Goldberg 1989a). Lefficacit de lalgorithme
gntique dpend donc du choix convenable du type de codage.
- Gnration de la population initiale
La gnration de la population initiale, cest--dire le choix des dis-

15

Chapitre 1.

16

Figure 1.5 Fonctionnement dun algorithme gntique.

positifs de dpart que nous allons faire voluer, ce choix de la population initiale dindividus conditionne fortement la rapidit de lalgorithme. Nanmoins, une initialisation alatoire est plus simple
raliser : les valeurs des gnes sont tires au hasard selon une distribution uniforme. Toutefois, il peut tre utile de guider la gnration
initiale vers des sous domaines intressants de lespace de recherche.
Par exemple lors dune recherche doptima dans un problme doptimisation sous contraintes, il est prfrable de produire des lments
satisfaisant les contraintes. La population initiale doit tre suffisamment diversifie et de taille assez importante pour que la recherche
puisse parcourir lespace dtat dans un temps limit.
- Fonction dadaptation (Fitness)
Lvaluation de la Fitness est gnralement ltape dans laquelle on
mesure la performance de chaque individu. Pour pouvoir juger la
qualit dun individu et ainsi le comparer aux autres, il faut tablir une mesure commune dvaluation. Aucune rgle nexiste pour
dfinir cette fonction, son calcul peut ainsi tre quelconque, que ce
soit une simple quation ou une fonction affine. La manire la plus
simple est de poser la fonction dadaptation comme la formalisation
du critre doptimisation.
- Slection
La slection permet didentifier statistiquement les meilleurs individus dune population et dliminer les mauvais, pendant le passage
dune gnration une autre, ce processus est bas sur la performance de lindividu. Loprateur de slection doit tre conu pour
donner galement une chance aux mauvais lments, car ces lments peuvent, par croisement ou mutation, engendrer une descen-

1.6. Mtaheuristiques

dance pertinente par rapport au critre doptimisation. Il existe diffrentes techniques de slection, on propose quelques unes.
Slection uniforme : On ne sinteresse pas la valeur dadaptation
fitness et la slection seffectue dune manire alatoire et uniforme
telle que chaque individu i a la mme probabilit Prob(i ) = 1/Tpop
comme tous les autres individus (Tpop est la taille de la population).
Slection par tournoi : Deux individus sont choisis au hasard, on
compare leurs fonctions dadaptation et le mieux adapt est slectionn.
litisme : Cette mthode de slection permet de favoriser les
meilleurs individus de la population. Ce sont donc les individus les
plus prometteurs qui vont participer lamlioration de notre population. On peut constater que cette mthode induisait une convergence prmature de lalgorithme.
Slection par roulette : La slection des individus par la mthode
de la roulette sinspire de la roue de loterie sur laquelle chaque individu est reprsent par un secteur proportionnel sa fitness. On
fait tourner la roue et on slectionne un individu. Les individus les
mieux valus ont statistiquement plus de chance dtre slectionns, mais donne aussi une possibilit aux individus mal adapts
dtre choisis. chaque individu i une probabilit est associe, dtre
choisi proportionnelle son adaptation f i :
Prob(i ) = f i / f j , o f j dsigne la somme des adaptations de la
population.
Reste stochastique sans remplacement : Cette slection associe la
slection par roulette et la slection dterministe. Un nombre minimal de reprsentants de chaque individu parmi les futurs parents
est dtermin par avance en fonction de son adaptation, puis la population sera complte par un tirages alatoires. Pour un individu
i, le nombre de reprsentation dans la future gnration est donn
par E( f i ), o E dsigne la partie entire et f i dsigne ladaptation de
i rapporte la moyenne des adaptations de tous les individus. La
gnration suivante est alors complte par la mthode de slection
par roulette telle que lvaluation dun individu est donne par le
reste stochastique ri = f i E( f i ).
- Croisement
Loprateur de croisement favorise lexploration de lespace de recherche et enrichit la diversit de la population en manipulant la
structure des chromosomes, le croisement fait avec deux parents et
gnre deux enfants, en esprant quun des deux enfants au moins
hritera de bons gnes des deux parents et sera mieux adapt queux.
Il existe plusieurs mthodes de croisement par exemple le croisement en un point, ou en multiples points voir les figures 1.6 et 1.7.

17

Chapitre 1.

18

Figure 1.6 Croisement en un point.

Figure 1.7 Croisement en deux points.

Croisement uniforme : Il constitue la gnralisation du principe


dchange introduit par le croisement en un point. Il procde en effet
lchange de chaque lment selon une probabilit fixe. Le jeu de
paramtres se rduit donc la donne de cette probabilit.
Croisement MPX : Le croisement MPX (Maximal Preservative X), a t
propos par (Mlhenbein 1993) pour rsoudre le problme du voyageur de
commerce. Lide de cet oprateur est dinsrer une partie du chromosome
dun parent dans le chromosome de lautre parent de telle faon que le
chromosome rsultant soit le plus proche possible de ses parents tout en
vitant les doublons.

Exemple
Nous considrons par exemple les deux parents :
P1 = (34|165|27) et P2 = (12|356|47)
Aprs le croisement les deux parents vont produire deux enfants en changeant tout dabord les deux parties linterieure de chaque parent comme
suit :
E1 = ( xx |356| xx ) et E2 = ( xx |165| xx )
Lchange dfinit ainsi une srie de permutations : 1 3, 6 5, 5 6.
Certaines valeurs de gnes sont donc inchanges ( car elles sont diffrentes
aux valeurs du bolc intrieur) :
E1 = ( x4|356|27) et E2 = ( x2|165|47)
Finalement, le premier x de lenfant E1 est remplac par 1 en raison de
la permutation 1 3. De la mme manire, on ralise les permutations
pour les autres x. Les individus enfants finaux sont donc de la forme :
E1 = (14|356|27) et E2 = (32|165|47)
- Mutation
Loprateur de mutation est un processus o un changement mineur
du code gntique appliqu un individu pour introduire de la diversit et ainsi dviter de tomber dans des optimums locaux. Cet
oprateur est appliqu avec une probabilit Pm gnralement infrieure celle du croisement Pc , voir la figure 1.8.

1.6. Mtaheuristiques

Figure 1.8 Reprsentation schmatique dune mutation dans le cas dun codage binaire.

Lefficacit des algorithmes gntiques dpend fortement du rglage


des diffrents paramtres caractrisant ces algorithmes, et qui sont parfois
difficiles dterminer. Des paramtres comme la taille de la population,
le nombre maximal des gnrations, la probabilit de mutation pm , et la
probabilit de croisement pc .
Les deux premiers paramtres dpendent directement de la nature du problme et de sa complexit, et leurs choix doit reprsenter un compromis
entre la qualit des solutions et le temps dexcution.
La probabilit de croisement pc est lie la forme de la fonction dvaluation. Son choix est en gnral heuristique. Plus sa valeur est leve, plus
la population subit des changements importants.
La probabilit de mutation pm est gnralement faible puisquun taux
lev risque de conduire vers un optimum local. En revanche, une probabilit faible permet dassurer une bonne exploration de lespace de recherche sans perturber la convergence.
Le succs des algorithmes gntiques dpend aussi de la manire du codage des individus. Dans les problmes combinatoires, ce codage est souvent suggr par la nature mme du problme, ce qui peut induire de
meilleurs rsultats.

Exemple de la mise en oeuvre des algorithmes gntiques


Cet exemple est d Goldberg (1989). Il consiste trouver le maximum de la fonction f(x)=x sur lintervalle [0,31], o x est un entier naturel.
On a 32 valeurs possibles pour x, on choisit donc un codage discret sur
5 bits : on obtient par exemple la squence 0,1,1,0,1 pour 13, la squence
1,1,0,0,1 pour 25, etc.
Initialisation de la population se fait dune manire alatoire et en
fixant sa taille 4 individus. On dfinit simplement la fitness comme tant
la valeur de x, vu quon en cherche la valeur maximum sur lintervalle
[0,31].
Soit la population initiale suivante :
Nous utilisons aprs une slection par roulette :
Nous faisons tourner la roue 4 fois de suite, nous obtenons une nouvelle
population :

19

Chapitre 1.

20

Individu

Squence

Adaptation

% du total

01011

11

18.6

10011

19

32.2

00101

8.5

11000

24

40.7

59

100

Total

Figure 1.9 Application de la roulette sur la population.

Individu

Squence

11000

00101

11000

01011

Nous appliquons loprateur de croisement en un seul point. Les point


de crossover sont choisis alatoirement :
Couple 1 : lindividu 2 avec lindividu 3
Couple 2 : lindividu 1 avec lindividu 4
Nous obtenons alors les anfants suivants :
Nous appliquons ensuite loprateur de mutation qui choisit de manire

Parents

Enfants

001|01
110|00

00100
11001

110|00
010|11

01000
11011

alatoire lindividu et le gne o on doit faire une mutation :

1.6. Mtaheuristiques

21

Parents

Enfants

00100
11001

00100
11101

01000
11011

01100
11011

Nous remplaons entirement lancienne population P par une nou0


velle P de mme taille : En une seule gnration le maximum est pass

Squence

Adaptation

00100

11101

29

01100

12

11011

27

Total

72

de 24 29, et la fitness globale de la population a relativement augmente


pour passer de 59 72. Nous continuons engendrer des gnrations
successives jusqu obtenir le maximum global qui vaut 31.

1.6.4 Les algorithmes de colonies de fourmis


Les algorithmes de colonies de fourmis ont t proposs par Colorni, Dorigo et Maniezzo en 1992 (Colorni et al. 1992b) et appliques
la premire fois au problme du voyageur de commerce. Ce sont des
algorithmes itratifs population o tous les individus partagent un
savoir commun qui leur permet dorienter leurs futurs choix et dindiquer
aux autres individus des choix suivre ou viter. Le principe de cette
mtaheuristique repose sur le comportement particulier des fourmis, elles
utilisent pour communiquer une substance chimique volatile particulire
appele phromone grce une glande situe dans leur abdomen. En
quittant leur nid pour explorer leur environnement la recherche de
la nourriture, les fourmis arrivent laborer des chemins qui savrent
frquemment tre les plus courts pour aller du nid vers une source de
nourriture. Chaque fourmi dpose alors une quantit de phromones
sur ces pistes qui deviendront un moyen de communication avec leurs
congnres, les fourmis choisissent ainsi avec une probabilit leve les
chemins contenant les plus fortes concentrations de phromones laide
des rcepteurs situs dans leurs antennes.
La figure 1.10 illustre et confirme ce constat, une exprience a t faite
par gauss et deneubourg en 1989 appele exprience du pont double
branche, les fourmis qui retournent au nid rapidement, aprs avoir visit la source de nourriture, sont celles qui ont choisi la branche courte

Chapitre 1.

22

et les fourmis empruntant cette branche faisant plus daller retour, et


par consquent la quantit de phromones dpose sur la plus courte
branche est relativement suprieure que celle prsente sur la plus longue
branche. Puisque les fourmis sont attires plus vers les pistes de plus
grande concentration en phromones, alors la branche courte sera la plus
emprunte par la majorit des fourmis. Cette mtaheuristique a permis

Figure 1.10 Lexprience du pont double branche.

de rsoudre diffrents problmes doptimisation combinatoire forte


complexit, comme le problme du voyageur de commerce (Dorigo et al.
1996), le problme de coloration de graphe (Costa et Hertz 1997), le problme daffectation quadratique (Gambardella et al. 1999) ou le problme
de routage de vhicules (Mazzeo et Loiseau 2004), etc.

Principe de lalgorithme
Dans ce paragraphe on dcrit limplmentation dun algorithme de
colonie de fourmis original dit Ant System (AS) (Colorni et al. 1992a),
orient pour rsoudre le problme de voyageur de commerce (TSP), ce
problme consiste trouver le plus court cycle hamiltonien dans un
graphe, o chaque sommet du graphe reprsente une ville. La distance
entre les villes i et j est reprsente par dij , et le couple (i, j) reprsente
larte entre ces deux villes. Nous initialisons dabord la quantit de phromone sur les artes init > 0, chaque fourmi parcourt le graphe est
construit un trajet complet (une solution). A chaque tape de la construction des solutions, la fourmi doit dcider quel sommet elle va se dplacer,
cette dcision est prise dune manire probabiliste fonde sur les valeurs
de phromone et dune information statistique qui permet notamment de
trouver une bonne solution.
La probabilit pour quune fourmi k se dplace du sommet i au sommet
j, qui appartient un ensemble de sommets qui ne sont pas encore visits

1.6. Mtaheuristiques

23

par la fourmi k not Sik , est :


pijk (t) =

(ij (t)) .(ij )


(i (l )) .(il )

(1.3)

l Sik

et sont deux paramtres qui influencent sur limportance de lintensit de phromone ij , et linformation statistique dite visibilit ij . Cette
valeur guide le choix des fourmis vers des villes proches, et viter le plus
possible celles trop lointaines (ij = d1ij ). Pour = 0, on prend en compte
juste la visibilit cest--dire que le choix sera tomb chaque fois sur la
ville la plus proche. Si = 0, seules les pistes de phromones jouent sur le
choix. Pour viter une slection trop rapide dun chemin, un compromis
convenable entre ces deux paramtres est obligatoire.

Mise jour de phromones


Lorsque toutes les fourmis ont construit une solution, une quantit de
phromones ijk est dpose par chaque fourmi k sur son trajet.
Pour toute itration t, si le chemin (i, j) est dans la tourne de la fourmi k
la quantit de phromones dpose sur ce trajet est :
ijk (t) =

Q
Lk (t)

O Lk (t) est la longueur totale de la tourne de la fourmi k, et Q est une


constant.
Donc lajout de la quantit de phromones dpend certainement de la
qualit de la solution obtenue cest--dire plus la tourne parcourue est
petite plus lajout de la quantit de phromones est important.
Dans le but de ne pas ngliger toutes les mauvaises solutions obtenues, et
ainsi viter la convergence vers des optima locaux de mauvaise qualit, le
concept dvaporation des pistes de phromones est simul travers un
paramtre appel le taux dvaporation (0 < < 1) comme suit :
ij (t + 1) (1 ).ij (t) + ij (t)

(1.4)

k
O ij (t) = m
k =1 ij ( t ), t reprsente une itration donne et m le
nombre de fourmis.

Diffrentes variantes
- Ant System et litisme
Cette variante a t introduite en 1996 par Dorigo et al. dans (Dorigo
et al. 1996) dont seules les fourmis qui ont effectu le plus court
chemin dposent une grande quantit de phromones, ce qui permet
daugmenter la quantit de phromones sur les meilleures solutions
et favoriser ainsi lexploration des solutions prometteuses par toutes
les autres fourmis.

Chapitre 1.

24

- Ant-Q System
Pour cette variante propose par (Dorigo et Gambardella 1997), (Dorigo et al. 1999), la rgle de mise jour locale est inspire du "Qlearning". Aucune amlioration na t dmontr pour cette variante
par rapport lalgorithme AS.
- Max-Min Ant System (MMAS)
Cette variante base sur lalgorithme (AS), a t propose par Sttzle
et Hoos (Sttzle et Hoos 1997), (Sttzle et Hoos Holger 2000), et
prsente quelques diffrences :
1. Dterminer des valeurs des pistes bornes par min et max ,
2. Initialiser les valeurs de phromones sur les pistes par la valeur
maximale max ,
3. Seule la meilleure fourmi met jour une piste de phromone,
4. La mise jour dune piste de phromones est faite dune manire inversement proportionnelle cest--dire que les pistes les
plus fortes sont moins renforces que les plus faibles,
5. Possibilit de rinitialiser les pistes des phromones.

Ant Colony System ACS


LAnt Colony System ACS (Systme de Colonies de Fourmis) est une
gnralisation de la mthode AS, a t propose par Dorigo en 1997, et
fonde sur plusieurs modifications de AS au niveau du rgle de transition et la gestion de pistes de phromones. Le but est damliorer les
performances de lAS pour rsoudre les problmes de grandes tailles. Les
principaux changements sont les suivants :
Pour assurer lquilibre entre la diversification et lintensification, la
mthode ACS introduit un paramtre q0 dans la rgle de transition pour
quelle aura la forme suivante : Le choix dune ville j aprs une ville i
dans le chemin par chaque fourmi k est donn par la rgle :
(
argmaxzSk [(iz ) (iz ) ] si q q0
i
() j =
u si q > q0
o q est une variable alatoire uniformment distribue sur [0,1], et u
est une ville dans Sik (lensemble de villes qui ne sont pas encore visits
par la fourmi k), choisie si q > q0 par lalgorithme AS. Ainsi le systme
tend effectuer une diversification. Dans lautre cas, cest--dire si q
q0 , le systme tend effectuer une intensification, en exploitant plus
linformation recolte par le systme.
Cette modification est base essentiellement sur la mise jour locale de pistes de phromones. Ainsi chaque fourmi effectue une mise
jour locale chaque passage dune ville une autre, en dposant une
quantit de phromones donne par la formule suivante :
ij (t + 1) (1 )ij (t) + init
o init est la valeur initiale de la piste. chaque passage, les artes
visites voient leur quantit de phromone diminuer, ce qui favorise la

1.6. Mtaheuristiques

diversification par la prise en compte des trajets non explors. chaque


itration, la mise jour globale seffectue comme suit :
ij (t + 1) (1 )ij (t) + ij (t)
o les artes (i,j) appartiennent au meilleur tour de longueur L et o
ij (t) = 1/L . Ici, seule la meilleure piste est donc mise jour, ce qui
participe une intensification par slection de la meilleure solution.
La troisime modification apporte par la mthode ACS sur le systme est lutilisation dune liste des candidats. Dans cette liste, nous
stockons un certain nombre de villes les plus proches (en terme de distance) pour chaque ville. Donc chaque fourmi choisit la ville la plus
proche la ville dj visite sil y a encore des villes non encore visite
dans cette liste. Dans lautre cas la fourmi choisit une ville par la rgle
de tansition spciale lACS, donne par (*). Donc une fourmi ne choisira pas une ville en dehors de liste de candidats que dans le cas quand
celle ci est dj explore (visite).
Lobjectif principal de ces modifications sur la mthode AS est dassurer
la balance (lquilibre) entre lintensification et la diversification.

1.6.5 Loptimisation par essaim de particules


Principe gnral
LOptimisation par Essaim Particulaire (OEP, ou PSO en anglais) a t
propose par (Kennedy et Eberhart 1995). Cette mthode est inspire du
comportement social des animaux voluant en essaim.
Au dpart, ils cherchaient simuler la capacit des oiseaux voler de
faon synchrone et leur aptitude changer brusquement de direction tout
en restant en une formation optimale.
Les particules sont les individus et elles se dplacent dans lhyperespace de recherche en se basant sur des informations limites :
1. Chaque particule est dote dune mmoire qui lui permet de mmoriser le meilleur point par lequel elle est dj passe et elle a tendance
retourner vers ce point.
2. Chaque particule est informe du meilleur point connu au sein de
son voisinage et elle va tendre aller vers ce point.
Chaque individu utilise donc, non seulement, sa propre mmoire, mais
aussi linformation locale sur ses plus proches voisins pour dcider de
son propre dplacement. Des rgles simples, telles que " aller la mme
vitesse que les autres ", " se dplacer dans la mme direction " ou encore
" rester proche de ses voisins " sont des exemples de comportements qui
suffisent maintenir la cohsion de lessaim.
Le dplacement dune particule est influenc par les trois types de
comportement :
1. Une composante physique : la particule tend suivre sa suivre sa
propre voie ;
2. Une composante cognitive : la particule tend revenir vers le
meilleur site par lequel elle est dj passe ;
3. Une composante sociale : la particule tend se diriger vers le
meilleur site dj atteint par ses voisins.

25

Chapitre 1.

26

Algorithme de base
Un essaim de particules survole lespace de recherche, en qute de
loptimum global.
Dans Rn , la particule i (solution potentielle) de lessaim est modlise
par son vecteur position xi = ( xi1 , xi2 , ..., xin ) et par son vecteur vitesse
vi = (vi1 , vi2 , ..., vin ).
Cette particule garde en mmoire la meilleure position par laquelle elle
est dj passe, que lon note pi = ( pi1 , pi2 , ..., pin ). La meilleure position atteinte par toutes les particules de lessaim est note p g = ( p g1 , p g2 , ..., p gn ).
Au temps t + 1, le vecteur vitesse est calcul partir de 1.5
vij (t + 1) = vij (t) + c1 r1 ( pij (t) xij (t)) + c2 r2 ( p gj (t) xij (t))

(1.5)

c1 et c2 sont deux constantes, appeles coefficients dacclration ; r1 et r2


sont deux nombres alatoires tirs uniformment dans [0, 1].
vij (t) correspond la composante physique du dplacement.
c1 r1 ( pi (t) xi (t) correspond la composante cognitive du dplacement. c1 pondre les tendances de la particule vouloir suivre son
instinct de conservation et aller vers sa meilleure position connue.
c2 r2 ( p g (t) xi (t)) correspond la composante sociale du dplacement. c2 contrle laptitude sociale de la particule en se rapprochant
plus de la meilleure position de ses informatrices.
La position de la particule i est alors dfinie par
x i ( t + 1) = x i ( t ) + v i ( t + 1)

(1.6)

Il est noter que le terme "vitesse" est ici abusif car les vecteurs vi ne
sont pas homognes une vitesse. Il serait plus appropri de parler de
"direction de dplacement".
La stratgie de dplacement dune particule est illustre dans la figure
1.11.

Figure 1.11 Analysis of Particle Trajectories

Le pseudo code pour la version la plus gnrale de lagorithme - la


version continue - est prsent par "Algorithme 5"

1.6. Mtaheuristiques

27

Algorithm 5 Optimisation par Essaim Particulaire (OEP)


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:

Initialiser alatoirement Ps particules : position et vitesse ;


Evaluer les positions des particules ;
Tant que le critre darrt nest pas atteint faire
Pour i = 1, ..., Ps faire
Dplacer les particules selon (1.5) et (1.6) ;
Si f ( xi ) < f ( pi )
pi = xi ;
Si f ( xi ) < f ( p g )
p g = xi ;
Fin Si
Fin Si
Fin Pour
Fin Tant que

Le critre darrt peut tre diffrent suivant le problme pos et les


exigences de lutilisateur. Si loptimum global est connu a priori, on peut
dfinir une "erreur acceptable" comme critre darrt. Sinon, on peut fixer
nombre maximum ditrations ou un nombre maximum dvaluations de
la fonction objectif.
Modifications de lalgorithme de base
Des amliorations peuvent tre apportes lalgorithme de base "Algorithme 5", notamment du point de vue du contrle de la divergence.
Vitesse maximale
Pour viter lexplosion du systme, i.e. que les particules se dplacent trop
rapidement dune rgion une autre dans lespace de recherche, un mcanisme de confinement dintervalle est souvent mis en place. La pratique la
plus courante est de dfinir une vitesse maximale Vmax ne pas dpasser.
Ainsi, on pose
vij [Vmax , Vmax ]
(1.7)
Coefficient dinertie
Pour contrler linfluence de la direction de la particule sur le dplacement
futur, un coefficient dinertie a t introduit par (Shi et Eberhart 1998).
Le but de lintroduction de ce paramtre est de raliser un quilibre entre
la recherche locale (exploitation) et la recherche globale (exploration).
Le calcul de la vitesse est alors dfini par :
vij (t + 1) = vij (t) + c1 r1 ( pij (t) xij (t)) + c2 r2 ( p gj (t) xij (t))

(1.8)

Une grande valeur de est synonyme dune grande amplitude de mouvement et donc dexploration globale de lespace de recherche. Les tudes
menes par Shi et Eberhart indiquent une meilleure convergence pour
entre 0.8 et 1.2. La dtermination de la meilleure valeur de ce paramtre
pour chaque algorithme se fait travers des exprimentations numriques.

Chapitre 1.

28

Dans (Shi et Eberhart 1998), les auteurs ont propos un coefficient


dinertie dynamique qui varie au cours du temps, la manire de la temprature dans un algorithme de recuit simul. Il commence par une valeur
proche de 0.9 et descend linairement pour arriver 0.4.
Facteur de constriction
Dans la mme ide, une version met en place un facteur de constriction
qui permet damliorer la convergence de lalgorithme sans avoir besoin
de confiner la vitesse des particules. Dans (Clerc et Kennedy 2002), il a t
dmontr quune bonne convergence peut tre assure en rendant dpendants les paramtres , c1 et c2 . En utilisant le coefficient de constriction,
lquation 1.5 devient :
vij (t + 1) = (vij (t) + 1 r1 ( pij (t) xij (t)) + 2 r2 ( p gj (t) xij (t)))
o
=

| 2 +

2
p

2 4|

, = 1 + 2 > 4.

(1.9)

(1.10)

Les valeurs optimales de 1 et 2 ont t dtermines dans (Clerc et


Kennedy 2002), en effectuant de nombreux tests. En gnral, on utilise
= 4.1 et 1 = 2 , ce qui donne un coefficient = 0.7298844.
On remarque que lOEP avec coefficient de constriction est quivalente
lOEP avec coefficient dinertie :
, c1 1 et c2 2
Topologie de voisinage
La topologie du voisinage dfini avec qui chacune des particules va
pouvoir communiquer. Si lon se rfre la version basique de lOEP rsume par lAlgorithme 5, la meilleure particule p g est choisie partir
de la population entire, cest une topologie entirement connecte. Cette
version de PSO est appele version "globale" (Gbest).
De mme, on trouve aussi une version dite "locale" de lOEP. Cette version utilise un graphe dinformation circulaire. Les particules de lessaim
sont virtuellement disposes en cercle et numrotes squentiellement
partir de 1 en parcourant le cercle. La particule nest donc plus informe
par toutes les particules. Dans les versions locales, le terme Gbest est remplac par les termes Lbesti , o, pour chaque particule i, on dfinit un
voisinage (i.e. linformation qui doit tre partage est la meilleure solution trouve dans le voisinage de chaque particule (Lbesti )). Bien quelle
converge moins rapidement que la version "globale", la version "locale" de
lOEP donne de meilleurs rsultats, car elle est moins sujette lattraction
par des minima locaux (Kennedy 1999).
Remarque :
Contrairement la plupart des mtaheuristiques, lOEP a t conue initialement pour rsoudre des problmes doptimisation variables continues. Plusieurs auteurs ont rcemment adapt cette mtaheuristique pour
rsoudre des problmes variables discrtes. Les approches proposes
diffrent de lapproche continue par la manire dont une particule est
associe une solution discrte, de mme que par le modle de vitesse

1.6. Mtaheuristiques

utilis. (Anghinolfi et Paolucci 2009) proposent une classification des diverses approches de la littrature concernant lOEP pour loptimisation
discrte.

Figure 1.12 Graphe dinfluence dun essaim de particules. ( gauche) Graphe compltement connect, ( droite) Graphe dinformation circulaire.

29

Chapitre 1.

30

1.6.6 La recherche disperse


La recherche disperse (SS) est une mthode dvolution qui a t propose par (Glover et Laguna 1997). Elle a t propose dans le cadre de la
rsolution des problmes combinatoire.
Cette mtaheuristique se distingue des algorithmes volutionnistes
classiques par lutilisation dune procdure de recherche locale et par la
gnralisation de loprateur de croisement. Tout comme les algorithmes
gntiques, elle est base sur une population de solutions qui volue dans
le temps laide la fois dun oprateur de slection, de la combinaison
linaire de solutions de la population pour crer une nouvelle solution
provisoire (non forcment entire ou admissible), dun oprateur de projection permettant de rendre la solution provisoire admissible et doprateurs dlimination.
Description gnrale de la recherche disperse
Le concept gnral de la recherche disperse qui a t donn par (Glover et al. 1998) se base sur les trois fondations suivantes :
1. Linformation utile sur la solution optimale est typiquement contenue dans une collection diverse de solutions lites.
2. Les stratgies de combinaison des solutions contiennent des mcanismes qui incorporent la diversification et lintensification dans la
gnration des nouvelles solutions.
3. Lutilisation de plusieurs combinaisons de solutions de rfrence
augmente lopportunit dexploiter linformation contenue dans
lunion des solutions lites.
Le modle de lalgorithme de la recherche disperse repose sur la dfinition des cinq composants majeurs (dits mthodes) suivants :
1. Mthode de gnration de diversification : Consiste gnrer une
collection de diverses solutions de dpart.
2. Mthode damlioration : Les points sont optimiss laide dune
recherche locale.
3. Mthode de mise jour de lensemble de rfrence Ri : construit et
maintient un ensemble de rfrence obtenu en slectionnant les b
meilleures solutions trouves.
4. Mthode de gnration des sous ensembles : gnre des sous ensembles Di partir de lensemble de rfrence.
5. Mthode de combinaison de solutions : gnre des solutions en combinant les solutions de chaque sous ensemble Di pour produire lensemble Ci

1.6. Mtaheuristiques

Algorithm 6 la recherche disperse


1:
2:
3:
4:
5:
6:
7:
8:
9:

10:
11:

Initialisation :
Gnrer une population initiale R0 .
Poser i 0
la recherche disperse :
Tant que le critre darrt nest pas atteint faire
Ci Combinaisons linaires des points de Ri .
Ai procdure de rparation(Ci ) (admissibles).
Di recherche locale (Ai ) (amlioration).
Ri+1 points dans Ri Di (Mise--jour de lensemble de rfrence)
i i+1
Fin Tant que

Conclusion du chapitre
Nous pouvons conclure que les mtaheuristiques prsentent une classe
de mthodes approches adaptables une grande varit de problmes
doptimisation combinatoire et mnent des rsultats pertinents. Mais
il existe assez peu de contributions permettant de comprendre la raison
de cette efficacit, et aucune preuve ne peut montrer quune mtaheuristique sera plus efficace quune autre sur un problme donn. Certaines
mtaheuristiques prsentent lavantage dtre simples mettre en oeuvre,
comme le cas du recuit simul, dautres sont bien adaptes la rsolution de certaines classes de problme, trs contraints, comme le systme
de colonies de fourmis. La qualit des solutions trouves par les mtaheuristiques dpend de leur paramtrage, et de lquilibre entre un balayage
de tout lespace des solutions (diversification) et une exploration locale
(lintensification).

31

Bibliographie

D. Anghinolfi et M. Paolucci. A new discrete particle swarm optimization approach for the single-machine total weighted tardiness scheduling problem with sequence-dependent setup times. European Journal of
Operational Research, 193(1) :7385, 2009. (Cit page 29.)
V. Cern. A thermodynamical approach to the traveling salesman problem : an efficient simulation algorithm. Journal of Optimization Theory
and Applications, 45(1) :4151, 1985. (Cit page 11.)
M. Clerc et J. Kennedy. The particle swarm - explosion, stability, and
convergence in a multidimensional complex space. IEEE Transactions on
Evolutionary Computation, 6(1) :5873, 2002. (Cit page 28.)
A. Colorni, M. Dorigo, et V. Maniezzo. Distributed optimization by ant
colonies. in varela, f. and bourgine, p., editors, proceedings of ECAL91.
First European Conference on Artificial Life, Paris, France, pages 134142,
1992a. (Cit page 22.)
A. Colorni, M. Dorigo, et V. Maniezzo. An investigation of some proprieties of an "ant algorithm". In Manner and Manderick, pages 509520,
1992b. (Cit page 21.)
D. Costa et A. Hertz. Ants can color graphs. Journal of the Operational
Research Society, 48 :295305, 1997. (Cit page 22.)
M. Dorigo, G. Caro, et L. M. Gambardella. Ant algorithms for discrete
optimization. Artificial Life, 5(2) :137172, 1999. (Cit page 24.)
M. Dorigo, A. Colorni, et V. Maniezzo. The ant system : Optimization by
a colony of cooperating agents. IEEE Transactions on Systems, Man, and
Cybernetics-Part B, 26, No.1 :2941, 1996. (Cit pages 22 et 23.)
M. Dorigo et L. M. Gambardella. Ant colony system : A cooperative learning approach to the travelling salesman problem. IEEE Transactions on
Evolutionary Computation, 1(1) :5366, 1997. (Cit page 24.)
L. M. Gambardella, E. D. Taillard, et M. Dorigo. Ant colonies for the
quadratic assignment problem. Journal of the Operational Research Society,
50(2) :167176, 1999. (Cit page 22.)
F. Glover. Future paths for integer programming and links to artificial
intelligence. Computers and Operations Research, 13 :533549, 1986. (Cit
page 14.)

33

34

Bibliographie

F. Glover, G.A. Kochenberger, et B. Alidaee. Adaptive memory tabu search


for binary quadratic programs. Management Science, 44 :336345, 1998.
(Cit page 30.)
F. Glover et M. Laguna. Tabu search. Kluwer Academic Publishers, Norwell,
MA, second edition, 1997. (Cit pages 14 et 30.)
D. Goldberg. Genetic algorithms. addison wesley. Addison Wesley, ISBN :
0-201-15767-5, 1989a. (Cit page 15.)
D. Goldberg. Genetic algorithms in search, optimization and machine
learning. Addison Wesley, 1989b. (Cit page 15.)
P. Hansen. The steepest ascent mildest descent heuristic for combinatorial
programming. prsent au Congress on Numerical Methods in Combinatorial
Optimization, Capri, Italie, 1986. (Cit page 14.)
J. H. Holland. Adaptation in natural and artificial systems. University of
Michigan press, 1975. (Cit page 15.)
J. Kennedy. Small worlds and mega-minds : effects of neighborhood topology on particle swarm performance. Proceedings of the 1999 IEEE
Congress on Evolutionary Computation, pages 19311938, 1999. (Cit
page 28.)
J. Kennedy et R. Eberhart.
Particle swarm optimization, proceedings of ieee international conference on neural networks.
doi :10.1109/ICNN.1995.488968 :19421948, 1995. (Cit page 25.)
S. Kirkpatrik, C. D. Gelatt, et K. P. Vecchi. Optimization by simulated
annealing. science. 220 :671680, 1983. (Cit page 11.)
A. H. Land et A. G. Doig. An automatic method for solving discrete
programming problems. Econometrica, 28 :497520, 1960. (Cit page 3.)
S. Mazzeo et I. Loiseau. An ant colony algorithm for the capacitated vehicle routing problem. Electronic Notes in Discrete Mathematics, 18 :181
186, 2004. (Cit page 22.)
N. Metropolis, M. N. Rosenbluth, et H. A. Teller. Equation of state calculation by fast computing machines. Journal of Chemical Physics, 21(6) :
10871092, 1953. (Cit page 11.)
H. Mlhenbein. Evolutionary Algorithms : Theory and Applications. Wiley,
1993. (Cit page 18.)
J. Puchinger et G. R. Raidl. Combining metaheuristics and exact algorithms in combinatorial optimization : A survey and classification, in
proceedings of the first international work-coriference on the interplay
between natural and artificial computation. Springer (Ed), Las Palmas,
Spain, LNCS :4153, 2005. (Cit page 3.)
A. Schrijver. Theory of linear and integer programming. Wiley and Sons,
1986. (Cit page 6.)

Bibliographie

Y. Shi et R. C. Eberhart. A modified particle swarm optimizer. In Proceedings of the IEEE international conference on evolutionary computation, pages
6973, 1998. (Cit pages 27 et 28.)
T. Sttzle et H. Hoos. The max-min ant system and local search for the
traveling salesman problem. In Proceedings of ICEC97. IEEE fourth international conference on evolutionary computation. New York : IEEE Press,
pages 308313, 1997. (Cit page 24.)
T. Sttzle et H. Hoos Holger. Max min ant system. Future Generation
Computer Systems, 16(8) :889914, 2000. (Cit page 24.)

Ce document a t prpar laide de lditeur de texte GNU Emacs et du


logiciel de composition typographique LATEX 2 .

35

Bibliographie

37