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