analyse statique - réseau français de chimie théorique€¦ · méthode du simplexe ... ajuste...
Post on 14-Sep-2018
237 Views
Preview:
TRANSCRIPT
1
Surfaces d'énergie potentielle
Analyse statique
Aurélien Moncomble
Laboratoire de Spectrochimie Infrarouge et Raman (LASIR)UMR 8516 CNRS – Université de Lille
aurelien.moncomble@univ-lille1.fr
Label de Chimie Théorique Nord Île-de-FranceParis – 19 janvier 2016
2 http://www.normalesup.org/~amoncomble/surfaces-label2016.pdf
Cadre de l'étude
● Approximation de Born-Oppenheimer
▪ coordonnées nucléaires, 3N coordonnées
▪ algorithmes utilisables dans d'autres contextes
● Description d'une surface d'énergie potentielle
▪ approche purement géométrique
▪ énergie calculée par une méthode arbitraire
● Pas un cours de mathématiques ou d'informatique
▪ hypothèse de fonctions qui se comportent « bien » (C2)
▪ certains aspects seulement effleurés (mémoire, complexité...)
3
Problématique
4
Points stationnaires : molécule diatomique
Cas d'une molécule diatomique : potentiel de Morse
V (r )=De (1−e−a (r−r e))2+ A
Présence d'un minimum
caractérisé par :
( d Vdr )
r e
=0
( d2Vdr2 )
r e
≥0
5
Points stationnaires : molécule diatomique
Cas d'une molécule diatomique : potentiel de Morse
V (r )=De (1−e−a (r−r e))2+ A
Étude du gradient
En un minimum, la dérivée s'annule
6
Points stationnaires : butane
Plus complexe : conformations du butane
Plusieurs types de points stationnaires
( d Rd θ )
θ stat
=0
Et en particulier plusieurs minima...
7
Points stationnaires : surface d'énergie potentielle
Surface arbitraire
Minimum : pareil qu'en 1D
État de transition : minimum dans toutes les directions sauf une
Points stationnaires d'ordre supérieur : non étudiés ici
Dérivée → Gradient
Dérivée seconde → Hessienne
8
Points stationnaires : surface d'énergie potentielle
Minimum dans deux directions
Maximum dans deux directions
Minimum et maximum
9
Points stationnaires : formalisme à N dimensions
Gradient
N dérivations d'ordre 1
→ vecteur à N coordonnées
chacun des termes est nul
en un point stationnaire
grad E=(d Edx1
d Edx2
⋮d Edx N
)
Hessienne
N×N dérivations d'ordre 2
→ matrice de rang N
diagonalisation et étude des
valeurs propres
Hess E=(d2 Edx1
2
d2 Edx1 dx2
⋯d2 E
dx1 dxN
d2 Edx2dx1
d2 E
dx22 ⋯
d2 Edx2 dx N
⋮ ⋮ ⋱ ⋮
d2 Edx N dx1
d2 Edx N dx2
⋯d2 E
dxN2
)
10
Points stationnaires : formalisme à N dimensions
valeurs proprespositives
2 valeurs propres négatives ou
plus
1 unique valeur propre négative
11
Minima : mathématiquement
Pour un minimum x0 :
X est le domaine de recherche
En ce point, sous réserve de « bon comportement » :
CN de minimalité :
Ce n'est pas une condition suffisante
CS : ajouter que : est définie positive
∀ x∈ X ,E (x0)⩽E(x )
∇ E(x0)=0
∇2 E(x0)
12
Algorithmes sans utilisation des dérivées
Méthode de bissection à une dimension : seule la valeur de la fonction est utilisée
Figure tirée du cours en ligne de S. Charnoz et A. Daerr, Algorithmes de minimisation
1 - On encadre très grossièrement :
points 1, 2 et 3 tels que f(x1), f(x2) > f(x3)
2 - On prend un point 4 entre 2 (le plus haut) et 3 :
Si f(3) > f(4), 3 est remplacé par 4Sinon et que f(2) > f(4), 2 est remplacé par 4
3 - On itère
Extension : méthode du simplexe
13
Algorithmes sans utilisation des dérivées
Méthode du simplexe
Figure tirée du cours en ligne du MIT OpenCourseWareUnconstrained non linear optimization
1 - On encadre grossièrement dans un simplexe de N+1 sommets
2 - On numérote par ordre croissant :E(x
1) < E(x
2) < … < E(x
N+1)
3 - On réfléchit xN+1
par rapport au barycentre des autres points → x'
N+1
4 - Comparaison :Si E(x'
N+1) ≤ E(x
1) : on étend (×2) et on
conserve x''N+1
si E(x''N+1
) < E(x'N+1
)Si E(x'
N+1) ≥ E(x
N) : on contracte (/2) et
on conserve x''N+1
si E(x''N+1
) < E(x'N+1
)Si rien n'a changé :
Si E(x'N+1
) ≥ E(xN+1
) réduction du simplexe initial
Si E(x'N+1
) ≤ E(xN+1
) réduction du simplexe réfléchi
5 - Itération
14
Algorithmes sans utilisation des dérivées
Recherche univariée
Figure tirée de H. B. Schlegel, Adv. Chem. Phys. 1987, 67, 249-286
1 - On classe (arbitrairement) les coordonnées
2 - Pour une prise dans la liste, on fait deux pas dont on calcule les énergies, puis on ajuste par une parabole et on cherche le minimum
3 - On itère pour chacune des coordonnée en repartant du minimum précédent
Jusqu'à convergence, on peut repartir sur un cycle
15
Systèmes de coordonnées : un cas chimique
Rotation d'un méthyle
Équilibre conformationnel
16
Systèmes de coordonnées : problématique
Fonction de Rosenbrock (paramètre 10)
départminimum
17
Systèmes de coordonnées : éléments importants
● Coordonnées « chimiques » : internes, normales
● Éviter un trop grand couplage entre les coordonnées
● Limiter la redondance des coordonnées
● Adapter au problème, en particulier pour les états de transition
18
Utilisation de dérivées d'ordre supérieur
Utilisation des dérivées premières (et éventuellement secondes)
● Direction de descente
puis on fait un pas dans la direction d
● Région de confiance
résolution analytique du problème simplifié
⟨∇ E (x0)|d ⟩≤0
E( x0+Δ x )≈E simpl(x0+Δ x)
19
Utilisation de dérivées d'ordre supérieur
1 - on définit une direction de descente
choix de la direction ?
choix le plus simple : gradient
2 - on fait un pas dans cette direction
taille minimale et maximale ?
recherche linéaire
3 - on recommence si non convergé
d=−∇ (x0)
Trop grand pas : perte de corrélation, la suite d'itération perd de son intérêt
Trop petit pas : convergence très lente, fausse convergence
20
Utilisation de dérivées d'ordre supérieur : direction
En une dimension :
opposé de la dérivée
En N dimensions :
mêmes questions que sans dérivées
choix le plus simple : gradient
steepest descent
Assez efficace quand on est assez loin de la solution (premières étapes)
Risque d'oscillations autour de la solution
21
Utilisation de dérivées d'ordre supérieur : direction
Amélioration : prise en compte d'un effet « mémoire » : gradient conjugué
dk=−∇(x k)+βkdk −1
gradient au point étudié mémoire de la direction précédente
Ajout d'une dimension à chaque fois dans le meilleur des cas (fonction quadratique)
Dans ce cas, N étapes d'optimisation maximum
Une partie du problème est reportée dans la détermination de β :
(cas quadratique)βk=‖∇ (xk )‖
‖∇ (xk −1)‖
22
Utilisation de dérivées d'ordre supérieur : direction
Prise en compte de la dérivée seconde : algorithme de Newton
dk=−(∇2(xk ))
−1∇ (x k)
gradient au point étudiédérivée seconde prise en compte
(ou approximation de cette matrice)
Convergence plus rapide
Pas « naturel » adapté à une fonction quadratique
Possibilité de simplifier : quasi-Newton, Gauss-Newton
23
Utilisation de dérivées d'ordre supérieur : hessienne
Calcul de la hessienne assez lourd : difficile de le faire à chaque pas
Propriétés importantes : caractère symétrique (et défini positif)
Estimation : règles de Badger, calcul à un niveau de théorie plus bas
Mise à jour :
Équations tirées de H. B. Schlegel, Adv. Chem. Phys. 1987, 67, 249-286
24
Comparaison des directions de descente
Fonction de Rosenbrock
Gradient : 312-406 pas
Gradient conjugué : 25-30 pas(approximation quadratique)
10-17 pas
Newton : 7 pas
Quasi-Newton : 10-137 pas
Données tirées de la thèse de M. Bergmann
Départ : (-1 ; 1)
Arrivée : ~(1 ; 1)
25
Choix du pas
Recherche « exacte » :
Pas de Cauchy : minimum dans la direction choisie (pas optimal)
Pas de Curry : premier point stationnaire dans la direction choisie
26
Choix du pas
Recherche « approchée » :
Condition d'Armijo :
variante : α = τn
Condition de Goldstein :
E( xk+αk dk )≤ f ( xk)+ωαk ⟨∇ E (xk )|dk ⟩
E( xk+αk dk )≥ f ( xk)+ω2 αk ⟨∇ E (xk )|dk ⟩
27
Retour sur la comparaison des méthodes
Fonction de Rosenbrock
Gradient : 312-406 pas
Gradient conjugué : 25-30 pas(approximation quadratique)
10-17 pas
Newton : 7 pas
Quasi-Newton : 10-137 pas
Données tirées de la thèse de M. Bergmann
Départ : (-1 ; 1)
Arrivée : ~(1 ; 1)
28
Méthodes à région de confiance
On assimile la surface à une fonction quadratique, puis on minimise
Éléments pour calibrer : gradient et hessienne (ou approximation)
Acceptation si l'écart entre estimé et réel est assez faible
Sinon : diminution du rayon de confiance
29
Optimisation sous contrainte
Utilisation de multiplicateurs de Lagrange
On suppose que l'on veut imposer une contrainte : c(x) = 0
Alors en un minimum vérifiant la contrainte :
Ce qui conduit à définir le Lagrangien du système :
Que l'on minimise et qui vérifie en un minimum :
∇ E(x0)+c ' (x0)*λ0= 0
L(x )=E (x )+⟨λ|c (x )⟩
∇(x , λ)L (x0 ,λ0)=0
30
Recherche d'états de transition
Minimum dans N-1 directions
Maximum dans une direction
Nécessité de contraindre le déplacement sur une coordonnée
31
Linear/Quadratic Synchronous Transit
Interpolation linéaire
Figure tirée de H. B. Schlegel, Adv. Chem. Phys. 1987, 67, 249-286
Minimisation perpendiculaire
Interpolation quadratique
32
Méthode de la norme du gradient
33
Algorithmes avec dérivées secondes
Idée :
- minimisation dans N-1 dimensions
- maximisation dans 1 dimensions
Partitionnement de l'espace : diagonalisation de la hessienne
Problèmes :
- estimation de la hessienne
- rayon de convergence
- plusieurs valeurs propres négatives ?
34
Notion de chemin de réaction
Intrinsic reaction coordinate (IRC) :
Chemin suivi par une particule à vitesse « nulle »
Par incréments à partir d'un état de transition :
Problème :
Sauf si s est très petit, ça oscille beaucoup autour du vrai chemin réactionnel
x i+1=x i−s∇ E(x k)
|∇ E(x k)|
35
Corrections pour la recherche du chemin
Figure adaptée de H. B. Schlegel, Adv. Chem. Phys. 1987, 67, 249-286
On peut corriger en fonction de ce que l'on obtiendrait en minimisant dans une fois que l'on est arrivé de manière intermédiaire :
dk=∇ E( xk+1
*)
|∇ E( xk+1*
)|−
∇ E (xk )
|∇ E (xk )|
Chemin corrigé
Vrai IRC
Premier essai
36
Exploration plus globale d'une surface d'énergie
► Dynamique (hors du cadre de ce cours)
on ne se contente plus de regarder des points, mais on laisse desparticules se déplacer
► Monte-Carlo
utilisation d'aléas pour permettre une meilleure exploration dessurfaces
► Algorithmes génétiques
souvent utiliser pour minimiser, mais permet une analyse plusriche
37
Monte-Carlo
Algorithme de Métropolis
0 – choix d'une position arbitraire, évaluation de son énergie
1 – à partir de xi (énergie Ei), déplacement aléatoire
2 – évaluation de la nouvelle position xi* (énergie Ei*)
3 – comparaison
si Ei* < Ei, on garde xi*, on incrémente, retour en 1
si non, on tire un nombre aléatoire a entre 0 et 1 :
si a < exp((Ei-Ei*)/(kT)), on garde xi*, on incrémente
si non, on conserve xi
retour en 1
38
Algorithmes génétique
Départ d'une population (P) dont on code les positions
Puis :
- sélection pour prendre les plus adaptés
- croisement pour mélanger les gènes
- mutation aléatoire
- élitisme
Au bout d'un certain nombre de génération, la population s'améliore
Critère de sélection : l'énergie
39
Exemple d'algorithme génétique
Figures tirées de la thèse de M. Bergmann
top related