You are on page 1of 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

40

60

80

100

(a)

(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):

1 7 6

2 3 4

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_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 0 0,5 1 1,5 2 2,5 DistanceA B

Champ

StationA StationB A+B

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

You might also like