• Aucun résultat trouvé

et l’ensemble des contraintes est défini à chaque étape par :

Ga≤1

L’ensemble des contraintes linéaires (figure4.5) converge vers l’ensemble

A∈IRn×n,σmax(A)≤1 , mais comme

les contraintes sont ajoutées itérativement, l’algorithme s’arrête dès qu’une solution stable est trouvée.

R

n×n

S

σ

S

λ b b

ˆ

A

A

b b

A

CG

FIGURE4.5 :Vue imagée des contraintes utilisées pour l’algorithme CG. Les différents ensembles sont définis

dans4.4. En rouge, les contraintes linéaires ajoutées itérativement. ACG représente la solution trouvée par

l’algorithme CG.

4.6 Approches proposées

Nous décrivons ci-après nos approches de solution en tentant d’aller au-delà des contraintes des stabilité

convexes employées par Lacy et Bernstein [LB02,LB03] et Siddiqui et al. [SBG08]. La première méthode

pro-posée est une généralisation de l’approche LB1 [LB02] alors que la deuxième méthode optimise directement le

problème4.21sous la contrainte non-convexeρ(A)≤1.

4.6.1 Contrainte convexe optimale sur la valeur singulière de A (méthodes LBopt)

Bien que l’algorithme de Siddiqi et al. obtienne de bons résultats sur les systèmes avec entrées, quelques

questions méritent d’être soulevées. Tout d’abord, il n’y a pas de résultats théoriques sur le nombre d’itérations

né-cessaires pour la convergence de l’algorithme [SBG08]. Cependant, cette convergence est garantie pour un nombre

fini d’itérations. De plus, malgré l’assouplissement des contraintes, la solution obtenue peut être éloignée de la

so-lution optimaleAqui minimiseJ1avecρ(A)≤1 (voir la figure4.5). Ceci nous a poussé à chercher un algorithme

capable de s’approcher plus finement de la véritable solution sur l’ensemble

A∈IRn×n,ρ(A)≤1 . Cette analyse

est basée sur l’utilisation de l’algorithme LB1, pour lequel les contraintes sont plus facilement interprétables. On

sait queIn−AA>0nassureσmax(A)≤1 et donc un système stable, mais cette contrainte est trop restrictive. Si

l’on considère ˆAla solution du problème non contraint (4.21) et si le système identifié est instable, on aρ(Aˆ)1

et doncσmax(Aˆ) =δLSavecδLS>1 car les valeurs propres de ˆArespectent l’inégalité

σmin(Aˆ)ρ(Aˆ)σmax(Aˆ)

Cependant, entre la solution optimale du problème non contraint ˆAet la solution stableALB1telle queσmax(ALB1)≤

1, il peut exister une meilleure solution. Cette solution doit être stable et respecteσmax(A) =δ avec 1δ <δLS.

Elle correspond à la relaxation de l’inégalité de Lyapunov avecP=Inetδ2I

n−AAT0n. La dernière condition

impliqueσmax(A)≤δ.

CHAPITRE 4. IDENTIFICATION DE REPRÉSENTATIONS D’ÉTAT STABLES 99

Entrées: ˆA, ˆB, ˆXt, ˆXt+1,Ut

Résultat:Aopt,Bopt

Initialiserδ ←σmax(Aˆ);

tant queρ(A)>1faire

résoudre

Xˆt+1[A B]hXˆ

t

U

t|t

i

2

F;

sous la contrainteδ2I

n−AA>0n;

δ ←δ−ε;

fin

ALBopt←A;

BLBopt←B;

Algorithme 1:Algorithme LBopt, extension de la méthode de Lacy et Bernstein [LB02]

Une manière de trouver la solution optimale stable est donc de trouver la valeur maximaleδtelle que le modèle

identifié soit stable. On peut remarquer queδ1<δ2implique{A∈IRn×n,σmax(A)<δ1} ⊂ {A∈IRn×n,σmax(A)<

δ2}. Ainsi en diminuant graduellementδ, on peut espérer trouver la valeur optimale deδ. Cependant, cette

solu-tion, nommée LBopt par la suite, nécessite de résoudre plusieurs fois le problème LB1 et est donc prohibitive en

terme de calcul. La précisionεest fixée pour décroître δ entre deux itérations. Le nombre d’itérations est donc

borné parN=δ

LS

−1

ε

. Cette extension de la méthode LB1 est présentée dans l’algorithme 1 et la figure 4.6

permet de visualiser le fonctionnement de cette méthode.

L’algorithme1est donc capable de trouver une solution en un nombre fini d’itérations (fixé par l’utilisateur)

entre la solution des moindres carrés (potentiellement instable) et la solution donnée par LB1. La proximité de la

solution avec le minimum local de (4.21) sous la contrainteρ(A)≤1 dépend de la valeur fixée pourε et de la

convexité locale de la fonctionρ(A)<1. La proximité sera bonne si le pas est faible (et donc le nombre d’itérations

important) et si l’ensemble

A,J1(A,B)≤J1(ALBopt,BLBopt) ∩

A,σmax(A)<δLBopt est convexe. Dans tous

les cas, à la fin de l’algorithme, la solution obtenue est au moins meilleure que la solution de LB1 (vis-à-vis du

coût de reconstruction).

R

n×n

S

σ

S

λ b b

ˆ

A

A

A

opt b

FIGURE4.6 :Vue imagée des contraintes utilisées pour l’algorithme LBopt. En bleu, plusieurs contraintes

convexes du typeσmax(A)<δutilisées successivement jusqu’à trouverAopt, solution de l’algorithme LBopt.

4.6.2 Gradient échantillonné (méthode GS)

La solution précédente peut être vue comme une heuristique pour trouver une solution stable qui minimise

(4.21). En effet, même si on raffine notre approximation de l’ensembleρ(A)≤1, l’algorithme d’optimisation peut

toujours trouver une solution très éloignée de la solution optimale. Ceci est renforcé par le fait que l’ensemble des

systèmes asymptotiquement stable est non seulement non-convexe mais également non-lisse. Toutefois, Burke et

al. [BLO05] ont proposé un algorithme robuste applicable pour l’optimisation non différentiable et non convexe.

100 4.6. APPROCHES PROPOSÉES

L’algorithme est fondé sur un gradient échantillonné et la seule nécessité est que le gradient de la fonction à

optimiser puisse être calculé localement. Les auteurs ont appliqué la méthode pour évaluer la distance de stabilité

des matrices ([BLO02]) pour les systèmes linéaires continus. Dans ce cas, la condition de stabilité est uniquement

liée à la partie réelle des valeurs propres, ce qui conduit à étudier maxiRe(λi).

Le problème d’identification d’une réalisation d’état d’un système discret stable sous contrainte de stabilité

s’écrit :

min

A,BJ1=

ˆXt+1−[A B]

Xˆt

Ut|t

2

F

s.c. ρ(A)≤1

Pour résoudre ce problème, on utilise la méthode d’Uzawa [AHU58]. On considère le lagrangienL défini par :

L(A,B,α) =J1(A,B) +α(ρ(A)−1)

avecα≥0 le paramètre de Lagrange.

Dans notre cas, le problème d’optimisation se résout en itérant les deux étapes :

h

Ak+1,Bk+1i=min

A,BL(Ak,Bkk)

αk+1=max0,αk+β(ρ(A)−1)

partant d’une solution initialeA0,B0etα0jusqu’à convergence. Dans la dernière équationβ>0 représente le pas

du gradient.

On remarque que pour toute matriceA, la matriceBoptimale peut être retrouvée directement par moindres

carrés puisqueB n’est pas concerné par la contrainte. Pour utiliser un algorithme de descente de gradient par

rapport àAsur la première équation de ce problème d’optimisation, on doit donc uniquement calculer :

∇AL(A,B,α) =∇AJ1(A,B) +α∇Aρ(A)

Les différents paramètres sont ensuite adaptés itérativement selon la règle :

At+1=At−η∇A`(At,Bt)

Bt+1=min

B J1(At+1,Bt)

oùη>0 est le pas du gradient et l’estimationBt+1est simplement obtenue par moindres carrés.

Le calcul de∇AJ1(A,B)est assez simple. En effet, on a à partir des formules 121 et 108 de [PP08] :

∂XkXk2F=

∂XtracehXX>i

∂Xtraceh(AXB+C)(AXB+C)>i=2A>(AXB+C)B>

et l’on obtient :

AJ1(A,B) = ∇AXˆt+1AXˆtBUt|t

2

F

= ∇Atraceh Xˆt+1−AXˆtBUt|t> Xˆt+1AXˆtBUt|ti

= −2 ˆX>t Xˆt+1AXˆtBUt|t

CHAPITRE 4. IDENTIFICATION DE REPRÉSENTATIONS D’ÉTAT STABLES 101

Pour calculer∇AL(A,B), on a besoin aussi de calculer le gradient deρ(A). Soitu1etv1les vecteurs propres

à droite et à gauche deA(sous la contrainteu>1v1=1). On peut montrer que ([RH85], Théorème 6.3.12]) siλ1est

une valeur propre simple réelle, ce gradient est défini par :

∇Aρ(A) =sign(λ1)u1v>1

Quand le rayon spectral est associé à une paire conjuguée de valeurs propres (λ1±iλ˜1), on doit considérer

séparément la partie réelle et la partie imaginaire des vecteurs propres (u1±iu˜1etv1±iv˜1). Comme les gradients

des valeurs propres sont conjugués, on peut écrire :

∇Aρ(A) =λ1(u1v>1+1>1)−λ˜1(u˜1v>1 −u1>1)

|λ1±iλ˜1|

Toutefois, comme la fonctionρ(A)est non convexe et non différentiable, il convient d’utiliser l’algorithme

du gradient échantillonné(algorithme2) pour le calcul du gradient du rayon spectral deA. Les détails sur la sous

procédure de recherche linéaire et la convergence de l’algorithme peuvent être trouvés dans [BLO05].

Entrées:A,ε,N,θ<1,tmax

Résultat:∇Aρ(A)

TirerN−1 matricesAjau voisinage deAcontrôlé par le rayon d’échantillonnageε

InitialiserG=

∇Aρ(Aj)

Calculer la direction de recherchedpar la minimisation quadratique convexed=argmingconvex(G)(kgk2)

sid=0alors

Décroitreε:ε←θ ε

Recommencer

sinon

Utiliser la recherche linéaire monodimensionnelle pour trouvert>0 tel queρ(Ak+td)<ρ(Ak)avec

0<t≤tmax

Aρ(A)←td

fin

Algorithme 2:Algorithme de gradient échantillonné

R

n×n

S

σ

S

λ b b

ˆ

A

A

b

A

GS

FIGURE4.7 :Vue imagée des contraintes utilisées pour l’algorithme GS. Chaque flèche représente une itération

de descente de gradient vers la solution finaleAGS