BACT2RIE st160007
BACT2RIE st160007
BACT2RIE st160007
DEMOCRATIQUE ET POPULAIRE
MINISTERE DE L’ENSEIGNEMENT
SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
MEMOIRE
DE FIN D'ETUDES POUR L'OBTENTION DU DIPLOME DE MASTER EN
Electrotechnique
THEME
- Omar LARFI
- Azzedine AISSET
Devant le jury :
- Abdellah GUEBLA Président
-Seddik KHEMAISSIA Encadreur
-Toufik THELAIGIA Examinateur
Ce que je pense
Ce que je dis
Bernard WERBE
REMERCIEMENTS
J’aimerais en premier lieu remercier mon dieu Allah qui m’a donné la
Mes remerciements les plus sincères à toutes les personnes qui auront
Merci….
i
Liste des abréviations
ii
Listes des figures
Figure I.4 Cartographieentre les capteurs, les unités de fusion, et le système de la moelle 17
iii
Listes des figures
Figure IV.6 Figure montre la voie tracée par l'agent mobile pour Destination (530, 40)….. 78
iii
Développement d’un algorithme intelligent pour la commande des robots mobiles Table des matières
Sommaire
Remerciement i
Notations et abréviations ii
Introduction générale 1
Chapitre 1
I Commande des agents mobile par les algorithmes bio-inspiré 4
Chapitre 2
II Optimisation par essaim de particules (OEP, PSO) 26
Chapitre 3
III Algorithme d’optimisation d’exploration des bactéries 46
Chapitre 4
IV La planification de trajectoire par BFO 68
Bibliographies
Résumé
Introduction Générale
Introduction Générale
Le but du système de robot est de faire des tâches à un coût aussi bas que possible.
Ainsi, la planification de trajectoire optimale pour les robots manipulateurs est toujours un
point chaud dans les domaines de la robotique [1] de recherche.
La navigation en robot mobile est une méthode qui permet de guider un robot pour
accomplir une mission par le biais d’un environnement avec des obstacles d'une manière bon
et sûr.
Les deux tâches de bases impliquées dans la navigation sont la perception de l'environnement
et de la planification du chemin.
La littérature est riche en internat pour résoudre les robots mobiles la planification de
trajectoire en présence d'obstacles statiques ou dynamiques [2-3]. L'un des plus populaires de
planification des méthodes sont les domaines potentiels artificiels [4]. Cependant, ce procédé
ne donne qu'une solution de trajectoire qui peut ne pas être la plus petite trajectoire dans un
environnement statique. Au cours des dernières années, de nombreux algorithmes
d'intelligence artificielle ont été proposés comme des solutions au problème de planification
de trajectoire du robot. En Ref. [5], un algorithme de logique floue a été développé pour
naviguer sur un robot mobile dans un environnement dynamique inconnu rempli d'obstacles.
La méthode exige le robot pour être équipé d'une variété et des capteurs de haute précision
pour produire des chemins de collision tout en augmenter le coût total du système. En outre,
YANG et LUO [6] ont proposé un réseau de neurones roman approcher pour terminer chemin
de la couverture de la planification dans des environnements statiques avec, cependant, un
[1]
Introduction Générale
haut de calcul de Coût. En Ref. [7-8], MARCHESE introduit l'utilisation d'un automate
cellulaire multicouche (MCA) pour créer le plus court chemin souhaité pour un seul robot.
Les méthodes de calcul intelligentes de ce type sont définies comme des algorithmes
intelligents bio-inspirés (BIA) pour les distinguer des méthodes intelligentes artificielles
traditionnelles. BIA ont fait des progrès significatifs dans les deux compréhensions de la
neuroscience et les systèmes biologiques et l’application à divers domaines, tels
que le contrôle de robot mobile.
Les principales contributions de cet article sont résumées comme suit. (1) Une analyse
détaillée sur les caractéristiques du SDAC est remis. Et une nouvelle classification est
proposée à partir du mécanisme biomimétique de BIA. (2) Une enquête récente BIA est
fourni, et certains BIA sont choisis minutieusement, de se concentrer sur le mécanisme
et la réalisation du traitement biomimétique de BIA. (3) Un aperçu des applications
dans le contrôle du robot mobile par BIA est remis, pour illustrer davantage BIA. En outre,
certaines directions possibles futures de la recherche sur les BIA sont discutées.
Ce travail est organisé comme suit: Dans le Chapitre1, nous fournissons une introduction
générale du BIA et de donner une classification de ces BIA. Chapitre 2 analyses et résume
l’algorithme PSO et ses limites. Les principales applications du BFO dans le contrôle du robot
[2]
Introduction Générale
[3]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
I.1 Introduction :
Récemment, un nouveau type de méthodes de calcul intelligentes a été développé pour
surmonter les limitations des méthodes intelligentes artificielles traditionnelles. L’une des
caractéristiques les plus importantes de ces méthodes de calcul intelligentes est que leurs
mécanismes de travail sont plus réalistes à un individu ou un groupe d'organismes, qui
peuvent être très bien compris. Et ces méthodes ont généralement une plus grande efficacité
que les procédés traditionnels d’intelligence artificielle.
Les méthodes de calcul intelligentes de ce type sont définies comme des algorithmes
intelligents bio-inspirés (BIA) pour les distinguer des méthodes intelligentes artificielles
traditionnelles. BIA ont fait des progrès significatifs dans les deux compréhensions de la
neuroscience et les systèmes biologiques et l’application à divers domaines, tels
que le contrôle de robot mobile.
(1) Une analyse détaillée sur les caractéristiques du BIA est remis. Et une nouvelle
classification est proposée à partir du mécanisme biomimétique de BIA.
(2) Une enquête récente BIA est fourni, et certains BIA sont choisis minutieusement, de se
concentrer sur le mécanisme et la réalisation du traitement biomimétique de BIA.
(3) Un aperçu des applications dans le contrôle du robot mobile par BIA est remis, pour
illustrer davantage BIA. En outre, certaines directions possibles futures de la recherche
sur les BIA sont discutées.
[4]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Maintenant, BIA sont encore au stade du développement, donc il n'y a pas de définition
stricte et classification uniforme. Binitha et Sathya [ 1 ] décrit l'origine et les avantages des
algorithmes de calcul bio-inspirés et a souligné que les BIA étaient des méthodes heuristiques
qui imitent la stratégie de la nature, ce qui était une définition simple et non représentationnel
de BIA. Bongard [ 3 ] a introduit le processus de développement de l'algorithme de calcul bio-
inspirés et analysé la relation entre le BIA et les méthodes traditionnelles de calcul
intelligentes. Sur la base de notre savoir - faire, l'algorithme de calcul intelligente bio-inspirés
peut être définie comme suit: il est un type de méthodes de calcul intelligentes avec un
mécanisme de travail biologique tout à fait réaliste, d'imiter la fonction et la structure de
l'organisme, de l'individu et l’essaim des comportements, et le processus d'évolution de la vie
et de la société. Cependant, il n’est pas une tâche facile d'exclure ces méthodes de BIA, qui ne
sont pas strictement bio inspirés. Dans ce chapitre, nous ne voulons pas de
distinguer les différents types d'algorithmes de calcul intelligentes, mais d'analyser les
[5]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
principales caractéristiques de BIA, classer ces algorithmes à partir des mécanismes de travail
biologiques simulés, et sondons différentes catégories axées sur le traitement de réalisation,
ainsi que les demandes de commande de robot mobile.
Sur la base de nos travaux de recherche et la liste des lots de la littérature, les
caractéristiques remarquables de BIA discutés dans le présent chapitre sont résumés comme
suit [ 1, 4 - 7 ]:
Comme présenté ci - dessus, les BIA ont beaucoup d’excellentes caractéristiques qui peuvent
répondre aux besoins des chercheurs. Pour introduire BIA clairement et de comprendre
facilement, BIA doit être classée. De différents angles de vue, différentes classifications
peuvent être obtenus; par exemple, des effets entiers, nous pouvons voir tous les BIA comme
un type d'algorithmes d'optimisation évolutionnaires.
Dans ce chapitre, nous allons classer les BIA de leurs sources du mécanisme
biomimétique; puis BIA peut être divisé en trois catégories:
[6]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Le classement dans le présent chapitre est unique; c'est - à - dire, un algorithme bio inspirés ne
sera pas classé en deux ou plusieurs catégories différentes. La carte de classification est
représentée sur la figure 1 , et chaque catégorie sera introduite dans la prochaine section
clairement par certains algorithmes typiques.
[7]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Algorithme
intelligent bio-inspire
Algorithme de Le système
Algorithme Algorithme Algorithm
colonie de immunitaire
de luciole de mauvaises e de
fourmis artificielle
herbes culture
envahissante
s
Algorithme Réseau
Algorithme de
bactérienne neuronal bio-
colonie Algorithme
chimiotactisme inspiré
d’abeille génétique
chimique
Algorithme
Algorithme d’ Informatique
d'escalade
exploration des membrane Algorithme de
des singes
bactéries gène égoïste
Algorithme de Algorithme de
saut de coevolution
grenouille
[8]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
bactérie de butinage nutrition et l’alimentation dans le canal intestinal des personnes, qui est
appelée algorithme de butinage des bactéries [ 11 ]. Il y a quelques modèles de comportement
spéciaux dans la recherche de nourriture bactérienne, comme la natation, le tumbling, et le
comportement chimiotactique (voir Figure 2 ). Les étapes de base de algorithme de butinage
des bactéries sont extraites de ces comportements, qui sont présentés comme suit [ 11 - 13 ]
[9]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
En 2008, Zhao et Tang [ 16 ] ont présenté l' algorithme d'escalade des Singes inspiré
par les actions des singes quand ils montent les arbres à la meilleure place pour certaines
raisons, pour résoudre des problèmes d'optimisation globale. Il y a trois processus principaux
dans cet algorithme, à savoir, le processus de montée, le processus montre-saut,
et le processus de Saut périlleux.
[10]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
locales. Si certains postes mieux peut être trouvé, les singes vont sauter à ces nouveaux
postes; sinon, ils restent où ils sont.
[11]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Avec les progrès de la biologie, des mécanismes de Plus en plus immunitaires sont appliquées
dans les algorithmes de calcul, y compris les lymphocytes B, les cellules T, un anticorps, un
[12]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Inspiré de ces processus d'évolution complexes de la vie, certains algorithmes d'évolution sont
proposées, telles que l’algorithme génétique, stratégie évolutive, programme génétique
chimique, Algorithme de mauvaise herbe Envahissante et Culture Algorithme.
De trois niveaux d'évolution différents, trois BIA sont introduits en détail pour montrer le
processus de mécanisme de travail et la réalisation du BIA inspiré de l'évolution, à savoir,
Algorithme de gêne égoïste (le niveau de l’évolution des gènes), Algorithme de mauvaise
herbe Envahissante (le niveau de l’évolution de la population), et de la culture Algorithme (le
niveau de l’évolution de la société). Les deux premiers algorithmes appartiennent à BIA basé
sur l’évolution biologique, et de la culture algorithme est basé sur l’évolution de la société
L’Algorithme de gêne égoïste est un nouveau membre de BIA, qui est basé sur la théorie du
gène égoïste présenté par Dawkins [ 25 ]. Dans la théorie du gène égoïste, l'évolution est
suggérée d'être considérés comme agissante au niveau des gènes. La sélection des organismes
ou des populations sont basées sur les gènes. En outre, la population est considérée comme
un des gènes en commun où le nombre d'individus et de leurs identités spécifiques ne sont pas
d'intérêt. Alors l’algorithme de gêne égoïste met l’accent sur la condition physique des gènes
plutôt que des individus
Algorithme d'invasion des mauvaises herbes est introduit par Mehrabian et Lucas [ 26 ], qui
simule le processus d'invasion des mauvaises herbes. Les mauvaises herbes ont des stratégies
de viabilité et de survie puissants qui les tournent vers les plantes indésirables
dans l’agriculture. Toutefois, ces caractéristiques de mauvaises herbes sont très utiles pour
certains algorithmes de calcul. Il existe trois principaux mécanismes de la mauvaise herbe
[13]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
envahissante utilisée dans l’algorithme d'invasion des mauvaises herbes. (1) mécanisme de
propagation: ce mécanisme signifie que les mauvaises herbes auront des
chances de reproduction en fonction de leur condition physique. (2) le mécanisme de
diffusion: ce mécanisme signifie que les mauvaises herbes de la descendance se diffuse à
l'intérieur d’un espace dans un mode normal de distribution en prenant les mauvaises herbes
mères comme axe. (3) mécanisme concurrentiel: signifie ce mécanisme que toutes les
mauvaises herbes, y compris les parents et les descendants seront sélectionnés en fonction de
leurs mérites lorsque le nombre de mauvaises herbes dans un espace atteint la limite
supérieure.
[14]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
I.4 Applications de Vue d'ensemble de BIA pour le contrôle des Robot mobile :
Les BIA ont été largement utilisés dans de nombreux domaines. Pour présenter
clairement BIA, nous nous concentrons exclusivement sur le champ d'application dans
le contrôle du robot mobile dans cette section, qui est l’un des domaines d'application les plus
importants de BIA. Les principales applications de commande de robot mobile basé sur BIA
résumées ici sont basées sur ce que les auteurs sont les plus conscients. Bien que pas
exhaustive, les applications citées ici peuvent démontrer quelques -unes des principales
caractéristiques de BIA. Pour réduire la répétition et d’introduire plus BIA, le BIA introduit
dans cette section sont différentes de celles de la section 3 .
Robot mobile, comme une branche importante de la recherche robotique, se développe très
rapidement, ce qui peut être utilisé pour effectuer diverses tâches qui ne conviennent pas à
l'homme, par exemple lorsque l'environnement de travail est dangereux et toxiques, la tâche
est pleine de monotonie et la répétition terne, et la tâche d'exploration est dans la mer
profonde ou l' espace [ 61 - 63 ]. Les principaux problèmes qui doivent être abordés dans
le contrôle du robot mobile comprennent la planification de trajet, localisation et cartographie
simultanées, et le contrôle coopératif de multi robots, qui seront présentés en détail comme
suit.
[16]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
L'ensemble des capteurs unités de fusion est notée { F 1 , F 2 , ..., F N }. La cartographie entre
les capteurs, les unités de fusion, et les champs de la colonne vertébrale est représentée sur
la figure 4 . Dans leur étude, quatre comportements de base sont choisis, à savoir {aller de
l’avant}, {tourner à gauche}, {tourner à droite} et {remontent}. Les quatre comportements
sont mises en correspondance avec les vitesses des roues du robot correspondantes
{V L, V R}. Ensuite, en fonction des champs de la colonne vertébrale afin de réaliser le
comportement est exprimé sous la forme {V L , V R} = f ( B 1 , B 2 , B 3 , B 4 ). Enfin, quatre
expériences sont réalisées avec le robot Khepera, et les résultats montrent que leur contrôleur
basé sur le comportement bio-inspirés développé est simple mais robuste.
Figure I.4 : Cartographie entre les capteurs, les unités de fusion, et le système de la moelle [ 29 ].
Yang et Meng [ 33 ] ont utilisé un réseau de neurones bio-inspirés pour réaliser la génération
de trajectoire dynamique sans collision pour robot mobile dans un environnement non
[17]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
stationnaire. Ce réseau de neurones bio-inspirés est basé sur un modèle de shuntage, qui est
obtenu à partir d’un modèle de calcul de la membrane pour une plaque de membrane dans un
système neuronal biologique (proposé par Hodgkin et Huxley en 1952 [ 23 ]). L'idée de base
de cette méthode neuronal bio-inspirés robot de génération de trajectoire de réseau basée est
que le réseau neuronal est topologiquement organisé, où la dynamique de chaque neurone est
caractérisée par une équation de shunt:
d = A
xi
x (B x ) S
i i i
( D xi ) S i , (1)
d t
x ( B x ) I x
d q
xi
A j 1
( D xi ) I i , (2)
d t
i i i ij j
Où q est le nombre de connexions neuronales du i ième neurone à ses neurones voisins dans
un champ récepteur, w ij est le poids latéral de connexion du i ème neurone de la j ième
neurone ; fonction [ ζ ] + est défini comme [ ζ ] + = max { ζ , 0}, et la fonction [ ζ ] – est défini
comme [ ζ ] - = max {- ζ , 0}. I i est l’entrée externe au i ème neurone, qui est définie comme
I i
{ (3)
P n
x pn max x , j , 1,2,..., k
j
, (4)
[18]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
Figure I.5 : planification de trajectoire de robot en réseau de neurones bio-inspirés en temps réel :
(a) la trajectoire générée du robot ; (B) l’activité de neurones du réseau de neurones bio-
inspirés.
[19]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
responsable de la cartographie et de navigation chez les animaux, qui sont présentés comme
suit. Milford et Wyeth [ 33 ] ont étudié la navigation persistante et problème de
la cartographie d’un robot autonome, et un système de SLAM biologiquement inspiré basée
sur des modèles de cartographie dans l’hippocampe des rongeurs (RatSLAM) a été
présenté. Le RatSLAM proposé se compose de trois éléments : un ensemble de cellules de
vue local, un réseau de cellules de pose, et une carte de l’expérience. Les cellules de pose
forment un réseau continu attracteur trois dimensions (CAN). Pour chaque pose cellule locale
d’excitation et d’inhibition sont obtenus grâce à une distribution gaussienne tridimensionnelle
des connexions pondérées.
2 2 2 2
a,b,c e (a b) / k p
c 2 c 2
/ k d e (a b) / k p
exc exc inh inh
e e / kd , (5)
max (
t 1
,
t
Où λ est le taux d’apprentissage. La carte de l’expérience est une carte topologique semi
métrique contenant des représentations de lieux (appelés expériences) et des liens entre les
expériences décrivant les transitions entre ces lieux. RatSLAM effectue SLAM en continu
tout en interagissant avec les
Les paramètres de contrôle de l’algorithme sont équivalents aux effets régulateurs de cellules
T. L’équation dynamique pour les niveaux d’anticorps d’incitations et de concentration est la
suivante :
[21]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
(t ) (t 1) (t 1). (t 1),
i i i i
(t 1) i
m (t 1) Tki (t 1)
N N
(7)
j 1 ij j k 1 k
N N
ci (t 1) k i g,
i
Yang et Zhuang [ 72 ] ont présenté une Ant Colony Optimization algorithme amélioré pour
la résolution de l' agent mobile (robot) routage problème. Les fourmis coopèrent en utilisant
une forme indirecte de communication médiatisée par les traces de phéromone de parfum et
de trouver la meilleure solution à leurs tâches guidées à la fois par l’information (exploitation)
qui a été acquis et la recherche (exploration) de la nouvelle route. Lorsque la fourmi k se
déplace, la probabilité que la fourmi k choisit l'ordinateur hôte suivant à visiter est :
(8)
[22]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
ordinateur hôte est notée t i ; J i ( r ) est l'ensemble des ordinateurs hôtes qui restent à être
visité par la fourmi i positionné dans la r e ordinateur hôte; ß (0 ≤ ß ≤ 1) est un paramètre pour
contrôler le compromis entre visibilité (heuristique constructive) et la concentration de
phéromone. Ensuite , plus les traces de phéromone sur la route que les fourmis choisissent,
plus le temps de retard et plus la probabilité que les fourmis choisissent cette voie. Les traces
de phéromone sur la route peuvent s'évaporer au fil du temps, ainsi que les traces de
phéromone dans l'itinéraire peuvent être mis à jour après que toutes les fourmis complètent
leurs tournées, respectivement, et revenir à l'ordinateur hôte initial. L'algorithme a été intégré
avec succès dans un système de robot humanoïde simulé qui a remporté la quatrième place du
RoboCup Concours Mondial de 2008.
À l'avenir, les BIA joueront un rôle important dans de plus en plus de champs. Dans le
champ d'application pour le contrôle du robot mobile sur la base de BIA, les principales
[23]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
orientations futures comprennent des capteurs bio-inspirés, modèle cognitif, et les robots bio-
inspirés.
[24]
Commande des agents mobiles par les algorithmes bio inspiré Chapitre I
I.6. Conclusions :
Dans ce chapitre, nous avons analysé les principales caractéristiques du BIA basé sur
notre travail et la vue d'ensemble de la littérature et donné une classification des BIA du
mécanisme biomimétique. Selon la classification, nous avons sondé le processus de
réalisation de chaque catégorie de BIA par certains algorithmes concrets sélectionnés avec
soin. En outre, nous avons sondé les applications de BIA axées sur le champ de commande de
robot mobile. Enfin, nous avons fourni quelques orientations possibles pour des études
futures. En raison de la littérature importante et croissante dans ce domaine, de nombreux
résultats intéressants ont pas été inclus dans une tentative de capturer certains des domaines
clés dans ce domaine.
Il est clair que les BIA vont être l'un des points les plus chauds de la recherche dans le
domaine intelligente de calcul, y compris la théorie et de la recherche de l'application. Et BIA
jouera un rôle important dans le contrôle du robot mobile, qui sera une bonne solution pour
améliorer l'intelligence et de l'autonomie du robot mobile et peut résoudre le goulot
d'étranglement du développement des technologies traditionnelles, telles que l'équilibre entre
la précision et le coût. À l'heure actuelle, de nombreux problèmes de base du contrôle de robot
mobile basé sur BIA ont été explorées et les résultats sont excitant de démontrer le potentiel
de BIA. Cependant, la plupart des résultats disponibles ne sont menées par la simulation; des
efforts supplémentaires sont nécessaires pour développer une BIA plus efficace et le transit de
ces résultats à des applications réelles dans le contrôle du robot mobile.
[25]
Optimisation par essaim de particule Chapitre II
II.1. INTRODUCTION :
L’homme s’inspire de plus en plus de la nature qui l’entoure pour mettre en place des
algorithmes simulant le comportement des animaux.
Les Méta-heuristiques permettent de trouver facilement et rapidement la solution la plus
approchée du l’optimum si ce dernier existe.
Nous allons faire la connaissance avec une de ces méthodes, celle-ci est dite « optimisation
par essaims de particule » dont l’idée directrice est la simulation du comportement collectif des
oiseaux à l’intérieur d’une nuée, et étudier la possibilité de son application pour contrôler les
robots mobiles.
[26]
Optimisation par essaim de particule Chapitre II
n'existe pas de constante n telle que le temps de résolution soit borné par un polynôme de
degré n.
certains problèmes d'optimisation à variables continues, pour lesquels on ne connaît pas
d'algorithme permettant de repérer un optimum global (c'est-à-dire la meilleure solution
possible) à coup sûr et en un nombre fini de calculs.
Des efforts ont longtemps été menés, séparément, pour résoudre ces deux types de
problèmes. Dans le domaine de l'optimisation continue, il existe ainsi un arsenal important de
méthodes classiques dites d'optimisation globale [38], mais ces techniques sont souvent
inefficaces si la fonction objectif ne possède pas une propriété structurelle particulière, telle que
la convexité. Dans le domaine de l'optimisation discrète, un grand nombre d'heuristiques, qui
produisent des solutions proches de l'optimum, ont été développées ; mais la plupart d'entre elles
ont été conçues spécifiquement pour un problème donné.
efficace d’optimisation.
Les particules sont les individus et elles se déplacent dans l’hyperespace de recherche.
Le processus de recherche est basé sur deux règles :
1. Chaque particule est dotée d’une mémoire qui lui permet de mémoriser le meilleur point
par lequel elle est déjà passée et elle a tendance à retourner vers ce point.
2. Chaque particule est informée du meilleur point connu au sein de son voisinage et elle va
tendre à aller vers ce point.
II.2.1. Origines :
Ces deux concepteurs, Russel Eberhart et James Kennedy, cherchaient à modéliser des
interactions sociales entre des « agents » devant atteindre un objectif donné dans un espace de
recherche commun, chaque agent ayant une certaine capacité de mémorisation et de traitement
de l'information. La règle de base était qu’il ne devait y avoir aucun chef d’orchestre, ni même
aucune connaissance par les agents de l’ensemble des informations, seulement des connaissances
locales. Un modèle simple fut alors élaboré.
Dès les premières simulations, le comportement collectif de ces agents évoquait celui d'un
essaim d’êtres vivants convergeant parfois en plusieurs sous essaims vers des sites intéressants.
Ce comportement se retrouve dans bien d'autres modèles, explicitement inspirés des systèmes
naturels. Ici, la métaphore la plus pertinente est probablement celle de l’essaim d’abeilles,
particulièrement du fait qu’une abeille ayant trouvé un site prometteur sait en informer certaines
de ses consœurs et que celles-ci vont tenir compte de cette information pour leur prochain
déplacement.
Finalement, le modèle s’est révélé être trop simple pour vraiment simuler un comportement
social, mais par contre très efficace en tant qu’outil d’optimisation.
Comme nous allons le voir, le fonctionnement de la PSO fait qu’elle peut être rangée dans les
méthodes itératives (on approche peu à peu de la solution) et stochastiques (on fait appel au
hasard).Sous ce terme un peu technique, on retrouve un comportement qui est aussi vieux que la
vie elle-même : améliorer sa situation en se déplaçant partiellement au hasard et partiellement
selon des règles prédéfinies.
[28]
Optimisation par essaim de particule Chapitre II
1. particule :
Dans la terminologie de PSO, un vecteur de paramètre s'appelle la particule. Toutes les particules
dans l'essaim agissent individuellement sous le même principe : accélérez vers le meilleur
endroit global et le meilleur endroit personnel tout en constant vérification de la valeur de son
endroit courant.
2. Position :
La position du vecteur de paramètre dans l'espace de recherche est la position de particule.
3. la fonction coût (fitness) :
Comme dans toutes les techniques évolutionnaires de calcul il doit y avoir une certaine fonction
ou méthode pour évaluer la qualité d'une position.
La fonction coût doit prendre la position dans l'espace de recherche et renvoyer un nombre
simple représentant la valeur de cette position. La fonction coût fournit l'interface entre le
problème physique et l'algorithme d'optimisation.
4. meilleur personnel (Pbest) :
L'endroit avec la valeur d'aptitude la plus élevée individuellement découverte par une particule
est connu en tant que meilleur personnel. Chaque particule a son propre meilleur personnel
déterminé par le chemin qu'il a pris.
5. meilleur global (Gbest) :
L'emplacement de la plus haute valeur d'aptitude rencontrée par toutes les particules jusqu'à un
certain moment dans le temps (itération) est connu sous le nom de la Global Best. Pour
l'ensemble de l'essaim il y a un seul Global Best.
Chaque particule a le moyen de connaître la Global Best découvert par l'ensemble de l'essaim.
À chaque point du temps chaque particule compare l'aptitude de son emplacement actuel à celui
des Global Best.
Si une particule est atteinte à un endroit de plus d'aptitude, Global Best est remplacé par celui des
particules position actuelle.
optimiser).
_Chaque particule est capable d'interroger un certain nombre de ses congénères (ses
informatrices, dont elle-même) et d'obtenir de chacune d'entre elles sa propre meilleure
performance (et la qualité afférente).
_À chaque pas de temps, chaque particule choisit la meilleure des meilleures performances dont
elle a connaissance, modifie sa vitesse en fonction de cette information et de ses propres données
et se déplace en conséquence.
Le premier point se comprend facilement, mais les deux autres nécessitent quelques précisions.
Les informatrices sont définies une fois pour toute de la manière suivante
(Figure II.1) :
[30]
Optimisation par essaim de particule Chapitre II
Pour réaliser son prochain mouvement, chaque particule combine trois tendances : suivre sa
vitesse propre, revenir vers sa meilleure performance, aller vers la meilleure performance de ses
informatrices.
Une fois la meilleure informatrice détectée, la modification de la vitesse est une simple
combinaison linéaire de trois tendances, à l’aide de coefficients de confiance :
Les termes « plus ou moins » ou « approximativement » font référence au fait que le hasard joue
un rôle, grâce à une modification aléatoire limitée des coefficients de confiance, ce qui favorise
l’exploration de l’espace de recherche.
Naturellement, pour pouvoir être programmé, tout ceci est formalisé dans des équations de
mouvement. Un point intéressant est que, contrairement à bien d’autres heuristiques qui restent
purement expérimentales, il existe une analyse mathématique précisant les conditions de
convergence et le choix des paramètres.
[31]
Optimisation par essaim de particule Chapitre II
II.2.4. Le voisinage :
Le voisinage constitue la structure du réseau social. Les particules à l’intérieur d’un
voisinage communiquent entre-elles. Différents voisinages ont été étudiés et sont considérés en
fonction des identificateurs des particules et non des informations topologiques comme les
distances euclidiennes dans l’espace de recherche [39]:
– Topologie en étoile (figure II.2(a)) : le réseau social est complet, chaque particule est attirée
vers la meilleure particule notée gbest et communique avec les autres.
– Topologie en anneau (figure II.2 (b)): chaque particule communique avec n (n = 3) voisines
immédiates. Chaque particule tend à se déplacer vers la meilleure dans son voisinage local
notée lbest.
– Topologie en rayon (figure II.2(c)): une particule "centrale" est connectée à tous les autres.
Seule cette particule centrale ajuste sa position vers la meilleure, si cela provoque une
amélioration l’information est propagée aux autres.
[32]
Optimisation par essaim de particule Chapitre II
[33]
Optimisation par essaim de particule Chapitre II
Cette modification peut être représentée par le concept de vitesse. La vitesse de chaque agent
peut étre modifiée par l'équation suivante [ Sha]:
k 1
W vi c1 rand 1 ( pbest xi ) c2 rand 2 ( gbest xi )
k k k
v i 1
(1)
Où:
k 1
_ vi : la vitesse de l'agent i, à l'itération k
– W : Le poids inertiel,
– c j
: paramètre d'accélération (facteur de pondération),
wmin
w w max
wmax iter (2)
iter max
Où:
– wmax : poids initial,
En utilisant l'équation ci-dessus, dans le calcul de la vitesse, ce qui est peu à peu près de
[34]
Optimisation par essaim de particule Chapitre II
pbest et gbest peut être calculé. La position actuelle (recherche dans l'espace de
recherche) est donnée par l'équation suivante:
k 1 k 1
x v
k
x i i i
(3)
Étape 0:
L'initialisation de la vitesse et la position de chaque particule dans l'essaim.
Étape 1 :
Si le critère d’arrêt est vérifié, alors l'algorithme se termine. S’il ne l’est pas, une nouvelle
itération commence en retournant à l’Étape 2 avec la première particule (i =1). Le critère d’arrêt
correspond généralement à un nombre d’itérations prédéfinies, mais on peut également spécifier
un critère d’arrêt en fonction de la meilleure valeur de qualité G ( p ) obtenue pour l’ensemble
g
des particules.
[35]
Optimisation par essaim de particule Chapitre II
Étape 2 :
Calcul de la qualité G ( p ) de la particule i en fonction de G ( x )
i i
et son vecteur de position
( xi ) .
Étape 3:
Établir si la qualité G ( x ) obtenue par la particule i est supérieure à la meilleure qualité que
i
particule xi est sauvegardée comme étant la meilleure position pi obtenue à ce jour pour la
k
particule i. p x G (p) G (p ) V
i i i g i
Étape 4 :
Établir si la qualité G (pi) obtenue par la particule i est plus grande que la meilleure qualité G (p
g) obtenue pour l’ensemble de la population. Si tel est le cas, l’indice de la particule ayant obtenu
la meilleure qualité g prend la valeur i.
Étape 5 :
k 1
Mettre à jour la vitesse de déplacement V i
de la particule i. Cette mise à jour tient compte de
k
la vitesse précédente de la particuleV i , de sa position présente x i
, de la position de la
meilleure qualité p i
obtenue par cette particule ainsi que de la position de la meilleure qualité
globale p g obtenue par la population. Une fois cette vitesse mise à jour, il faut vérifier si la
k 1
nouvelle vitesse V i
de la particule i est contenue dans les limites autorisées V i
∈ (-
V max
V max ). Si tel n’est pas le cas, la nouvelle vitesse est réduite à la borne la plus proche.
Étape 6 :
k 1
Mettre à jour la position x i
de la particule i. Cette mise à jour tient compte de la position
k k 1
précédente de la particule x i
ainsi que de la nouvelle vitesse V i calculée à l’étape 5. Une fois
k 1
la position de la particule i mise à jour, il faut vérifier si la nouvelle position x i
est contenue
x i
∈( x ,x
min max
). Si tel n’est pas le cas, la nouvelle position est ramenée à la borne la plus
proche.
[36]
Optimisation par essaim de particule Chapitre II
p i = xi // p id
meilleure position
End If
g=i // arbitraire
for j = index des voisins de la particule i
If G (p) > G (p )
i g
then g=j //index de la meilleure particule
globale
next j
k 1
wvi c1 rand × (p xi ) c2 rand × (p xi ) ,
k k k
V i i g v ( v
i max
, vmax )
k 1 k 1
x v
k
x i i i
, x (x , x
i min max
)
next i
next k, jusqu’à obtention du critère d’arrêt
[37]
Optimisation par essaim de particule Chapitre II
[38]
Optimisation par essaim de particule Chapitre II
k 1
wvi c1 rand1× (p xi ) c2 rand 2 × (g xi )
k k k
V i besti best
De nombreux tests ont également été effectués pour trouver la valeur optimale de w [Hen].
L’une des meilleures techniques trouvée consiste en une fonction linéaire diminuant la valeur de
w de 0.9 à 0.4 sur le nombre maximal d’itérations à effectuer. Ainsi, la valeur de w diminue
légèrement après chaque itération PSO. Au début d’une optimisation, les particules feront de
grands déplacements. Ceci permettra d’explorer une grande partie de l’espace. Puis, à mesure
que le nombre d’itérations augmente, la grandeur des déplacements des particules diminuera,
permettant ainsi de raffiner la recherche.
[39]
Optimisation par essaim de particule Chapitre II
[40]
Optimisation par essaim de particule Chapitre II
L'agent de la cession devrait être ajustée en fonction des succès de l'agent et du groupe.
Pour ce faire, une formule pour chaque vik qui sera une fonction de la différence entre la
position actuelle de l'agent et la meilleure position trouvée à ce jour par lui-même et par le
groupe. À savoir, comme la version de base continue, la formule de version binaire de PSO peut
être décrite comme suit:
k 1
vi rand × (p xi ) rand × (g xi )
k k k
V i besti best
(6)
k 1 k 1 k 1 k 1
p sig (v
i i
) Then x i
1; else x i
0 (7)
Où, rand: un numéro tiré au hasard d'une distribution uniforme avec un plafond prédéfini.
k 1
p i
: Un vecteur de nombres aléatoires de [0.0, 1.0].
Dans la version binaire, la limite de rand est souvent posée de manière à ce que les deux limites
de rands somment à 4,0. Ces formules sont réitérées à maintes reprises au- dessus de chaque
[41]
Optimisation par essaim de particule Chapitre II
dimension de chaque agent. Le deuxième et troisième trimestre de (II.6) être pondérés comme la
version de base continue de PSO.
v
k
i
Peut être limités, de tel sorte que sig ( v k
i
) ne pas approcher trop de près à 0,0 ou 1,0.
De cette façon, il y a toujours une chance de renverser un peu. Un constant paramètre Vitesse
max peut être réglé au début d'un procès. Dans la pratique, v max est souvent dans [-4, 0, +4,0].
L'ensemble des algorithmes de la version binaire de la PSO est presque la même que celle de la
version de base continue, sauf l'équation de décision ci-dessus.
[42]
Optimisation par essaim de particule Chapitre II
Pour 1 itération
[43]
Optimisation par essaim de particule Chapitre II
Pour 20 itérations
Pour 30 itérations
fig II.7. Simulation du mouvement d’essaim par PSO
II.5.2 Discussion:
On a Remarqué à partir de l'image que pour la première itération, nous trouvons tous les
agents mobiles au point de départ, et pour 20 itérations, les agents étaient sur leur chemin au
point qu’il est précisé dans le programme. Nous constatons que tous les agents sont arrivés au
point de cible à l’itération 30, 30 est le nombre d’itération pour atteindre l’objectif.
On a réussi dans cet exemple a voire les mouvements des particules pendant leur déplacement
[44]
Optimisation par essaim de particule Chapitre II
II.5. COCLUSION :
Les méta-heuristiques permettent l'absence d'hypothèses particulière sur la régularité de la
fonction objective
Les résultats obtenue par PSO sont très satisfaisants et confirment bien la validité de
l’algorithme.
Le choix de paramètres reste l'un des problèmes de l'optimisation par particules d'essaim.
[45]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
III.1. Introduction :
L’algorithme d’optimisation de d’exploration des bactéries (Bacteria Foraging
optimisation Algorithm ou BFOA), proposé par Passino [1], est un nouveau venu à la famille
des algorithmes d'optimisation inspirés de la nature. Au cours des cinq dernières
décennies, les algorithmes d’optimisation tels que des algorithmes génétiques (GAS) [2],
Programmation évolutive (EP) [3], évolutionnaire de Stratégies (ES) [4], qui puisent leur
inspiration dans l' évolution et la génétique naturelle, ont été dominant dans le domaine de
d'optimisation. Récemment, l’algorithme d essaim naturel inspiré comme l’optimisation par
essaim de particule (Particule Swarm Optimisation ou PSO) [37], colonies de fourmis
optimisation (ACO) [6] a trouvé leur chemin dans ce domaine et prouvé leur
efficacité. Suivant la même tendance des algorithmes basés essaim, Passino a proposé la
BFOA dans [1]. L’idée clé du nouvel algorithme est l’application de la stratégie du groupe de
recherche de nourriture d'un essaim de bactéries E.coli dans l’optimisation de la fonction
multi-optimale. La recherche des éléments nutritifs par les bactéries de manière à
optimiser l’énergie obtenue par unité de temps. Une Bactérie individuelle peut aussi
communiquer avec les autres par l’envoi de signaux. Une bactérie prend des décisions
d’exploration après avoir examiné les deux facteurs précédents. Le processus, dans lequel une
bactérie se déplace par petits pas lors de la recherche pour les éléments nutritifs, est appelé
chimiotactisme et l’idée clé de BFOA est d’imiter le mouvement chimiotactique des bactéries
virtuelles dans l'espace de recherche de problème.
Depuis sa création, la technique BFOA a attiré l'attention des chercheurs de divers
domaines de la connaissance en particulier en raison de sa motivation biologique
et la structure gracieuse.
Les chercheurs tentent d’hybrider BFOA avec différents autres algorithmes afin
d'explorer ses propriétés de recherche locales et globales séparément. Il a déjà été appliqué
à de nombreux problèmes du monde réel et prouvé son efficacité sur de nombreuses variantes
de GA et de PSO. La modélisation mathématique, l’adaptation et la modification de
l'algorithme pourrait être une partie importante de la recherche sur BFOA à l' avenir.
[46]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
[47]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
les progrès chimiotactique peut être détruit et un groupe de bactéries peut se déplacer à un
autre lieu ou une autre peuvent être introduit dans l'essaim de préoccupation. Ceci constitue le
cas D’élimination -dispersion dans la population bactérienne réelle, où toutes les bactéries
dans une région sont tuées ou groupe est dispersé dans une nouvelle partie de
l'environnement.
( ) où θ∈
p
Maintenant, supposons que nous voulons trouver le minimum de J (c’est-
à-dire θ est de p vecteur de dimension de nombres réels), et nous ne disposons pas des
mesures ou une description analytique de la pente J ( ) . BFOA imite les quatre
Fig. III.2: Un essaim bactérien sur une surface multimodale fonction objective.
Nous allons définir une étape chimiotactique qui peut être une chute suivie d'une chute
ou d’une chute suivie d'une course.
Laissez également
[48]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
N C
: Le nombre d'étapes chimiotactiques,
N s
: La longueur de la natation.
N re
: Le nombre d'étapes de reproduction,
N ed
: Le nombre d'événements d'élimination-dispersion,
p ed
: Elimination-dispersion probabilité,
( j , k ,l )
i p
∈ (parfois nous laissons tomber les indices et se réfère à la i - ème
Notez que nous allons interchangeable faire référence à j comme étant un «coût» (en
nous allons utiliser des tailles de population beaucoup plus petites et garder la taille
de la population fixe.
BFOA, cependant, permet p > 3, de sorte que nous pouvons appliquer la méthode
[49]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
( j , k ,l )
i
Supposer représente les bactéries à i -ème j -ième chimiotactique, l'étape
( j 1,k , l ) ( j , k , l ) c (i ) ii
i i
(1)
i ) (i )
T
(
Où Δ indique un vecteur dans la direction aléatoire dont les éléments se trouvent dans [-1, 1].
J cc ( , p ( j , k , l )) = J ( , ( j , k , l )) =
cc
i
i 1
s
p
d attractan t exp wattractan t ( m i )
2
m
( +
i 1 m 1
s
p
h (
2
exp ( w
i
rapellant rapellant m m
) ) (2)
i 1 m 1
Où J ( , p ( j , k , l )) est
cc
la valeur de la fonction objectif à ajouter à l'objectif réel
la fonction (à réduire au minimum) pour présenter un temps variable fonction objective, S est
[50]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
le nombre total de bactéries, p est le nombre de variables à optimiser, qui sont présents dans
chaque bactérie et θ= [ θ1, θ2,…, θp]T est une point dans la p dimensionnel chercher domaine.
d attractan t
, w attractan t
, h
rapellant
, w
rapellant
sont différents coefficients qui doivent être choisis
Reproduction: Les bactéries les moins sains finissent par mourir tandis que chacune des
bactéries saines (ceux cédant valeur inférieure de la fonction objectif) asexuée divisé en deux
bactéries, qui sont ensuite placés dans le même emplacement. Cela permet de maintenir la
constante de la taille des essaims.
L'algorithme BFOA
Les Paramètres:
[Étape 1] Initialisations des paramètres p ,s ,N ,N ,N ,N
C s re ed
, p , C (i )
ed
(i = 1,2,
), .
i
... , s
[51]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Algorithme:
[Étape 2] Elimination-dispersion boucle: l = l +1
[Étape 3] Boucle de reproduction: k = k +1
[Étape 4] Chimiotactisme boucle: j = j +1
[a] Pour i = 1,2 ... S prendre une étape de chimiotactique pour bactérie i comme suit.
[b] la fonction Computer de remise en forme, J (i, j, k, l).
Soit, J (i, j, k, l)= J (i, j, k, l)+Jcc (θi (j,k,l),P(j,k,l)) ( par exemple ajouter à la cellule à cellule
profil attractant-répulsif pour simuler le comportement d’essaimage)
Où Jcc est défini dans (2).
[c] Soit Jdernier = J (i, j, k, l) pour enregistrer cette valeur puisque nous pouvons trouver un
meilleur coût via une course.
[d] Tumble: générer un vecteur aléatoire Δ(i) ∈ ℜp avec chaque élément Δm (i) = 1,2,…, P
un nombre aléatoire sur [-1, 1].
[e] Move: Let
( j 1,k , l ) ( j , k , l ) c (i ) ii
i i
i ) (i )
T
(
Cela se traduit par une étape de taille C(i) dans la direction du tambour pour la bactérie i.
[g] Nager
i) Soit m = 0 (compteur pour la longueur de natation).
ii) while m < Ns (si ont pas descendu trop long).
• Soit m = m + 1.
( j 1,k , l ) = ( j , k , l ) c (i ) ii
i i
(i ) (i )
T
Et utiliser cette θi (j+1, k, l) pour calculer le nouveau J (i, j+1, k, l) comme nous l'avons fait
dans [f]
• Sinon, laissez - m = Ns. Ceci est la fin de l'instruction while.
[h] Aller à la prochaine bactérie (i +1) Si ≠ (c. -à- aller à [b] pour traiter la prochaine bactérie).
[52]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
[Etape 5]Si j < Nc , Passez à l' étape 4. Dans ce cas, continuer chimiotactisme depuis la vie
des bactéries n’est pas limité.
[Etape 6] Reproduction:
[a] Pour k et l donnée, et pour chaque i= 1, 2,…, S, laisser
Nc1
J health J (i , j , k , l )
i
(3)
j 1
[53]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
[54]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Dans la figure 4, nous illustrons le comportement d'un essaim bactérien sur les contours
constants des coûts des deux modèles de sphère dimensionnelle:
f(x1,x2)= x12 + x22 . Contours de coûts constants sont courbes x1_- x2 plan le long duquel
f(x1,x2)= x12 + x22 = constant .
[55]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Les trajectoires des bactéries, Génération=1 Les trajectoires des bactéries, Génération=2
Les trajectoires des bactéries, Génération=4 Les trajectoires des bactéries, Génération=3
Fig.III. 4: Comportement de convergence des bactéries virtuelles sur les contours des coûts constants
en deux dimensions de la sphère modèle.
[56]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
positive. Cette prise de décision cruciale (à savoir si faire un pas ou non) l’activité de la
bactérie peut être modélisé par une fonction échelon unitaire (également connu sous le nom
fonction de Heaviside [10, 11]) définie comme
U(x) = 1, if x >0;
= 0, autrement (3)
valeur de la fonction échelon unitaire. En divisant les deux côtés de la relation ci - dessus par
Δ t nous obtenons,
= U [- ] C. Δ (4)
V b
lim [U { }.C. Δ
t 0
V b
= [U {- ( lim ) ( lim )} .C. Δ]
0 t 0
[57]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Encore J(x), est supposé être continu et dérivable. lim Est la valeur du
0
dJ( )
gradient à ce point et peut être désigné par ou G. Par conséquent, nous avons:
d
V b
= U (-G V b ) CΔ (5)
dJ( )
Où, G= = gradient de la fonction objectif à θ.
d
En (5) argument de la fonction échelon unitaire est - GVb. La valeur de la fonction échelon
unitaire est 1 si G et Vb sont de signes différents et dans ce cas, la vitesse est CΔ. Dans le cas
contraire, il est 0 décision bactérie immobile. Donc, (5) suggère que la bactérie se déplace la
direction du gradient négatif. Puisque l'unité fonction de l' étape u(x) a une discontinuité de
saut à X = 0, Pour simplifier l'analyse plus loin, nous remplaçons u(x) avec la fonction
logistique continu φ(x), où
1
(x) = kx
1 e
1
On remarque que, u(x) = Lt ( x) Lt 1 kx
(6)
k k
e
La figure 5 illustre la façon dont la fonction logistique peut être utilisée pour calculer la
fonction échelon unitaire utilisée pour la prise de décision dans le chimiotactisme. Pour fins
d'analyse
k ne peut pas être infini. Nous nous limitons à modérément grandes valeurs de k (par exemple
k = 10) pour lesquels φ(x) se rapproche assez u(x). Ainsi, pour
Les valeurs modérément élevées de k φ(x) se rapproche assez u(x). Par conséquent,
à partir de (5),
C
V b
=
1 e V b
kG
(7)
Selon les hypothèses (ii) et (iii), si C et G sont très petites et k 10, puis aussi nous pouvons
avoir
|kGV b | << 1. Dans ce cas, nous négligeons termes d'ordre supérieur dans l'expansion de
ekgvb
et avoir ekgvb ≈ 1+ kGVb. Substituant dans (7), on obtient,
C. 1
Vb =
2 kGV b
1
2
[58]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
2 2
C. kG C
Vb = -
2 8
1
2
kC C
Vb =- G
2
(9)
8 2
L’équation (9) est applicable à un système de bactérie unique et il ne tient pas compte de la
cellule à cellule effet de signalisation. Une analyse plus complexe pour le système à deux
bactéries impliquant l'effet d’essaimage a été inclus à l'annexe. Il indique que, d’une durée de
perturbation complexe est ajouté à la dynamique de chaque bactérie due à l'effet des cellules
bactériennes voisines. Cependant, le terme devient négligeable pour les petites valeurs assez
de C (0,1) et la dynamique en vertu de ces les circonstances se réduit pratiquement à celui
qui est décrit dans l’équation (9). Dans ce qui suit, nous allons poursuivre l'analyse
pour le système de bactérie unique pour une meilleure compréhension de l'chimiotactique
dynamique.
[59]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Où n est l'indice d'itération. Le vecteur de linge est également fonction du nombre d'itérations
(c-à- dire chimiotactique numéro d'étape), à savoir qu'il est généré à plusieurs reprises
pour des itérations successives. Nous avons pris J(θ) = θ2 comme fonction objectif pour cette
expérimentation. Bactérie a été initialisée à – 2 c-à- dire θ(0) = – 2 et C est pris comme 0,2.
Gradient de F(x) est 2 x. Donc G(n – 1) peut être remplacé par 2 θ(n – 1) .Finalement pour ce
cas spécifique, nous obtenons,
2
kC C(n)
θ(n)= (1– ) θ(n–1)+ (11)
4 2
On calcule les valeurs de θ(n) pour des itérations successives selon la relation itérative ci -
dessus. Aussi les valeurs des positions sont notées des lignes directrices suivantes de BFOA.
Avec la position actuelle est modifiée par C Δ si valeur de la fonction objective diminue pour
nouvelle position. Les résultats ont été présentés dans la figure 6. Figure 6 (a)
montre la position dans l’itération successive selon la BFOA et tel qu'il
est obtenu à partir de (11). Ici aussi, nous ont pris la position des changements de bactérie
linéaire entre deux itérations consécutives.
Un décalage entre les valeurs réelles et prédites est aussi indiqué. Sur la figure 6
(b) les valeurs réelles et prédites de la vitesse est affichée. La vitesse est supposé constante
entre deux itérations successives. Selon BFOA grandeur de vitesse est soit C (0,2 dans ce cas)
ou 0. Différence entre réel et la vitesse prévue est affiché comme erreur. Le temps écoulé
entre deux itérations consécutives est dépensé pour calcul et est nommé comme
unité de temps. Ceci peut être perçu comme étant le temps requis par une bactérie
mesuré la teneur en éléments nutritifs d'un nouveau point sur la condition
physique du paysage. En fait, il est le temps pris par le processeur pour effectuer des calculs
numériques.
[60]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
Le gradient classique recherche de descente algorithme est donné par le suivant la dynamique
de dimension unique [12]:
d
- .G (13)
dt
Où, α est le taux d’apprentissage et β est l'élan. Similitude entre les équations (12) et (13)
suggère que chimiotactisme peuvent être considérés comme une recherche de
descente de gradient modifiée, où , une fonction de chimiotactique étape de taille peut être
/
J ( ) J best
C (16)
J ( ) J best
[61]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
J best
Est la valeur de la fonction objective pour la meilleure globalement bactérie (avec une
Si une bactérie est loin en dehors de la meilleure mondiale, J ( ) J best serait grande
fabrication C 1 0 . D'autre part, si une autre bactérie est très proche de
J ( ) J best
lui, l’étape taille de cette bactérie sera presque disparaître, parce que J ( ) J best devient
faible et le dénominateur de (17) pousse très grand. Le scénario est représenté dans la figure
7. BFOA avec le schéma d’adaptation de l’équation (15) est désignée sous le ABFOA1 et
BFOA avec le schéma d'adaptation décrit au point (17) est désignée en tant que ABFOA2.
[62]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
III.4.1. Résultats :
Pour 50 itérations
Pour 30 itérations
Pour 30 itérations
[63]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
La fonction de Rosenbrock est une fonction non convexe de deux variables utilisée
comme test pour des problèmes d'optimisation mathématique. Elle a été introduite par
Howard H. Rosenbrock en 1960. Elle est aussi connue sous le nom de fonction banane.
La fonction présente un minimum global à l'intérieur d'une longue vallée étroite de forme
parabolique. Si trouver la vallée analytiquement est trivial, on peut voir que les algorithmes de
recherche du minimum global convergent difficilement.
i 1
Un coefficient différent est parfois donné dans le second terme, mais cela n'affecte pas la
position du minimum global.
[64]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
[65]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
III.5.3. Discussion
PSO a une grande vitesse de convergence, mais se trouve à souffrir en termes de précision.
D'autre part BFA est un algorithme très structuré qui a une mauvaise convergence vitesse,
mais une grande précision.
Et ça c’est qui nous a conduit à choisir (BFO) afin de contrôler le robot, qui a travaillé sur
[66]
Algorithme d’optimisation d’exploration des bactéries Chapitre III
III.6. CONCLUSION:
[67]
La planification de trajectoire par BFO Chapitre IV
IV.1 INTRODUCTION :
Un robot est une machine équipée de capacités de perception, de décision et d’action qui
lui permette d’agir de manière autonome dans son environnement en fonction de la perception
qu’il en a. Les robots mobiles sont largement utilisés dans les environnements industriels pour
le transport de produits par exemple. Le plus souvent ces tâches sont répétitives et suivent un
chemin bien défini, parfois même bien matérialisé comme des lignes sur le sol. Il y a
actuellement une forte tendance à élargir les milieux où évoluent les robots à des
environnements de bureaux ou à des environnements domestiques (robots de service). Les
types d’applications possibles sont innombrables. Cela peut être des tâches de nettoyage et
d’entretien ou encore une assistance à une personne handicapée dans des tâches d’exploration
et de préhension. Un robot peut également servir de guide pour la visite d’un musée. On parle
alors, de façon générale, de robotique d’intérieur.
Un tel cadre d’utilisation requiert que le système robotisé dispose d’un niveau minimum
d’autonomie et de facilités de navigation. Pour ce faire, le système doit généralement
accomplir trois tâches de base qui sont la localisation, la planification et la navigation. La
robotique mobile vise à rendre un système autonome dans ses déplacements. Un robot, doté
de capacités de perception et d’information sur son environnement, doit pouvoir se mouvoir
en autonomie, sans se perdre et tout en évitant les obstacles. Une des tâches que doit
accomplir le robot et donc de planifier sa trajectoire dans l’environnement.
[68]
La planification de trajectoire par BFO Chapitre IV
[69]
La planification de trajectoire par BFO Chapitre IV
équipe chef de file dirige le mouvement des autres robots à des domaines inconnus. Ils ont
développé un nouveau système de localisation qui utilise des mesures de distance sur la base
sonar pour déterminer les positions de tous les robots du groupe. Avec leurs positions
connues, une occupation Grille algorithme de mise en correspondance bayésienne peut être
utilisé pour combiner les données de capteur à partir de plusieurs robots avec différentes
modalités de détection. Simmons et al. [11] ont développé un multi-robot d’exploration semi-
distribué algorithme qui nécessite un agent central pour évaluer la soumission de tous les
autres robots pour obtenir le gain le plus d’information, tout en réduisant le coût ou le voyage
distance. Cependant, il y a quelques limites à cette approche. Le travail a été fait en supposant
que les robots commencent en vue les uns des autres et sont dit que leur première
(approximatif) emplacement relatif. Mais une fois que les robots ont besoin de fusionner
avec des cartes initial coordonnées inconnues et dans le but de savoir où ils sont liés à un
autre, des techniques plus sophistiquées sont nécessaires pour la cartographie
et la localisation.
Gerkey et Mataric proposé une méthode de vente aux enchères pour la coordination multi-
robots dans leur système MURDOCH [12]. Une variante du protocole contrat net,
MURDOCH produit une approximation distribuée à un optimum global d'utilisation des
ressources.
L'utilisation d'un agent commissaire-priseur est similaire à la méthode de l’agent central
utilisé dans Simmons
Le travail montre essentiellement l'efficacité de la négociation distribuée
des mécanismes tels que MURDOCH pour la coordination des systèmes multi-robots
physiques.
Dans la plupart des travaux précédents, la communication entre robots est supposée être
parfaite, ce qui rend leurs algorithmes incapables de gérer les obstacles inattendus,
occasionnel lien de communication de pannes.
centralisée et découplées. En cas d'approche centralisée, chaque robot est traité comme un
seul système composite, et la planification est faite dans un composite l’espace de
configuration, formé en combinant les espaces de configuration de l'individu
robots. Considérant que, en cas d'approche découplée, les chemins sont d' abord générés pour
les robots séparés indépendamment, puis leurs interactions sont considérées (en ce qui
concerne les chemins générés). L'avantage en cas d'approches centralisées est qu'ils trouvent
toujours une solution quand on existe.
Cependant, la difficulté pratique est que, si l’exhaustivité est à obtenir, il
donne des méthodes dont la complexité du temps est exponentielle de la dimension de
l'espace de configuration composite mais les planificateurs découplés intrinsèquement sont
incomplètes et peuvent conduire à des situations de blocage. Même l'apparence simple
problème de la planification de mouvement pour un nombre arbitraire de robots rectangulaires
dans un vide espace de travail rectangulaire est encore PSPACE-complet [14].
[72]
La planification de trajectoire par BFO Chapitre IV
Autre méthodes limitent les mouvements des robots pour réduire la taille de l'espace de
recherche. Tournassoud [16] a proposé une approche potentielle sur le terrain où la
coordination de mouvement est exprimée en tant que problème d'optimisation locale.
Dans [17] Barraquand et autres. Présenter une technique de champ de potentiel pour de
nombreux disques dans environnements avec des couloirs étroits. Pour échapper à des minima
locaux, soi-disant contraintes mouvements sont exécutés qui forcent une
configuration de coordonnées pour augmenter ou diminuer jusqu'à ce qu'un point de la
fonction potentielle selle est atteint. Ce planificateur de champ de potentiel a été expérimenté
avec succès jusqu'à dix robots.
contrainte de chemin minimum paire de trajectoire de temps pour les deux robots
avec des couples de manœuvre et vitesses limitées. Un espace de coordination en deux
dimensions est conçu pour identifier une collision a le long de région des chemins qui se
transforme en un dans le temps par rapport a voyagé sur longueur d’espace avec le profil de
vitesse de l’un des deux robots.
[74]
La planification de trajectoire par BFO Chapitre IV
Ici, la grande limite non rempli rectangulaire (figure V.1.) représente la limite de
l’espace de travail.
Les polygones solides à l’intérieur de l'espace de travail sont les obstacles fixes. Chaque robot
a une source et un point qui est donné au début du problème de but.
Les deux points de source et le but se situent dans les limites de l'espace de travail.
[75]
La planification de trajectoire par BFO Chapitre IV
-Dans le programme au point de départ coordonnées sont prises comme une et b et le point
de destination est considérée comme (x1, y1).
-Pour plus court chemin à distance le robot doit se déplacer à la destination le long d'une ligne
droite. Donc, la pente de la ligne joignant (A, b) et (x1, y1) est mo = (y1-b) / (x1-a).
L'équation de la ligne dans laquelle le robot doit se déplacer: yje = (Mo) * (xje-a) + b.
-Maintenant "pour la boucle" pour le programme sera commencé à incrémenter la valeur
de xje par 1 et d’obtenir la valeur de yje de ce qui précède l'équation susmentionnée.
-Selon la valeur de coordonnées donnée aux obstacles l'équation et l'étendue de leur côté ou
courbes sont obtenues.
-Alors que la "boucle" est en cours d'exécution les valeurs de xi et yi étaient en continu en
cours de vérification avec les équations de côtés ou courbes (cercle) des obstacles.
-Si la valeur de xi et yi satisfait aux valeurs prédéterminées de l'équation alors le robot se
déplace jusqu'à ce que le point de ce côté avec l'extrémité même pente que celle de la côte,
afin d'éviter la collision.
Obstacles
[76]
La planification de trajectoire par BFO Chapitre IV
Fig IV.3 Figure montre le programme demandant l'entrée pour le point cible après avoir terminé les
obstacles
Fig IV.4 Figure montre la voie tracée par l'agent mobile pour Destination (600, 280)
[77]
La planification de trajectoire par BFO Chapitre IV
Fig IV.5 Figure montre la voie tracée par l'agent mobile pour Destination (280, 60)
Fig IV.6 Figure montre la voie tracée par l'agent mobile pour Destination (530, 40)
[78]
La planification de trajectoire par BFO Chapitre IV
IV.6.2 PROGRAMME
Notre simulation est limitée à un seul Robot mobile à la fois et les obstacles ont également été
prédéfinis. On peut voir le chemin tracé par un certain nombre de robots mobiles ayant
différents points de départ et la recherche des cibles de coordonnées différentes. Pour cela,
l'étude de l'intelligence bio inspirée a est nécessaire pour la prise de décision des robots de
choisir le meilleur parcours parmi pour atteindre le point d’arrivée en se basant sur certaines
conditions.
Le programme lié à l'ajout de souplesse pour l'utilisateur obstacles définis et la navigation
sans collision des robots mobiles dans un environnement inconnu.
IV.6.3 Résultats
Dans la simulation, la limite rectangulaire non remplie signifie les limites de l'espace de
travail dans lequel les robots peuvent se déplacer. Les polygones solides bleus sont des
obstacles fixes dans l'environnement.
La position, l'orientation et la forme de l'obstacle dans l’environnement seront fournies au
robot avant son déplacement dans l'espace de travail.
Les points verts sont les points de départ des robots. Puisque nous utilisons deux robots
dans cet exemple, nous avons deux points de départ étiquetés S1 et S2. Le point rouge
marqué G est la destination spécifiée pour les deux robots.
La ligne rouge dans la figure 8 est le chemin calculé de la BFA et l'orange les points sont les
points de la trajectoire de commande de BFA.
Le chemin est constitué de segments de ligne reliant ces points de contrôle.
On a constaté que les robots sont réussi à éviter les obstacles et les autres robots et suit
un chemin optimal pour atteindre le point cible. "Point 1" est le point de départ et "point 2" est
le point cible
[79]
La planification de trajectoire par BFO Chapitre IV
IV.6.4 Applications:
1. Ce type de système peut être utilisé dans les automobiles pour sans collision au volant.
2. Il peut également être utilisé de manutention des déchets dans les réactions nucléaires où
les robots mobiles doivent effectuer le travail avec précision.
3. Il peut être utilisé dans le transport dans l'industrie.
[80]
La planification de trajectoire par BFO Chapitre IV
IV.7. CONCLUSION:
Le programme écrit en langage C ++ pour la simulation du trajet tracée par les robots
mobiles fonctionne avec succès. Le schéma des pages précédentes est l'arène où le robot est
placé. Le robot se déplace du point de départ et passe le long du chemin indiqué sur la figure
en évitant les obstacles au point de couleur rouge qui est le point de destination.
Lorsque le robot se déplaçait le long de son chemin, il a eu quelques problèmes à naviguer
quand il existe plus d'un obstacle. Le compilateur DEV C++ était un mode très efficace en
raison de sa solidité et de bon matériel l'interface.
[81]
Conclusion Générale
Conclusion Générale
Nous avons commencé notre travail par l’étude des méthodes de calcul intelligentes
qu’il sont définies comme des algorithmes intelligents bio-inspirés (BIA) pour les distinguer
des méthodes intelligentes artificielles traditionnelles. BIA ont fait des progrès significatifs
dans les deux compréhensions de la neuroscience et les systèmes biologiques et l’application
à divers domaines, tels que le contrôle de robot mobile.
Ensuite on a étudié l’algorithme d’optimisation par essaim de particule (PSO) qu’il est
classé dans les techniques d'optimisation stochastiques à population. Et on a conclure qu’il est
un algorithme très structuré qui a une très bonne convergence vitesse, mais une mauvaise
précision, et il est généralement utiliser pour l’optimisation globale.
Un autre algorithme a été étudié dans ce projet, il est l’algorithme d’optimisation
d’exploration des bactéries (bacterial foraging algorithme), BFA est un algorithme très
structuré qui a une mauvaise convergence vitesse, mais une grande précision.
Ce projet illustre le fait que l'algorithme de BFO basé sur champ de potentiel principes
se comporte bien dans les problèmes d'optimisation combinatoire où séquentielle combinaison
de points d'obstacles de sommets constituent le chemin. Cette méthode d'utilisation d'un
collection de points de sommet en tant que domaine pour le chemin d'accès restreint l'espace
de solution à partir de tout l'espace libre non-obstacle contenant des points indénombrables à
un ensemble discret de points. Cette réduction drastique des points de domaine du problème
d'optimisation réduit le temps et les ressources de calcul nécessaires.
[82]
Conclusion Générale
Le programme écrit en langage C ++ pour la simulation du trajet tracée par les robots
mobiles fonctionne avec succès. Le schéma des pages précédentes est l'arène où le robot est
placé. Le robot se déplace du point de départ et passe le long du chemin indiqué sur la figure
en évitant les obstacles au point de couleur rouge qui est le point de destination.
Lorsque le robot se déplaçait le long de son chemin, il a eu quelques problèmes à naviguer
quand il existe plus d'un obstacle. Le compilateur DEV C++ était un mode très efficace en
raison de sa solidité et de bon matériel l'interface.
[83]
Bibliographie
Bibliographie
[1] Binitha S., Sathya S. S. A survey of Bio inspired optimization algorithms. International
Journal of Soft Computing and Engineering. 2012; 2(2):137–151.
[2] Kopacek P. Development trends in robotics. Elektrotechnik &
Informationstechnik. 2013;130(2):42–47. doi: 10.1007/s00502-013-0129-1.
[3] Bongard J. Biologically inspired computing. Computer. 2009;42(4):95–98. doi:
10.1109/MC.2009.104.
[4] Duan H., Zhang X., Xu C. Bio-Inspired Computing. Beijing, China: Science Press; 2011.
[5] Karaboga D., Akay B. A survey: algorithms simulating bee swarm intelligence. Artificial
Intelligence Review. 2009;31(1–4):61–85. doi: 10.1007/s10462-009-9127-4.
[6] Chandra Mohan B., Baskaran R. Survey on recent research and implementation of ant
colony optimization in various engineering applications. International Journal of
Computational Intelligence Systems. 2011;4(4):566–582.
doi: 10.1080/18756891.2011.9727813.
[7] Passino K. M. Biomimicry of bacterial foraging for distributed optimization and
control. IEEE Control Systems. 2002;22(3):52–67. doi: 10.1109/mcs.2002.1004010.
[8] Bhushan B., Singh M. Adaptive control of DC motor using bacterial foraging
algorithm. Applied Soft Computing Journal. 2011;11(8):4913–4920. doi:
10.1016/j.asoc.2011.06.008.
[9] Rajasekar N., Krishna Kumar N., Venugopalan R. Bacterial foraging algorithm based
solar PV parameter estimation. Solar Energy. 2013;97:255–265. doi:
10.1016/j.solener.2013.08.019.
[10] Sanyal N., Chatterjee A., Munshi S. An adaptive bacterial foraging algorithm for fuzzy
entropy based image segmentation. Expert Systems with
Applications. 2011;38(12):15489–15498. doi: 10.1016/j.eswa.2011.06.011.
[11] Liu W., Niu B., Chen H., Zhu Y. Robot path planning using bacterial foraging
algorithm. Journal of Computational and Theoretical Nanoscience. 2013; 10(12):2890–
2896. doi: 10.1166/jctn.2013.3296.
[12] Zhao R., Tang W. Monkey algorithm for global numerical optimization. Journal of
Uncertain Systems. 2008;2(3):165–176.
Master automatique
Bibliographie
Master automatique
Bibliographie
Master automatique
Bibliographie
Master automatique
Abstract
In this paper, we consider the utilization of biomimicry of bacterial foraging strategy to develop an
adaptive control strategy for mobile robot, and proposed a bacterial foraging approach for robot path
planning. In the proposed model, robot that mimics the behavior of a single bacterium is able to
determine an optimal collision-free path between a start and a target point in the environment surrounded
by obstacles. In the simulation studies, a test scenario of static environment with several obstacles is
adopted to evaluate the performance of the proposed method. Simulation results show that the robot
which reects the bacterial foraging behavior can adapt to complex environments in the planned
Résumé
Mots clés : robot mobile, obstacle, algorithme bio-inspiré, algorithmes d’optimisation par essaim de
particule (PSOA), algorithme d’optimisation d’exploration des bactéries(BFOA)
هلخص
ًشٓ أى استخذام اإلستشاي٘ي٘ت اليضٗئ٘ت الحْ٘ٗت للبكت٘شٗب لبحث عي الغزاء لْضع استشاي٘ي٘ت الس٘طشة علٔ التك٘ف،فٖ ُزٍ الوقبلت
الشّبْث، فٖ الٌوْرج الوقتشح. ّاقتشاح ًِح البكت٘شٗب فٖ لبحث عي الغزاء ّاسقبطَ علٔ الشّبْيبث لتخط٘ط هسبسُب،للشّبْث الوتحشك
ٖ ف.الزٕ ٗحبكٖ سلْك بكت٘شٗب ّاحذة ُْ قبدس علٔ يحذٗذ الوسبس األهثل ب٘ي بذاٗت ًّقطت الِذف فٖ ب٘ئت هحبطت ببلعقببث دّى االصطذام
ّيب٘ي ًتبئح الوحبكبة أى الشّبْث ٗتبع. اعتوذًب اختببسا لب٘ئت ثببتت هع العقببث الوتعذدة لتق٘٘ن أداء الطشٗقت الوقتشحت،ًتبئح دساسبث الوحبكبة
. السلْك الغزائٖ اليشثْهٖ ٗوكي أى ٗتك٘ف هع الب٘ئبث الوعقذة فٖ الوسبس الوخطط لَ بكل دقت ّاستقشاس