]> SALOME platform Git repositories - modules/adao.git/blob - doc/fr/ref_algorithm_NonLinearLeastSquares.rst
Salome HOME
Updating copyright date information (2)
[modules/adao.git] / doc / fr / ref_algorithm_NonLinearLeastSquares.rst
1 ..
2    Copyright (C) 2008-2019 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 .. index:: single: NonLinearLeastSquares
25 .. _section_ref_algorithm_NonLinearLeastSquares:
26
27 Algorithme de calcul "*NonLinearLeastSquares*"
28 ----------------------------------------------
29
30 Description
31 +++++++++++
32
33 Cet algorithme réalise une estimation d'état par minimisation variationnelle de
34 la fonctionnelle :math:`J` d'écart classique de "Moindres Carrés" pondérés:
35
36 .. math:: J(\mathbf{x})=(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
37
38 Il est similaire à l':ref:`section_ref_algorithm_3DVAR` privé de sa partie
39 ébauche. L'ébauche, requise dans l'interface, ne sert que de point initial pour
40 la minimisation variationnelle.
41
42 Dans tous les cas, il est recommandé de lui préférer
43 l':ref:`section_ref_algorithm_3DVAR` pour sa stabilité comme pour son
44 comportement lors de l'optimisation.
45
46 Commandes requises et optionnelles
47 ++++++++++++++++++++++++++++++++++
48
49 Les commandes requises générales, disponibles dans l'interface en édition, sont
50 les suivantes:
51
52   .. include:: snippets/Background.rst
53
54   .. include:: snippets/Observation.rst
55
56   .. include:: snippets/ObservationError.rst
57
58   .. include:: snippets/ObservationOperator.rst
59
60 Les commandes optionnelles générales, disponibles dans l'interface en édition,
61 sont indiquées dans la :ref:`section_ref_assimilation_keywords`. De plus, les
62 paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
63 options particulières, décrites ci-après, de l'algorithme. On se reportera à la
64 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
65 commande.
66
67 Les options de l'algorithme sont les suivantes:
68
69   Minimizer
70     .. index:: single: Minimizer
71
72     Cette clé permet de changer le minimiseur pour l'optimiseur. Le choix par
73     défaut est "LBFGSB", et les choix possibles sont "LBFGSB" (minimisation non
74     linéaire sous contraintes, voir [Byrd95]_, [Morales11]_ et [Zhu97]_), "TNC"
75     (minimisation non linéaire sous contraintes), "CG" (minimisation non
76     linéaire sans contraintes), "BFGS" (minimisation non linéaire sans
77     contraintes), "NCG" (minimisation de type gradient conjugué de Newton), "LM"
78     (minimisation non linéaire de type Levenberg-Marquard). Il est fortement
79     conseillé de conserver la valeur par défaut.
80
81     Exemple :
82     ``{"Minimizer":"LBFGSB"}``
83
84   .. include:: snippets/BoundsWithNone.rst
85
86   .. include:: snippets/MaximumNumberOfSteps.rst
87
88   .. include:: snippets/CostDecrementTolerance.rst
89
90   .. include:: snippets/ProjectedGradientTolerance.rst
91
92   .. include:: snippets/GradientNormTolerance.rst
93
94   StoreSupplementaryCalculations
95     .. index:: single: StoreSupplementaryCalculations
96
97     Cette liste indique les noms des variables supplémentaires qui peuvent être
98     disponibles à la fin de l'algorithme. Cela implique potentiellement des
99     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
100     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
101     possibles sont dans la liste suivante : ["BMA", "CostFunctionJ",
102     "CostFunctionJb", "CostFunctionJo", "CostFunctionJAtCurrentOptimum",
103     "CostFunctionJbAtCurrentOptimum", "CostFunctionJoAtCurrentOptimum",
104     "CurrentState", "CurrentOptimum", "IndexOfOptimum", "Innovation",
105     "InnovationAtCurrentState", "OMA", "OMB",
106     "SimulatedObservationAtBackground", "SimulatedObservationAtCurrentState",
107     "SimulatedObservationAtOptimum", "SimulatedObservationAtCurrentOptimum"].
108
109     Exemple :
110     ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}``
111
112 *Astuce pour cet algorithme :*
113
114     Comme la commande *"BackgroundError"* est requise pour TOUS les algorithmes
115     de calcul dans l'interface graphique, vous devez fournir une valeur, malgré
116     le fait que cette commande n'est pas requise pour cet algorithme, et ne
117     sera pas utilisée. La manière la plus simple est de donner "1" comme un
118     STRING.
119
120 Informations et variables disponibles à la fin de l'algorithme
121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
122
123 En sortie, après exécution de l'algorithme, on dispose d'informations et de
124 variables issues du calcul. La description des
125 :ref:`section_ref_output_variables` indique la manière de les obtenir par la
126 méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
127 d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
128 l'écriture des procédures de post-processing, sont décrites dans
129 l':ref:`subsection_r_o_v_Inventaire`.
130
131 Les sorties non conditionnelles de l'algorithme sont les suivantes:
132
133   .. include:: snippets/Analysis.rst
134
135   .. include:: snippets/CostFunctionJ.rst
136
137   .. include:: snippets/CostFunctionJb.rst
138
139   .. include:: snippets/CostFunctionJo.rst
140
141 Les sorties conditionnelles de l'algorithme sont les suivantes:
142
143   .. include:: snippets/BMA.rst
144
145   .. include:: snippets/CostFunctionJAtCurrentOptimum.rst
146
147   .. include:: snippets/CostFunctionJbAtCurrentOptimum.rst
148
149   .. include:: snippets/CostFunctionJoAtCurrentOptimum.rst
150
151   .. include:: snippets/CurrentOptimum.rst
152
153   .. include:: snippets/CurrentState.rst
154
155   .. include:: snippets/IndexOfOptimum.rst
156
157   .. include:: snippets/Innovation.rst
158
159   .. include:: snippets/InnovationAtCurrentState.rst
160
161   .. include:: snippets/OMA.rst
162
163   .. include:: snippets/OMB.rst
164
165   .. include:: snippets/SimulatedObservationAtBackground.rst
166
167   .. include:: snippets/SimulatedObservationAtCurrentOptimum.rst
168
169   .. include:: snippets/SimulatedObservationAtCurrentState.rst
170
171   .. include:: snippets/SimulatedObservationAtOptimum.rst
172
173 Voir aussi
174 ++++++++++
175
176 Références vers d'autres sections :
177   - :ref:`section_ref_algorithm_3DVAR`
178
179 Références bibliographiques :
180   - [Byrd95]_
181   - [Morales11]_
182   - [Zhu97]_