Vous êtes sur la page 1sur 16

Unenouvellemtaheuristiquepourloptimisation

difficile:lamthodedesessaimsparticulaires
MauriceClerc*etPatrickSiarry**
*FranceTlcomR&D
12av.deChevne,74988Annecy
maurice.clerc@writeme.com
**UniversitdeParis12ValdeMarne,LERISS(E.A.412)
61av.duGnraldeGaulle,94010Crteil
siarry@univparis12.fr
Rsum
Nousprsentonsdaborddanscetarticlelecadregnraldesmtaheuristiques,qui
sontapparuesaudbutdesannes1980avecuneambitioncommune:rsoudreau
mieux les problmes dits doptimisation difficile. Nous essayons de cerner le
domainedeloptimisationdifficile,tantpourlesproblmesdiscretsquepourles
problmes variables continues. Puis nous dgageons quelques caractristiques
communesnombredemtaheuristiques,etnouspassonsenrevuelesprincipales
extensionsdecesmthodes.
Nous prsentons ensuite une mtaheuristique apparue dernirement: la mthode
doptimisationparessaimparticulaire(OEP).L'OEPestunetechniqueencorepeu
connue en France, fonde sur la notion de coopration entre des agents (les
particules)quipeuventtrevuscommedesanimauxauxcapacitsassezlimites
(peudemmoireetdefacultsderaisonnement).L'changed'informationentreeux
faitque,globalement,ilsarriventnanmoinsrsoudredesproblmesdifficiles,
commec'estlecas,parexemple,chezlesabeillesvivantenessaim(exploitationde
sourcesdenourriture,constructionderayons,etc.).Aprsuneprsentationsuccincte
desorigines,larticleproposeunedescriptioninformelledelOEP,puisendgage
les principales caractristiques. Simple comprendre, programmer et utiliser,
l'OEP se rvle particulirement efficace pour les problmes d'optimisation non
linaire,variablescontinues,entiresoumixtes.
Larticlesetermineparunrsumdesexpossprsentslorsdupremiersminaire
francophonesurlesujet(OEP2003.Paris,octobre2003).
Motscls:optimisation,mtaheuristiques,essaimsparticulaires.

1.Lesmtaheuristiquespourloptimisationdifficile
1.1Optimisationdifficile
Les ingnieurs et les dcideurs sont confronts quotidiennement des problmes de
complexitgrandissante,quisurgissentdansdessecteurstechniquestrsdivers,commedans
la conception de systmes mcaniques, le traitement des images, llectronique ou la
recherche oprationnelle. Le problme rsoudre peut souvent sexprimer comme un
problme d'optimisation: on dfinit une fonction objectif, ou fonction de cot (voire
plusieurs),quel'onchercheminimiseroumaximiserparrapporttouslesparamtres

concerns.Ladfinitionduproblmedoptimisationestsouventcomplteparladonnede
contraintes. On distingue les contraintes impratives (ou dures) et les contraintes
indicatives (oumolles).Touslesparamtresdessolutionsretenuesdoiventrespecterles
contraintes du premier type, qui peuvent aussi tre vues comme dfinissant lespace de
recherche, faute de quoi ces solutions ne sont pas ralisables. Les contraintes indicatives
doivent simplement tre respectes aussi bien que possible. De nouvelles mthodes,
dnommes mtaheuristiques, comprenant notamment la mthode du recuit simul, les
algorithmesvolutionnaires,lamthodederecherchetabou,lesalgorithmesdecoloniesde
fourmis...sontapparues,partirdesannes1980,avecuneambitioncommune:rsoudreau
mieuxlesproblmesditsd'optimisationdifficile.
Pourtenterdecernerledomainemaldfinideloptimisationdifficile,ilestncessairede
faireladistinctionentredeuxtypesdeproblmesdoptimisation:lesproblmesdiscretset
lesproblmesvariablescontinues.Citonsunexempledechaquetype,pourfixerlesides.
Parmilesproblmesdiscrets,ontrouveleclbreproblmeduvoyageurdecommerce:il
sagitdeminimiserlalongueurdelatournedunvoyageurdecommerce,quidoitvisiter
uncertainnombredevilles,avantderetournerlavillededpart.Danslacatgoriedes
problmescontinus,unexempleclassiqueestceluidelarecherchedesvaleursaffecteraux
paramtresdunmodlenumriquedeprocessus,pourquecemodlereproduiseaumieuxle
comportementrelobserv.Enpratique,onrencontreaussidesproblmesmixtes,qui
comportentlafoisdesvariablesdiscrtesetdesvariablescontinues.
Revenonssurladfinitiondeloptimisationdifficile.Deuxsortesdeproblmesreoivent,
danslalittrature,cetteappellation,nondfiniestrictement(etlie,enfait,l'tatdel'arten
matired'optimisation):
certains problmes d'optimisation discrte, pour lesquels on ne connat pas
d'algorithmeexactpolynomial(cestdiredontletempsdecalculestproportionnel
Nn, o N dsigne le nombre de paramtres inconnus du problme, et n est une
constanteentire). C'estlecas,enparticulier,des problmesditsNPdifficiles,
pourlesquelsonconjecturequilnexistepasdeconstante n tellequeletempsde
rsolutionsoitbornparunpolynmededegrn.
certainsproblmesd'optimisationvariablescontinues,pourlesquelsonneconnat
pasd'algorithmepermettantdereprerun optimumglobal (cestdirelameilleure
solutionpossible)coupsretenunnombrefinidecalculs.
Deseffortsontlongtempstmens,sparment,pourrsoudrecesdeuxtypesdeproblmes.
Dansledomainedeloptimisationcontinue,ilexisteainsiunarsenalimportantdemthodes
classiquesditesdoptimisationglobale[Berthiauetal.01],maiscestechniquessontsouvent
inefficacessilafonctionobjectifnepossdepasunepropritstructurelleparticulire,telle
quelaconvexit.Dansledomainedeloptimisationdiscrte,ungrandnombred'heuristiques,
qui produisent des solutions proches de l'optimum, ont t dveloppes; mais la plupart
d'entreellesonttconuesspcifiquementpourunproblmedonn.
1.2Cadredesmtaheuristiques
Larrivedesmtaheuristiquesmarqueunerconciliationdesdeuxdomaines:eneffet,celles
ci s'appliquent toutes sortes de problmes discrets, et elles peuvent sadapter aussi aux
problmescontinus.Cesmthodesontencommun,enoutre,lescaractristiquessuivantes:

ellessont,aumoinspourpartie,stochastiques:cetteapprochepermetdefaireface
l'explosioncombinatoiredespossibilits;
souventdoriginediscrte(lexceptionnotabledelOEP),ellesontl'avantage,dcisif
danslecascontinu,d'tre directes,c'estdirequ'ellesnerecourentpasaucalcul,
souventproblmatique,desgradientsdelafonctionobjectif;
elles sont inspires par des analogies : avec la physique (recuit simul, diffusion
simule...),aveclabiologie(algorithmesvolutionnaires,recherchetabou...)ouavec
lthologie(coloniesdefourmis...);
elles partagent aussi les mmes inconvnients: les difficults de rglage des
paramtresdelamthode,etletempsdecalcullev.

Cesmthodesnes'excluentpasmutuellement:eneffet,dansl'tatactueldelarecherche,il
estleplussouventimpossibledeprvoiraveccertitudel'efficacitd'unemthodedonne,
quandelleestappliqueunproblmedonn.Cettepropritdconcertanteammefait
lobjet dune tentative de formalisation avec les thormes dnomms No free lunch
[Wolpert et al. 97]. Un sujet thorique de recherche concerne les possibilits danalyse
systmatique des mtaheuristiques du point de vue de la convergence, la complexit, la
robustesse et les garanties de qualit; une voie prometteuse est lanalyse des paysages
dnergie(rugosit,caractrefractal).
Deplus,latendanceactuelleestl'mergencede mthodeshybrides,quis'efforcentdetirer
partidesavantagesspcifiquesdapprochesdiffrentesenlescombinant.E.G.Talbipropose
ainsi une taxinomie des mtaheuristiques hybrides [Talbi 02]. La coopration entre
mtaheuristiquespeutaussiprendrelaformedesystmesmultiagents,capablesenprincipe
dechangerautomatiquementdoutilderecherche,enfonctiondesdifficultsrencontres.
Enfin,dansleurdmarcheunificatricedelaprogrammationmmoireadaptative[Taillardet
al. 98], E. Taillardet al.remarquent que les mtaheuristiquesreposentfinalementsur un
ensemble commun de concepts peu nombreux: la mmoire, qui sauvegarde linformation
recueillie par lalgorithme, lintensification, qui tente damliorer la pertinence des
informationsdisponibles,aumoyenderecherches locales,etla diversification,quivise
accrotrelaquantitdecesinformations,enexplorantdenouvellesrgionsdelespacede
recherche.Lesassociationsmultiplesdecesconceptspeuventconduireunegrandevarit
de mtaheuristiques: la filiation une mtaphore donne nest alors plus ncessairement
explicite.
1.3Extensions
Pourcompltercetteprsentationsuccinctedudomaine,onpeutsouligneruneautrerichesse
desmtaheuristiques:ellesseprtenttoutessortesdextensions.Citons,enparticulier:
loptimisationmultiobjectif[Colletteetal.02],oilsagitdoptimisersimultanment
plusieursobjectifscontradictoires.Ilnexistepas,danscecas,unoptimumunique;on
cherche,enrevanche,unegammedesolutionsoptimalesausensdePareto,qui
formentlasurfacedecompromisduproblmeconsidr.Cessolutionspeuvent
tresoumiseslarbitragefinaldelutilisateur;
loptimisation multimodale, o lon sefforce de reprer tout un jeu doptimums
globauxoulocaux.Lesalgorithmesvolutionnairessontparticulirementbienadapts
cettetche,deparleurnaturedistribue.Lesvariantesdetypemultipopulation

exploitentenparallleplusieurspopulations,quisattachentreprerdesoptimums
diffrents;
lerecoursdesimplmentationsparallles.Demultiplesmodesdeparalllisationont
t proposspour les diffrentesmtaheuristiques.Certainestechniquesseveulent
gnrales;dautres,enrevanche,tirentpartideparticularitsduproblme.Ainsi,dans
les problmes de placement de composants, les tches peuvent tre rparties
naturellemententreplusieursprocesseurs:chacundeuxestchargdoptimiserune
zonegographiquedonne,etdesinformationssontchangespriodiquemententre
processeursvoisins;
loptimisation dynamique, qui fait face des variations temporelles de la fonction
objectif au cours de loptimisation: il faut alors approcher au mieux la solution
optimalechaquepasdetemps.Lesproblmesdoptimisationdynamiquesemblent
tre la cible de choix pour les algorithmes de colonies de fourmis et dessaims
particulaires, en particulier quand on ne dispose que dinformations locales. La
structuredistribueetlecaractreautoorganisdecesalgorithmesleurprocurenten
effetlaflexibilitncessairepourvoluerdansunenvironnementchangeant.

Onvoitquecescontextesparticuliersrequirent,delapartdesmthodesdersolution,des
propritsspcifiquesquinesontpasprsentesdanstouteslesmtaheuristiques;delpeut
dcoulerunmoyendeguidagedelutilisateurdanslechoixdunemtaheuristique.
1.4Unsujetouvert:lechoixdunemtaheuristique
Cette prsentation ne doit pas luder la principale difficult laquelle est confront
lingnieur,enprsencedunproblmedoptimisationconcret:celuiduchoixdunemthode
efficace,capabledeproduireunesolutionoptimaleoudequalitacceptableau
prixduntempsdecalculraisonnable.Facecesoucipragmatiquedelutilisateur,la
thorienestpasencoredungrandsecours,carlesthormesdeconvergencesontsouvent
inexistantsouapplicablesseulementsousdeshypothsestrsrestrictives.Enoutre,lerglage
optimal des divers paramtres dune mtaheuristique, qui peut tre prconis par la
thorie,estsouventinapplicableenpratique,carilinduituncotdecalculprohibitif.En
consquence,lechoixdunebonnemthode,etlerglagedesparamtresdecelleci,font
gnralement appel au savoirfaire et l exprience de lutilisateur, plutt qu
lapplicationfidlederglesbientablies.Leseffortsderechercheencours,parexemplesur
lanalysedespaysagesdnergieousurlamiseaupointdunetaxinomiedesmthodes
hybrides, visent remdier cette situation, prilleuse terme pour la crdibilit des
mtaheuristiques.
Lerglageetlacomparaisondesmtaheuristiquessontsouventeffectusempiriquement,en
exploitantdesjeuxdefonctionsanalytiquesdetest,dontlesminimumsglobauxetlocauxsont
connus.Nousdonnons,titredexemple,enfigure1,lalluredelunedecesfonctionsdetest.
1.5Pourensavoirplussurlesmtaheuristiques
Lelecteurintresspourraconsulterunouvragedesynthsercent:[Droetal.03],quiat
coordonnparlundesauteursdecetarticle,ainsiquelesouvrages:[Reeves95][Satetal.
99][Phametal.00][Pirlotetal.02]et[Pirlotetal.03]dcrivantplusieursmtaheuristiques.
Ilexisteaussideslivresenfranaisconsacrsuneseulemthode,comme[Siarryetal.89]
4

pourlerecuitsimulet[Goldberg94]pourlesalgorithmesgntiques,etunlivrederfrence
(enanglais)surlarecherchetabou[Gloveretal.97].
2.Loptimisationparessaimparticulaire
2.1Origines
Loptimisationparessaimparticulaire(OEP)estunemthodeneen1995auxEtatsUnis
souslenomdeParticleSwarmOptimization(PSO).
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
100 80

60

40

20

0
x

20

(a)

40

60

80

100

(b)

(a) reprsentationunedimensiondansledomaine[100,100]
(b) reprsentationdeuxdimensionsdansledomaine[10,10]
Figure1.AlluredelafonctiondetestF6.
Initialement, ses deux concepteurs, Russel Eberhart et James Kennedy, cherchaient
modliserdesinteractionssocialesentredesagentsdevantatteindreunobjectifdonn
dans un espace de recherche commun, chaque agent ayant une certaine capacit de
mmorisationetdetraitementdel'information.Largledebasetaitquilnedevaityavoir
aucun chef dorchestre, ni mme aucune connaissance par les agents de lensemble des
informations,seulementdesconnaissanceslocales.Unmodlesimplefutalorslabor.
Dslespremiressimulations,lecomportementcollectifdecesagentsvoquaitceluid'un
essaim dtres vivants convergeant parfois en plusieurs sousessaims vers des sites
intressants.Cecomportementseretrouvedansbiend'autresmodles,explicitementinspirs
dessystmesnaturels(cf.parexemple).Ici,lamtaphorelapluspertinenteestprobablement
celle de lessaim dabeilles, particulirement du fait quune abeille ayant trouv un site
prometteursaiteninformercertainesdesesconsursetquecellescivonttenircomptede
cetteinformationpourleurprochaindplacement.Finalement,lemodlesestrvltretrop
simplepourvraimentsimuleruncomportementsocial,maisparcontretrsefficaceentant
quoutildoptimisation.
Commenousallonslevoir,lefonctionnementdelOEPfaitquellepeuttrerangedansles
mthodesitratives(onapprochepeupeudelasolution)etstochastiques(onfaitappelau

hasard).Souscetermeunpeutechnique,onretrouveuncomportementquiestaussivieuxque
la vie ellemme: amliorer sa situation en se dplaant partiellement au hasard et
partiellementselondesrglesprdfinies.
2.2Descriptioninformelle
La version historique peut facilement tre dcrite en se plaant du point de vue dune
particule. Au dpart de lalgorithme, un essaim est rparti au hasard dans lespace de
recherche,chaqueparticuleayantgalementunevitessealatoire.Ensuite,chaquepasde
temps:
chaqueparticuleestcapabled'valuerlaqualitdesapositionetdegarderenmmoire
sameilleureperformance,cestdirelameilleurepositionquelleaatteintejusquici
(quipeutenfaittreparfoislapositioncourante) etsaqualit (lavaleur encette
positiondelafonctionoptimiser).
chaqueparticuleestcapabled'interrogeruncertainnombredesescongnres(ses
informatrices, dont ellemme) et d'obtenir de chacune d'entre elles sa propre
meilleureperformance(etlaqualitaffrente).
chaque pas de temps, chaque particule choisit la meilleure des meilleures
performances dont elle a connaissance, modifie sa vitesse en fonction de cette
informationetdesespropresdonnesetsedplaceenconsquence.
Le premier point se comprend facilement, mais les deux autres ncessitent quelques
prcisions.Lesinformatricessontdfiniesunefoispourtoutesdelamaniresuivante(cf.
Figure2):

7
6

Figure2. Lecerclevirtuelpourunessaimdeseptparticules.Legroupedinformationde
tailletroisdelaparticule1estcomposdesparticules1,2et7.
Onsupposetouteslesparticulesdisposes(symboliquement)encercleet,pourlaparticule
tudie,oninclutprogressivementdanssesinformatrices,dabordellemme,puislesplus
prochessadroiteetsagauche,defaonatteindreletotalrequis. Ilyabiensrde
nombreusesvariantes,ycompriscelleconsistantchoisirlesinformatricesauhasard,mais
celleciestlafoissimpleetefficace.
Une fois la meilleure informatrice dtecte, la modification de la vitesse est une simple
combinaisonlinairedetroistendances,laidedecoefficientsdeconfiance:
latendanceaventureuse,consistantcontinuerselonlavitesseactuelle,

latendanceconservatrice,ramenantplusoumoinsverslameilleurepositiondj
trouve,
la tendance panurgienne, orientant approximativement vers la meilleure
informatrice.

Lestermesplusoumoinsouapproximativementfontrfrenceaufaitquelehasard
joueunrle,grceunemodificationalatoirelimitedescoefficientsdeconfiance,cequi
favoriselexplorationdelespacederecherche.LaFigure3prsenteunschmadeprincipe
rsumantlesexplicationscidessus.Naturellement,pourpouvoirtreprogramm,toutceciest
formalisdansdesquationsdemouvement.Unpointintressantestque,contrairement
bien dautres heuristiques qui restent purement exprimentales, il existe une analyse
mathmatiqueprcisantlesconditionsdeconvergenceetlechoixdesparamtres.

2.3Principalescaractristiques
Ce modle prsente quelques proprits intressantes, qui en font un bon outil pour de
nombreuxproblmesdoptimisation,particulirementlesproblmesfortementnonlinaires,
continusoumixtes(certainesvariablestantrellesetdautresentires):
il est facile programmer, quelques lignes de code suffisent dans nimporte quel
langagevolu,
il est robuste (de mauvais choix de paramtres dgradent les performances, mais
nempchentpasdobtenirunesolution).
Versma
meilleure
performance
Verslameilleure
performancedemes
informatrices

Position
actuelle

vitesse
actuelle

Nouvelle
position

Figure3. Schmadeprincipedudplacementduneparticule.Pourralisersonprochain
mouvement,chaqueparticulecombinetroistendances:suivresavitessepropre,revenirvers
sameilleureperformance,allerverslameilleureperformancedesesinformatrices.
Signalons,deplus,quilexistedesversionsadaptativesquivitentmmelutilisateurla
peine de dfinir les paramtres (taille de lessaim, taille des groupes dinformatrices,
coefficientsdeconfiance).Lunedecesmthodes(Tribes)estdcriteendtaildansundes
documents tlchargeables partir du site du sminaire OEP03. Son code source est
disponible via le site Particle Swarm Central [PSC]. Par ailleurs, on notera que cette
heuristiquesedmarquedesautresmthodesvolutionnaires(typiquement,lesalgorithmes
7

gntiques)surdeuxpointsessentiels:ellemetlaccentsurlacooprationpluttquesurla
comptitionetilnyapasdeslection(aumoinsdanslesversionsdebase),lidetant
quune particulemmeactuellementmdiocremritedtreconserve,car cestpeuttre
justement elle qui permettra le succs futur, prcisment du fait quelle sort des sentiers
battus.
2.4Formalisationetprogrammation

LaversiondebasedelOEPpeutfacilementtreformaliseetprogramme.Lespacede
rechercheestdedimensionD.Lapositioncouranteduneparticuledanscetespacelinstant
t estdonneparunvecteur x(t), D composantes,donc.Savitessecouranteest v(t).La
meilleurepositiontrouvejusquiciparcetteparticuleestdonneparunvecteurp(t).Enfin,la
meilleuredecellestrouvesparlesinformatricesdelaparticuleestindiqueparunvecteur
g(t).Engnral,nouscrironssimplementx,v,petg.Ladimecomposantedelunquelconque
decesvecteursestindiqueparlindiced,parexemplexd.Aveccesnotations,lesquationsde
mouvementduneparticulesont,pourchaquedimensiond:
v d c 1 vd alea0, c max p d x d alea 0,c max g d x d
x d x d v d

Pour une bonne convergence, les valeurs de c1 et cmax ne doivent pas tre choisies
indpendamment.Enpratiquelepremierdoittreunpeuinfrieur1etlesecondpeuttre
calcul par la formule c max = 2/0, 97725 c 1 . Plus c1 est proche de 1 meilleure est
lexplorationdelespacederecherche,audtriment,nanmoins,delavitessedeconvergence.
LepetitprogrammeenlangageCdonnenAnnexeutiliseuntelcoupledevaleurs.Ilinclut
galementunenotiondeconfinementdontilconvientdedirequelquesmots.
Lorsdelvolutiondelessaim,ilpeutarriverquuneparticulesortedelespacederecherche
initialementdfini.Cestsansimportancesilavaleurdesapositionestencorecalculablesans
planterleprogrammeinformatique,maisilsuffit,parexemple,davoirvaluerlaracine
dun nombre ngatif ou une division par zro pour que cela pose problme. Plus
gnralement, on souhaite souvent rester dans un espace de recherche fini donn. Par
consquent,onajouteunmcanismepourviterquuneparticulenesortedecetespace.Le
plus frquent est le confinement dintervalle. Supposons, par simplicit, que lespace de
D
recherchesoit [ x min , x max ] .Alorscemcanismestipulequesiunecoordonnexd,calcule
selonlesquationsdemouvement,sortdelintervalle [ x min , x max ] ,onluiattribueenfaitla
valeur du point frontire le plus proche. En pratique, cela revient donc remplacer la
deuximelignedesquationsdemouvementpar
x d MIN MAX x d v d , x min , x max

De plus, on complte souvent le mcanisme de confinement par une modification de la


vitesse, soit en remplaant la composante qui pose problme par son oppose, souvent
pondreparuncoefficientinfrieur1,soit,toutsimplement,enlannulant.
Plusgnralement,leprincipemmeduconfinementconsistedirececi:siuneparticule
tendsortirdelespacederecherche,alorslarameneraupointleplusprochequisoitdanscet
espace et modifier sa vitesse en consquence. Il permet de dfinir les confinements
8

ncessairesdesproblmesgranularitnonnulle(positionsvaleursentires,parexemple)
oudesproblmes(combinatoires,engnral)dontlessolutionsdoiventavoirtoutesles
coordonnesdiffrentes.
2.5Unpetitexemple:rechercheduchampminimumentredeuxstations
Voiciunexempletrssimplifisinspirantdunproblmerel.OnconsidredeuxstationsA
etB,mettricesdunchamplectromagntiquesinusodaldcroissantavecladistance.On
cherche le point entre ces deux stations o le champ total reu un instant donn est
minimum. La figure 4 donne une ide des champs en tout point entre les deux stations,
distantesde2,7km.EnposantxcommetantladistancelastationA,onalesquations
suivantes:
champ_A =e x 1sin 10 x

Champ

champ_B =e2,7x 1sin 102,7x


Oncherchelepointxolasommechamp_A+champ_Bestminimale.Onremarqueraquela
longueurdondecommunentantpasenrapportsimpleavecladistanceentrelesstations,la
dterminationanalytiquenestpasvidente.
2
1,8
1,6
1,4
1,2
1
0,8
0,6
0,4
0,2
0
A

StationA
StationB
A+B

0,5

1,5

DistanceA

2,5

Figure4.EntrelesdeuxstationsAetB,uninstantdonn,lesvaleursdeschampsreusse
rpartissentselondessinusodesamorties.Ladistanceentrelesstations(ici2,7km)ntant
pasenrapportsimpleaveclalongueurdonde,lepointolechamptotalestminimumnest
pasfacilementcalculable.
Deplus,lesmthodesclassiques(gradients,parexemple)chouentdufaitdelexistencede
multiplesminimumslocaux.Parcontre,ilesttrsfaciledajouterlafonctionminimiserau
programme dOEP donn en Annexe. Le problme est de dimension 1, et lespace de
rechercheest[02,7]. Enmoinsde200valuations,ontrouve x=0,4555478et,donc,un
champtotalde0,06735316.Cestdjunetrsbonneapproximationduminimumglobal.Une
solution un peu meilleure peut tre obtenue avec plus ditrations, mais le gain est trs
minime. Par exemple, aprs 20000 valuations, ona x=0,4553560 et unchamp total de
0,06735263.

Atitredecomparaison,aveclesolveurduntableurcourantdumarch,onnetrouvepasdu
toutlasolutionsilonindiquelemmeespacederecherche.Cestseulementsilondonneun
pointdedpartdjproche(parexemple0,4)queleminimumesttrouv.Cecisuggreque,
intgredautreslogiciels,lOEPpourraittreunsolveurparticulirementefficace.
2.6Pourensavoirplussurloptimisationparessaimparticulaire
Acejour,environ250articlessurlesujetonttpublis,maistrspeuenfranais.Un
excellent point dentre est le site Particle Swarm Central , avec une bibliographie trs
complte,desliensversdesdocumentsetdesprogrammestlcharger,ainsiquunelistede
chercheurs travaillant dans ce domaine. Le livre Swarm Intelligence , crit par les deux
concepteursdelamthode,yconsacrequelqueschapitresetdonnedesaperusplusgnraux
surlesquestionsdintelligencecollective.

2.7SminaireOEP2003(Paris,2octobre2003)
LegroupedetravailMETA(Mtaheuristiques:thorieetapplications),groupedetravail
communauGdRALPetauGdRMACSduCNRS,aorganis,aveclesoutiendelaSection
AutomatiqueduClubEEA,le premiersminairefrancophoneOEP2003surlethmede
lOptimisationparEssaimParticulaire.
Nousindiquonscidessousleprogrammedelajourne,avecunrsumsuccinctdechaque
expos:
Tutoriel Optimisation par Essaim Particulaire,par MauriceClerc: Aprs unrapide
historique,M.Clercadtailllesprincipesdebasedel'OEP,eninsistantsurlesnotionsde
cooprationetdevoisinages.Laversionclassique,surdomainederecherchecontinuet
quipeuttrecodeenquelqueslignesseulement,atanalyseetdiscute,cequiamen
l'tudemathmatiquedescritresdeconvergence.Lauteuradgagensuitelesprrequis
minimums l'application de la mthode, ce qui permet de la gnraliser aux domaines
discrets ou mixtes, au multiobjectif et aux problmes combinatoires. Il amontr queces
dernierssesituentauxfrontiresdelanichecologiquedel'OEP,encesensqu'ellene
peut les traiter efficacement elle seule. Puis M. Clerc a comment les principales
diversifications,eninsistantsurlesmthodesadaptativespermettantdes'affranchir,enpartie
outotalement,duparamtrageparl'utilisateur.Diversesapplicationsrellesonttvoques
encommentantdesarticlespublisetM.Clercatermin par l'indicationdes principales
sourcesd'information.
Lessaim de particules vu comme un systme dynamique: convergence et choix des
paramtres,par Ioan CristianTrelea: Lesutilisateursdel'algorithmed'optimisationpar
essaimdeparticules(OEP)saventbienquelechoixdesparamtresauneinfluencedirectesur
lesperformances.Unclairageintressantestapportenassimilantl'essaimunsystme
dynamique, les positions et les vitesses des particules constituant l'tat du systme. Pour
l'essaimdterministe,lathoriedessystmesdynamiquespermetdeconstruirefacilement,
dansl'espacedesparamtres,descartesbidimensionnelles,oapparaissentledomainede
10

convergence,etcertainsdomainesdecomportementdynamiquedesparticules(mouvement
asymptotique, oscillations harmoniques, zigzags). Pour l'essaim stochastique, ces cartes
restentvalablesqualitativement,etdonnentdesindicationssurlechoixdesparamtres,en
fonctionducomportementdsirdel'essaim.
Comparaison de loptimisation par essaim particulaire avec dautres heuristiques
volutionnairesutilisantdesoprateursimplicites,parLouisGacgne:Lauteuraprsent
unecomparaisonsuruncertainnombredefonctionsdetest,entrediffrentesheuristiques
volutionnaires, qui ont en commun de ne pas prendre alatoirement des oprateurs
gntiquesauhasard,maisd'appliquerdesrglesdetransitionfixesentregnrations:
particleswarmoptimization(PSO),
spacepartitionalgorithm(SPA),
macroevolutionaryalgorithm(MGA),
volutiondiffrentielle(DE),
selforganizingmigrationalgorithm(SOMA).
Puis il a compar ces heuristiques avec quelques algorithmes volutionnaires classiques,
notammentSSGA.
Diversestechniquesdoptimisationinspiresdelathoriedelautoorganisationdansles
systmesbiologiques,parJohannDroetPatrickSiarry:Unecontributionimportantedela
biologievientdela thoriedel'autoorganisation,quipermetd'expliquerlespropritsde
plusieurs mtaheuristiques issues des mtaphores biologiques. Cette thorie dcrit les
conditionsd'mergencedephnomnescomplexespartirdesystmesdistribus,dontles
agentsfontl'objetdinteractionssimples,maisnombreuses.L'intelligenceenessaimestainsi
nesurdeuxfronts:viauneapprochesystmesautoorganiss(ayantdonnlieuaux
algorithmesdecoloniesdefourmis)etviauneapprochesystmessociocognitifs(ayant
donnlieul'optimisationparessaimsparticulaires). Enseplaantdanslecadredelathorie
del'autoorganisation,lesauteursontconuunalgorithmeinspirdescoloniesdefourmis,
quiinsistesurl'importancedescanauxdecommunication.
AtelierOptimisationparEssaimParticulaire,parMauriceClerc:Cetatelierapermis
demontrer,surdesexemples,ledomainedecomptencedel'OEP,etdediscutersurdes
problmespourlesquelslamthodenedonnepasdebonsrsultats.
Les transparents et les textes daccompagnement des diffrents exposs peuvent tre
tlchargspartirdusitedusminaire:http://www.particleswarm.net/oep_2003/.
Rfrences
[Berthiauetal.01]

Berthiau G., Siarry P., Etat de lart des mthodes doptimisation


globale,RAIROOperationsResearch,Vol.35,N3,p.329365,2001.
[Bonabeauetal.99] BonabeauE.,DorigoM.,TheraulazG.,SwarmIntelligence:from
naturaltoartificialsystems.OxfordUniversityPress,1999.
[Clercetal.02]
ClercM.,KennedyJ.,TheParticleSwarm.Explosion,stability,and
convergenceinamultidimensionalcomplexspace,IEEETransactions
onEvolutionaryComputation,Vol.6,p.5873,2002.

11

SitesInternet
Mthodedesessaimsparticulaires
http://www.particleswarm.net/
SminaireOEP2003
http://www.particleswarm.net/oep_2003/
Groupedetravailsurlesmtaheuristiques
http://www.lifl.fr/~talbi/META
Livrercentsurlesmtaheuristiques
http://www.eyrolles.com/php.informatique/Ouvrages/ouvragem.php3?ouv_ean13=9782212113
686

12

Annexe:codesourceenCduneversionsimpledOEP
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#defineD_max100//Dimensionmaximaledel'espacederecherche
structposition
structvecteur

{inttaille;doublex[D_max];doublef;};//Positionduneparticuleetsaperformance
{inttaille;doublev[D_max];};//Vitesseduneparticule

//Sousprogrammes
double alea(doublea,doubleb);//Nombrepseudoalatoireentreaetb
double ma_fonction(structpositionx,intfonction);//Fonctionsminimiser
//Variablesglobales
int
nb_eval;//Nombretotald'valuations
//=================================================PROGRAMMEPRINCIPAL
voidmain()
{
double
c1,cmax;
//Coefficientsdeconfiance
int
D;
//Dimensiondel'espacederecherche
int
d;
//Numrodeladimensioncourante
double
eps;
//Prcisionsouhaite
int
eval_max;
//Nombremaxd'valuationsdelafonction
double
eval_moyen;
//Nombremoyend'valuations
double
fmin;
//Objectifatteindre
int
fonction;
//Numrodelafonctionminimiser(cf.sous_programmema_fonction)
int
g;
//Numrodelameilleureinformatrice
int
k;
structposition P[D_max];
//Positions
structposition P_m[D_max]; //Meilleurespositionstrouves
structposition meilleure;
//Toutemeilleurepositiontrouve
int
K;
//Tailledesgroupesd'informatrices
double
min_f;
int
N;
//Tailledel'essaim
int
n;
//Numrodelaparticulecourante
int
n_exec,n_exec_max;//Pourexcutionsmultiples
int
rang;
int
signe;
structvecteur V[D_max];
//Vitesses
double
xmin,xmax;
//Intervallepourl'espacederecherche
//Paramtresderglage
c1=0.738;//Confianceenlatendanceactuelle
cmax=1.51;//Confiancemaximaleenlesinformatrices
N=20;//Tailledelessaim
K=3;//Nombredeliensdinformation
//Problmetraiter(changerselonleproblme,videmment)
fonction=4;//Cf.sousprogrammema_function()
xmin=10;xmax=10;D=2;//Espacederecherche
eps=0.00001;//Prcisionsouhaite
fmin=0;//Valeurminimaleatteindre,laprcisionprs
eval_max=40000;//Nombremaximumd'valuations
n_exec_max=20;//Nombredexcutions
//
n_exec=0;

13

eval_moyen=0;
init://Initialisationsdespositionsetvitesses
for(n=0;n<N;n++)
{
P[n].taille=D;
for(d=0;d<D;d++)P[n].x[d]=alea(xmin,xmax);

V[n].taille=D;
for(d=0;d<D;d++)V[n].v[d]=alea((xminxmax)/2,(xmaxxmin)/2);

//Evaluationsinitiales
nb_eval=0;
for(n=0;n<N;n++)
{
P[n].f=ma_fonction(P[n],fonction);//Evaluationdelaposition
P_m[n]=P[n];//Meilleureposition=positioninitiale
}
//Mmorisationdumeilleurrsultatatteintjusqu'ici
meilleure=P_m[0];
for(n=0;n<N;n++)if(P_m[n].f<meilleure.f)meilleure=P_m[n];
boucle://Itrations
for(n=0;n<N;n++)//Pourchaqueparticule
{
//MeilleureinformatricedansleigroupecirculairedetailleK
g=n;min_f=P_m[n].f;
signe=1;k=1;
autre_informatrice:
rang=n+signe*k;
if(rang>N1)rang=rangN+1;
if(rang<0)rang=rang+N1;
if(P_m[rang].f<min_f){g=rang;min_f=P_m[rang].f;}
if(k<K){signe=signe;k=k+1;gotoautre_informatrice;}
//Calculdelanouvellevitesse
for(d=0;d<D;d++)V[n].v[d]=c1*V[n].v[d]+alea(0,cmax)*(P_m[n].x[d]
P[n].x[d])+alea(0,cmax)*(P_m[g].x[d]P[n].x[d]);
//Dplacement
for(d=0;d<D;d++)P[n].x[d]=P[n].x[d]+V[n].v[d];
//Confinementd'intervalle
for(d=0;d<D;d++)
{
if(P[n].x[d]<xmin){P[n].x[d]=xmin;V[n].v[d]=0;}//oubienV[n].v[d]=0.5*V[n].v[d]
if(P[n].x[d]>xmax){P[n].x[d]=xmax;V[n].v[d]=0;}//oubienV[n].v[d]=0.5*V[n].v[d]
}
//Evaluationdelanouvelleposition
P[n].f=ma_fonction(P[n],fonction);
//Misejourdelameilleureposition

14

if(P[n].f<P_m[n].f)P_m[n]=P[n];
//Mmorisationdumeilleurrsultatatteintjusqu'ici
if(P_m[n].f<meilleure.f)meilleure=P_m[n];
}
//Testdefin
if(fabs(meilleure.ffmin)>eps&&nb_eval<eval_max)gotoboucle;
//Affichagedumeilleurrsultattrouv
printf("\nEval=%i.Meilleureposition(valeur%f).:\n",nb_eval,meilleure.f);
for(d=0;d<D;d++)printf("%f",meilleure.x[d]);

//Boucleditration
n_exec=n_exec+1;
eval_moyen=eval_moyen+nb_eval;
if(n_exec<=n_exec_max)gotoinit;
//Rsultatmoyen
eval_moyen=eval_moyen/n_exec;
printf("\nEvalmoyen=%f",eval_moyen);
}
//=================================================ALEA
double alea(doublea,doubleb)
{//Dlivreunnombrepseudoalatoireentreaetbselonunedistributionsimulantluniforme
double r;
//Normalement,RAND_MAX=32767=2^151
r=(double)rand()/RAND_MAX;//rdans[0,1]
r=a+r*(ba);
returnr;
}
//=================================================MA_FONCTION
doublema_fonction(structpositionx,intfonction)
{//Evaluelavaleurdelafonctionminimiserlapositionx
//AJOUTEZVOTREPROPREFONCTION
intD,d;
doublef,p,xd;
nb_eval=nb_eval+1;
D=x.taille;
switch(fonction)
{
case1://Sphre
f=0;
for(d=0;d<D;d++)f=f+x.x[d]*x.x[d];
break;
case2://Pourtestduconfinement.Utiliserunxmin>=0
f=0;
for(d=0;d<D;d++)f=f+sqrt(x.x[d]);
break;
case3://Alpine.Min0en(0,0...0)

15

break;

f=0;
for(d=0;d<D;d++)
{
f=f+sqrt(fabs(x.x[d]*sin(x.x[d])));
}

case4://Rosenbrock,fonctionBanane.Min0en(1,...1)
f=0;
for(d=0;d<D1;d++)
{
xd=1x.x[d];
f=f+xd*xd;
xd=x.x[d]*x.x[d]x.x[d+1];
f=f+100*xd*xd;
}
break;
}
returnf;
}

16

Vous aimerez peut-être aussi