Salome HOME
Updating version and copyright date information
[modules/adao.git] / doc / fr / ref_algorithm_ParticleSwarmOptimization.rst
1 ..
2    Copyright (C) 2008-2020 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: ParticleSwarmOptimization
25 .. _section_ref_algorithm_ParticleSwarmOptimization:
26
27 Algorithme de calcul "*ParticleSwarmOptimization*"
28 --------------------------------------------------
29
30 .. ------------------------------------ ..
31 .. include:: snippets/Header2Algo01.rst
32
33 Cet algorithme réalise une estimation de l'état d'un système par minimisation
34 d'une fonctionnelle d'écart :math:`J` en utilisant une méthode évolutionnaire
35 d'essaim particulaire. C'est une méthode qui n'utilise pas les dérivées de la
36 fonctionnelle d'écart. Elle entre dans la même catégorie que
37 l':ref:`section_ref_algorithm_DerivativeFreeOptimization`,
38 l':ref:`section_ref_algorithm_DifferentialEvolution` ou
39 l':ref:`section_ref_algorithm_TabuSearch`.
40
41 C'est une méthode d'optimisation permettant la recherche du minimum global d'une
42 fonctionnelle d'erreur :math:`J` quelconque de type :math:`L^1`, :math:`L^2` ou
43 :math:`L^{\infty}`, avec ou sans pondérations. La fonctionnelle d'erreur par
44 défaut est celle de moindres carrés pondérés augmentés, classiquement utilisée
45 en assimilation de données.
46
47 .. ------------------------------------ ..
48 .. include:: snippets/Header2Algo02.rst
49
50 .. include:: snippets/Background.rst
51
52 .. include:: snippets/BackgroundError.rst
53
54 .. include:: snippets/Observation.rst
55
56 .. include:: snippets/ObservationError.rst
57
58 .. include:: snippets/ObservationOperator.rst
59
60 .. ------------------------------------ ..
61 .. include:: snippets/Header2Algo03AdOp.rst
62
63 .. index:: single: NumberOfInsects
64 .. index:: single: SwarmVelocity
65 .. index:: single: GroupRecallRate
66 .. index:: single: QualityCriterion
67 .. index:: single: BoxBounds
68
69 .. include:: snippets/MaximumNumberOfSteps_50.rst
70
71 .. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
72
73 .. include:: snippets/QualityCriterion.rst
74
75 NumberOfInsects
76   Cette clé indique le nombre d'insectes ou de particules dans l'essaim. La
77   valeur par défaut est 100, qui est une valeur par défaut usuelle pour cet
78   algorithme.
79
80   Exemple :
81   ``{"NumberOfInsects":100}``
82
83 SwarmVelocity
84   Cette clé indique la part de la vitesse d'insecte qui est imposée par
85   l'essaim. C'est une valeur réelle positive. Le défaut est de 1.
86
87   Exemple :
88   ``{"SwarmVelocity":1.}``
89
90 GroupRecallRate
91   Cette clé indique le taux de rappel vers le meilleur insecte de l'essaim.
92   C'est une valeur réelle comprise entre 0 et 1. Le défaut est de 0.5.
93
94   Exemple :
95   ``{"GroupRecallRate":0.5}``
96
97 BoxBounds
98   Cette clé permet de définir des bornes supérieure et inférieure pour chaque
99   incrément de  variable d'état optimisée (et non pas chaque variable d'état
100   elle-même). Les bornes doivent être données par une liste de liste de paires
101   de bornes inférieure/supérieure pour chaque incrément de variable, avec une
102   valeur extrême chaque fois qu'il n'y a pas de borne (``None`` n'est pas une
103   valeur autorisée lorsqu'il n'y a pas de borne). Cette clé est requise et il
104   n'y a pas de valeurs par défaut.
105
106   Exemple :
107   ``{"BoxBounds":[[-0.5,0.5], [0.01,2.], [0.,1.e99], [-1.e99,1.e99]]}``
108
109 .. include:: snippets/SetSeed.rst
110
111 StoreSupplementaryCalculations
112   .. index:: single: StoreSupplementaryCalculations
113
114   Cette liste indique les noms des variables supplémentaires qui peuvent être
115   disponibles à la fin de l'algorithme, si elles sont initialement demandées par
116   l'utilisateur. Cela implique potentiellement des calculs ou du stockage
117   coûteux. La valeur par défaut est une liste vide, aucune de ces variables
118   n'étant calculée et stockée par défaut sauf les variables inconditionnelles.
119   Les noms possibles sont dans la liste suivante : [
120   "Analysis",
121   "BMA",
122   "CurrentState",
123   "CostFunctionJ",
124   "CostFunctionJb",
125   "CostFunctionJo",
126   "Innovation",
127   "OMA",
128   "OMB",
129   "SimulatedObservationAtBackground",
130   "SimulatedObservationAtCurrentState",
131   "SimulatedObservationAtOptimum",
132   ].
133
134   Exemple :
135   ``{"StoreSupplementaryCalculations":["BMA", "CurrentState"]}``
136
137 .. ------------------------------------ ..
138 .. include:: snippets/Header2Algo04.rst
139
140 .. include:: snippets/Analysis.rst
141
142 .. include:: snippets/CostFunctionJ.rst
143
144 .. include:: snippets/CostFunctionJb.rst
145
146 .. include:: snippets/CostFunctionJo.rst
147
148 .. ------------------------------------ ..
149 .. include:: snippets/Header2Algo05.rst
150
151 .. include:: snippets/Analysis.rst
152
153 .. include:: snippets/BMA.rst
154
155 .. include:: snippets/CurrentState.rst
156
157 .. include:: snippets/CostFunctionJ.rst
158
159 .. include:: snippets/CostFunctionJb.rst
160
161 .. include:: snippets/CostFunctionJo.rst
162
163 .. include:: snippets/Innovation.rst
164
165 .. include:: snippets/OMA.rst
166
167 .. include:: snippets/OMB.rst
168
169 .. include:: snippets/SimulatedObservationAtBackground.rst
170
171 .. include:: snippets/SimulatedObservationAtCurrentState.rst
172
173 .. include:: snippets/SimulatedObservationAtOptimum.rst
174
175 .. ------------------------------------ ..
176 .. include:: snippets/Header2Algo06.rst
177
178 - :ref:`section_ref_algorithm_DerivativeFreeOptimization`
179 - :ref:`section_ref_algorithm_DifferentialEvolution`
180 - :ref:`section_ref_algorithm_TabuSearch`
181
182 .. ------------------------------------ ..
183 .. include:: snippets/Header2Algo07.rst
184
185 - [WikipediaPSO]_