Chapitre 4
Identification des systèmes d'ordre non
entier à l'aide de l'optimisation par
essaim particulaire
La modélisation du comportement dynamiquedes
systèmesdans esquels se déroulent des phénomènes
physiques â caractère diffusif, par des modèlesutilisant
adérivation entière classique donne des modèles entier de
dimensiontrès élevée.Lutilisation dea dérivation
d'ordre non entier par contre, permet d'obtenirdesmodèlesn'utilisant que
très peu de paramètres grâce â lordre nonentier
Néanmoins, a richessentroduite par cet ordre de dérivation rendle
calcul fractionnairetrès complexe, c'este cas notamment de
l'identiification des systèmesEn effet, si pour les systèmes
entiers, e problème deanon linéarité due aux pôles
du modèlea été résolu par les
algorithmesd'identiification bien établis tels que l'algorithme de
Marquardt-Levenberg [0] et'algorithme de Levy33],63] l'ordre de
dérivation rend le problème plus complexe encore.Les
méthodes d'optimisation Heuristiques, telles que les algorithmes
génétiques 23], 29]ou 'optimisationpar essaims de particules
(OEP) [16], [33], sont d'un intérêt particulier pour
résoudre cegenrede problème puisqu'elles ne nécessitent
aucune information autreque a fonction optimiser elle-même. C'est dans ce
cadre que sinscrit le travailprésenté dans ce présent
chapitre. L'OEP est associée â l'algorithme didentiification
Vector Fitting" VF)22],22] pour
développer un nouvel algorithme didentificationdes
systèmes non entiersdansedomaine fréquentiel. Cet algorithme
fonctionnede manièrehiérarchisée dansun niveau
supérieur, en supposant connus les paramètres, lOEP permet
d'optimiser l'ordre non entier et dans un niveau inférieur, l'ordre non
entier étant connu, l'algorithme VectorFitting permet d'optimiser les
paramètres du modèle en utilisant la forme
pôlessrésidus.
Le chapitre est organisé comme suit
Le premier paragraphe est consacré à la
présentationde 'algorithme d'identiication des systèmes entiers
dans le domaine fréquentiel.Dans le deuxième paragraphe on
présente le principe de l'optimisation par essaim particulaire ainsi que
sesdééfinitions debase.La combinaison des deux algorithmes
permettant lidentiification des systèmesnon entiers dans le domaine
fréquentiel est développée dans le troisième
paragraphe.Les exemples numériques d'application sont également
présentés dans es paragraphes3, 4 et 5.
4.1 Algorithme d'Identification "Vector Fitting"
Etant donné un système G dont le comportement
fréquentiel est connu dans un intervalle de fréquences
donnéLe problème est didentiifier ce système parun
modèle pôle résidus de la forme :
G(s) =
|
Xn i=1
|
ri s - pi
|
+d+sh (4.1)
|
ri et pi sont respectivement les résidus et les
pôlesde G(s), d et h sont deux nombres réels h = 0 lorsque le
modèle doit être propre et d = 0 lorsqu'il doit être
strictement propre. n étant la dimension de G(s). L'objectif est
d'identifier ces paramètres en utilisant a méthode des moindres
carré même si le problème est non linéaireà
causedes pôles de G(s). L'algorithme "Vector Fitting" permet alorsde
résoudre ce problèmendirectement et itérativement
enintroduisant deux autres fonctions de transfert
? ?
?
|
H(s) = (ó(s)G(s)) Pn i=1 s-ãj + õ + s
æ
Qj
(4.2)
Àj
ó(s) Pn i=1 s-ãj + 1
|
lever le problème de non linéarité, on
suppose également quees pôlesãi, appelés les
pôles d'initialisation, sont connus au début de chaque
itération.
4.1.1 Identification des paramètres de H(s) et ó(s)
En substituant l'expression de ó(s) dans celle de H(s) on obtient :
Xn i=1
|
Qi s _ ãi
|
( Xn )
Ài
+ y + s æ _ G(s) = G(s) (4.3)
s _ ãi
i=1
|
Au début de chaque itération, Les pôles
ãi étant connus (égaux à ceux calculés dans
l'itération précédente)cette équation est
linéairevis à visdes coefficients%i, y, æ et Ài.
Elle peut donc être mise sous la formelinéaire
F =g (4.4)
Ainsi, pour plusieurs valeurs de s, notées sk, on aura
:
?
?????
?????
(4.5)
~ ~
1
Fk = sk-ã1 ... 1
sk-ãn 1 sk -1
sk-ã1 ... -1
sk-ãn
= [%1 ... Qn y æ À1 ...
Àn]T
h i
gk = G(sk)
Fk et gk sont les k`eme lignes de F et g respectivement. Le
vecteur ayant (2n+2) éléments, la résolution de
l'équation (4.5) nécessite ( 2n + 2) mesures. Il faut noter
également que la matrice F et le vecteur g sont complexes alors que le
vecteursolution doit être réel. L'équation (4.5) doit alors
être écrite sous a forme
" # " #
FR gR
= (4.6)
FC gC
FR et FC sont les parties réelles etimaginaires de la
matrice F. gR et gC sont les parties réelles et imaginaires du vecteur
g.
L'équation (4.6) devient ainsi une équation
linéaire dont es coefficients sont tous réels. Néanmoins,
sa résolution nécessite lutilisationde la pseudo nversion de
matrice puisque F n'est plus une matrice carrée. La solution est dans ce
cas donnée par :
= F +g (4.7)
4.1.2 Identification des pôles pi de G(s)
Les deux fonctions de transfert H(s) et ó(s) étant
déterminées, pour calculer les pôles pi de G(s), H(s) et
ó(s) doivent être écrites sous la forme
?
?
?
|
fln+1
%i i=1 (s--àzi)
H(s) = Lan fln
i=1 s--yi + V + s æ = i=1(s--yi)
fln (4.8)
Ài i=1(s--zi)
ó( s) = Lan i=1 s--yi + 1 = fln i=1(s--yi)
|
G(s) est alors donnée par
H(s)
G(s) = ó(s)
|
=
|
|
fIn+1
(ó(s)G(s))
ó(s) = fIn i=1 (s - àzi)
i=1(s - zi) (4.9)
|
Cette équation montre que les pôles de G(s) ne
sont autre que les zéros de ó(s) et que les pôles
d'initialisation ãi sont simplifiés lors de la division de H(s)
par ó(s). De plus, les zéros de ó(s) étant les
pôles de son transfert inverse 1/ó(s), au lieu de calculer les
zéros de ó(s), il est plus indiqué de calculer les
pôles de 1/ó(s) qui ne sont autre que les valeurs propres de la
matrice système du modèle détatcorrespondant.
Détermination du modèle d'état de
1/ó(s)
Le modèle d'état associé à
ó(s) peut être exprimé par
?
?
?
|
xÿ =Ax+Bu y=Cx+Du
|
(4.10)
|
A est une matrice diagonale dont les éléments
sont les pôles ãi de ó(s), B un vecteur colonne
unité, C est un vecteur ligne dont les élémentssont les
résidus de ó(s) et D = 1.
Pour déterminer le modèle d'état de
1/ó(s) à partir de celui de ó(s), il suffit que
l'entrée u(t) de ó(s) devienne la sortie de 1/ó(s) et que
la sortie y(t) de ó(s) devienne l'entrée de 1/ó(s). Ainsi,
à partir de l'équation de sortie du modèle détat de
ó(s) (y = Cx + Du), on a:
u = D--1 (y - Cx) (4.11)
En remplaçant cette expression dans léquation
dynamique et entenant comptedu fait que D = 1, on obtient :
Le modèle d'état de 1/ó(s) est finalement
donné par
|
xÿ = (A--BC)x+By u= --Cx+y
|
(4.13)
|
Ainsi, les pôles de G(s) sont les valeurs propres de la
matrice ( A -- B C).
Stabilité du modèle identifié
A la fin de chaque itération, silors du calcul des
nouveaux pôles de G(s), on trouve des pôles instables, ils doivent
être transformés en pôles stablesorsqu'on souhaitemposer un
modèle G(s) stable. Dans le cas des systèmes entiers, ceci peut
êtreobtenu en changeant le signe de la partie réelle des
pôles sans modifier eur dynamique.Danse cas des systèmes non
entiers commensurables, le changement designe de apartie réelle d'un
pôle dans le plan complexe sá (a étant l'ordre
commensurable compris entre 0 et 1) le rend en effet stable mais modifie
également sa dynamique.Eneffet, un pôle situé dans la
partie stable du demi plan droit du plan complexe donne une dynamique
oscillatoire alors que s'il est situé dansle demi plan gaucheil
donneraitunedynamique apériodique. Il est donc nécessaire de
maintenir le pôle dans la partie stabledudemiplan droitdu plan complexe.
La figure (4.1)illustre la manièrede procéder orsque es
pôles sont complexes. Dans le cas où les pôles sont
réelsil suffit de changerleurs signes comme danse cas entier.
Si on note les pôles instables par s1,2 instable et les
pôles stables par s1,2 stable respectivement, la relation qui exprimeles
pôles stables en fonctiondes pôlesnstables est donnée
par:
s1,2 stable = ñinstable e#177;
j(áð-?instable) (4.14)
En effet, le déplacement des pôles doit se faire
de sorte à mainteniremême module des pôles et l'argument des
pôles stables doit être symétrique par rapport à a
droite de pente að 2, de l'argument des pôles
instablesUn simple calcul géométrique permet alors de
déduire la relation (4.14)
FIGURE 4.1: Déplacement des pôles instables dans
le plan sa (0 < a < 1)
Identification des résidus de G(s)
Après avoir calculé les pôles de G(s), les
autres paramètres (les n résidus ri et les deux paramètres
d et h) sont calculés par une autre équationlinéairede la
forme F è = g définie par :
è = ~c1 ... cn d hIT
h i
gk = G(sk)
?
?????
?????
(4.15)
~
1
F k = sk-p1
]
1
... 1 sk
sk-pn
Les étapes principales de l'algorithme "Vector Fitting"
sont récapitulées danslorgaa nigramme de la figure (4.2)
Pour arrêter l'itération de lalgorithme,
deuxcritères ddarrêt sont utilisés. Le premier limite le
nombre maximal d'itérations, empéchant ainsi llalgorithme
d'itérerndéfiniment. Le deuxième critère
d'arrêt est le critère à minimiser constitué
parlerreur entrees valeurs des réponses fréquentielles produites
par e modèledentifié et cellesdonnéespar le
système. Il est donné par :
[ XNf
1 ~~~G(sk) - G*(sk) ~~~ 2] 1/2
J = (4.16)
Nf i=1
FIGURE 4.2: Organigramme del'algorithme "Vector Fitting"
G*(sk) étant les donnés du
systèmeG(sk) les données générées parle
modèle identifié et Nf est le nombre de de fréquences
utilisées.
4.2 Optimisation par Essaim Particulaire
L'optimisation par essaim particulaire (OEP), comme es
algorithmes génétiques, est une méthode d'optimisation
heuristique baséesur lasimulationducomportement collec tif des
êtres vivants tels que des oiseaux ou des poissons.Cette méthode
d'optimisation, inventé par l'électricien Ebenhart R.et le
socio-psychologue Kennedy .en 1995, [33] s'appuie nottament sur un
modèle développé par le biologiste ReynoldC.W72]
permettant de simuler le déplacement d'un groupe doiseaux. Cette
méthode se base sur a collaboraa tion des individus d'un même
essaim en essayant de maintenirconstante adistante qui les sépare afin
d'éviter de se chevaucher lorsquils changent de direction.
Cette technique est souvent décrite comme une
sorted'algorithme évolutionnaire avec une population d'individus (les
particules) dans laquelle, àchaque pasde temps, es "meilleurs" (selon un
critère prédéfini) sont plus au moins
mitésparesautres.Un autre aspect essentielle, propre à cette
technique, est l'existence d'une mémoire quedoit posséé
der chaque élément de l'essaim lui permettant de se souvenir de
sa meilleure performance et celle transmise par ses congénères.
De plus, Les individus de 'essaimtravaillent en collaboration (en
s'échangeant des informations) et non pas en compétition comme
dans les algorithmes génétiques par exemple.
4.2.1 Algorithme d'Optimization par Essaim Particulaire
Pour expliquer le principe de cet algorithme appliqué pour
résoudreun problème de minimisation ou de
maximisationconsidérons le problèmed'optimisation
min{f(xj)}, j = 1, 2, · · · , d (4.17)
La fonction fitness associée est
Espace de recherche
L'espace de recherche représente lespacede variationdes
paramètres(xi) à optimiser, il est délimité par les
valeurs minimales et maximales de ces paramètres.Le nombre de
paramètres à optimiser d constitue la dimension de l'espace de
recherche.
Particle
Une particule, également appelée
"élément de lassaim" représente une solution poo tentielle
au problème à optimiser (4.15) Elle est constituée parune
combinaison donnée des paramètres à optimiser (xi). Comme
la particule est ammenée à évoluerelle est
représentée, dans l'espace de recherche, par une position X(i,j).
(i = 1, 2, · · · , M et j = 1, 2, · · · , d. i
est le rang de la particule danslessaim et j le rang du paramètre x(j)
qui compose le i`eme individu. M est la taille de l'essaim et d la dimension de
l'espace de recherche.
A chaque paramètre x(j) est associée la vitesse
dévolution v(j). La vitesse d'évolution de la i`eme particule est
alors définie par V(i, j). La meilleure position déjà
occupée par la i`eme particule est représentée par
pbest(i) :
[ ]
pbest(i) = pbest(i, 1), pbest(i, 2) ...
pbest(i, d)(4.19)
pbest(i, j) étant la valeur du paramètre x(j)
correspondant à la meilleure position occupée par la i`eme
particule. On lui associe également la valeur de safiteness F
itpbest(i).
La meilleure position déjà occupée par la
meilleure particule de 'essaim est représenn tée par gbest :
[ ]
gbest = gbest(1) , gbest(2) ...
gbest(d)(4.20)
gbest(j) est la valeur du paramètre x(j) correspondant
à la meilleure position occupée par la meilleure particule de
l'essaimOn lui assicie aussi la valeur de safitnessFit gbest.
FIGURE 4.3: Principe général de l'évolution
dune particule
Principe de déplacement d'une particule
Les trois éléments fondamentaux pour calculer le
déplacement d'une particule, d'une position à l'autre, sont
décrites par la figure (4..3).
~ La particule se déplace selon sa vitesse propre(elle se
déplace selon sonntuition) (flèche 1).
~ Elle se déplace vers la meilleure position quelle a
déà occupée.On ditqu'elle a tendance à retourner
vers la position de sa meilleureperformance elle se déplace selon sa
propre expérience) (flèche 2).
~ Elle se déplace également versla position de
la meilleure performancedéjà trouvée par une autre
particule delessaim. (elle atendance a faireconfiance à 'information
transmise par les autres particules) (flèche 3).
Un coefficient de confiance est alors associé à
chacune de ces troisvitesses.Ainsi, a particule ne rejoint aucune des trois
positions précédentes mais sedéplace vers une nouu velle
position qui est la combinaisonlinéaire de ces trois positions.
La vitesse V(i,j) et la position X(i,j) de chaque
paramètre sont alors mises à our à chaque itération
par :
?
?
?
( ) ( )
V (i, j) = w V (i, j) + c1 rand1 pbest(i) - X(i, j) +
c2 rand2 gbest - X(i, j) X(i,j) = X(i,j) + V(i,j)
(4.21) Pour être plus précis, on devrait
représenter a vitesse eta position de chaqueparamètre à
l'itération k par respectivement V'
i,j et X' i,j et à l'itération k+1 par V'+1
i,j et X'+1
i,j , mais
on a préféré garderla notation usuellement
utilisée pour ne pas surchargeres variables.
- wmin
c1 et c2 sont deux constantes d'accélération,
elles caractérisent a capacité deapartii cule à chercher
dans un autre endroit de lespacederecherche oubienà affiner sa recherche
à l'endroit où elle se trouveEn général on
choisitc1 et c2 telles que c1 +c2 <4 [16]. rand1 et rand2 sont deux nombres
aléatoires compris entre 0 et 1. Les coefficients de confiance de la
particule en sa propre expérience et la confiance qu'elledonne
à'information transmise par les autres particules sont ainsi
générés aléatoirement à
chaquetération. La pondéé ration w change à chaque
itérationAu début de la recherche, on lui donne une valeur assez
grande pour accélérer la recherche avec des variationsde a
position assez grandes (recherche approximative) Ensuite, au fur et à
mesureque aparticules'approche dea meilleure solution de l'essaim, cette
pondération devient plus petite afin de permettre d'affiner la recherche
de la position optimale. On peut utiliser 'expression suivante pour
déterminer les valeurs de cette pondération16].
wmax
w(iter) = wmax - iter (4.22)
itermax
iter : est le rang de l'itération actuelle. itermax :
est le nombre maximum d'itération. wmax : est la valeur initiale de la
pondération, on la prend généralement égale
à 0.9. wmin : est la valeur finale de la pondération elle est
comprise entre 0.3 et 0.4 [16]. L'organigramme de la figure (4.4), montre les
étapes de lalgorithme d'optimisation par essaim particulaire.
Initialisation de l'essaim
FIGURE 4.4: Organigramme général dun OEP
gorithmes d'optimisationitératifsstochastiques.
Linitialisation dea position et dea vitesse de chaque paramètre de
chaque particuleest obtenue par
?
??
??
|
( )
X(i, j) = X(j)min + X(j)max -
X(j)minrand
( ) (4.23)
V (i, j) = V (j)min + V (j)max - V
(j)minrand
|
où : X(j)min et X(j)max sont les valeurs
limites du paramètre x(j). V(j)min = 0 et V(j)max = 1. rand est un
nombre aléatoire compris entre 0 et 1.
Confinement d'intervalle
Initialement, chaque particule a sa propre vitesse et sa
propre positionimitée dans l'espace de recherche. A
chaqueitération, toutes les particules changent eur vitesse ete
déplacent selon les équations (4.19) Certaines peuvent alors se
déplacerhors de'espace de recherche. Pour éviter ce
problème, on assigne à la particule sortantea valeur du point de
frontière le plus proche La vitesse de la particuleconcernée est
alors annulée pour l'empécher de se déplacer à la
prochaine itération.En général, Lorsquea solution
trouvée par l'algorithme se trouve sur la limitede 'espace de recherche,
cela signiie que quelques limites des paramètres ne sont pas correctes.
Le mécanisme de con~nnement des particules est donné par :
?
????
????
|
if X(i,j) > X(j)max = X(i,j) = X(j)max if X(i,j)
<X(j)min = X(i,j) = X(j)min V(i,j) = 0
|
(4.24)
|
4.3 Application à l'identification d'un système non
entier
Dans ce paragraphe, l'optimisation par essaim particulaire est
associée à 'algorithme d'identification "Vector Fitting" pour
développer un nouvel algorithme d'identification des systèmes non
entiers dansle domaine fréquentiel.
4.3.1 Principe de l'Algorithme
Le modèle non entier à identifier est donné
par
Gf rac(s) =
|
Xn i=1
|
ri sá - pi
|
+d+sáh. (4.25)
|
pour lequel il faut déterminer lordre non entier a ainsi
que les paramètres ri, pi, d et h. La dimension n du modèle
étant préalablement fixé
Le problème étant fortement nonlinéaire
àcause des pôesqui sont au dénominateur de la fonction de
transfert et de lordre nonentier qui esta puissance de'opérateur de
Laplace, pour le résoudre on propose de procéder comme suit.
~ Dans une première étape, on suppose connus les
paramètres du modèleri, pi, d et h), l'ordre non entier a est
déterminé en utilisant l'optimisation paressaim particulaire.
~ Dans une seconde étape, a étant
déterminé, à l'aide du changement de variable
p= sá (4.26)
le modèle non entier (4.25) devient entier ilest
donné par
Gent(p) =
|
Xn i=1
|
ri p - pi
|
+d+ph (4.27)
|
dont les paramètres sont déterminés en
utilisant l'algorithme "Vector Fitting"
L'algorithme d'identification global du modèle non
entier basculede a première à a seconde étape et vise et
versa itérativement usqu'àce que 'un desdeux critères
d'arrrt est vérifié. Le premier critère étant
lerreur quadratique entrees données générées pare
modèle et les mesures effectuées sur lesystème.Le
deuxième critère étant enombremaxii mal
d'itérations. L'organigramme de la figure (4.5) lluste e principe de cet
algorithme.
FIGURE 4.5: Algorithme hybride d'identification utilisant
simultanément VectorFitting" et l'Optimisation par Essaim de
Particules
4.4 Exemples numériques
4.4.1 Utilisation de l'algorithme "Vector Fitting" pour
l'approxii mation d'un dérivateur non entier
L'approximation du dérivateur non entier par un
modèle entier a fait'obbet de pluu sieurs travaux puisqu'il consitue
lélément principal dans lasimulation des systèmesnon
entiers. On utilise dans ce qui suit lalgorithme "Vector Fitting" pour proposer
une autre méthode d'approximation du dérivateur non entier
basée sur une technique d'identiicaa tion. Pour montrer
l'intérêt de cette méthode, on compare ses résultats
à ceux obtenus avec la méthode d'approximation CRONE. On
considèrepour ce faire, edérivateurs0.6 qui est
d'abord approximé àl'aide dun transfert rationnelde dimension n =
10 dans la bande de fréquences [10-5 10+5]. Les
paramètres d'un transfert entierdu même dimension sont ensuite
identifiés à partir des données
générées par edérivateurs0.6 dans la
même bande de fréquences.
FIGURE 4.6: Position des pôles et zéros des
modèles entiers qui approximent s0.6.
La figure (4.6) représente les pôles et
zéros des deuxtransferts rationnels.les axes0 dB sont
décalés pour mieux représenter la position des
pôleset zéros de chaque fonction de transfert entière). la
figure (4.7) illustrees diagrammes de Bode des deuxmodèles entiers qui
approximent le dérivateur s0.6.
Ces résultats montrent que les pôles et
zéros du modèle entier obtenus à 'aide de l'algorithme
"Vector Fitting" sont distribués de a même manière
récursive que ceux du modèle obtenu par la méthode CRONE
(figure 4.6) Cette courbe montreégalement que la bande de
fréquences de validité de lapproximation obtenue enutlisant
'algorithme "Vector Fitting" est pluslarge que celle utilisée par a
méthode CRONE.Commee montre la figure (4.7). Lapproximationde
s0.6 par l'algorithme "Vector Fitting" estdonc meilleure.
4.4.2 Identification d'un system non entier
FIGURE 4.7: Diagrammes de Bode des modèles entiers qui
approximent s0.6 dans la bande de fréquences [10_5
10+5] pour n = 10.
complexe.
10(s0.5 + 0.3)
Gfrac(s) = (s0.5 + 50)(s - s0.5 + 1)
(4.28)
Un vecteur contenant 500 valeurs des pulsations
logarithmiquementréparties dans a bande de fréquences
[10_6 10+6] a été
généré, pour chacune delle on calcule le module en dB et
la phase en radian de Gf rac(s).
Identification à partir des données exactes
Trois valeurs différentes de n ont été
choisies (n = 3, n = 5 et n = 8). La taille de l'essaim M est choisie
égale à 20. La dimension de l'espace de recherche étant
égal à 1, l'espace de recherche est délimité par
les valeurs 0 et 1. La valeur de l'itération maximale est égale
à 40.
Pour chacune des valeurs de n, l'algorithme trouve la bonne
valeur de a et les bonnes valeurs des paramètres. Lerreur quadratique de
a différence desmodules estégale à 3.36 10_6
dB.
FIGURE 4.8: Diagrammes de Bode du système (4.28) et de son
modèledentifié 4.29
4.4.3 Identification à partir des données
perturbées
Pour montrer la robustesse de lalgorithme d'identification, es
valeursdu module et de la phase générés par le
modèle non entier (4.28) ont été perturbées eneur
ajoutant des valeurs aléatoires comprises entre -30% et +30% de leurs
valeurs. Les résultats obtenus sont illustrés dans la figure
(4.8) lerreur quadratique est1, 12 10_2 dB, l'ordre non entier est a
= 0, 495 et le modèle identifié est donné par
àGfrac(s) = 0.186 (s0.495 +
0.378)(s0.495 + 0.148)
(s0.495 + 0.178)(s - 1.024 s0.5 + 1.001) (4.29)
Il faut noter que les pôles complexes, qui
caractérise e comportement dynamique du système sont correctement
identifiés, ce qui nest pasle casdespôles et éros entiers.
ela justifie la différence entre les diagrammes de Bode en hautes
fréquences.
|