• Aucun résultat trouvé

1: Fonction objectif f (x), x = (x1, . . . , xd)T

2: G´en´erer la population initiale de n nids xi(= 1, 2, . . . , n) 3: tantque (t <MaxCeneration) ou (le crit`ere d’arrˆet) faire

4: Obtenir un Coucou al´eatoirement par les vols de L´evy

5: Evaluer sa qualit´´ e/fitness Fi

6: Choisir un nid parmi n (soit j) al´eatoirement

7: si (Fi < Fj)(minimisation) alors 8: Remplacer j par i

9: finsi

10: Une fraction (pa) des mauvais nids est abandonn´ee et des nouveaux sont construits

11: Garder les meilleures solutions (ou nids avec des solutions de qualit´e)

12: Classer les solutions et trouver la meilleure actuelle

13: fin tantque

14: Post-processus des r´esultats et visualisation

La recherche d’une nouvelle solution al´eatoire X(t+1)via les vols de L´evy est accom- plie par la formule ci-dessous :

X(t+1)= X(t)+ α ⊕ Lévy(γ) (3.4)

Cette ´equation est stochastique (une marche al´eatoire). En g´en´eral, une marche al´ea- toire est une chaine de Markov dont l’´etape suivante ne d´epend que de l’´etape actuelle, qui est le premier terme de l’´equation, suivi par la probabilit´e de transition qui est le deuxi`eme terme. Le produit ⊕ repr´esente le produit matriciel. α est la longueur maxi- male du pas qui devrait ˆetre li´ee `a l’´echelle de l’espace de recherche du probl`eme. Dans ce cas, α = 1.

La marche al´eatoire par le biais des vols de L´evy est plus efficace dans l’exploration de l’espace de recherche, que les autres marches al´eatoires, vu que la taille de son pas est beaucoup plus grande `a long terme.

CS est un algorithme qui se base sur des populations, ce qui lui donne une certaine similarit´e aux algorithmes g´en´etiques ou `a l’optimisation par essaims particulaires, sauf qu’il utilise une sorte d’´elitisme et/ou s´election similaire `a celle utilis´ee dans “harmony search” Geem et al. (2001). Il y a aussi la randomisation qui est plus efficace si la taille de pas est plus grande `a long terme. Finalement, le nombre de param`etres `a adapter est inf´erieur aux GAs et PSOs, et donc, plus g´en´erique `a adapter `a une large classe de probl`emes d’optimisation.

L’algorithme de recherche de coucou jouit de deux capacit´es : une recherche locale et une autre globale, contrˆol´ees par son param`etre switch/probabilit´e de d´ecouverte. La re- cherche globale est favoris´ee par paqui prend la valeur 1/4 (0.25), tandis que la recherche locale est renforc´ee dans 3/4 de la population. Cela permet au CS de proc´eder efficace- ment tout en balan¸cant entre l’exploration et l’exploitation. Un autre facteur avantageux est le choix des vols de L´evy, `a la place des marches al´eatoires. On ne peut pas, ainsi, n´egliger le nombre de param`etres r´eduit qui permet au CS d’ˆetre plus g´en´erique. En plus de ses avantages, nous avons constat´e que CS a plus de place pour plus d’am´eliorations, soit en terme de sa source d’inspiration ou au cœur de l’algorithme lui-mˆeme.

La force de CS est sa mani`ere d’exploiter et d’explorer l’espace de solutions `a l’aide des coucous. Le coucou montre une certaine intelligence de fa¸con `a d´etecter les meilleures solutions. Donc, il repr´esente un outil de contrˆole direct pour intensifier ou diversifier les recherches.

3.3 Motivations

La facult´e d’´equilibrer la recherche entre l’exploitation des zones prometteuses et l’exploration de l’espace de recherche `a l’´echelle globale, est un indice de performance li´e `a toutes les m´etaheuristiques. La m´etaheuristique la plus robuste est celle qui ba- lance parfaitement entre l’intensification et la diversification. CS a un meilleur contrˆole d’´equilibre de la strat´egie de recherche intensive locale et une exploration plus efficace de l’ensemble de l’espace de recherche. Aussi, le nombre r´eduit de param`etres fait de CS un algorithme moins complexe et donc potentiellement plus g´en´erique.

La comparaison de CS et de PSO et GA a montr´e que CS surpasse les performances de ces m´etaheuristiques dans des applications sur les fonctions multimodales Yang et Deb (2010). C’est le r´esultat de l’utilisation d’un nombre r´eduit de param`etres de contrˆole. En effet, CS utilise deux param`etres, la taille de la population n et la portion des nids abandonn´es pa. En principe, n est fix´e et pa essentiellement contrˆole l’´elitisme et l’´equi- libre entre la randomisation et la recherche locale. Le nombre r´eduit de param`etres rend l’algorithme moins complexe et donc potentiellement plus g´en´erique. Tout ceci est ex- pliqu´e par la facilit´e de r´egler les deux param`etres de CS tout en gardant sa robustesse de r´esoudre une large gamme de probl`emes d’optimisation mˆeme les probl`emes qualifi´es NP-difficiles Yang et Deb (2009).

Depuis son apparition en 2009, CS a ´et´e cit´e plus que 900 fois. Le plus important ce n’est pas le nombre de citation, mais la diversit´e des domaines d’application de cet algorithme. Ce qui confirme notre th´eorie `a propos de sa qualit´e d’ˆetre g´en´erique et de s’adapter facilement aux diff´erents types de probl`emes dans une grande vari´et´e de domaines d’application. L’utilisation des m´ethodes d’optimisation afin de r´esoudre les probl`emes de conception dans le domaine de l’ing´enierie (Design Optimisation) demeure

3.4. CS AM ´ELIOR ´E 39

tr`es importante et elle est attaqu´ee r´ecemment de plus en plus par la les m´etaheuristiques. L’optimisation des conceptions est une partie int´egr´ee de la conception des produits de l’ing´enierie et de l’industrie. La majeure partie des probl`emes de conception est consid´e- r´ee complexe est aux plusieurs objectifs `a optimiser, et parfois la solution optimale n’est pas encore trouv´ee. Dans ce type de probl`eme, CS a ´et´e appliqu´e, en consid´erant les struc- tures ’design of springs’ et ’welded beam’. La meilleure solution trouv´ee par CS surpasse largement celle trouv´ee par un ’particle swarm optimiser’ efficace Yang et Deb (2010). Une nouvelle version de CS pour l’optimisation multiobjectif est formul´ee. Cette nouvelle version a pour but de r´esoudre les probl`emes multiobjectif qui sont typiquement diff´e- rents des probl`emes d’optimisation `a un seul objectif. La diff´erence entre ces deux type de probl`emes est situ´ee principalement dans l’effort de calculs et le nombre de fonctions d’´evaluation qui croˆıt consid´erablement Yang et Deb (2013). CS se pr´esente aussi comme une solution dans le domaine d’optimisation et d’applications pour les entreprises Yang et al. (2012). Il est ´egalement propos´e pour r´esoudre les probl`emes d’optimisation des structures de treillis Gandomi et al. (2012) et plusieurs d’autres probl`emes d’optimisa- tion des structures Gandomi et al. (2013). Un autre domaine tr`es int´eressant est celui de l’ing´enierie des logiciels, o`u CS peut y proposer des solutions. ‘Test effort estimation’ est une proc´edure de pr´ediction de l’effort pour tester un logiciel. C’est le temps n´ecessaire pour tester un syst`eme donn´e Srivastava et al. (2012). Pour plus d’exemples, on peut trouver un ensemble de plusieurs applications, de variantes et d’am´eliorations de CS dans Yang et Deb (2014); Fister Jr et al. (2014).

3.4 CS Am ´elior ´e

La robustesse de CS est bas´ee sur la mani`ere d’explorer et d’exploiter l’espace des solutions par un coucou. Ce coucou peut avoir une certaine “intelligence” pour trouver des solutions bien meilleures. Nous avons consid´er´e dans notre am´elioration Ouaarab et al. (2014a), le coucou comme le premier niveau de contrˆole d’intensification et de diversification, et puisque ce coucou est un individu d’une population, alors, cette po- pulation est qualifi´ee pour ˆetre le deuxi`eme niveau de contrˆole. L’id´ee de l’am´elioration est de restructurer la population en int´egrant une nouvelle cat´egorie de coucous relative- ment plus intelligents avec plus d’efficacit´e dans leurs recherches, par rapport aux autres coucous.

Les ´etudes ont montr´e que le coucou est capable d’engager une surveillance autour de potentiels nids hˆotes Payne et Sorenson (2005). Ce comportement peut servir comme une inspiration afin de concevoir une nouvelle cat´egorie des coucous qui a une capacit´e de changer les nids hˆotes durant l’incubation. Le but de ce comportement est d’´eviter l’abandon des oeufs des coucous. Ces coucous adoptent des m´ecanismes avant et apr`es la couvaison. Ils observent le nid hˆote choisi pour ˆetre sˆur que le choix de ce nid est la bonne d´ecision ou non (dans ce cas, ils commencent `a chercher un nouveau choix bien meilleur que l’actuel). On parle, donc, d’une facult´e de chercher localement une solution

bien meilleure autour de la solution courante.

Inspir´e de ce comportement observ´e, le m´ecanisme adopt´e par cette nouvelle fraction de coucous, peut ˆetre divis´e en deux ´etapes principales : 1) Un coucou, initialement se d´eplace par les vols de L´evy vers une nouvelle solution (qui repr´esente une nouvelle r´egion) ; 2) A partir de la solution courante, un coucou dans la mˆeme r´egion cherche une nouvelle meilleure solution (dans ce stade il est possible de proc´eder `a une recherche locale). Selon ces deux ´etapes, la population de l’algorithme CS am´elior´e (Algorithm 3.2) peut ˆetre structur´ee suivant trois principales cat´egories de coucous :

1. Un coucou, cherchant (`a partir de la meilleure position) des r´egions pouvant conte- nir de nouvelles solutions qui sont bien meilleures que la solution d’un individu s´electionn´e al´eatoirement dans la population ;

2. Une fraction pa des coucous cherchant de nouvelles solutions loin de la meilleure solution ;

3. Une fraction pcdes coucous cherchant des solutions `a partir de la position courante et essayant de les am´eliorer. Ils se d´eplacent d’une r´egion vers une autre via les vols de L´evy pour localiser la meilleure solution dans chaque r´egion sans ˆetre pi´eg´es par l’optimum local.

Nous notons que la population des coucous, durant son processus de recherche, est guid´ee par : la meilleure solution, les solutions trouv´ees localement, et les solutions trouv´ees loin de la meilleure solution. Ceci, am´eliore la recherche intensive autour des diff´erentes meilleures solutions, et en mˆeme temps, une randomisation est proprement r´ealis´ee afin d’explorer de nouvelles r´egions `a l’aide des vols de L´evy. Ainsi, une extension de la version standard de CS, comme repr´esent´e en gras dans Algorithme 3.2, est l’ajout d’une m´ethode qui manipule la fraction pc des coucous intelligents. Ceci permet `a CS de fonctionner plus efficacement avec peu d’it´erations, et montrer plus de r´esistance face aux potentiels pi`eges ou stagnations dans les optimums locaux.

Le nouveau processus ajout´e `a CS standard peut ˆetre illustr´e par une proc´edure consid´erant que la valeur de la fraction pc est fix´ee `a 0.6, telle que cette fraction est un ensemble de bonnes solutions de la population sauf la meilleure solution. Partant de chaque solution, un coucou effectue une recherche `a pas al´eatoires via les vols de L´evy autour de la solution courante, et puis il essaye de trouver la meilleure solution dans cette r´egion en utilisant la recherche locale.

Le but de cette am´elioration est de renforcer la recherche intensive autour des meilleures solutions de la population, tout en consid´erant la randomisation qui doit ˆetre guid´ee proprement par les vols de L´evy pour l’exploration de nouvelles r´egions. En effet, une extension de CS standard est l’ajout d’une m´ethode qui g`ere la fraction pcdes coucous intelligents.

On peut dire que la nouvelle cat´egorie des coucous permet `a CS d’ˆetre plus perfor- mant et plus efficace avec moins d’it´erations. Elle offre un type de r´esistance face aux blocages ´eventuels dans les optimums locaux.

3.5. CS DISCRET (DCS) 41

Documents relatifs