12.07.2013 Views

Partitionnement de territoire à l'aide d'un algorithme génétique

Partitionnement de territoire à l'aide d'un algorithme génétique

Partitionnement de territoire à l'aide d'un algorithme génétique

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPITRE 3. ALGORITHMES ÉVOLUTIONNISTES 44<br />

Opérateur <strong>de</strong> mutation La procédure <strong>de</strong> mutation est un opérateur binaire qui est<br />

appliqué sur un chromosome. Elle consiste <strong>à</strong> induire <strong>de</strong> légères variations aléatoires<br />

au sein <strong>de</strong> celui-ci, exactement comme les mutations apparaissent dans la nature.<br />

Ces <strong>de</strong>ux opérateurs <strong>génétique</strong>s s’inscrivent en fait, dans le cadre plus général <strong>de</strong>s<br />

métaheuristiques, dans <strong>de</strong>ux classes <strong>de</strong> métho<strong>de</strong> ayant un but bien précis.<br />

Les <strong>de</strong>ux buts poursuivis sont l’intensification et la diversification parfois appelés respectivement<br />

exploitation et exploration.<br />

Au début <strong>de</strong> ce chapitre (3.2) nous avions introduit le problème du voyageur <strong>de</strong> commerce,<br />

problème NP-Hard. Nous avions insister sur le fait qu’il était impensable d’énumérer<br />

l’ensemble <strong>de</strong>s solutions possibles du problème en un temps raisonnable, celles-ci étant<br />

beaucoup trop nombreuses. Pour parcourir 50 villes, 3 ◊ 10 64 solutions existent. Dans<br />

le cadre d’une métaheuristique, il convient donc <strong>de</strong> générer <strong>de</strong> nouvelles solutions <strong>de</strong><br />

manière intelligente.<br />

Le processus d’intensification consiste <strong>à</strong> utiliser <strong>de</strong> bonnes solutions trouvées jusque l<strong>à</strong><br />

afin d’en générer <strong>de</strong> nouvelles. Par exemple, si un grand nombre <strong>de</strong> bonnes solutions<br />

trouvées jusqu’ici visite la ville j juste après avoir visité la ville i, il parait cohérent<br />

<strong>de</strong> gar<strong>de</strong>r ce tronçon lors <strong>de</strong> la génération <strong>de</strong> nouvelles solutions. Au même titre, si le<br />

tronçon allant <strong>de</strong> la ville k <strong>à</strong> la ville m n’apparaît dans aucune <strong>de</strong>s meilleures solutions,<br />

il semble inutile <strong>de</strong> générer <strong>de</strong> nouvelles solutions le contenant.<br />

Toutefois, en utilisant uniquement le processus d’intensification, l’<strong>algorithme</strong> converge<br />

vers un optimum local. Si aucune <strong>de</strong>s bonnes solutions trouvées jusque l<strong>à</strong> ne contient<br />

le tronçon k,m, cela ne signifie pas pour autant qu’il n’existe aucune meilleure solution<br />

le contenant. La meilleure solution du problème le contient même peut-être. C’est pour<br />

palier <strong>à</strong> se problème que le processus <strong>de</strong> diversification est utilisé. Celui-ci consiste <strong>à</strong><br />

ajouter une composante aléatoire lors <strong>de</strong> la génération <strong>de</strong> nouvelles solutions afin d’éviter<br />

<strong>de</strong> rester bloqué dans un optimum local.<br />

Trop d’intensification risque <strong>de</strong> bloquer l’<strong>algorithme</strong> dans un optimum local du problème.<br />

Au contraire, trop <strong>de</strong> diversification risque <strong>de</strong> rendre l’<strong>algorithme</strong> trop lent <strong>à</strong> converger.<br />

Dans le <strong>de</strong>sign d’une métaheuristique, il convient donc <strong>de</strong> trouver une bonne balance<br />

entre intensification et diversification.<br />

Nous allons maintenant décrire plus en détail un <strong>de</strong>s grands standards dans le domaine<br />

<strong>de</strong>s <strong>algorithme</strong>s <strong>génétique</strong>s, NSGA-II.<br />

3.4.1 NSGA-II<br />

NSGA-II est une version améliorée <strong>de</strong> l’<strong>algorithme</strong> NSGA (Non-dominated Sorting Genetic<br />

Algorithm) initialement proposé par Deb et Srinivas en 1994 [103] auquel on reprochait<br />

: une complexité trop importante <strong>à</strong> la procédure <strong>de</strong> tri <strong>de</strong>s chromosomes, un<br />

manque d’élitisme et la nécessité <strong>de</strong> préciser un paramètre pour une procédure <strong>de</strong> la<br />

métaheuristique [38].<br />

Nous allons d’abord présenter le pseudoco<strong>de</strong> <strong>de</strong> NSGA-II et ensuite passer en revue la<br />

façon dont sont implémentées les procédures caractéristiques <strong>de</strong> cette métaheuristique,<br />

<strong>à</strong> savoir l’assignation <strong>de</strong> fitness, la préservation <strong>de</strong> la diversité et l’élitisme.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!