Optimizer tests

This page shows benchmarks of optimizations done with ASE’s different optimizers. Note that the iteration number (steps) is not the same as the number of force evaluations. This is because some of the optimizers uses internal line searches or similar.

The most important performance characteristics of an optimizer is the total optimization time. Different optimizers may perform the same number of steps, but along a different path, so the time spent on calculation of energy/forces may be different due to different convergence of the self-consistent field.

Test systems

These are the test systems (systems.db):

test-name description
H2 Hydrogen molecule
Cu16 Shaken bulk copper
Cu2 Distorted Cu(111) surface
Au8CO CO on Au(111) surface
C5H12 Pentane molecule
Cu8C C/Cu(100)

EMT calculations

Calculation done with EMT. Number of steps:

optimizer H2 Cu16 Cu2 Au8CO Cu8C
GPMin 11 6 10 15 4
BFGSLineSearch 7 7 22 25 7
GoodOldQuasiNewton 12 10 18 28 10
SciPyFminBFGS 5 16 29 44 15
PreconLBFGS 11 16 57 43 18
BFGS 11 17 56 46 19
SciPyFminCG 11 18 35 68 18
LBFGSLineSearch 11 22 55 51 18
FIRE 30 40 64 52 31
MDMin   10 20 69 11
LBFGS   17 56 46 19
PreconFIRE 25       91

GPAW-LCAO calculations

Parameters:

GPAW(mode='lcao',
     basis='dzp',
     kpts={'density': 2.0})

Absolute time relative to fastest optimizer:

optimizer H2 Cu16 Cu2 Au8CO C5H12 Cu8C
GPMin 1.2 1.0 1.0 1.0 1.2 1.2
BFGSLineSearch 2.0 1.3 2.0 1.5 1.7 1.0
BFGS 1.7 3.3 4.4 1.7 1.0 3.0
GoodOldQuasiNewton 1.7 2.2 1.5   1.1 1.4
MDMin 1.2 1.4 1.8   2.9 1.4
FIRE 2.5 5.8 3.5   1.9 2.8
PreconLBFGS 1.8 2.4 4.2   1.2  
LBFGS   2.8 4.4   1.0 3.0
LBFGSLineSearch 1.8 2.6 4.9     3.3
SciPyFminBFGS 1.0 2.3       1.8
SciPyFminCG   2.6       1.9
PreconFIRE 7.3