Algorithme de minimisation
Sébastien Charnoz & Adrian Daerr
Université Paris 7 Denis Diderot
CEA Saclay
De nombreux problèmes nécessitent de minimiser une fonction :
-Minimiser la distance (XHI2) entre des points de mesures et une courbe
- Trouver l’ état d’équilibre d’un système mécanique (Minimiser Epot)
- Trouver l’état d’équilibre d’un gaz, d’un mélange (Maximiser Entropie)
- Tous problèmes d’optimisation (minimiser le coût , certaine fonctions etc…)
Etc….
Tous ces problèmes entrent dans une grande catégorie : L’optimisation
Remarque : Maximiser F(x) = Minimiser –F(x)
Donc minimiser et maximiser sont en fait le même problème !
Une fois de plus, c’est un problème mal posé :
Il n’y a pas de méthode idéale.
Il est facile de trouver un minimum local.
Il est difficile trouver un minimum absolu
B,D,F sont des minimums locaux
D est le minimum absolu
Cette recherche est d’autant plus longue est difficile si la fonction dépend de plusieurs variables => minimisation en N dimensions
Certains problèmes sont dit : « contraints » quand on doit minimiser une fonction et en plus, respecter certaines conditions sur les variables:
Ex 1 : Réaction chimique à l’équilibre :
Pour trouver la composition à l’équilibre on doit minimiser le potentiel chimique du système MAIS on doit respecter le fait que la masse totale du système est conservée…
Ex 2 : Calculer la forme d’un récipient de surface minimale qui contient un volume fixé… (ex : boîtes de conserve)
Etc….
Il existe aussi des méthodes spécifiques pour ces cas.
La méthode classique de minisation est la descente de gradient :
On part d’un point X0 donné par l’utilisateur
On descend le long de la plus grande pente locale
C’est pourquoi la plus-part des algorithmes trouvent des minimums locaux et non le minimum absolu
Une grand partie du calcule numérique consiste à trouver la dérivée F’(x)
IMPORTANCE DE F’(X)
Soit F(x) à minimiser (x peut être un