Professional Documents
Culture Documents
i
Acronymes
AG Algorithme Génétique.
AUML Agent Unied Modeling Language.
CSOP Constraint Satisfaction Optimization Problems.
CSP Constraint Satisfaction Problem.
D3 G2 A Distributed Dynamic Double Guided Genetic Algorithm.
D3 GPSO Distributed Dynamic Double Guided Particule Swarm Opti-
mization.
DGPSO Double Guided Particule Swarm Optimization.
FV Fitness Value.
LOD Local Optimum Detector.
OEP Optimisation par Essaims Particulaires.
Pgbest Particule global best.
Pguidage Probablité de guidage.
Plbest Particule local best.
PSO Particule Swarm Optimization.
SMA Système Multi-Agents.
ii
Table des matières
Introduction générale 1
1 Etat de l'art 3
1.1 Problèmes de satisfaction de contrainte . . . . . . . . . . . . . . 3
1.1.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Dénitions . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Extension des CSPs . . . . . . . . . . . . . . . . . . . . . 5
1.1.4 Les méthodes de résolution des CSPs . . . . . . . . . . . 7
1.1.4.1 Méthodes complètes . . . . . . . . . . . . . . . 7
1.1.4.2 Méthodes incomplètes . . . . . . . . . . . . . . 10
1.2 Essaims particulaires . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2 Description générale . . . . . . . . . . . . . . . . . . . . 17
1.2.3 Formalisation . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.4 Principales caractéristiques . . . . . . . . . . . . . . . . 21
1.3 Les systèmes multi-agents . . . . . . . . . . . . . . . . . . . . . 22
1.3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.2 Dénitions . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.2.1 Agent . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.2.2 Système multi-agents . . . . . . . . . . . . . . 24
1.3.3 Les modèles d'agent . . . . . . . . . . . . . . . . . . . . 25
1.3.3.1 Agent réactif . . . . . . . . . . . . . . . . . . . 25
1.3.3.2 Agent cognitif . . . . . . . . . . . . . . . . . . 26
iii
2 Algorithme d'Optimisation par Essaims Particulaires Distri-
bués Dynamiques Doublement Guidés (D3 GPSO) 27
2.1 Principes de base . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.1 Correspondances entre CSP et PSO . . . . . . . . . . . 27
2.1.2 Concept de Template . . . . . . . . . . . . . . . . . . . . 29
2.1.3 Dynamique Globale . . . . . . . . . . . . . . . . . . . . . 30
2.1.4 Structure des agents . . . . . . . . . . . . . . . . . . . . 31
2.1.4.1 L'agent interface . . . . . . . . . . . . . . . . . 31
2.1.4.2 L'agent espèce . . . . . . . . . . . . . . . . . . 32
2.1.5 L'heuristique de minimisation des conits . . . . . . . . . 32
2.1.6 Probabilité de guidage . . . . . . . . . . . . . . . . . . . 32
2.1.7 Le détecteur des optimums locaux et l'opérateur de pé-
nalisation . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.8 Processus détaillé . . . . . . . . . . . . . . . . . . . . . 34
2.2 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2.1 Architecture de l'application . . . . . . . . . . . . . . . . 37
2.2.2 Diagramme des cas d'utilisation . . . . . . . . . . . . . . 37
2.2.2.1 Les acteurs . . . . . . . . . . . . . . . . . . . . 38
2.2.2.2 Description textuelle . . . . . . . . . . . . . . 38
2.2.3 Diagramme de classes . . . . . . . . . . . . . . . . . . . . 39
2.2.4 Diagramme de séquences . . . . . . . . . . . . . . . . . . 40
3 Réalisation et expérimentations 42
3.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . 42
3.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . 42
3.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . 42
3.2 Choix de la Platform . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Expérimentations et illustration . . . . . . . . . . . . . . . . . . 46
3.3.1 Description de processus d'expérimentation . . . . . . . 46
3.3.1.1 Démarrage de l'application . . . . . . . . . . . 46
3.3.1.2 Achage du résultat . . . . . . . . . . . . . . 46
3.3.2 Mode expérimentale . . . . . . . . . . . . . . . . . . . . 48
iv
3.3.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.3.1 Comparaison avec l'optimum . . . . . . . . . . 51
3.3.3.2 Comparaison avec l'approche centralisée et l'al-
gorithme génétique . . . . . . . . . . . . . . . . 52
3.4 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
v
Table des gures
vi
3.6 Ratio de tness avec les optimums connus. . . . . . . . . . . . . 52
3.7 Ratio de tness avec les résultats trouvés par PSO et AG20000 . . 52
3.8 Chronogramme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
vii
Liste des Algorithmes
1 Algorithme de Metropolis . . . . . . . . . . . . . . . . . . . . . . 11
2 Algorithme de recuit simulé . . . . . . . . . . . . . . . . . . . . . 12
3 Algorithme de Recherche Tabou . . . . . . . . . . . . . . . . . . 14
4 Algorithme de colonie de fourmis pour un problème d'aectation
général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Algorithme évolutionnaire générique . . . . . . . . . . . . . . . . 16
6 Algorithme d'optimisation par essaim particulaire (basique) . . . 21
viii
Liste des tableaux
ix
Introduction générale
La deuxième catégorie est celles des méthodes incomplètes, qui sont des
méthodes qui ne donnent aucune garantie sur l'existence d'une solution. Mais
elles donnent des solutions approchées de l'optimum global. Parmi ces mé-
thodes, on peut citer les algorithmes évolutionnaires, ces méthodes sont basées
sur une analogie avec le phénomène de l'évolution et de la sélection naturelle.
Actuellement, les approches évolutives constituent des algorithmes robustes
qui sont à la base d'un axe en plein essor de l'informatique. Cependant, les
algorithmes évolutifs ont une principale limite qui réside dans le fait qu'ils
1
sont gourmands en temps de calcul. En eet,ils ne permettent pas parfois d'at-
teindre une solution dans un temps raisonnable.
2
Chapitre 1
Etat de l'art
Introduction
1.1.1 Présentation
Les problèmes de satisfaction de contrainte introduits par Montanari en
1974, occupent une place importante en intelligence articielle. En eet, ils se
dénissent par un ensemble des variables, chacune est associée à un domaine
de valeurs et qui sont sujettes à des contraintes qui les mettent en relation. Le
3
but est de trouver une solution qui est une instanciation de toutes les variables
à partir de leurs domaines respectifs et qui satisfait toutes les contraintes.
1.1.2 Dénitions
a. Dénition 1
Un problème de satisfaction de contrainte est la donnée d'un quadruplet
(X, D, C, R) avec :
b. Dénition 2
L'arité d'une contrainte Ci est le nombre de variables impliquées dans
cette contrainte : c'est le cardinal de Var (Ci ) ( | var(Ci ) | ).
Le degré d'une variable est le nombre de contraintes dans lesquelles est
impliqué une variable.
Un CSP est dit binaire si toutes les contraintes ont une arité <= 2 et au
moins une contrainte est d'arité =2.
Un CSP est dit n-aire si toutes les contraintes ont une arité <= n et au
4
moins une contrainte a une arité = n.
c. Dénition 3
Un tel problème peut être représenté par diérents types de représenta-
tions :
1. Une représentation par graphe global.
2. Une représentation par extension : où chaque relation est représentée par
un ensemble de t-uples qui respectent la contrainte associée.
Exemple :R1 = (x11 , x21 ), (x11 , x23 ).
3. Une représentation par intension : où chaque relation est représentée par
un prédicat ou par une fonction caractéristique. Exemple : x1 + x2 = 0.
4. Une représentation par graphe des contraintes : quand un CSP est consti-
tué uniquement des contraintes binaires, on peut le représenter par un
graphe non orienté, appelé graphe des contraintes où les n÷uds désignent
les variables et les arcs représentent les contraintes.
d. Dénition 4
Une solution d'un CSP : P = (X, D, C, R) est une instanciation consistante
complète. En d'autres termes, c'est une instanciation de toutes les variables de
X sur D qui doit satisfaire toutes les contraintes de C.
e. Dénition 5
Un CSP : P = (X, D, C, R) est consistant si et seulement si Sp 6=Ø.
f. Dénition 6
Soit P= (X, D, C, R) et P'= (X', D', C', R').On dit que P et P' sont
équivalents (P ≡ P 0 ) si et seulement si Sp =Sp'.
5
vons :
CSOP (Constraint Satisfaction and Optimization Problem) : Le
CSOP[4] est un CSP avec une fonction objectif f à optimiser relative à
une évaluation numérique de chaque solution. Le but dans ce cas n'est
pas seulement une instanciation qui ne viole aucune des contraintes, mais
aussi qui optimise la fonction f (maximiser ou minimiser). Plus formelle-
ment, un CSOP est déni par <X, D, C, R, F> :
6
D'autres extensions existent comme les CSPs temporels qui s'intéressent
à la résolution des problèmes de satisfaction de contrainte temporelle où les
variables représentent le temps et les contraintes les relations temporelles entre
elles. Le choix du formalisme de codication d'un problème d'aectation sous
contraintes dépend du spécicité de la problématique et du point de vue de
concepteur.
7
eectivement toutes ses solutions. Les méthodes complètes reposent sur une
recherche arborescente. Elles partent d'une instanciation vide où aucune va-
riable n'est instanciée et construisent la solution si elle existe en parcourant
l'ensemble des variables et en les instanciant une à une. Ce sont des méthodes
qui opèrent selon une approche dite par construction.
Cette méthode, qui a été utilisée pour résoudre les CSOPs eectue une
recherche en profondeur sur l'arbre de recherche. Cette technique nécessite
une fonction heuristique h qui aecte une valeur numérique à chaque tuple t
de valeurs et à chaque n÷ud de l'arbre de recherche.
Deux valeurs sont calculées : La valeur f-value qui représente la valeur réelle
de l'instanciation partielle de la racine jusqu'au n÷ud courant et la valeur h-
value estimée de l'instanciation des n÷uds suivants jusqu'au dernier n÷ud du
sous-arbre. Dans les problèmes de maximisation/minimisation et pour que la
fonction heuristique utilisée soit admissible, il faut que la h-value de chaque
tuple soit une surestimation/sous-estimation (la meilleure valeur possible) de
la valeur réelle (f-value) de chaque tuple de solution. Une variable appelée
bound, est initialisée à (moins/plus) l'innie dans les problèmes de (maximi-
sation/minimisation). Avant d'instancier une nouvelle variable et étendre ainsi
une aectation partielle, la h-value est calculée pour la solution partielle cou-
rante. Si cette valeur estimée est moins bonne que la variable bound alors le
sous-arbre est élagué de la recherche puisqu'il n'aura pas de chance de contenir
une solution meilleure que celle déjà trouvée. Dans le cas contraire, l'algorithme
continu à instancier des nouvelles valeurs pour la variable. Quand l'algorithme
trouve une meilleure solution, il met à jour automatiquement la valeur de la
8
variable bound.
Il existe aussi le Backtrack intelligent [20] qui est une stratégie basée sur
l'identication de la vraie cause des échecs an que l'algorithme puisse revenir
sur la variable qui a causé l'échec et de prendre ainsi des décisions pertinentes.
Cependant, cette stratégie nécessite un temps de calcul élevé.
9
CSPs sont proposées dans [13][25].
d. Backjumping
Le principe de l'algorithme Backjumping est de sauter plusieurs niveaux
en arrière jusqu'à la dernière variable liée par une contrainte avec la variable
courante (retour à la dernière mauvaise décision). Si cette variable de retour ne
possède pas d'autres valeurs, l'algorithme retourne plus loin à la variable liée
par une contrainte avec la nouvelle variable de retour et ainsi de suite. Une ver-
sion plus puisante de cet algorithme est appelée conict-directed backjumping
[18] ou graph based backjumping [21].
Ces méthodes sont appelées aussi les méthodes approchées, elles sont uti-
lisées généralement dans les problèmes de grande taille. Ces méthodes sont
basées sur l'exploration progressive de l'espace an de trouver une solution de
qualité dans un temps raisonnable. Contrairement aux méthodes complètes,
les méthodes incomplètes permettent de contrôler le temps puisque l'exécu-
tion peut être arrêtée à tout moment tout en obtenant une solution complète
au problème. La qualité des résultats de ces algorithmes dépend généralement
du temps d'exécution et la probabilité d'avoir une solution meilleure augmente
au cours du temps (sans toutefois garantir une solution meilleure).
Des progrès ont été réalisés avec l'apparition d'une nouvelle génération de
méthodes approchées puissantes et générales, appelées méta-heuristique qui
constituent des mécanismes très généreux qui peuvent être adaptés pour trai-
ter plusieurs problèmes diérents.
a. Recuit simulé
Le recuit simulé [11] est parmi les méthodes les plus anciennes et populaires.
Il a acquis son succès essentiellement grâce à des résultats pratiques obtenus.
10
Tel que est le cas des applications présentées dans [29].
n
n
n
Algorithme 1: Algorithme de Metropolis
11
de recuit simulé est résumé par l'algorithme 2.
Données : mécanismes de perturbation d'une conguration
Résultat : Une conguration S
initialiser la température T;
tant que La condition d'arrê n'est pas atteinte faire
tant que L'équilibre n'est pas atteint faire
Tirer une nouvelle conguration S';
Appliquer l'algorithme de Metropolis;
si f (S 0 ) < f (S) alors
Smin =S';
fmin =f(S');
n
n
Décroître la température
n
Algorithme 2: Algorithme de recuit simulé
b. Recherche Tabou
La recherche Tabou[7] est une méta-heuristique introduite pour guider
des heuristiques d'optimisation locale, an de pouvoir explorer l'espace de
recherche, sans être piégée par les optimums locaux. Cette technique d'optimi-
sation est très proche du recuit simulé, dans le sens où elle cherche également
la conguration suivante dans un voisinage autour de la conguration cou-
rante. An de ne pas rester bloqué dans un minimum local, le recuit simulé
accepte de façon probabiliste des congurations accroissantes temporairement.
La recherche Tabou procède de même, mais de manière déterministe en pre-
nant comme nouvelle conguration celle qui a le coût le plus faible dans le
voisinage de la conguration courante. Celle-ci peut éventuellement être moins
bonne que la conguration courante. Comme toutes les méthodes de répara-
tion, il s'agit de partir d'une conguration initiale et de procéder à une série
de mouvements d'une solution S à une autre solution S' appartenant au V(S)
choisie de la manière citée précédemment. Cette stratégie présente l'inconvé-
12
nient de pouvoir se bloquer dans des cycles en revenant sur des congurations
déjà rencontrées. C'est pourquoi, on contraint la recherche en classant certains
mouvements (le passage d'une conguration à une autre) comme tabous dans
une liste tabou de longueur n ainsi, on interdit tout mouvement (un mouve-
ment (X,val) est le changement de la valeur d'une seule variable qui mène à
une solution voisine) qui conduit à une solution déjà choisie et éviter tous les
cycles de longueur inférieure ou égale à n.
13
Résultat : Une conguration S
Initialiser une liste tabou vide;
tant que le critère d'arrêt n'est pas atteint faire
Perturbation de S suivant N mouvements non tabous;
Évaluation des N voisins;
Sélection du meilleur voisin t;
Actualisation de la meilleure position connue S∗ ;
Insertion du mouvement t→ S dans la liste tabou;
n
Algorithme 3: Algorithme de Recherche Tabou
Fig. 1.1 Détermination du plus court chemin par une colonie de fourmis.
14
traces laissées par les fourmis précédentes. L'algorithme 4 présente un résumé
sur l'algorithme de colonie de fourmis appliqué pour un problème d'aectation
général.
d. Algorithmes génétiques
Il existe plusieurs versions de l'algorithme génétique dans la littérature [4]
[9] [10] [28]. L'algorithme génétique consiste essentiellement de faire évoluer
une population d'individus qui représentent des solutions potentielles au pro-
blème traité vers une nouvelle population en utilisant une sorte de sélection
naturelle et en appliquant ensuite les opérateurs de reproduction. Au cours de
chaque génération, les structures de la population courantes sont classées selon
15
leur ecacité et une nouvelle population sera créée en utilisant des opérateurs
génétiques tels que le croisement et la mutation.
1.2.1 Présentation
L'optimisation par essaims particulaires (OEP) ou (PSO (Particule Swarm
Optimization) en anglais)[19] est une métaheuristique d'optimisation, inven-
tée par Russel Eberhart (ingénieur en électricité) et James Kennedy (socio
16
psychologue) en 1995.
17
d'échanger les meilleures solutions trouvées. Ces particules sont appelées
les informatrices.
3. Chaque particule, à chaque instant, doit aussi choisir la meilleure parmi
les meilleures performances qu'elle connaisse (soit ces propres perfor-
mances soit les performances des informatrices), elle modie sa vitesse
en fonction de ce choix et se déplace par conséquent.
Pour le choix des informatrices, il y a plusieurs approches. Mais l'approche la
plus utilisée c'est que les informatrices sont xées dès le début de la manière
suivante (cf. Figure 1.2).
18
conance.
La tendance aventureuse : La particule continue à se déplacer avec la
vitesse actuelle.
La tendance conservatrice : La particule revienne sur ces pas (vers les
meilleures positions déjà trouvées) pour cette tendance il peut y avoir
un terme de hasard qui favorise l'exploration de l'espace de recherche.
La tendance sociale : La particule suit l'informatrice qui a la meilleure
position.
Pour réaliser son prochain mouvement, chaque particule combine trois ten-
dances : suivre sa propre vitesse, revenir vers sa meilleure performance et aller
vers la meilleure informatrice. La gure 1.3 illustre la stratégie de déplacement
d'une particule.
1.2.3 Formalisation
L'OEP peut être formalisée par, la dimension de l'espace de recherche D.
La position courante d'une particule dans cet espace à l' instant (t) est donnée
par le vecteur X(t). La vitesse courante est V(t). La meilleure position trouvée
19
localement est notée par Pl (t). La meilleure position donnée par les informa-
trices est donnée par Pg (t). Le nieme élément de vecteur X(t) est noté xn (t).
Les équations de mouvement d'une particule pour chaque dimension d sont :
Pour une bonne convergence, les valeurs d'α et β ne doivent pas être choisies
indépendamment. En pratique, ces deux variables peuvent être calculées par
une formule.
Supposons, par simplicité, que l'espace de recherche soit [xmin , xmax ].Alors,
ce mécanisme stipule que si une coordonnée xd , calculée selon les équations de
mouvement, sort de l'intervalle [xmin , xmax ], on lui attribue en fait la valeur du
point frontière le plus proche. De plus, on complète souvent le mécanisme de
connement par une modication de la vitesse.
L'algorithme PSO est initialisé par une population des solutions potentielles
aléatoires, interprétées comme des particules se déplaçants dans l'espace de re-
cherche. Chaque particule est attirée vers sa meilleure position découverte par
le passé ainsi que vers la meilleure position découverte par les particules de son
voisinage (ou de tout l'essaim, dans la version globale de l'algorithme). L'algo-
rithme d'optimisation par essaims particulaires est résumé par l'algorithme 6.
20
Initialisation aléatoire des positions de chaque particule;
tant que le critère d'arrêt n'est pas atteint faire
pour chaque particule i faire
pour i = 1 à N faire
Déplacement de la particule selon les formules (a) et (b) ;
Évaluation des positions;
→
si f (Xi ) < f (p→i ) alors
→ →
pi =Xi ;
n
→
si f (p→i ) < f ( g ) alors
→ →
pi = g ;
n
n
n
n
Algorithme 6: Algorithme d'optimisation par essaim particulaire (ba-
sique)
21
cette heuristique se démarque des autres méthodes évolutionnaires (typique-
ment les algorithmes génétiques) sur deux points essentiels : elle met l'accent
sur la coopération plutôt que sur la compétition et il n'y a pas de sélection (au
moins dans les versions de base), l'idée étant qu'une particule même actuelle-
ment médiocre mérite d'être conservée, car c'est peut-être justement elle qui
permettra le succès futur, précisément du fait qu'elle sort des sentiers battus.
1.3.1 Présentation
L'intelligence articielle IA est reconnue comme étant une discipline infor-
matique qui a pour objectif de modéliser ou de simuler des comportements
humains dits intelligents tels que la perception, la prise de décision, la com-
préhension, l'apprentissage, etc.
22
est partagée entre plusieurs entités ou chacune d'entre elles étant responsables
d'une tâche bien déterminée et possède une vue limitée du problème. La résolu-
tion d'un problème est donc le fruit d'une interaction entre entités relativement
autonomes et indépendantes appelé agent. En résumé, l'IAD s'intéresse entre
autres à la modélisation des comportements intelligents qui sont le produit de
l'activité coopérative entre plusieurs agents d'où la réalisation des systèmes
dits " multi-agents ".
1.3.2 Dénitions
1.3.2.1 Agent
23
des buts individuels ou d'une fonction de satisfaction. La exibilité signie :
réactivité (rapidité d'agir), pro-activité (agir à une situation avec une prise
d'initiative et pouvoir prendre en charge une tâche qui aura intérêt après sans
être guidé), et capacités sociales (savoir interagir avec les autres).
Un agent doit être placé dans un environnement. Ce dernier est une com-
posante principale qui inue le comportement de l'agent puisqu'un agent fait
la perception de son environnement et réagit selon cette perception.
24
Fig. 1.4 Dénition d'un système multi-agents[23].
Les agents réactifs sont considérés comme des agents simples qui sont li-
mités a leur perception dans l'environnement et leur comportement. Ce type
d'agent n'est pas capable de décider ni de raisonner(cf. Figure 1.5).
25
1.3.3.2 Agent cognitif
Conclusion
Dans ce chapitre, nous avons dressé l'état de l'art du formalisme CSP par
quelque dénition, exemples des extensions et méthodes de résolution. Puis
nous avons donné une revue sur l'algorithme des essaims particulaires. Enn,
nous avons également donné un aperçu sur les systèmes multi-agents.
26
Chapitre 2
Introduction
27
que le CSP comporte n variables et chaque variable peut être assignée par une
seule valeur de son domaine. Chaque contrainte peut inclure de 1 à n variables.
28
Fig. 2.2 Le changement de la position d'une particule à travers la vitesse Vi .
29
Fig. 2.3 Exemple sur la notion de Template.
L'agent interface génère une population des particules d'une manière aléa-
toire. Cette population initiale est partitionnée selon une spécicité. L'agent
interface crée autant d'agents espèce que le nombre des spécicités distinctes
des particules générées aléatoirement. Ensuite, il aecte à chaque agent espèce
une sous population. Puis il lui demande de commencer le processus d'optimi-
sation.
30
agent espèces initialise les Templates puis il exécute l'algorithme PSO sur la
sous-population attribuée par l'agent Interface au début.
Après avoir créé un nouvel agent espèce, l'agent interface informe tous les
autres agents espèces sur sont existence.
31
pèces et leur spécicité).
32
Fig. 2.4 Un exemple d'un bassin d'attraction.
33
2.1.7 Le détecteur des optimums locaux et l'opérateur
de pénalisation
An de garantir que les particules ne restent pas dans des parties de l'es-
pace de recherches qui ne contiennent que des optimums locaux et évités la
stagnation de la population pendant plusieurs générations. L'approche utilise
le détecteur des optimums locaux LOD (Local Optimum Detector) qui re-
présente le nombre des générations dans lesquelles le voisinage ne donne pas
d'amélioration. Si la meilleure solution trouvée par cet agent reste inchangée
pendant LOD génération on peut conclure que les particules gérer sont blo-
quées dans un optimum local. En conséquence, la meilleure particule ayant
cette valeur de tness sera pénalisée, c'est-à-dire que le compteur de pénalité,
qui lui est relié, sera incrémenté de 1.
CPi = CPi + 1.
34
(a) V (t) = w ∗ V (t − 1) + α ∗ (Plbest − Xid ) + β ∗ (Pgbest − Xid )
(b) Xid = Xid + V (t)
Les valeurs d'α et β sont calculés en utilisons les Templates des vecteurs
positions selon la formule suivante :
(a) α = templatelbest /(templatelbest + templategbest + 1).
(b) β = templategbest /(templatelbest + templategbest + 1).
Avec ces formules, les paramètres α et β garantissent que les particules
poursuivent les meilleures particules.
2. Sinon, la position de la particule va être changée aléatoirement (pour
diversier la recherche) par la formule suivante.
Xid = random ∗ Xid .
Après avoir calculé la nouvelle position de la particule courante, le processus
calcule la valeur de tness augmentée de cette position qui est denie par :
P
g(ps) = f (ps) + λ ∗ i (CPi ∗ Ii (ps))
35
Initialiser les connaissances locales;
tant que Le nombre maximal des génération n'est pas atteint faire
pour Chaque particule j de la sous population faire
FVj ←Calcule de la valeur de tness augmenté(Particulej );
n
si F Vj meilleure que Best-FV alors
Best-FV← FVj ;
Best-Particule←Particulej ;
n
si FVj ∈/ rangei alors
si Existe-agent(EspèceF V ) alors
Envoyer
Msg(Espècei ,EspèceF V ,take-into-account(particulej ));
sinon
Envoyer Msg(Espècei ,Interface,create-agent(particulej ));
n
n
n
si best-FV=Last-FV alors
Stat-counter←stat-counter+1;
sinon
Last-FV=best-FV ;
n
si Stat-counter=LODi alors
Last-stat-FV←Last-FV;
Pénaliser(Best-Particule);
CalculeOperateurLOD();
Stat-counter←1;
n
Algorithme 8: Comportement de l'espècei
36
2.2 Conception
37
Fig. 2.6 Digramme de cas d'utilisation.
38
2. Gestion des agents espèces : permet de gérer les diérents agents
espèces crés (ajout, suppression,...).
3. Gestion des messages : permet l'envoi et la réception des messages
entre les diérents agents pour coordonner leurs comportements.
4. Appliquer D3 GPSO (Distributed Dynamic Double Guided Par-
ticul Swarm Optimization) : ce cas d'utilisation est composé des plu-
sieurs autres cas et il permet d'appliquer le processus d'optimisation.
39
2.2.4 Diagramme de séquences
Dans cette partie, nous présentons les diagrammes des séquences qui per-
mettent de représenter les interactions entre les diérents objets selon un point
de vue temporel.
40
Fig. 2.9 Diagramme de séquence " l'exécution de processus d'optimisation
D3 GPSO"
Conclusion
41
Chapitre 3
Réalisation et expérimentations
Introduction
42
Environnement de développement et d'exécution : MadKit(Multi agents
developpement KIT ).
Logiciel de modalisation AUML :OpenTool.
Outil de documentation et rapport : Compilateur Latex avec l'éditeur
TecXnicCenter.
L'organisation AGR (cf. Figure 3.1) propose que le système doive être com-
posé de :
Agent : qui est une entité informatique qui envoie et reçoit des messages,
qui peuvent entrer et sortir des groupes et qui joue des rôles dans ces
groupes. Cette entité est autonome et communicante.
Groupe : qui est constitué des rôles et regroupe des agents qui ont soit un
aspect en commun par exemple des agents qui possèdent le même langage
de communication, soit un ensemble d'agents qui travaillent ensemble,
qui collaborent à une même activité (des agents qui essayent de résoudre
un problème).
Rôle : qui correspond soit à un statut d'un agent, soit à une fonction
particulière qu'un agent joue dans un groupe. Les rôles sont locaux aux
groupes et n'ont de sens qu'à l'intérieur d'un groupe. Un rôle ne peut
pas être à cheval sur deux groupes.
43
Fig. 3.1 le Modèle de MadKit.
44
Aussi MadKit est écrit en Java et fonctionne en mode distribué de manière
transparente à partir d'une architecture "peer to peer" sans nécessiter de ser-
veur dédié. Il est ainsi possible de faire communiquer des agents à distance
sans avoir à se préoccuper des problèmes de communication qui sont gérés par
la plateforme.
45
3.3 Expérimentations et illustration
46
un message (ApplyBehaviour) pour que l'agent espèces commence l'exécution
de l'algorithme d'optimisation proposé. A la n de l'exécution, chaque agent
espèce doit envoyer dans un message une copie de la meilleure particule(cf Fi-
gure 3.4).
L'achage renferme :
1. L'agent Interface :
2. L'agent Espèce :
(a) La meilleure solution trouvée par sa sous-population des particules.
(b) Le nombre des contraintes violées par la solution local.
47
3.3.2 Mode expérimentale
Le but des expérimentations est de comparer l'approche proposée à l'ap-
proche centralisée proposée par Hu et Eberhart [24] et l'algorithme génétique
proposé par Kozeil et al [3].
48
Fonction n Type du fonction ρ LI NE NI
G1 13 quadratique 0.0111% 9 0 0
G2 k non linéaire 99.84874 % 0 0 2
G3 k polynomial 0.0000% 0 1 0
G4 5 quadratique 52.1230% 0 0 6
G5 4 cubique 0.0000% 2 3 0
G6 2 cubique 0.0066% 0 0 2
G7 10 quadratique 0.0003% 3 0 5
G8 2 non linéaire 0.8560% 0 0 2
G9 7 polynomial 0.5121% 0 0 4
G10 8 linéaire 0.0010% 3 0 3
G11 2 quadratique 0.0000% 0 1 0
Les performances de l'approche sont dégagées par les deux mesures sui-
vantes :
Temps d'exécution : temps CPU nécessaire pour résoudre une instance
du problème.
La solution trouvée.
La première mesure montre la complexité, et la deuxième la qualité. La com-
paraison des approches sera eectuée que pour la qualité de la solution parce
que Hu et Eberhart dans [24] n'ont présenté que les solutions obtenues sans les
temps d'exécution qui présente le point de faiblesse de l'approche centralisée.
Puisqu'à chaque génération les particules doivent être obligatoirement initiali-
sées dans des espaces faisables (si n'existe pas un espace faisable, le processus
se bloque).
3.3.3 Résultats
Pour une meilleure évaluation du performance de l'approche, nous avons
exécuté l'algorithme 12 fois pour chaque cas de test.
49
La moyenne des valeurs de tness sont calculées pour chaque cas. Les ré-
sultats sont illustrés dans le tableau si dessous.
* Tous les résultats trouvés par D3 GPSO pour ce cas violent trois contraintes.
Tab. 3.2 Comparaison entre les moyennes des valeurs de tness obtenu pour
les onze problèmes.
Le tableau 3.2 donne les résultats trouvés pour les onze problèmes de test.
Il faut noter que l'algorithme a pu trouver des solutions intéressantes avec un
temps d'exécutions réduit (comparé avec les approches de la littérature) pour
tous les cas à l'exception du cas G5 et à cause de la dureté des contraintes, l'ap-
proche a pu trouver que des solutions qui violent trois contraintes. Par contre,
les autres approches n'ont pas reporté aucune solution (même des solutions qui
violent quelques contraintes) pour le problème G5 (Puisqu'à l'initialisation des
particules doivent être obligatoirement initialisées dans des espaces faisables).
50
Fig. 3.5 Temps d'exécutions moyen pour les onze problèmes.
en se basent sur les résultats déjà trouvés dans le tableau 3.2 et pour avoir
des comparaisons claires et rapides des performances des diérentes approches,
nous calculons les ratios des performances des deux algorithmes à comparer en
utilisant la valeur de tness trouvée comme suit :
Du point de vue valeur de tness nous remarquons que les résultats obtenus
sont égale ou très proche de l'optimum à l'exception de problème G5 à cause
du taille réduite de l'espace faisable (0 ,0000%) et la dureté des contraintes.
51
Fig. 3.6 Ratio de tness avec les optimums connus.
Fig. 3.7 Ratio de tness avec les résultats trouvés par PSO et AG20000 .
52
permet pas d'obtenir des solutions proches de l'optimale avec sa version globale
en utilisant un grand nombre d'itération (20000 itération). Ce qui concerne l'al-
gorithme génétique il permet d'atteindre des résultats proches de l'optimum,
mais avec un temps d'exécution énorme et un nombre d'itérations important
(20000 itérations). Pour le cas G5 ni la version centralisée (PSO) ni l'algorithme
génétique arrivent à trouver une solution à cause du dureté des contraintes.
Mais pour tous les cas où les autres approches n'arrivent pas à des solutions,
l'approche proposée arrive à garantir des solutions qui ne violent que quelques
contraintes. Ces solutions présentent un apport considérable et peuvent être
très utiles dans des problèmes réels.
3.4 Chronogramme
53
Conclusion
54
Conclusion générale et
perspectives
Nous avons commencé le travail par une étude bibliographique, qui nous
a permis de nous nous situons par rapport à la littérature. En deuxième lieu
nous avons donné un aperçu sur l'approche proposée et une conception de l'ap-
55
plication à développer. Enn, nous avons expérimenté et validé l'application à
une version centralisée de PSO et l'algorithme génétique.
56
Bibliographie
57
[8] F. GLOVER et M. LAGUNA, Tabou Search, Kluwer Academic Publishers,
1997.
[9] J. H. HOLLAND, Adaptation in natural and articial systems, The Uni-
versity of Michigan Press, Ann Arbor, 1975.
[10] J. H. HOLLAND, Adaptation in natural and articial systems, An intro-
ductory analsis with applications to biology, control, and articial intelli-
gence, MIT Press/Bradford Books, 1992.
[11] S. KIRKPATRICK, C. D. GELATT et P. M. VECCHI, Optimization by
simulated annealing, Science, pages 671-680, 1983.
[12] V. KUMAR, Depth-rst search, Articial Intelligence, pages 1004-1005,
USA, 1987.
[13] V. KUMAR et Y. J. LIN, A data-dependency-based intelligent backtra-
cking scheme for prolog, Logic Programming, pages 165-181, 1988.
[14] E. L. LAWLER et D. E. WOOD, Partial constraint satisfaction, Procee-
dings of the 9th International Joint Conference on Articial Intelligence,
21-70, (1992).
[15] E. L. LAWLER et D. E WOOD, Branch and Bound methods, Operations
Research, 699-719, (1996).
[16] N. METROPOLIS, A. W. ROSENBLUTH, A. H. TELLER et E. TEL-
LER, Simulated Annealing, J. Chem, pys. 21, 1953.
[17] C. H. PAPADIMITRIOU ET K. STEIGLITZ , Combinatorial optimiza-
tion : Algorithms and complexity, Prentice Hall, 1982.
[18] P. PROSSER, MAC- CBJ, Maintaining arc consistancy with conict-
directed backjumping , Technical Report 95/177, Departement of Com-
puter Science, Université de Strathclyde, Scotland, 1995.
[19] AURICE CLERC et PATRICK SIARRY, Une nouvelle métaheuristique
pour l'optimisation dicile : la method des essaims particulaires, 2003.
[20] R. STALLMAN et G. J. SUSSMAN, Forward reasoning and dependency-
directed backtracking, Articial Intelligence, pages 135-196, 1977.
58
[21] E. P. K TSANG, Foundation of constraint satisfaction ; Academic press,
London, 1993.
[22] T. SHIEX, H. Fargier et G. Verfaillie, Valued Constrait satisfaction pro-
blems : hard and easy problems , In : proc. Of the 14th IJCAI, Montréal
Canada, 1995.
[23] J. FERBER. Les systèmes multi-agents, vers une intelligence collective.
InterEditions, 1995.
[24] HU X. et EBERHART R., Solving Constrained Nonlinear Optimization
Problems with Particle Swarm Optimization,6th World Multiconference on
Systemics, Cybernetics and Informatics (SCI'02), 2002, Orlando,Florida,
USA.
[25] M. BRUYNOOGHE et L. M. PEREIRA, Deduction revision by intelligent
backtracking, Implementations of Prolog, Page 194-215, 1984.
[26] A. SARI, C. ESPANET et D. HISSEL, Optimisation par essaims particu-
laires appliquée à la co-conception du circuit d'air d'une pile à combustible,
présentation detravaux, Laboratoire de recherche en Electronique, Electro-
technique et Systèmes (2ES),2007.
[27] N. E COLLINS, R. W. EGLESE et B. L. GOLDEN, Simulated annealing,
an annotated bibliography, Mathematical and Management Sciences, pages
209-307, 1988.
[28] D. E. GOLDBERG, Genetic algorithms in search, Optimization, and ma-
chine learning, Addison-Wesley, ISA, 1989.
[29] E. BONOMI et J. L. LUTTON, the N-city travelling salesman problem,
Statistical Mechanics and the Metroplis Algorithm, SIAM Review, pages
551-568, 1984.
59
Annexe A
Cette annexe donne une description sur les 11 problèmes de test utlisé pour
évaluer la performance de l'application. c'est fonction sont données par Koziel et
al[3]
Minimiser
P4 2
P13
G1(x) = 5x1 + 5x2 + 5x3 + 5x4 − 5 i=1 xi − i=5 xi .
Les Contraintes :
2x1 +2x2 +x10 +x11 ≤ 10, 2x1 +2x3 +x10 +x12 ≤ 10, 2x2 +2x3 +x11 +x12 ≤ 10,
− 8x1 + x10 ≤ 0, −8x2 + x1 1 ≤ 0, −8x3 + x1 2 ≤ 0,
− 2x4 − x5 + x10 ≤ 0, −2x6 − x7 + x11 ≤ 0, −2x8 − x9 + x1 2 ≤ 0
Les bornes 0 ≤ xi ≤ 1, i = 1; ...; 9, 0 ≤ xi ≤ 100, i = 10; 11; 12, 0 ≤ x13 ≤ 1.
G1 est une fonction quadratique son minimum global x = (1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1)ou
G1(x) = −15
Maximiser
P
n cos4 (xi )−2 Qn cos2 (xi )
G2(x) = i=1 √Pn 2 i=1
i=1 xi
Les Contraintes :
Qn Pn
i=1 xi ≥ 0.75, i=1 xi ≤ 7.5n
Les bornes 0 ≤ xi ≤ 10 ; 0 ≤ i ≤ n
G2 est une fonction nonlinear et a un maximum global connue G2(x) = 0.8036 pour
n=10.
i
Maximiser
√ n Q
G3(x) = ( n ). ni=1 xi avec
Pn 2
i=1 xi = 1; 0 ≤ xi ≤ 1; 1 ≤ i ≤ n La fonction G3
a une solution globale (x1 , ..., xn ) = ( √1n , ..., √1n ) de valeur 1.
Minimiser
Minimiser
G5(x) = 3x1 + 0.000001x31 + 2x2 + 0.000002/3x32
avec
x4 − x3 + 0.55 ≥ 0,
x3 − x4 + 0.55 ≥ 0
1000 sin(−x3 − 0.25) + 1000 sin(−x4 − 0.25) + 894.8 − x1 = 0,
1000 sin(x3 − 0.25) + 1000 sin(x3 − x4 − 0.25) + 894.8 = 0,
1000 sin(x4 − 0.25) + 1000 sin(x4 − x3 − 0.25) + 1294.8 = 0
0 ≤ xi ≤ 1200; i = 1, 2 et −0.55 ≤ xi ≤ 0.55, i = 3, 4.
La solution connue est :
x = (679.9453, 1026.067, 0.1188764, −0.3962336) avec G5(x) = 5126.4981.
Minimiser
G6(x) = (x1 − 10)3 + (x2 − 20)3 ,
avec
(x1 − 5)2 + (x2 − 5)2 − 100 ≥ 0,
− (x1 − 6)2 − (x2 − 5)2 + 82.81 ≥ 0,
ii
13 ≤ x1 ≤ 100 et 0 ≤ x2 ≤ 100.
la solution connue est x = (14.095, 0.84296) et G6(x) = −6961.81381.
Minimiser
G7(x) = x21 + x22 + x1 x2 + 14x1 + 16x2 + (x3 + 10)2 + 4(x4 + 5)2 + (x5 + 3)2 +
2(x6 + 1)2 + 5x27 + 7(x8 − 11)2 + 2(x9 − 10)2 + (x1 0 − 7)2 + 45,
avec
105 − 4x1 − 5x2 + 3x7 − 9x8 ≥ 0,
− 3(x1 − 2)2 − 4(x2 − 3)2 − 2x32 + 7x4 + 120 ≥ 0,
− 10x1 + 8x2 + 17x7 − 2x8 ≥ 0,
− x21 − 2(x2 − 2)2 + 2x1 x2 − 14x5 + 6x6 ≥ 0,
8x1 − 2x2 − 5x9 + 2x10 + 12 ≥ 0,
− 5x21 − 8x2 − (x3 − 6)2 + 2x4 + 40 ≥ 0,
3x1 − 6x2 − 12(x9 − 8)2 + 7x10 ≥ 0,
− 0.5(x1 − 8)2 − 2(x2 − 4)2 − 3x25 + x6 + 30 ≥ 0, −10.0 ≤ xi ≤ 10.0; i = 1, ..., 10.
la fonction G7 est une fonction quadratique avec un minimum global
x = (2.171996, 2.363683, 8.773926, 5.095984, 0.9906548, 1.430574, 1.430574
, 1.321644, 9.828726, 8.280092, 8.375927)
G7(x) = 24.3062091
Maximiser
sin3 (3πx1 ). sin(2πx2 )
G8(x) = x31 .(x1 +x2 )
,
avec
x21 − x2 + 1 ≤ 0, 1 − x1 + (x2 − 4)2 ≥ 0
0 ≤ x1 ≤ 10 et 0 ≤ x2 ≤ 10.
pour la solution optimale, la fonction G8(x) = 0.1
Minimiser
G9(x) = (x1 −10)2 +5(x2 −12)2 +x43 +3(x4 −11)2 +10x65 +7x26 +x47 +4x6 x7 −10x6 −8x7
avec
127 − 2x21 − 3x42 − x3 − 4x24 − 5x5 ≥ 0,
iii
282 − 7x1 − 3x2 − 10x23 − 10x23 − x4 + x5 ≥ 0
196 − 23x1 − x22 − 6x26 + 8x7 ≤ 0
− 4x21 − x22 + 3x1 x2 − 2x23 − 5x6 + 11x7 ≥ 0
et
−10 ≤ xi ≤ 10; i = 1, ..., 7.
la fonction G9 est une fonction non linéaire son optimum global est
x = (2.330499, 1.951372, −0.4775414, 4.365726, −06244870, 1.038131, 1.594227)
Minimiser
iv