algorithme de colonie de fourmis 2 fstf

40
Algorithme de colonie de fourmis Université Sidi Mohamed Ben Abdellah Faculté des Sciences et Techniques de Fès 1 Btissam DKHISSI INTRODUCTION

Upload: hamza-saffaj

Post on 24-Oct-2015

91 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 1

Algorithme de colonie de fourmis

Université Sidi Mohamed Ben AbdellahFaculté des Sciences et Techniques de Fès

INTRODUCTION

Page 2: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 2

L’OPTIMISATION

Page 3: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 3

L’optimisation

Définition

L’optimisation est une branche des mathématique cherchant à analyser et à résoudre analytiquement et/ou numériquement les problèmes qui consistent à déterminer le meilleur élément d'un ensemble, au sens d'un critère quantitatif donné.

Page 4: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 4

La maitrise et l’admiration de la science de l’optimisation Peuvent conduire à un carrière

baser sur les techniques de l’optimisation donnant par exemple :

1- Ingénieur en logistique et transport . 2- Ingénieur développeur de Web . 3- responsable de la gestion des ressources . Il y a plusieurs Métiers ou l’optimisation est la base fondamental sur laquelle consiste la maitrise de ces différents Métiers .

Voici quelques domaines dans lesquels la prise de décisionfait couramment appel à la résolution de problèmesd'optimisation : 1- CONCEPTION DE NOUVEAUX SYSTEMES:

dimensionnement, localisation

2- ORGANISATION D' ACTIVITES : Gestion de ressources

Gammes et procéduresRentabilisation des investissements

3- COMMANDE DE SYSTEMES :

Stabilisation, Suivi de trajectoires 4- SURVEILLANCE, SUPERVISION :

Détection de dysfonctionnements, diagnostics, réparation, maintenance,

remplacement préventif.

L'optimisation est essentiellement un outil d'aide à la décision au sein de l'entreprise dans différents niveaux de production, de stockage, de livraison, …

Le terme solution optimal n’est pas un jugement de valeur absolu. C'est plutôt une information sur l'approche méthodologique utilisée.

Les Domaines D’application

L’optimisation Dans notre vie professionnelle

Page 5: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 5

Comment optimiser l’espace dans ca propre maison et profiter de plus d’espace quelque soit les

dimensions traitées ?

L’optimisation du mode d’emploi pour bien préparer les examens

et optimiser le temps de révision vu le classements des matières du difficiles au faciles ou bien le

contraire !

Au niveau personnel

Page 6: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 6

Mise en forme Mathématique

Définir les variables de décision• Ensemble des variables qui régissent la situation à modéliser• Variables réelles, entières, binaires

Préciser la fonction objectif (fonction économique/Contrainte faible/contrainte souple)• Fonction mathématique composée des variables de décision quireprésente le modèle physique modélisé

Préciser les contraintes du problème (Contrainte forte/ Contrainte rigide) • ensemble des paramètres qui limitent le modèle réalisable• équations ou inéquations composées des variables de décision

Préciser les paramètres du modèleconstantes associées aux contraintes et à la fonction objectif

Page 7: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 7

Terminologie

Solution réalisableSolution où toutes les contraintes du modèle sont satisfaites Domaine de recherche (Zone de solution)Ensemble de toutes les solutions réalisables Solution optimale

• Solution réalisable où la fonction objectif atteint la meilleure valeur, maximum ou minimum

• Plusieurs solutions optimales possibles

Page 8: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 8

Quelques variantes classiques du problème de tournées de véhicules:

1- contraintes de capacité: Les véhicules ont une capacité d'emport limitée (quantité, taille, poids, etc.).

2- contraintes liées aux ressources et aux clients: disponibilité, localisation, compétences requises, etc.3- tournées de véhicules avec fenêtre de temps: Pour chaque client on impose une fenêtre de temps dans laquelle la livraison doit être effectuée.tournées de véhicules avec collecte et livraison: Un certain nombre de marchandises doivent être déplacées de sites de collecte vers des sites de livraisons.

Le problème du voyageur de commerce consiste, étant donné un ensemble de villes séparées par des distances données, à trouver le plus court chemin qui relie toutes les villes. Il s'agit d'un problème d'optimisation pour lequel on ne

connait pas d'algorithme permettant de trouver une solution exacte en un temps polynomial. De plus, la version décisionnelle de l'énoncé (pour

une distance D, existe-t-il un chemin plus court que D passant par toutes les villes ?) est connu comme

étant un problème NP-complet

Le problème de tournées de véhicules est une classe de problèmes de recherche opérationnelle et

d'optimisation combinatoire. Il s'agit de déterminer les tournées d'une flotte de véhicules afin de livrer

une liste de clients, ou de réaliser des tournées d'interventions

Ce problème est une extension classique du problème du voyageur de commerce, et fait partie

de la classe des problèmes NP-complet.

Sac a dos

PROBLEME DE VOYAGEUR DE COMMERCE

TOURNEES DES VEHICULES

EXEMPLES DES PROBLEME D’OPTIMISATION

1

23

Le problème du sac a dos est un problème d’optimisation combinatoire Il modélise une

situation analogue au remplissage d'un sac à dos, ne pouvant supporter plus d'un certain poids, avec tout ou partie d'un ensemble donné d'objets ayant chacun un poids et une valeur Les objets mis dans

le sac à dos doivent maximiser la valeur totale, sans dépasser le poids maximum.

Page 9: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 9

Algorithmes exactes

Méthodes approchées

Programmation linéaire

Séparation et évaluation

Programmation dynamique

Colonie de fourmis

Recherche locale

Algorithmes gloutons

Recherche Tabou

Recuit simulé

Algorithme génétique

Méthodes d’optimisation

Relaxation

Page 10: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 10

Les métaheuristiques progressent de façon itérative, en alternant des phases d’intensification, de diversification et d’apprentissage, ou en mélant ces notions de façon plus étroites. L’état de départ est souvent choisi aléatoirement, l’algorithme se déroulant ensuite jusqu’à ce qu’un critère d’arrêt soit atteint.

Métaheuristique

Page 11: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 11

Métaheuristiques

L'intensification se fonde sur l'idée d'apprentissage de propriétés favorables: les propriétés communes souvent rencontrées dans les meilleures solutions visitées sont mémorisées au cours de la recherche, puis favorisées pendant la période d'intensification. Une autre manière d'appliquer l'intensification consiste à mémoriser une liste de solutions de bonne qualité et à retourner vers une de ces solutions. Il s’agit alors d’intensifier l’effort de recherche vers les zones les plus « prometteuses » de l’espace des solutions.

La diversification cherche à diriger la recherche vers des zones inexplorées. Sa mise en œuvre consiste souvent à modifier temporairement la fonction de coût pour favoriser des mouvements n'ayant pas été effectués ou à pénaliser les mouvements ayant été souvent répétés. Il s’agit alors de diversifier l’effort de recherche de façon à être capable de découvrir de nouvelles zones contenant (potentiellement) de meilleures solutions.

Page 12: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 12

Algorithme de colonie de

fourmis

Page 13: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 13

Naissance des algorithmes de colonies de fourmis

Les algorithmes de colonies de fourmis sont nés à la suite d’une constatation faite par des biologistes (Pierre-Paul Grassé, entre les années 40 et 50) :

les insectes sociaux en général, et les fourmis en particulier, sont capables de résoudre collectivement des problèmes complexes,

comme trouver le chemin le plus court entre une source de nourriture et leur nid, bien que celles-ci ont individuellement des

capacités cognitives limitées.

Page 14: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 14

La stigmergie

La stigmergie est une forme indirecte et non symbolique de communication, passant par le biais de modification de l’environnement.

On peut utiliser le terme « interaction sociale indirecte » pour décrire le même phénomène.

Page 15: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 15

Expérience

Page 16: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 16

Algorithme de colonie de fourmis

i

Initialisation

déplacement

Mise à jour

Introduction

Page 17: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 17

Algorithme de colonie de fourmis (AS)

Initialisation

déplacement

Mise à jour

Introduction

i

0

0

0

0

Page 18: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 18

Algorithme de colonie de fourmis (AS)

j)t(ij

Initialisation

déplacement

Mise à jour

Introduction

sinon

J jsi P

i

ij

0

))t(())t((

))t(())t((

)t(i

ij

Jlilil

ij

Page 19: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 19

Algorithme de colonie de fourmis (AS)

j)1t(ij

Initialisation

déplacement

Mise à jour

Introduction

)t()t()1t( ijijij

Page 20: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 20

Adaptation de l’Algorithme de colonie de fourmis

Considérons le graphe G=(X,U,V)• X est l’ensemble de n sommets • U est l’ensemble des arcs• V est l’ensemble des poids associés aux composants de X ou aux ceux de U ou tous les deux

Le plus court chemin entre le paire de sommets (Source, Destination) en respectant les contraintes fortes du problème?

Page 21: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 21

Les comportements d’un algorithme de Colonie de fourmis sont :

1. Construction de la solution probabiliste biaisé par les traces de phéromone

2. Mise à jour de la quantité de phéromone

3. Évaluation de la qualité des solutions générées

Adaptation de l’Algorithme de colonie de fourmis

Page 22: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 22

Différences par rapport aux fourmis réelles :

• mémorisation des sommets traversés• les phéromones sont déposées après la construction de la solution• le renforcement est proportionnel à la qualité de la solution construite

Adaptation de l’Algorithme de colonie de fourmis

Page 23: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 23

Initialiser les phéromones pour chaque arc à la valeur τ0

Placer aléatoirement les m fourmis sur les sommets du graphefor t = 1 à tmax do

for k = 1 à m do Construire le chemin Sk (t) en tenant compte des phéromones (τ ij ) et de la désirabilité

(ηij ) de chaque arc

Calculer le coût de la solution Sk (t) end for if une meilleure solution a été trouvée then Mettre à jour la meilleure solution trouvé : S+

end if for all arc (i, j) do Mettre à jour la quantité de phéromone τij

end forend for

Algorithme de colonie de fourmis

Page 24: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 24

La colonie comporte un nombre fixe de fourmis artificielles et a pour but de

rechercher collectivement de bonnes solutions pour le problème à résoudre.

Le rôle d'une fourmi est de construire une solution, en partant d'une position

initiale liée à la nature du problème considéré (Méthode constructive).

L'objectif est d'obtenir une solution de coût minimum et qui respecte les

contraintes définies.

Ant Colony Optimization (ACO) L'optimisation à colonie de fourmis (OCF)

Page 25: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 25

Les fourmis construisent leur solution de façon incrémentale. • Etant à une étape courante sur un nœud i, chaque fourmi détermine une

liste de nœuds candidats (réalisables).

• La fourmis choisit parmi les éléments de la liste des candidats un nœud pour s’y déplacer et ça sera la direction marquée par la plus grande quantité de phéromone (la plus forte probabilité d'être choisie)

Remarque : La probabilité de choisir un nœud hors l’ensemble des candidats est 0.

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

Page 26: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 26

Le choix du nœud suivant par la fourmis est guidé par les informations laissées par les autres fourmis suivant une probabilité de transition:

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

sinon

J jsi P iij

0))t(())t((

))t(())t(()t(

iJlilil

ijij

Page 27: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 27

• : La trace de phéromone représente l’expérience de la colonie concernant l’intérêt de visiter le nœud j juste après le nœud i à une itération t, et elle est utilisée pour guider les fourmis dans leur phase de construction de chemins.

• : L’information heuristique est calculée par la fourmi en se déplaçant de l’état i à j à l’itération t. Cette information représente l’intérêt qu’a la fourmi pour prendre la décision du déplacement de l’état i à l’état j. Plus cette valeur est grande, plus il semble intéressant de faire le choix courant. En général, cette valeur est directement proportionnelle à la qualité de la solution partielle obtenue en prenant la décision de déplacement de l’état i à j.

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

)t(ij

)t(ij

Page 28: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 28

• et sont deux paramètres qui déterminent l’influence relative de l’information phéromone et de l’information heuristique.

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

Page 29: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 29

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

La mise à jour :

Une fois que toutes les fourmis ont construit leurs solutions (c’est à dire à

la fin de chaque itération) la colonie de fourmis effectue des mises à jour

de la quantité de la phéromone. La mise à jour de la phéromone

commence par une phase d'évaporation, qui réduit toutes les valeurs des

arcs. Ensuite pour chaque solution, les valeurs de la phéromone

associées aux éléments la constituant sont renforcées par un facteur à

définir.

Page 30: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 30

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

La mise à jour :

La mise à jour de la phéromone peut être globale où chaque arc appartenant à

une des solutions construites est modifié par l’ajout d’une quantité de

phéromone. À la fin de cette phase la phéromone du système entier s'évapore et

le processus de la construction et de la mise à jour est réitéré suivant la formule

suivante :

• : le coefficient d’évaporation choisi dans l’intervalle] 0,1[.

• : la quantité de phéromone déposée sur l’arc reliant les nœuds i et j.

)t()t()1t( ijijij

)t(ij

Page 31: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 31

Ant Colony Optimization (ACO) L'optimisation par colonie de fourmis (OCF)

La mise à jour : La mise à jour de phéromone peut être aussi locale où seule la meilleure solution construite depuis le commencement de la procédure de construction des solutions, est employée pour mettre à jour globalement la phéromone. Ainsi, chaque fois qu’une fourmi se déplace de l’état courant au prochain, la phéromone associée au bord est modifiée de la façon suivante:

Où : • le coefficient d’évaporation choisi dans l’intervalle]0,1[.

• la valeur initiale de la phéromone.

0ijij )1()t()1t(

0

Page 32: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 32

Variantes de l’algorithme de colonie de fourmis

Page 33: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 33

Le système de fourmi (Ant System AS)

• Développé par Dorigo et al. en 1991• Vise surtout à résoudre le problème de voyageur de commerce, où l'objectif est de

trouver le plus court chemin servant à relier un ensemble de villes.

Principe :

Un ensemble de fourmis, chacune parcourant un trajet parmi ceux envisageables. À chaque étape, la fourmi choisit de passer d'une ville à une autre selon quelques règles :

• elle ne peut visiter qu'une fois chaque ville • plus une ville est loin, moins elle a de chance d'être choisie (c'est la «visibilité /

l’information heuristique») • plus l'intensité de la piste de phéromone disposée sur l'arête entre deux villes est

grande, plus le trajet aura de chance d'être choisi• une mise à jour globale de phéromone est appliquée afin d’augmenter l’attraction de la

solution prometteuse

Page 34: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 34

Max-Min Ant System (MMAS)

• Une variante efficace du AS• Développée par Stützle et Hoos

Principe :Seules les meilleures fourmis tracent des pistes et le dépôt de phéromone est limité par une limite supérieure (empêchant une piste d'être trop renforcée) et une limite inférieure (laissant la possibilité d'être explorée à n'importe quelle solution)

Page 35: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 35

Ant Colony System (ACS)

• La variante la plus connue du (AS)• Introduit par Dorigo et Gambardella en 1997

Principe :Une nouvelle règle de déplacement (appelée «règle pseudo-aléatoire proportionnelle»), s'ajoute au processus de mise à jour locale des éléments des pistes de phéromone.La nouvelle règle de déplacement Dépend d’un paramètre q0 (0≤q0≤1), qui définit une balance diversification/intensification.

Page 36: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 36

Ant Colony System (ACS)

Régle de transition : la fourmi placée à i choisit la ville j telle que:

Où : q est une variable aléatoire uniformément distribuée sur [0,1] q0 est un paramétre (0≤q0 ≤1)

ηij : la visibilité (l’information heuristique)

Jk(i) = { sommets candidats}

J : variable aléatoire séléctionnée par la parobabilité ci-dessous

sinon

qq si 0

J

.)t(maxargj ilil)i(Jl k

kiJP

Page 37: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 37

J est choisie suivant la probabilité de déplacement :

)i(Jl

kilil

kiJk

k

iJ

))t(())t((

))t(())t(()t(iJP

Ant Colony System (ACS)

Page 38: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 38

Ayant l'objectif d'augmenter la diversification de la recherche, le mécanisme de mise à jour locale de la phéromone de l’ACS est plus efficace relativement à celui de l’AS puisqu’il évite la convergence lente en concentrant directement la recherche dans un voisinage de la meilleure solution trouvée jusqu’à l’itération courante de l’algorithme.

Ant Colony System (ACS)

Page 39: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 39

• Optimisation

• à chaque pas la fourmi dépose des phéromones :

• la mise à jour des phéromones n’est faite qu’à partir du meilleur chemin généré (C+) :

• des listes de villes candidates sont utilisées pour accélérer le processus de construction d’un chemin ;

• une heuristique locale est utilisée pour améliorer les solutionsgénérées par les fourmis (2-opt ou 3-opt) ;

Page 40: Algorithme de Colonie de Fourmis 2 FSTF

Btissam DKHISSI 40

Application : Problème de voyageur de commerce (TSP)