WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude de la stabilité aux petites perturbations dans les grands réseaux électriques: Optimisation de la régulation par une méthode metaheuristique

( Télécharger le fichier original )
par Hasan ALKHATIB
Université Paul Cézanne Aix Marseille III - Diplôme de Doctorat en Génie Electrique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre III

Optimisation par

algorithmes génétiques

3.1- Introduction.

Au fil des années, de nombreuses recherches ont été effectuées et de nombreuses approches ont été proposées pour effectuer le meilleur réglage et coordination des PSSs.

Dans les systèmes de puissance, nous avons besoin d'installer plusieurs PSSs. Traditionnellement, les paramètres de ces PSSs sont réglés séquentiellement et séparément (Abe et al., 1983; Arredondo, 1997; Yee et al., 2004). Dans les stratégies de réglage séquentiel, basées sur les méthodes de réglage présentées dans le chapitre précédent, les PSSs sont alors conçus pour amortir les oscillations des modes, mode par mode. Par exemple, la méthode linéaire séquentielle (Linear Sequential Method, LSM) est basée sur les résidus. Dans cette méthode, les PSSs sont réglés d'une manière progressive (Yee et al., 2004) :

- on calcule tout d'abord les résidus de la fonction de transfert du système en boucle

ouverte. Puis un PSS est ajouté et réglé en utilisant les informations de ces résidus.

- ensuite, un second PSS est introduit et réglé en se basant sur les informations des

résidus du système avec le premier PSS en place.

- ce processus continue jusqu'à ce que le système atteigne des caractéristiques de stabilité satisfaisantes.

Une autre méthode séquentielle basée sur le placement des pôles du système est connue sous le nom : positionnement séquentiel des valeurs propres (Sequential Eigenvalue Assignment) (Fleming et al., 1981). Dans cette méthode, les paramètres des PSSs sont représentés comme des variables dans les équations caractéristiques du système. Ces équations sont résolues itérativement jusqu'à ce que les valeurs propres se trouvent placées aux endroits déterminés préalablement. La solution représente les paramètres des PSSs recherchés. Comme les "bonnes" valeurs propres spécifiées sont souvent choisies par expertise, les valeurs déterminées des paramètres des PSSs peuvent être situées en dehors de gammes correspondantes de fonctionnement (Hong et al., 1999). De ce fait, la méthode doit être appliquée de façon itérative jusqu'à obtenir des paramètres adéquats.

Bien que les méthodes de réglage séquentiel soient simples et aient donné généralement des résultats satisfaisants pour l'amortissement des oscillations, ces méthodes ne peuvent assurer une optimisation globale des PSSs et, ainsi, la stabilité globale du système. Les aspects négatifs de ces méthodes sont liés aux hypothèses restrictives et à la nature intuitive du processus de réglage (Fleming et al., 1981). En outre, les interactions dynamiques entre les différents modes ont une influence significative sur le réglage des PSSs : le réglage d'un PSS pour stabiliser un mode peut ainsi produire des effets opposés sur les autres modes.

La littérature montre qu'à la place des méthodes de réglage séquentiel, une optimisation simultanée des PSSs du système entier peut être utilisée (CIGRE, 1999). Les méthodes d'optimisation simultanée peuvent permettre d'atteindre plusieurs objectifs :

- une stabilité globale.

- un bon fonctionnement du système de puissance avec un amortissement satisfaisant pour diverses conditions de fonctionnement et configurations du système.

- une minimisation des interactions antagonistes possibles entre les PSSs.

Grâce à la rapidité du développement de l'informatique, l'utilisation des outils et des algorithmes d'optimisation devient de plus en plus aisée et efficace. Cette révolution informatique a permis une ouverture vers des méthodes synthétiques telles les méthodes d'optimisation stochastiques. A la différence des méthodes analytiques dans lesquelles on

cherche à trouver une solution théorique exacte ou une bonne approximation numérique, les méthodes stochastiques constituent une approche originale dans laquelle on cherche à trouver des solutions satisfaisant aux mieux différents critères souvent contradictoires. Elles peuvent aussi synthétiser des solutions nouvelles et originales sans idées préconçues.

La résolution d'un problème d'optimisation consiste à explorer un espace de recherche afin d'optimiser (maximiser ou minimiser) une fonction donnée (une fonction objectif) sous certaines contraintes. La complexité du problème, en taille ou en structure, relative à l'espace de recherche et à la fonction à optimiser conduit à développer diverses méthodes. Ces méthodes peuvent être regroupées en deux catégories : les méthodes déterministes (classiques) et les méthodes non-déterministes (stochastiques).

1- Les méthodes déterministes :

Qualifiées de classiques (telles la méthode du gradient, les méthodes énumératives,...), elles n'utilisent aucun concept stochastique. Une méthode déterministe utilise donc toujours le même cheminement pour arriver à la solution, et nous pouvons donc déterminer à l'avance les étapes de la recherche. Ces méthodes sont limitées par leur "faible" espace de recherche. Elles requièrent des hypothèses sur la fonction objectif à optimiser, telles que continuité et dérivabilité de la fonction en tout point du domaine des solutions. Elles consistent généralement à se focaliser sur un point unique de l'espace de recherche en le déplaçant au cours de temps dans le but de trouver un extremum. Ces méthodes sont généralement efficaces lorsque l'évaluation de la fonction est très rapide ou lorsque sa forme est connue à priori. Mais, lorsque la dimension du problème ou l'espace de recherche est grand, ces méthodes peuvent :

- avoir des temps de calcul déraisonnables ou

- boucler et revenir sans cesse au même point.

Enfin, un grand nombre de fonctions à optimiser ne sont pas dérivables et souvent même pas continues. Par conséquent, ces méthodes restent limitées à des problèmes très précis.

2- Les méthodes non-déterministes :

Ces méthodes, qualifiées de stochastiques, sont bien adaptées aux problèmes importants et complexes (tels les problèmes discrets) ou même à des problèmes ayant des multifonctions objectif. Dans cette famille de méthodes, on parle couramment d'heuristique et de métaheuristiques.

Une méthode heuristique est une méthode d'optimisation adaptée à un problème particulier. Parmi ces méthodes, figurent la méthode de Monte-Carlo, le recuit simulé, la recherche tabou, la méthode de descente, ... . Ces diverses méthodes travaillent toujours à partir d'une solution initiale en essayant de l'améliorer au maximum en fonction des contraintes du problème étudié. Ainsi, elles ont toutes un point commun : à savoir leurs itérations reposent sur l'amélioration d'une solution unique. Leurs évolutions sont ainsi basées sur la notion de parcours : l'évolution vers une solution optimale se fait en testant successivement une solution voisine de la solution courante. La figure (38) illustre une représentation simple d'une méthode d'optimisation à parcours (heuristique).

Une méthode métaheuristique consiste en une stratégie de choix pouvant piloter une ou plusieurs heuristiques de manière abstraite, sans faire appel à un problème spécifique. Les méthodes métaheuristiques sont ainsi des méthodes à population de solutions : à chaque itération, elles manipulent un ensemble de solutions en parallèle (Osman et al., 1996). Ces

méthodes sont aussi considérées comme des méthodes d'optimisation globale : elles visent la détermination de l'optimum global de la fonction objectif du problème, en évitant le "piégeage" dans l'un de ses optima locaux. Elles comblent ainsi le handicap des méthodes classiques et des méthodes heuristiques en conduisant la recherche vers l'optimum global. En outre, ces méthodes font usage de l'expérience accumulée durant la recherche de l'optimum, pour mieux guider la suite du processus de recherche. Elles permettent ainsi d'explorer et d'exploiter l'espace de recherche plus efficacement. Une représentation schématique simple des métaheuristiques est donnée à la figure (39).

Dans cette représentation, les métaheuristiques (MH) tentent de trouver l'optimum global (OG) d'un problème d'optimisation (f(x)) difficile (avec par exemple des discontinuités (DC)), sans être piégé par les optima locaux (OL).

f(x)

 
 

x

 
 

Figure 38. Représentation simplifiée d'une approche heuristique.

MH

f(x)

DC

OL

OG

x

Figure 39. Représentation simplifiée d'une approche métaheuristique.

Les algorithmes évolutionnaires regroupent une multitude de métaheuristiques différentes. Cependant, tous ont un point commun : ils sont basés sur les principes de la théorie évolutionnaire. Ils simulent l'évolution naturelle des structures individuelles afin de trouver une solution optimale. Dans chaque génération, une nouvelle approximation de

solution optimale se produit par des processus de sélection des individus selon leurs performances dans le domaine du problème. Les individus sélectionnés vont être reproduits en utilisant des opérateurs empruntés aux génétiques naturelles. Ces processus mènent à l'évolution de la population des individus les mieux adaptés à leur environnement (Pohlheim, 2005).

Ces méthodes reçoivent de plus en plus d'intérêt en raison de leurs capacités potentielles à résoudre des problèmes complexes. Sous le concept d'algorithmes évolutionnaires, on trouve plusieurs méthodes tels les algorithmes génétiques, la programmation évolutionnaire, les stratégies d'évolution et la programmation génétique. Les étapes communes de ces méthodes peuvent être résumées comme suit (Bäck, 1996) :

- une initialisation aléatoire d'une population d'individus (des points de l'espace de recherche).

- une coopération et une compétition parmi les individus de la population concernée selon les principes Darwinistes et génétiques de la survie du "meilleur" (sélection, croisement et mutation).

- un nombre d'itérations (générations) faisant évoluer la solution (l'individu) courante et finissant par atteindre la solution optimale.

Une caractéristique importante pour les algorithmes évolutionnaires est l'absence d'information sur le gradient pour élaborer les solutions. Cette propriété donne aux algorithmes évolutionnaires une flexibilité satisfaisante leur permettant d'être utilisés aisément dans une grande variété de problèmes tels les problèmes fortement non-linéaires, les problèmes non-continus, ... . De plus, les algorithmes évolutionnaires travaillent sur un ensemble de points (une population) et non pas sur un seul point ; cela augmente la probabilité de trouver la solution optimale. Comme ces algorithmes utilisent les principes stochastiques, ils ne demandent aucune structure particulière pour le problème à optimiser.

Grâce à leurs nombreux avantages, les algorithmes évolutionnaires sont appliqués avec beaucoup de succès dans le domaine industriel et l'ingénierie. De nombreux problèmes liés aux systèmes de puissance sont résolus par les algorithmes évolutionnaires telles les répartitions économiques, la prévision de charges, la planification de génération, la coordination des contrôleurs, les études de sûreté des systèmes de puissance,... .

Les algorithmes génétiques, forment une des principales classes des algorithmes évolutionnaires ; ils ont suscité beaucoup d'enthousiasme depuis plusieurs années. Leur efficacité pour produire des solutions de qualité dans un grand nombre de problème d'optimisation est maintenant bien établie. Ils représentent les méthodes d'optimisations les plus utilisées.

3.2- Les Algorithmes Génétiques (AGs). 3.2.1- Introduction.

Comme nous l'avons déjà indiqué, les algorithmes génétiques sont des méthodes de recherche stochastiques de solutions basées sur des mécanismes s'inspirant de processus naturels (sélection) et des phénomènes génétiques (croisement et mutation). Les travaux de scientifiques du XIXe siècle (Lamarck, Darwin, Mendel,...) et du XXe siècle (Watson et Crick) ont permis de mettre en évidence les principaux mécanismes à l'oeuvre au cours de l'évolution des populations. Ces recherches ont débouché sur l'idée que l'évolution repose

d'une part sur l'intervention du hasard au cours des croisements et des mutations, et d'autre part, sur un processus de sélection des individus les plus aptes à survivre dans un environnement donné. C'est précisément cette notion de hasard guidé par la sélection qui est à la base des algorithmes génétiques.

Dans les années soixante et soixante-dix, le professeur J. Holland à l'université de Michigan (Holland, 1975) a développé, sur la base des travaux précédents, les principes fondamentaux des algorithmes génétiques, son objectif étant de concevoir des systèmes artificiels possédant des propriétés similaires aux systèmes naturels. L'ouvrage de Goldberg (Goldberg, 1989) a permis de mieux faire connaître les algorithmes génétiques et il a marqué le début de l'intérêt actuel pour ces techniques.

La théorie des algorithmes génétiques utilise un vocabulaire similaire à celui de la génétique naturelle. Cependant, les processus naturels auxquels elle fait référence sont beaucoup plus complexes que les algorithmes génétiques.

On définit ainsi un individu dans une population. L'individu est représenté par un ou plusieurs chromosomes constitués de gènes qui contiennent les caractères héréditaires de l'individu. Les principes de sélection, de croisement, de mutation utilisés s'appuient sur les processus naturels du même nom (Barnier et al., 1999).

Pour un problème d'optimisation donné, un individu représente un point de l'espace de recherche c.-à-d. une solution potentielle. On lui associe la valeur du critère à optimiser qui définit sa performance. Pour progresser d'une population d'individus à une nouvelle population, on utilise séquentiellement les processus de sélection, de croisement et de mutation. La sélection a pour but de favoriser les meilleurs éléments de la population pour le critère considéré. Le croisement et la mutation ont pour but d'assurer l'exploration et l'exploitation de l'espace de recherche. Par conséquent, les individus les moins adaptés vont être exclus et les meilleurs vont survire pour construire la nouvelle population. Chaque itération de l'algorithme génétique représente une génération. Au fur et à mesure de la progression d'une génération à l'autre, la solution trouvée va converger vers la solution optimale à atteindre (Negnevitsky, 2002).

Généralement, nous pouvons dire qu'un algorithme génétique dans sa forme générale nécessite de préciser les points suivants :

- le codage des solutions et la génération d'une population initiale.

- la fonction de performance pour calculer l'adaptation de chaque individu de la population.

- le croisement des individus d'une population pour obtenir la population de la génération suivante.

- l'opération de mutation des individus d'une population afin d'éviter une convergence prématurée.

- les paramètres de réglage : taille de la population, probabilités de croisement et de mutation, critère d'arrêt.

Ces points vont être discutés en détail dans la suite de ce chapitre, mais nous allons tout d'abord définir les expressions utilisées dans la théorie des algorithmes génétiques.

Dans un problème d'optimisation à n variables, nous faisons correspondre un gène à chaque variable cherchée. Chaque gène est représenté par une chaîne de caractères choisis dans un alphabet fini (souvent binaire). Les gènes s'enchaînent ensemble "bout à bout" pour

construire un chromosome, chaque chromosome représentant une solution potentielle sous une forme codée. Ces chromosomes constituent les briques de base contenant les caractéristiques héréditaires des individus. Un chromosome (ou plusieurs) forme un individu qui représente à son tour une solution potentielle dans l'espace de recherche correspondant du problème. Etant donné que les AGs travaillent sur un ensemble de points de l'espace de recherche, nous appelons l'ensemble des points choisis (à savoir les individus) une population. Au fur et à mesure des générations (itérations), une population des individus mieux adaptés va être créée.

La figure (40) représente les relations entre les expressions génétiques d'un AG en codage binaire.

Population

0

1

1

1

Gène (1)

Gène (1)

Chromosome

Chromosome

0

0

0

1

0

0

0

1

Individu (Nind)

1

1

Gène (2)

Gène (2)

Individu (1)

1

1

0

0

0

1

0

1

Gène (Ngens)

Gène (Ngens)

0

1

0

1

1

1

1

1

Figure 40. Les niveaux d'organisation des éléments d'un AG. 3.2.2- Codage et initialisation.

La première étape de la construction d'un AG est le choix du type de codage des paramètres du problème. La façon de coder les solutions potentielles est un facteur déterminant dans le succès d'un AG. Ainsi, plusieurs types de codage sont possibles dans la littérature, tels les codages binaires, Gray, réel,... . Le codage le plus populaire dans la représentation d'un AG est le codage binaire {0, 1 } ; les solutions sont codées selon des chaînes de bits de longueur fixe (Chipperfield et al., 1994). La plupart des théories liées aux AGs étaient élaborées en se basant sur le concept de codage binaire proposé par J. Holland et son groupe (Holland, 1975). Les opérateurs de l'AG, croisement et mutation, sont en effet plus faciles à mettre en oeuvre avec ce type de codage. En outre, le codage binaire représente la méthode la plus facile et la mieux adaptée de coder des éléments qu'ils soient réels, entiers, booléens, ... (Mitchell, 1996). On parle dans ce cas de génotype en ce qui concerne la représentation binaire d'un individu et de phénotype pour ce qui est de sa valeur réelle correspondante dans l'espace de recherche.

Une fois le choix du type de codage déterminé, une population initiale doit être créée pour le départ de l'AG. La population initiale a pour but de donner naissance à des générations successives, mutées et hybridées à partir de leurs parents. Le choix de la population initiale influence fortement la rapidité et l'efficacité de l'AG. Si la position de l'optimum dans l'espace de recherche est totalement inconnue, il est naturel de générer aléatoirement des individus en faisant des tirages uniformes dans chacun des domaines associés aux composantes de l'espace de recherche, en veillant évidemment à ce que les individus produits respectent les contraintes. Si par contre, des informations à priori sur le problème sont disponibles, il parait naturel de générer les individus dans un sous-domaine particulier afin d'accélérer la convergence. Habituellement, cette population initiale est générée d'une manière aléatoire et directement dans sa représentation codée.

Par exemple pour créer une population binaire de Nind individus dans lesquels chaque chromosome (individu) est représenté par Ngen gènes, il suffit simplement d'effectuer Nind × Ngen tirages de nombres aléatoires distribués uniformément sur l'ensemble {0, 1 }, (Chipperfield et al., 1994).

La seconde étape dans la construction de l'AG est le calcul de la performance (fitness) de chaque individu faisant partie de la population. Pour ce faire nous devons en premier lieu décoder les chromosomes (précisément les gènes de chaque chromosome) en les convertissant en leurs valeurs réelles (numériques) (Negnevitsky, 2002).

Considérons un problème d'optimisation de n variables à optimiser, où l'espace de recherche de chaque variable xj se trouve entre une limite inférieure xmin,j et une limite supérieure xmax,j : D = [xmin, j , x max,j] avec j = 1, 2,..., n. On associe des points du domaine D à

Sj chaînes de bits (Sj gènes) de longueur lS. Ainsi, chaque chaîne Sj sera donc composée de lS
éléments binaires : Sj = (si)j ; i = 1, 2,..., lS, où si ? {0,1}. Toute chaîne binaire Sj peut être

décodée en une valeur réelle xj en utilisant les deux règles suivantes (Negnevitsky, 2002) :

- dans la première, nous convertissons les valeurs binaires de chaque gène, en valeurs de base décimale selon la règle suivante :

lS

à ( ) 2 (117)

( )

l i

S -

x j s i j

= ·

?=

i 1

- ensuite, nous calculons les valeurs réelles correspondantes appartenant à l'espace de recherche donné, par la règle suivante :

x x

max, min,

j j

-

fd x x x x

( ) à

= = + · lS (118)

j j j

min, -

2 1

Par exemple, supposons que nous cherchons à maximiser une fonction f en fonction d'une variable réelle x appartenant à l'espace de recherche D = [-1 , 2]. Soit S une chaîne binaire représentant une solution possible avec une longueur lS = 22 :

S = 1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,1,1,1,1,1 ,1,1 }

{

En appliquant les relations (117) et (118), nous obtenons respectivement la valeur entière de x (en base décimale) et sa valeur réelle :

l S =22

à 2 1 2 1 2 0 2 1 2 3311359

= ? · = × + × + × + + × =

l i

- 21 20 19 0

S

x si L

i = 1

x = -

2 ( 1)

- -

1 3311359 22

+ · = ? -

x 1 . 368469 [ 1,2]

2 1

-

Après avoir générer la population initiale, nous devons attribuer à chacun des individus une note qui correspond à son adaptation au problème. Cette adaptation est la mesure de la fonction de performance associée à la fonction objectif du problème. Les notions de ces deux fonctions font l'objet du paragraphe suivant.

3.2.3- Fonctions objectif et de performance. 3.2.3.1- Fonction objectif.

A l'inverse des méthodes déterministes d'optimisation, les algorithmes génétiques ne requièrent pas d'hypothèse particulière sur la régularité de la fonction à optimiser (objectif). Ainsi, les algorithmes génétiques n'utilisent pas les dérivées successives de la fonction objectif, ce qui rend leurs domaines d'application très vaste. Aucune hypothèse sur la continuité n'est également requise. Le peu d'hypothèses requises permet de traiter des problèmes très complexes. La fonction objectif peut être le résultat d'une simulation ou d'un modèle mathématique.

Généralement, la fonction objectif, d'un problème quelconque d'optimisation à K contraintes (dit problème contraint), peut être formulée comme suit :

Optimisation {Fobj(X) : X? Dk} (119)

Avec :

X D

?

H X k ( )

:

=

b k

? =

k k K

: 1, ,

L

?R R

et H D

: a

k

DK =

?

?? ? ? ?

? b k

?

??

(120)

?

?

??

Fobj(X) : la fonction objectif du problème.

Hk : la fonction de contrainte.

D : l'ensemble des solutions potentielles du problème.

Dk : l'espace des solutions réalisables (c.-à-d. l'ensemble des solutions potentielles en respectant les contraintes).

La fonction objectif peut être formulée d'un ensemble de fonctions de dimension n. Elle est donnée d'une façon générale comme suit : Fobj(X) = {f1 ,f2,L, f i ,L, fn }.

Lorsque i = 1 la fonction est dite monoobjectif, autrement elle est multiobjectif.

Contrairement à l'optimisation monoobjectif, la solution d'un problème d'optimisation multiobjectif est rarement unique. Elle est constituée de différentes solutions, représentant l'ensemble des meilleurs compromis vis-à-vis des différents objectifs du problème.

Les méthodes existantes pour formuler une fonction multiobjectif sont diverses. Nous allons expliquer brièvement ces méthodes qui peuvent être classées en trois grandes familles (Régnier, 2003) :

1- Les méthodes à priori. Dans ces méthodes, on définit, à priori, le compromis désiré entre les objectifs avant de lancer la méthode de résolution. Nous trouvons dans cette famille la plupart des méthodes scalaires telles la méthode de pondération, la méthode des objectifs bornes, la méthode du critère globale,... . Le principe de ces méthodes se base sur la transformation du problème multiobjectif en un problème monoobjectif, en pondérant l'ensemble des fonctions objectif initiales.

2- Les méthodes progressives. Dans ces méthodes, on affine le choix du compromis entre les objectifs au cours de l'optimisation. Contrairement aux méthodes à priori, ces méthodes ont l'inconvénient de monopoliser l'attention de l'utilisateur tout au long du processus d'optimisation. La méthode lexicographique, par exemple, consiste à minimiser séquentiellement les différents objectifs du problème. L'ordre de minimisation est fixé en fonction des résultats séquentiels obtenus. La méthode progresse alors par transformations successives du problème d'optimisation.

3- Les méthodes a posteriori. Dans ces méthodes, il n'est plus nécessaire de modéliser les préférences entre les objectifs avant l'optimisation. Ces méthodes se contentent de produire un ensemble de solutions plutôt qu'un unique compromis. Nous pouvons ensuite choisir a posteriori une solution du compromis.

3.2.3.2- Fonction de performance.

Chaque chromosome apporte une solution potentielle au problème à optimiser. Néanmoins, ces solutions n'ont pas toutes le même degré de pertinence. C'est à la fonction de performance (fitness) de mesurer cette efficacité pour permettre à l'AG de faire évoluer la population dans un sens bénéfique en cherchant la solution meilleure. Autrement dit, la fonction de performance, fp(X), doit pouvoir attribuer à chaque individu un indicateur représentant sa pertinence pour le problème que nous cherchons à résoudre. La performance sera donc donnée par une fonction à valeurs positives réelles. La construction d'une fonction de performance appropriée est très importante pour obtenir un bon fonctionnement de l'AG.

Dans le cas du codage binaire, la fonction de performance doit affecter une valeur positive au codage binaire correspondant (phénotype) à chaque chaîne binaire (génotype). Ainsi, elle permet de déterminer l'efficacité de la solution présentée par le génotype pour résoudre le problème.

La fonction de performance fp(X) est généralement dérivée de la fonction objectif Fobj(X) du problème. Elle est généralement donnée par la relation suivante :

fp(X) = g(Fobj(X)) (121)

Où : g : représente la transformation de la fonction objectif en performance relative.

Les AGs sont naturellement organisés pour résoudre les problèmes de maximisation (c. -à- d. trouver les valeurs positives maximales de la fonction objectif). Ainsi, pour les problèmes de maximisation, la fonction de performance peut être considérée comme la fonction objectif même. Le but de l'AG est alors simplement de trouver la chaîne binaire qui maximise la fonction de performance :

max(fp(X)) = min(Fobj(X)) (122)

Dans le cas de problèmes de minimisation, le problème doit être modifié de sorte qu'il soit équivalent à celui de maximisation. Ainsi, il nous faudra modifier la fonction objectif de telle sorte que la fonction de performance soit maximale :

max(fp(X)) = -min(Fobj(X)) (123)

max(fp(X)) = 1/min(Fobj(X)) (124)

max(fp(X)) = max(C- Fobj(X)) ; (C : une grande constante positive) (125)

Une fois que la performance de chaque individu dans la population actuelle est évaluée, les mécanismes évolutionnaires entrent en jeu pour explorer et exploiter le plus largement possible l'espace de recherche et faire ainsi évoluer la population de manière progressive. Les opérateurs de l'AG cherchent à imiter ces mécanismes.

3.2.4- Sélection.

Pour déterminer les individus devant participer au résultat optimal de l'AG, un opérateur sélection doit être appliqué. Cet opérateur détermine la capacité de chaque individu à persister dans la population et à se reproduire. En règle générale, la probabilité de survie d'un individu sera directement reliée à sa performance relative au sein de la population. Cela traduit bien l'idée de la sélection naturelle Darwiniste : les gènes les plus performants ont la probabilité la plus élevée de se reproduire dans la population, tandis que ceux qui ont une performance relative plus faible auront tendance à disparaître. Néanmoins, cette approche doit être appréhendée avec précaution, puisqu'on souhaite transférer aux générations suivantes les meilleures caractéristiques génétiques et pas seulement les meilleurs individus.

En effet, un individu peut avoir certains gènes présents dans la solution optimale tout en présentant une performance médiocre : son élimination serait donc nuisible. Cependant, les individus ayant une bonne performance sont toujours plus susceptibles de posséder les bons gènes. Ainsi, une caractéristique importante d'un opérateur de sélection peut être définie en termes de pression sélective exercée sur la population. Cette notion doit être prise en compte d'une manière équilibrée. Si la pression sélective est trop forte, cela revient à "écraser" toute forme de diversité possible et la convergence de l'algorithme risque d'être prématurée en conduisant vers un optimum local. Si l'on passe à l'autre extrême, une pression sélective trop faible, l'algorithme tend à se rapprocher d'une simple recherche aléatoire avec une progression lente de la population (Duvigneau, 2006).

Il existe plusieurs méthodes pour représenter la sélection. La méthode la plus couramment utilisée proposée par Goldberg (Goldberg, 1989) est connue sous le nom de sélection par roulette biaisée (Roulette Wheel). D'autres méthodes de sélection sont aussi apparues dans la littérature, la plus connue étant celle du tournoi (Tournament Selection).

3.2.4.1- Sélection par la roulette biaisée.

Dans cette méthode, chaque chromosome est copié dans la nouvelle population avec une probabilité proportionnelle à sa performance relative : on parle ainsi de sélection proportionnelle à la performance. Dans un codage binaire, le principe de cette méthode consiste à associer à chaque individu Xi (d'une population de taille Nind) une probabilité Rp,i proportionnelle à sa performance fp(Xi). Cette probabilité (dite la fonction de performance

normalisée) peut être ainsi calculée comme le taux de la performance du ième individu pondéré par la somme des performances de toute la population :

R P , i

fp ( ) (126)

Nind

?=

i 1

X i

fp ( )

X i

On doit donc effectuer autant de tirages aléatoires qu'il y a d'individus dans la population. Chaque individu est alors reproduit avec la probabilité Rp ; certains individus (notés les bons) auront plus de chance d'être reproduits, les autres (notés mauvais) seront éliminés.

Dans la pratique, nous associons à chaque individu un secteur (ou un segment) dont la surface (la longueur) est proportionnelle à sa performance. Ces éléments sont ensuite concaténés sur une base normalisée entre 0 et 1. Enfin, nous reproduisons le principe de tirage aléatoire utilisé dans les roulettes de casinos, d'où le nom de ce mécanisme de sélection, avec une caractéristique linéaire (sélection proportionnelle à la performance). Nous tirons alors un nombre aléatoire, de distribution uniforme entre 0 et 1, et nous déterminons l'individu sélectionné. Ainsi, les grands secteurs (c.-à-d. les bons individus) auront plus de chance d'être choisis que les petits secteurs. Les individus ayant une forte performance sont donc privilégiés au détriment des individus moins forts, tout en gardant la notion de tirage aléatoire. Ainsi, avec cette méthode un même individu pourra être sélectionné plusieurs fois. Mais une certaine diversité est cependant maintenue, car même les individus les moins performants conservent une chance d'être choisis. Pour garder la même taille de la population initiale dans la population suivante, on doit lancer la roulette autant de fois qu'il y a d'individus de la population.

Considérons un problème simple de maximisation dont la fonction objectif est donnée par la forme suivante :

Fobj = 4· x · (1- x)

L'espace de recherche de la variable x est D = [0,1].

Nous traitons ce problème en décodant les points de l'espace de recherche en chaînes binaires de longueur lS = 8, et en initialisant une population de départ de 4 individus (Nind = 4).

Pour appliquer la méthode de la roulette biaisée, nous calculons en premier lieu, pour chaque individu, la fonction de performance fp(Xi) et la probabilité correspondante Rp,i.

Le tableau suivant résume le résultat pour chaque élément :


individu

Chromosome

Si

Valeurs

décodées Xi
(individus)

Performance

fp(Xi) =Fobj
= 4·x·(1-x)

Probabilité

Rp,i
= fp(Xi) / ?( fp(Xi))

Intervalles
de
probabilité

1

1

0 1

1 1

0 1

0

0.7294

0.7895

0.29

[0 , 0.29]

2

1

1 0

1 1

1 1

0

0.8706

0.4507

0.18

[0.29 ,

0.47]

3

0

0 0

1 1

0 1

0

0.1020

0.3665

0.15

[0.47 ,

0.62]

4

0

1 1

0 1

1 0

0

0.423 5

0.9766

0.38

[0.62

, 1]

 
 
 
 
 
 
 

? fp = 2.5831

 
 
 

Tableau 1. Résultats de l'évaluation des individus dans la population initiale.

Ensuite, nous associons à chaque intervalle de probabilité un secteur équivalent de la roulette (c.-à-d. un individu), comme le montre la figure (41) :

0.29

Rp1 Rp2

0.47

0

1

Rp3

Rp4

0.62

Figure 41. Sélection par roulette biaisée.

Enfin, nous effectuons le tirage d'un nombre aléatoire dans l'intervalle [0,1] et nous reproduisons ce tirage 4 fois. Nous sélectionnons ainsi les individus en positionnant chaque nombre obtenu par tirage dans le secteur équivalent de la roulette. Le tableau (2) donne la valeur obtenue pour chaque tirage et les individus sélectionnés correspondants.


tirage

Valeur obtenue

Individus
sélectionnés

 

Chromosomes
équivalents

 

1

0.43

X2

Xá 1

=

1

1 0

1 1

1 1

0

2

0.89

X4

Xá 2

=

0

1 1

0 1

1 0

0

3

0.18

X1

Xá 3

=

1

0 1

1 1

0 1

0

4

0.75

X4

Xá 4

=

0

1 1

0 1

1 0

0

Tableau 2. Résultat de sélection.

Nous trouvons que l'individu X3 est éliminé de la population tandis que l'individu X4 est reproduit deux fois.

3.2.4.2- Sélection par tournoi.

La méthode de la roulette, comme les autres méthodes de sélection proportionnelle à la performance, exige principalement deux étapes pour créer la population intermédiaire. Premièrement, nous calculons la performance moyenne de la population, ensuite nous calculons la probabilité de sélection pour chaque individu. La méthode du tournoi est plus directe, puisqu'elle ne demande pas le calcul de la performance moyenne de la population (Mitchell, 1996).

Cette méthode consiste à simuler Nind tournois, un individu étant sélectionné à chaque fois. Un échantillon de np individus (2 minimum) est prélevé au hasard à chaque tournoi. Le

participant dans l'échantillon ayant la performance la plus élevée sera alors adopté pour accéder à la population intermédiaire. Etant donné que le choix des échantillons des individus se fait aléatoirement, il est donc tout à fait possible que certains individus participent à plusieurs tournois. Il est aussi possible qu'un de ces individus gagne plusieurs fois et il sera par conséquent copié autant de fois dans la population intermédiaire. La pression sélective de cette méthode est directement reliée à la taille de l'échantillon (np). Plus la taille np est grande, plus la pression est grande (Duvigneau, 2006). Cette méthode est caractérisée par une pression sélective plus forte que celle de la méthode de la roulette biaisée : pour qu'un individu peu performant puisse être sélectionné, il faut que tous ses adversaires soient moins bons que lui. Ainsi, cette méthode doit être privilégiée dans le cas d'une population de grande taille.

Dans le cas où le nombre de participants dans chaque tournoi est égal à deux (np = 2), la sélection est dite par « tournoi binaire ». La sélection d'un individu Xsélect,K par tournoi binaire peut être faite de la façon suivante :

XsélectK

,

=

? ??

??

X Si fp X

( ) >

i i

X Sinon

j

fp X

( )

j

(127)

Où, K={1,2,L,Nind}.

i, j sont des nombres aléatoires non-égaux, i, j ? {1,2,L, Nin d }. 3.2.4.3- Conclusion.

La méthode de la roulette reste la méthode de sélection la plus utilisée car elle est relativement efficace. Cependant, pour certains problèmes, elle est "un peu trop aléatoire". C'est pour cela que pour certains problèmes, la méthode du tournoi est plus préférée. Cette dernière étant "moins aléatoire" que la roulette, elle permet ainsi une plus grande fiabilité.

Disposant finalement d'une population d'individus non-homogène, la diversité de la population doit être entretenue au cours des générations afin de parcourir le plus largement possible l'espace de recherche. Pour ce faire, les individus sélectionnés (dits les parents) sont alors introduits dans le bassin de reproduction (Mating Pool) où ils seront de nouveaux choisis aléatoirement pour voir leurs chromosomes subir des transformations par les opérateurs génétiques. Ces derniers sont les opérateurs de croisement et de mutation (dits les opérateurs de diversification et d'intensification du milieu).

3.2.5- Croisement.

Dans les AGs, le croisement est considéré comme le principal opérateur pour produire des nouveaux chromosomes. Comme son homologue dans la nature, le croisement produit de nouveaux individus en leur transférant quelques parties de la matière génétique de leurs parents. L'objectif du croisement est donc d'enrichir la diversité de la population en manipulant la structure des chromosomes (Chipperfield et al., 1994). Initialement, le croisement associé au codage par chaînes de bits (codage binaire) est le croisement à découpage de chromosomes.

Ainsi, dans le codage binaire, les individus, qui résultent de la sélection, sont groupés de manière aléatoire par paire définissant ainsi les parents. Ensuite, chaque couple peut subir un croisement avec une probabilité Pc donnée. Cette étape peut être effectuée comme suit

Pour chaque couple, un nombre aléatoire P est tiré dans l'intervalle [0,1] et comparé ensuite avec la probabilité de croisement Pc :

- si P > Pc, le couple ne subit pas de croissement et un clonage de chromosome aura

lieu. Les deux enfants produits sont ainsi une copie exacte de leurs parents.

- si P < Pc, le croisement a lieu et un échange des parties des chromosomes des parents

va produire deux enfants par couple de parents.

Après avoir tiré les couples qui vont être "croisés", l'opérateur de croisement peut donc être appliqué. Plusieurs types de croisement sont présentés dans la littérature, tels : le croisement seul point, le croisement multipoints, le croisement uniforme,... .

3.2.5.1- Croisement seul point.

Dans ce type de croisement, un point de croisement est choisi aléatoirement pour le couple ; la position de ce point M est définie par:

M? {1,2,L,l S -1} (128)

lS : la longueur de chromosome (nombre de bits dans le chromosome).

Les deux parents seront ainsi divisés en deux segments ; tête et queue. Le segment tête du premier parent est combiné avec le segment queue du deuxième parent : on obtient ainsi le premier enfant. La combinaison entre le segment tête de deuxième parent et le segment queue de premier parent produit le deuxième enfant.

Pour mieux expliciter ce type de croisement, nous allons l'appliquer à l'exemple présenté dans le paragraphe de la sélection.

Considérons la population de quatre individus déterminée par l'opération de sélection, nous pouvons la diviser aléatoirement en deux couples qui peuvent être par exemple : [(Xá1, Xá4), (Xá2, Xá3)].

Considérons ensuite une probabilité de croisement Pc = 50% (nous avons choisi une faible probabilité de croisement étant donné la "petite" taille de la population considérée). Cela signifie que nous pouvons tirer seulement un seul couple au hasard et lui appliquer le croisement chromosomique. Supposons que le hasard ait désigné le deuxième couple (Xá2, Xá3) pour croisement, il nous faut maintenant déterminer la position du point M de croisement dans les parents. Cette position peut être tirée au hasard ou choisie préalablement. Afin de rendre l'exemple plus parlant, nous décidons d'appliquer ce croisement sur le milieu (M = 4) du chromosome, comme le montre la figure (42).

Ainsi, l'application de l'opération de croisement engendre deux nouveaux individus (les deux enfants 2 et Xâ 3).

Le croisement en un seul point a l'avantage d'être simple et facile à appliquer. De plus, ce type de croisement donne de bons résultats dans des applications où certaines informations importantes sur le problème sont déjà connues. Enfin, pour des problèmes d'optimisation en temps réel ou des problèmes ayant un grand nombre de variables, cette méthode peut donner une convergence rapide vers une solution optimale.

Avant Après

Croissement Croissement

0

1

Parent Xá 2

Parent Xá 3

0

1

1

1

0

1

1

1

0

1

0

1

0

0

Enfant Xâ 2

0

1

1

0

1

0

1

0

Enfant Xâ 3

1

0

1

1

1

1

0

0

Figure 42. Croisement seul point. 3.2.5.2- Croisement multipoints.

A la différence du croisement seul point, ce type de croisement s'applique en plusieurs points (m points) et chaque chromosome sera ainsi découpé en (m+ 1) segments. La position de chaque point, Mi, se détermine aléatoirement, avec :

Mi { l S } i m

? L - = L

1,2, , 1 ; 1,2, ,(129)

lS : la longueur de chromosome.

m : le nombre de points de croisement donné (Pour m = 1, on retourne au cas du croisement seul point).

Ensuite, les bits entre deux points de croisement successifs du premier parent vont être échangés avec les bits correspondants du deuxième parent. La figure (43) montre un croisement en cinq points (m = 5), les points de croisement Mi étant {2, 5, 9, 11, 13 } :

M1 = 2 M2 = 5 M3 = 9 M4 = 11 M5 = 13

1110111

0

0

1

1

1

0

1

Enfant 1

1

01000001 1 0 0 0 0

Enfant 2

1 0 1 0 1 0 0 01 1 1 0 01

1 1 1 0 0 1 1 0 0 1 0 1 00

Parent 2

Parent 1

Figure 43. Croisement multipoints (m = 5).

La nature complexe du croisement multipoints permet d'obtenir une bonne exploration de l'espace de recherche au détriment d'une convergence rapide vers la bonne solution comme le ferait la première méthode. Ainsi, cette méthode de croisement est beaucoup plus robuste.

3.2.5.3- Croisement uniforme.

Dans le croisement multipoints, chaque segment du chromosome, compris entre deux points de croisement successifs, peut contenir un ou plusieurs bits. Le croisement uniforme généralise ce schéma pour lier à chaque bit un point de croisement. Pour ce faire, un chromosome masque, de même longueur que le chromosome des parents, est créé : la valeur de ses bits étant aléatoire. La parité de chaque bit dans le masque détermine successivement le parent qui va donner ses bits à l'enfant (Chipperfield et al., 1994). L'enfant généré va copier le bit de son premier parent si le bit correspondant de masque est `1', ou de son deuxième parent si le bit correspondant de masque est `0'. Ce schéma ne fait générer qu'un seul enfant. Pour générer le deuxième, un autre chromosome masque est nécessaire. Les bits de ce dernier sont créés par complémentation des bits du premier masque. L'explication de cette méthode est décrite par l'exemple suivant :

0

1

0

1

1

0

1

Parent 1

Enfant 1

1

1

1

1

1

1

0

0

0

1

0

1

1

0

1

1

1

0

1

1

0

0

0

1

1

0

1

0

1

Masque 1

1

0

0

1

1

1

0

0

1

0

1

0

Masque 2

1

0

1

0

1

1

0

0

1

0

0

1

 

0

0

1

1

0

0

0

0

0

0

1

1

Parent 2 Enfant 2

Figure 44. Croisement uniforme.

La nature complexe du croisement uniforme, comme pour le croisement multipoints, améliore encore l'exploration de l'espace de recherche. Avec le croisement uniforme, basé sur le transfert de matière génétique d'un parent à un enfant par bit de chromosome, on obtient un algorithme génétique beaucoup moins dépendant du schéma de codage. Enfin, cette méthode peut être plus précise dans l'identification d'optima globaux.

3.2.6- Mutation.

A la suite des opérateurs de sélection et de croisement, on mime à nouveau un phénomène biologique, celui de la mutation. Au niveau biologique, une mutation est une modification de l'information génétique par dégradation ou substitution locale de paire de base : ceci permet de produire une nouvelle structure génétique. L'opérateur de mutation dans le cas des AGs possède la propriété d'ergodicité du parcours de l'espace de recherche : cette propriété indique que l'AG sera susceptible d'atteindre tous les points de l'espace, sans pour autant les

parcourir tous dans le processus de résolution (Bontemps, 1995). La séquence des opérations de sélection et de croisement peut mener l'AG à "stagner" dans un ensemble de solutions identiques. Dans de telles conditions, tous les chromosomes deviennent identiques et, ainsi, la performance moyenne de la population ne s'améliore plus. Dans ce cas, la mutation aide l'AG à éviter la perte de diversité génétique et, par conséquent, elle garantit que l'AG ne va pas être bloqué dans un optimum local (Negnevitsky, 2002).

Le principe de la mutation consiste à modifier, avec une probabilité Pm faible, certains bits des chromosomes. Nous tirons tout d'abord pour chaque bit un nombre aléatoire P dans l'intervalle [0,1]. Puis, nous le comparons avec une probabilité de mutation Pm donnée :

- si P > Pm, le bit ne subira pas aucune modification.

- si P < Pm, la mutation est appliquée au bit correspondant.

Ainsi, le bit choisi pour muter sera remplacé par une valeur aléatoire, souvent proche de la valeur initiale. Dans le cas du codage binaire, cette mutation s'effectue simplement en remplaçant le bit `0' par `1' et vice versa.

Pour continuer la présentation de l'opérateur de mutation, nous reprenons l'exemple précédent (paragraphe croisement) et nous appliquons la mutation sur la population résultante du croisement.

Rappelons les individus résultants :

Xâ 1 = 1 1 0 1 1 1 1 0

Xâ 2 = 0 1 1 0 1 0 1 0

Xâ 3 = 1 0 1 1 1 1 0 0

Xâ 4 = 0 1 1 0 1 1 0 0

Nous proposons arbitrairement une probabilité de mutation Pm = 0.01. Pour déterminer les bits qui subiront une mutation, nous tirons un nombre aléatoire compris entre 0 et 1 pour chaque bit et nous le comparons avec Pm. La figure suivante montre les bits choisis pour la mutation et l'application de cet opérateur :

Xfl 3

0

1

1

0

1

1

0

0

Xfl 4

Xã 3

0

1

1

0

1

1

0

0

Xã 4

0

1

1

1

1

1

1

0

0

1

1

1

1

1

0

1

0

1

1

0

Xfl 1

1

0

0

1

1

0

1

0

Xã 1

0

0

1

0

1

1

1

0

1

1

1

0

1

1

0

0

1

Xfl 2

1

0

1

1

1

1

1

0

Xã 2

Figure 45. Exemple de mutation.

Les individus résultants de la mutation, (Xã1, Xã2, Xã3, Xã4), vont former la nouvelle population qui va remplacer la population initiale pour la deuxième génération.

3.2.7- Création de la génération suivante et critères d'arrêt.

Pour réaliser une boucle d'une itération de l'AG, ce dernier doit d'abord regrouper les individus survivants après mutation dans une nouvelle population. Ensuite, l'AG va calculer la performance pour chaque nouvel individu. Enfin, si un critère d'arrêt de l'algorithme n'est pas encore atteint, la nouvelle population doit alors remplacer la population actuelle et une nouvelle boucle sera ainsi lancée.

Puisque les AGs sont des méthodes de recherches stochastiques, il est difficile de spécifier de façon rigoureuse des critères de convergence. Par exemple, la performance d'une population peut rester stable pour un certain nombre de générations avant qu'un individu supérieur puisse apparaître. Ainsi, l'application d'un critère d'arrêt devient une vraie problématique. Une pratique commune est d'arrêter l'AG après certain nombre de générations et d'examiner ensuite la qualité de la solution trouvée par rapport à la définition du problème. Un nombre typique de générations peut aller de 50 jusqu'à 500 générations (Negnevitsky, 2002).

Par ailleurs, d'autres critères peuvent être appliqués pour déterminer l'arrêt de l'AG tels que :

- l'amélioration de la solution ne dépasse plus un certain seuil

- la fonction objectif du problème atteint une valeur donnée

- le temps de calcul atteint une valeur prédéterminée.

Nous terminons l'exemple que nous avons commencé de traiter par le calcul de la performance de chaque nouvel individu :


individu

Chromosome
Sãi

Valeurs décodées
Xãi

Performance fp(Xãi) =Fobj

1

0

1 1

1

1 1

1

0

0.4941

0.9999

2

0

0 1

0

1 1

1

0

0.1804

0.5914

3

1

0 1

1

1 1

1

0

0.745 1

0.7597

4

0

1 1

0

1 1

0

0

0.4235

0.9766

 
 
 
 
 
 
 
 

? fp = 3.3276

Tableau 3. Résultats de l'évaluation des individus dans la nouvelle population.

En comparant le tableau (1) de l'évaluation de la population initiale et le tableau (3) de

l'évaluation de la nouvelle population, nous pouvons tirer les remarques suivantes :

- le meilleur individu (Xãj) dans la nouvelle population est un individu nouveau (issu

d'une opération de mutation).

- ce nouvel individu présente une performance supérieure à celle du meilleur individu de la population initiale (fp(Xãj) = 0.9999 contre fp(Xj) = 0.9766).

- l'individu X4 reste toujours présent dans la nouvelle population (renommé Xã4).

- la nouvelle performance totale (et donc la performance moyenne) est supérieures à la valeur de départ (? fp(Xãi) = 3.3276 contre ? fp(Xi) = 2.5831).

- l'individu (Xã1), associé à la performance maximale fp(Xã1), peut être ainsi considéré comme la solution optimale du problème.

Etant donné que le problème traité est très simple, l'AG a pu atteindre une solution optimale dés la première itération.

3.2.8- Compromis exploration et exploitation.

Généralement, la recherche d'une solution optimale dans un espace complexe implique souvent un compromis entre deux objectifs apparent contradictoires : l'exploration et l'exploitation.

L'exploration a pour objectif une recherche large des régions nouvelles et inconnues de l'espace de recherche en récoltant de l'information sur le problème à optimiser. L'exploitation se propose d'utiliser l'information acquise aux points déjà explorés pour définir et parcourir ainsi les zones les plus intéressantes de l'espace de recherche. Une recherche purement aléatoire (comme le fait la méthode de Monte-Carlo) est bonne pour l'exploration mais mauvaise pour l'exploitation alors que la recherche dans le voisinage (comme le fait la méthode de la descente) est une bonne méthode d'exploitation mais une mauvaise méthode d'exploration. La littérature montre que les algorithmes génétiques peuvent réaliser un compromis équilibré et raisonnable entre exploration et exploitation. Mais il est important de bien doser l'usage de ces deux ingrédients afin que l'exploration puisse identifier rapidement des régions de l'espace de recherche qui contiennent des solutions de bonnes qualités, sans perdre trop de temps à exploiter des régions moins prometteuses. Pour ce faire, il faut ainsi ajuster les paramètres de réglage des opérateurs génétiques, sachant que le croisement favorise plus l'exploration tandis que la mutation favorise plus l'exploitation.

3.2.9- Paramètres de réglage de l'AG.

Il y a principalement trois paramètres de base pour le "fonctionnement" d'un AG : - le nombre d'individus dans la population Nind (dit la taille de la population).

- la probabilité de croisement Pc.

- la probabilité de mutation Pm.

La réussite et la rapidité d'un AG dépendent fortement des valeurs choisies pour ces paramètres. Le bon réglage de ces paramètres est un problème parfois délicat (Mitchell, 1996).

Nous discutons ci-dessous l'influence de chaque paramètre et la gamme de valeurs qu'il peut prendre :

1- la taille de la population Nind

Ce paramètre doit être judicieusement réglé en fonction de la taille du problème. Généralement, nous pouvons dire que si la taille de la population est :

- trop faible, l'AG peut converger trop rapidement vers de mauvaises solutions. - trop grande, le temps de calcul de l'AG peut s'avérer très important.

En règle générale, plus la taille de la population est grande, plus le nombre de solutions potentielles évaluées est élevé. La littérature montre que les meilleures valeurs de taille de population sont comprises entre 50 et 100 individus (Mitchell, 1996).

2- la probabilité de croisement Pc

Comme nous l'avons dit, la probabilité de croisement joue un rôle très important dans l'exploration de l'espace de recherche du problème. En générale, plus la probabilité de croisement est élevée, plus il y aura de nouvelles structures apparaissant dans la nouvelle population. Ainsi, si la probabilité de croisement est :

- trop élevée, les "bonnes" structures apportées par la sélection risquent d'être détruites trop vite.

- trop faible, la recherche de la solution optimale risque de stagner.

Le taux habituel de la probabilité de croisement est choisi entre 0.7 et 0.95.

3- la probabilité de mutation Pm

La mutation, comme nous l'avons vu, est un opérateur secondaire, mais elle reste très importante pour l'AG. Elle a pour objectifs l'introduction de diversité dans la population et la meilleure exploitation de l'espace de recherche. Ainsi, si la probabilité de mutation est :

- trop élevé, la mutation rend la recherche très aléatoire.

- trop faible, la recherche risque de stagner.

Le taux habituel de la probabilité de mutation est choisi entre 0.001 et 0.05. 3.3- Conclusion.

Les algorithmes génétiques sont des méthodes métaheuristiques d'optimisation globale basées sur des concepts de génétique et de sélection naturelle. Le composant principal des AGs est le gène qui se compose d'une chaîne de caractères (souvent binaire). Les gènes s'enchaînent et forment les chromosomes. Ces derniers forment les individus dans l'espace de recherche. Ainsi, les AGs travaillent sur une population d'individus, où chacun de ces derniers représente une solution possible pour le problème donné. Dans chaque itération de l'AG, la performance de chaque individu de la population courante est calculée. Les opérateurs de génétiques, sélection, croisement et mutation, sont appliqués successivement pour créer une nouvelle population jusqu'à l'approche rigoureuse de la solution optimale.

Les algorithmes génétiques offrent plusieurs avantages :

- Ils ne demandent pas d'informations à priori ou des propriétés particulières de la fonction objectif du problème.

- Leurs performances par rapport aux algorithmes classiques sont bien remarquées lorsque par exemple les espaces de recherches sont importants.

- Outre leur facilité de programmation et de manipulation, ils sont facilement adaptables à tout type de problème d'optimisation.

- Ils peuvent être utilisés avec profit pour traiter des problèmes n'étant pas optimisables efficacement par des approches purement mathématiquement.

Par ailleurs, les algorithmes génétiques présentent certaines limites :

- Le temps de calcul est souvent important : ils nécessitent de nombreux calculs, en particulier au niveau de la fonction objectif.

- Les paramètres de réglage (telles la taille de la population, la probabilité de croisement, ...) sont parfois difficiles à déterminer. Or le succès de l'évolution en dépend et plusieurs essais sont donc nécessaires.

- Ils ne garantissent pas toujours la découverte de l'optimum global en un temps fini. En effet, lorsqu'une population évolue, il se peut que certains individus occupant à un instant une place importante au sein de cette population deviennent majoritaires. A ce moment, il se peut que la population converge vers cet individu en s'écartant ainsi d'individus plus intéressants et en s'éloignant de l'individu vers lequel on devrait converger.

Nous pouvons conclure que l'efficacité des AGs dépend d'un compromis entre deux objectifs contradictoires : la rapidité et la précision. La rapidité est souvent mesurée en nombre d'évaluations de la fonction objectif. Cette dernière représente la plupart du temps la partie la plus "gourmande" en temps de calcul. La précision se rapporte à la distance entre l'optimum trouvé par l'AG et l'optimum réel, du point de vue de la solution ou de la valeur. Bien souvent, un AG rapide est peu précis, et inversement.

Dans le chapitre suivant, nous utilisons les principales caractéristiques des AGs développés dans ce chapitre pour une optimisation globale des PSSs.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Qui vit sans folie n'est pas si sage qu'il croit."   La Rochefoucault