Salome HOME
Minor documentation corrections
[modules/adao.git] / doc / fr / theory.rst
1 ..
2    Copyright (C) 2008-2021 EDF R&D
3
4    This file is part of SALOME ADAO module.
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this library; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19
20    See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
23
24 .. _section_theory:
25
26 =================================================================================
27 **[DocT]** Une brève introduction à l'Assimilation de Données et à l'Optimisation
28 =================================================================================
29
30 .. index:: single: Data Assimilation
31 .. index:: single: assimilation de données
32 .. index:: single: état vrai
33 .. index:: single: observation
34 .. index:: single: a priori
35
36 L'**assimilation de données** est un cadre général bien établi pour le calcul de
37 l'estimation optimale de l'état réel d'un système, au cours du temps si
38 nécessaire. Il utilise les valeurs obtenues en combinant des observations et des
39 modèles *a priori*, incluant de plus des informations sur leurs erreurs.
40
41 En d'autres termes, l'assimilation de données est un moyen de fusionner les
42 données mesurées d'un système, qui sont les observations, avec des
43 connaissances physique et mathématique *a priori* du système, intégrées dans
44 les modèles numériques. L'objectif est d'obtenir la meilleure estimation possible
45 de l'état réel du système et de ses propriétés stochastiques. On note que cet
46 état réel (ou "*état vrai*") ne peut être atteint, mais peut seulement être
47 estimé. De plus, malgré le fait que les informations utilisées sont
48 stochastiques par nature, l'assimilation de données fournit des techniques
49 déterministes afin de réaliser l'estimation de manière très efficace.
50
51 Comme l'assimilation de données cherche l'estimation la **meilleure possible**,
52 la démarche technique sous-jacente intègre toujours de l'optimisation afin de
53 trouver cette estimation : des méthodes d'optimisation choisies sont toujours
54 intégrées dans les algorithmes d'assimilation de données. Par ailleurs, les
55 méthodes d'optimisation peuvent être vues dans ADAO comme un moyen d'étendre
56 les applications d'assimilation de données. Elles seront présentées de cette
57 façon dans la section pour `Approfondir l'estimation d'état par des méthodes
58 d'optimisation`_, mais elles sont beaucoup plus générales et peuvent être
59 utilisées sans les concepts d'assimilation de données.
60
61 Deux types principaux d'applications existent en assimilation de données, qui
62 sont couverts par le même formalisme : l'**identification de paramètres** et la
63 **reconstruction de champs**. Avant d'introduire la `Description simple du cadre
64 méthodologique de l'assimilation de données`_ dans une prochaine section, nous
65 décrivons brièvement ces deux types d'applications. A la fin de ce chapitre,
66 quelques références permettent d'`Approfondir le cadre méthodologique de
67 l'assimilation de données`_ et d'`Approfondir l'estimation d'état par des
68 méthodes d'optimisation`_.
69
70 Reconstruction de champs ou interpolation de données
71 ----------------------------------------------------
72
73 .. index:: single: reconstruction de champs
74 .. index:: single: interpolation de données
75 .. index:: single: interpolation de champs
76
77 La **reconstruction (ou l'interpolation) de champs** consiste à trouver, à
78 partir d'un nombre restreint de mesures réelles, le (ou les) champ(s)
79 physique(s) qui est (sont) le(s) plus *cohérent(s)* avec ces mesures.
80
81 La *cohérence* est à comprendre en termes d'interpolation, c'est-à-dire que le
82 champ que l'on cherche à reconstruire, en utilisant de l'assimilation de données
83 sur les mesures, doit s'adapter au mieux aux mesures, tout en restant contraint
84 par la simulation globale du champ. Le champ calculé est donc une estimation *a
85 priori* du champ que l'on cherche à identifier.
86
87 Si le système évolue dans le temps, la reconstruction doit être établie à chaque
88 pas de temps, du champ dans son ensemble. Le processus d'interpolation est dans
89 ce cas plus compliqué car il est temporel, et plus seulement en termes de
90 valeurs instantanées du champ.
91
92 Un exemple simple de reconstruction de champs provient de la météorologie, dans
93 laquelle on recherche les valeurs de variables comme la température ou la
94 pression en tout point du domaine spatial. On dispose de mesures instantanées de
95 ces quantités en certains points, mais aussi d'un historique de ces mesures. De
96 plus, ces variables sont contraintes par les équations d'évolution de
97 l'atmosphère, qui indiquent par exemple que la pression en un point ne peut pas
98 prendre une valeur quelconque indépendamment de la valeur au même point à un
99 temps précédent. On doit donc faire la reconstruction d'un champ en tout point
100 de l'espace, de manière "cohérente" avec les équations d'évolution et avec les
101 mesures aux précédents pas de temps.
102
103 Identification de paramètres, ajustement de modèles, calage
104 -----------------------------------------------------------
105
106 .. index:: single: identification de paramètres
107 .. index:: single: ajustement de paramètres
108 .. index:: single: ajustement de modèles
109 .. index:: single: recalage
110 .. index:: single: calage
111 .. index:: single: ébauche
112 .. index:: single: régularisation
113 .. index:: single: problèmes inverses
114
115 L'**identification (ou l'ajustement) de paramètres** par assimilation de
116 données est une forme de calage d'état qui utilise simultanément les mesures
117 physiques et une estimation *a priori* des paramètres (appelée l'"*ébauche*")
118 d'état que l'on cherche à identifier, ainsi qu'une caractérisation de leurs
119 erreurs. De ce point de vue, cette démarche utilise toutes les informations
120 disponibles sur le système physique, avec des hypothèses restrictives mais
121 réalistes sur les erreurs, pour trouver l'"*estimation optimale*" de l'état
122 vrai. On peut noter, en termes d'optimisation, que l'ébauche réalise la
123 "*régularisation*", au sens mathématique de Tikhonov [Tikhonov77]_
124 [WikipediaTI]_, du problème principal d'identification de paramètres. On peut
125 aussi désigner cette démarche comme une résolution de type "*problème
126 inverse*".
127
128 En pratique, les deux écarts (ou incréments) observés "*calculs-mesures*" et
129 "*calculs-ébauche*" sont combinés pour construire la correction de calage des
130 paramètres ou des conditions initiales. L'ajout de ces deux incréments requiert
131 une pondération relative, qui est choisie pour refléter la confiance que l'on
132 donne à chaque information utilisée. Cette confiance est représentée par la
133 covariance des erreurs sur l'ébauche et sur les observations. Ainsi l'aspect
134 stochastique des informations est essentiel pour construire une fonction
135 d'erreur pour le calage.
136
137 Un exemple simple d'identification de paramètres provient de tout type de
138 simulation physique impliquant un modèle paramétré. Par exemple, une simulation
139 de mécanique statique d'une poutre contrainte par des forces est décrite par les
140 paramètres de la poutre, comme un coefficient de Young, ou par l'intensité des
141 forces appliquées. Le problème d'estimation de paramètres consiste à chercher
142 par exemple la bonne valeur du coefficient de Young de telle manière à ce que la
143 simulation de la poutre corresponde aux mesures, en y incluant la connaissance
144 des erreurs.
145
146 Toutes les grandeurs représentant la description de la physique dans un modèle
147 sont susceptibles d'être calibrées dans une démarche d'assimilation de données,
148 que ce soient des paramètres de modèles, des conditions initiales ou des
149 conditions aux limites. Leur prise en compte simultanée est largement facilitée
150 par la démarche d'assimilation de données, permettant de traiter objectivement
151 un ensemble hétérogène d'informations à disposition.
152
153 Description simple du cadre méthodologique de l'assimilation de données
154 -----------------------------------------------------------------------
155
156 .. index:: single: ébauche
157 .. index:: single: covariances d'erreurs d'ébauche
158 .. index:: single: covariances d'erreurs d'observation
159 .. index:: single: covariances
160 .. index:: single: 3DVAR
161 .. index:: single: Blue
162
163 On peut décrire ces démarches de manière simple. Par défaut, toutes les
164 variables sont des vecteurs, puisqu'il y a plusieurs paramètres à ajuster, ou
165 un champ discrétisé à reconstruire.
166
167 Selon les notations standards en assimilation de données, on note
168 :math:`\mathbf{x}^a` les paramètres optimaux qui doivent être déterminés par
169 calage, :math:`\mathbf{y}^o` les observations (ou les mesures expérimentales)
170 auxquelles on doit comparer les sorties de simulation, :math:`\mathbf{x}^b`
171 l'ébauche (valeurs *a priori*, ou valeurs de régularisation) des paramètres
172 cherchés, :math:`\mathbf{x}^t` les paramètres inconnus idéaux qui donneraient
173 exactement les observations (en supposant que toutes les erreurs soient nulles
174 et que le modèle soit exact) en sortie.
175
176 Dans le cas le plus simple, qui est statique, les étapes de simulation et
177 d'observation peuvent être combinées en un unique opérateur d'observation noté
178 :math:`\mathcal{H}` (linéaire ou non-linéaire). Il transforme formellement les
179 paramètres :math:`\mathbf{x}` en entrée en résultats :math:`\mathbf{y}`, qui
180 peuvent être directement comparés aux observations :math:`\mathbf{y}^o` :
181
182 .. math:: \mathbf{y} = \mathcal{H}(\mathbf{x})
183
184 De plus, on utilise l'opérateur linéarisé (ou tangent) :math:`\mathbf{H}` pour
185 représenter l'effet de l'opérateur complet :math:`\mathcal{H}` autour d'un
186 point de linéarisation (et on omettra usuellement ensuite de mentionner
187 :math:`\mathcal{H}`, même si l'on peut le conserver, pour ne mentionner que
188 :math:`\mathbf{H}`). En réalité, on a déjà indiqué que la nature stochastique
189 des variables est essentielle, provenant du fait que le modèle, l'ébauche et
190 les observations sont tous incorrects. On introduit donc des erreurs
191 d'observations additives, sous la forme d'un vecteur aléatoire
192 :math:`\mathbf{\epsilon}^o` tel que :
193
194 .. math:: \mathbf{y}^o = \mathbf{H} \mathbf{x}^t + \mathbf{\epsilon}^o
195
196 Les erreurs représentées ici ne sont pas uniquement celles des observations, ce
197 sont aussi celles de la simulation. On peut toujours considérer que ces erreurs
198 sont de moyenne nulle. En notant :math:`E[.]` l'espérance mathématique
199 classique, on peut alors définir une matrice :math:`\mathbf{R}` des covariances
200 d'erreurs d'observation par l'expression :
201
202 .. math:: \mathbf{R} = E[\mathbf{\epsilon}^o.{\mathbf{\epsilon}^o}^T]
203
204 L'ébauche peut être écrite formellement comme une fonction de la valeur vraie,
205 en introduisant le vecteur d'erreurs :math:`\mathbf{\epsilon}^b` tel que :
206
207 .. math:: \mathbf{x}^b = \mathbf{x}^t + \mathbf{\epsilon}^b
208
209 Les erreurs d'ébauche :math:`\mathbf{\epsilon}^b` sont aussi supposées de
210 moyenne nulle, de la même manière que pour les observations. On définit la
211 matrice :math:`\mathbf{B}` des covariances d'erreurs d'ébauche par :
212
213 .. math:: \mathbf{B} = E[\mathbf{\epsilon}^b.{\mathbf{\epsilon}^b}^T]
214
215 L'estimation optimale des paramètres vrais :math:`\mathbf{x}^t`, étant donné
216 l'ébauche :math:`\mathbf{x}^b` et les observations :math:`\mathbf{y}^o`, est
217 ainsi "l'*analyse*" :math:`\mathbf{x}^a` et provient de la minimisation d'une
218 fonction d'erreur, explicite en assimilation variationnelle, ou d'une correction
219 de filtrage en assimilation par filtrage.
220
221 En **assimilation variationnelle**, dans un cas statique, on cherche
222 classiquement à minimiser la fonction :math:`J` suivante :
223
224 .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
225
226 :math:`J` est classiquement désignée comme la fonctionnelle "*3D-Var*" en
227 assimilation de données (voir par exemple [Talagrand97]_) ou comme la
228 fonctionnelle de régularisation de Tikhonov généralisée en optimisation (voir
229 par exemple [WikipediaTI]_). Comme les matrices de covariance :math:`\mathbf{B}`
230 et :math:`\mathbf{R}` sont proportionnelles aux variances d'erreurs, leur
231 présence dans les deux termes de la fonctionnelle :math:`J` permet effectivement
232 de pondérer les termes d'écarts par la confiance dans les erreurs d'ébauche ou
233 d'observations. Le vecteur :math:`\mathbf{x}` des paramètres réalisant le
234 minimum de cette fonction constitue ainsi l'analyse :math:`\mathbf{x}^a`. C'est
235 à ce niveau que l'on doit utiliser toute la panoplie des méthodes de
236 minimisation de fonctions connues par ailleurs en optimisation (voir aussi la
237 section `Approfondir l'estimation d'état par des méthodes d'optimisation`_).
238 Selon la taille du vecteur :math:`\mathbf{x}` des paramètres à identifier, et la
239 disponibilité du gradient ou de la hessienne de :math:`J`, il est judicieux
240 d'adapter la méthode d'optimisation choisie (gradient, Newton, quasi-Newton...).
241
242 En **assimilation par filtrage**, dans ce cas simple usuellement dénommé
243 "*BLUE*" (pour "*Best Linear Unbiased Estimator*"), l'analyse
244 :math:`\mathbf{x}^a` est donnée comme une correction de l'ébauche
245 :math:`\mathbf{x}^b` par un terme proportionnel à la différence entre les
246 observations :math:`\mathbf{y}^o` et les calculs :math:`\mathbf{H}\mathbf{x}^b` :
247
248 .. math:: \mathbf{x}^a = \mathbf{x}^b + \mathbf{K}(\mathbf{y}^o - \mathbf{H}\mathbf{x}^b)
249
250 où :math:`\mathbf{K}` est la matrice de gain de Kalman, qui s'exprime à l'aide
251 des matrices de covariance sous la forme suivante :
252
253 .. math:: \mathbf{K} = \mathbf{B}\mathbf{H}^T(\mathbf{H}\mathbf{B}\mathbf{H}^T+\mathbf{R})^{-1}
254
255 L'avantage du filtrage est le calcul explicite du gain, pour produire ensuite la
256 matrice *a posteriori* de covariance d'analyse.
257
258 Dans ce cas statique simple, on peut montrer, sous une hypothèse de
259 distributions gaussiennes d'erreurs (très peu restrictive en pratique) et de
260 linéarité de :math:`\mathcal{H}`, que les deux approches *variationnelle* et
261 *de filtrage* donnent la même solution.
262
263 On indique que ces méthodes de "*3D-Var*" et de "*BLUE*" peuvent être étendues
264 à des problèmes dynamiques, sous les noms respectifs de "*4D-Var*" et de
265 "*filtre de Kalman*". Elles doivent alors prendre en compte l'opérateur
266 d'évolution pour établir aux bons pas de temps une analyse de l'écart entre les
267 observations et les simulations et pour avoir, à chaque instant, la propagation
268 de l'ébauche à travers le modèle d'évolution. De la même manière, ces méthodes
269 peuvent aussi être utilisées dans le cas d'opérateurs d'observation ou
270 d'évolution non linéaires. Un grand nombre de variantes ont été développées
271 pour accroître la qualité numérique des méthodes ou pour prendre en compte des
272 contraintes informatiques comme la taille ou la durée des calculs.
273
274 Approfondir le cadre méthodologique de l'assimilation de données
275 ----------------------------------------------------------------
276
277 .. index:: single: ajustement de paramètres
278 .. index:: single: apprentissage
279 .. index:: single: calage
280 .. index:: single: calibration
281 .. index:: single: data-driven
282 .. index:: single: estimation bayésienne
283 .. index:: single: estimation d'état
284 .. index:: single: estimation de paramètres
285 .. index:: single: intelligence artificielle
286 .. index:: single: interpolation de champs
287 .. index:: single: interpolation optimale
288 .. index:: single: inversion
289 .. index:: single: lissage de données
290 .. index:: single: machine learning
291 .. index:: single: méta-heuristiques
292 .. index:: single: méthodes de régularisation
293 .. index:: single: optimisation quadratique
294 .. index:: single: optimisation variationnelle
295 .. index:: single: problèmes inverses
296 .. index:: single: recalage
297 .. index:: single: réduction de modèles
298 .. index:: single: régularisation mathématique
299
300 Pour obtenir de plus amples informations sur les techniques d'assimilation de
301 données, le lecteur peut consulter les documents introductifs comme
302 [Talagrand97]_ ou [Argaud09]_, des supports de formations ou de cours comme
303 [Bouttier99]_ et [Bocquet04]_ (ainsi que d'autres documents issus des
304 applications des géosciences), ou des documents généraux comme [Talagrand97]_,
305 [Tarantola87]_, [Asch16]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ et
306 [WikipediaDA]_.
307
308 On note que l'assimilation de données n'est pas limitée à la météorologie ou aux
309 géo-sciences, mais est largement utilisée dans d'autres domaines scientifiques.
310 Il y a de nombreux champs d'applications scientifiques et technologiques dans
311 lesquels l'utilisation efficace des données observées, mais incomplètes, est
312 cruciale.
313
314 Certains aspects de l'assimilation de données sont aussi connus sous d'autres
315 noms. Sans être exhaustif, on peut mentionner les noms de *calage* ou de
316 *recalage*, de *calibration*, d'*estimation d'état*, d'*estimation de
317 paramètres*, d'*ajustement de paramètres*, de *problèmes inverses* ou
318 d'*inversion*, d'*estimation bayésienne*, d'*interpolation de champs* ou
319 d'*interpolation optimale*, d'*optimisation variationnelle*, d'*optimisation
320 quadratique*, de *régularisation mathématique*, de *méta-heuristiques*
321 d'optimisation, de *réduction de modèles*, de *lissage de données*, de pilotage
322 des modèles par les données (« *data-driven* »), d’*apprentissage* de modèles
323 et de données (*Machine Learning* et Intelligence Artificielle), etc. Ces
324 termes peuvent être utilisés dans les recherches bibliographiques.
325
326 Approfondir l'estimation d'état par des méthodes d'optimisation
327 ---------------------------------------------------------------
328
329 .. index:: single: estimation d'état
330 .. index:: single: méthodes d'optimisation
331 .. index:: single: DerivativeFreeOptimization
332 .. index:: single: ParticleSwarmOptimization
333 .. index:: single: DifferentialEvolution
334 .. index:: single: QuantileRegression
335 .. index:: single: QualityCriterion
336
337 Comme vu précédemment, dans un cas de simulation statique, l'assimilation
338 variationnelle de données nécessite de minimiser la fonction objectif :math:`J`:
339
340 .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
341
342 qui est dénommée la fonctionnelle du "*3D-Var*". Elle peut être vue comme la
343 forme étendue d'une *minimisation moindres carrés*, obtenue en ajoutant un terme
344 de régularisation utilisant :math:`\mathbf{x}-\mathbf{x}^b`, et en pondérant les
345 différences par les deux matrices de covariances :math:`\mathbf{B}` et
346 :math:`\mathbf{R}`. La minimisation de la fonctionnelle :math:`J` conduit à la
347 *meilleure* estimation de l'état :math:`\mathbf{x}`. Pour obtenir plus
348 d'informations sur ces notions, on se reportera aux ouvrages généraux de
349 référence comme [Tarantola87]_.
350
351 Les possibilités d'extension de cette estimation d'état, en utilisant de manière
352 plus explicite des méthodes d'optimisation et leurs propriétés, peuvent être
353 imaginées de deux manières.
354
355 En premier lieu, les méthodes classiques d'optimisation impliquent l'usage de
356 méthodes de minimisation variées souvent basées sur un gradient. Elles sont
357 extrêmement efficaces pour rechercher un minimum local isolé. Mais elles
358 nécessitent que la fonctionnelle :math:`J` soit suffisamment régulière et
359 différentiable, et elles ne sont pas en mesure de saisir des propriétés
360 globales du problème de minimisation, comme par exemple : minimum global,
361 ensemble de solutions équivalentes dues à une sur-paramétrisation, multiples
362 minima locaux, etc. **Une démarche pour étendre les possibilités d'estimation
363 consiste donc à utiliser l'ensemble des méthodes d'optimisation existantes,
364 permettant la minimisation globale, diverses propriétés de robustesse de la
365 recherche, etc**. Il existe de nombreuses méthodes de minimisation, comme les
366 méthodes stochastiques, évolutionnaires, les heuristiques et méta-heuristiques
367 pour les problèmes à valeurs réelles, etc. Elles peuvent traiter des
368 fonctionnelles :math:`J` en partie irrégulières ou bruitées, peuvent
369 caractériser des minima locaux, etc. Les principaux désavantages de ces
370 méthodes sont un coût numérique souvent bien supérieur pour trouver les
371 estimations d'états, et fréquemment aucune garantie de convergence en temps
372 fini. Ici, on ne mentionne que quelques méthodes disponibles dans ADAO :
373
374 - l'*optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
375 - l'*optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
376 - l'*évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`),
377 - la *régression de quantile (Quantile Regression ou QR)* (voir :ref:`section_ref_algorithm_QuantileRegression`).
378
379 En second lieu, les méthodes d'optimisation cherchent usuellement à minimiser
380 des mesures quadratiques d'erreurs, car les propriétés naturelles de ces
381 fonctions objectifs sont bien adaptées à l'optimisation classique par gradient.
382 Mais d'autres mesures d'erreurs peuvent être mieux adaptées aux problèmes de
383 simulation de la physique réelle. Ainsi, **une autre manière d'étendre les
384 possibilités d'estimation consiste à utiliser d'autres mesures d'erreurs à
385 réduire**. Par exemple, on peut citer une *erreur en valeur absolue*, une
386 *erreur maximale*, etc. On donne précisément ci-dessous les cas les plus
387 classiques de mesures d'erreurs, en indiquant leur identifiant dans ADAO pour
388 la sélection éventuelle d'un critère de qualité :
389
390 - la fonction objectif pour la mesure d'erreur par moindres carrés pondérés et augmentés (qui est la fonctionnelle de base par défaut de tous les algorithmes en assimilation de données, souvent nommée la fonctionnelle du "*3D-Var*", et qui est connue pour les critères de qualité dans ADAO sous les noms de "*AugmentedWeightedLeastSquares*", "*AWLS*" ou "*DA*") est :
391
392     .. index:: single: AugmentedWeightedLeastSquares (QualityCriterion)
393     .. index:: single: AWLS (QualityCriterion)
394     .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
395
396 - la fonction objectif pour la mesure d'erreur par moindres carrés pondérés (qui est le carré de la norme pondérée :math:`L^2` de l'innovation, avec un coefficient :math:`1/2` pour être homogène à la précédente, et qui est connue pour les critères de qualité dans ADAO sous les noms de "*WeightedLeastSquares*" ou "*WLS*") est :
397
398     .. index:: single: WeightedLeastSquares (QualityCriterion)
399     .. index:: single: WLS (QualityCriterion)
400     .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
401
402 - la fonction objectif pour la mesure d'erreur par moindres carrés (qui est le carré de la norme :math:`L^2` de l'innovation, avec un coefficient :math:`1/2` pour être homogène aux précédentes, et qui est connue pour les critères de qualité dans ADAO sous les noms de "*LeastSquares*", "*LS*" ou "*L2*") est :
403
404     .. index:: single: LeastSquares (QualityCriterion)
405     .. index:: single: LS (QualityCriterion)
406     .. index:: single: L2 (QualityCriterion)
407     .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})=\frac{1}{2}||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^2}^2
408
409 - la fonction objectif pour la mesure d'erreur en valeur absolue (qui est la norme :math:`L^1` de l'innovation, et qui est connue pour les critères de qualité dans ADAO sous les noms de "*AbsoluteValue*" ou "*L1*") est :
410
411     .. index:: single: AbsoluteValue (QualityCriterion)
412     .. index:: single: L1 (QualityCriterion)
413     .. math:: J(\mathbf{x})=||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^1}
414
415 - la fonction objectif pour la mesure d'erreur maximale (qui est la norme :math:`L^{\infty}` de l'innovation, et qui est connue pour les critères de qualité dans ADAO sous les noms de "*MaximumError*" ou "*ME*") est :
416
417     .. index:: single: MaximumError (QualityCriterion)
418     .. index:: single: ME (QualityCriterion)
419     .. math:: J(\mathbf{x})=||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^{\infty}}
420
421 Ces mesures d'erreurs peuvent ne être pas différentiables comme pour les deux
422 dernières, mais certaines méthodes d'optimisation peuvent quand même les
423 traiter : heuristiques et méta-heuristiques pour les problèmes à valeurs
424 réelles, etc. Comme précédemment, les principaux désavantages de ces méthodes
425 sont un coût numérique souvent bien supérieur pour trouver les estimations
426 d'états, et pas de garantie de convergence en temps fini. Ici encore, on ne
427 mentionne que quelques méthodes qui sont disponibles dans ADAO :
428
429 - l'*optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
430 - l'*optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
431 - l'*évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`).
432
433 Le lecteur intéressé par le sujet de l'optimisation pourra utilement commencer
434 sa recherche grâce au point d'entrée [WikipediaMO]_.