Differential Evolution#

Background: https://en.wikipedia.org/wiki/Differential_evolution

In the below descriptions the different DE choices vary on a few different parameters.

initialization

The algorithm/distribution used for the initialization phase. Either,

  • ‘LHS’ : Latin Hypercube Sampling

  • ‘QR’ : Quasi-Random

  • ‘gaussian’ : Normal Distribution

(default = ‘gaussian’)

scale

The scale of random component of the updates

Either,

  • ‘mini’ : 1 / sqrt(dimension)

  • 1 : no change

(default = 1)

crossover

The crossover rate value / strategy used during DE. Either,

  • ‘dimension’ : crossover rate of 1 / dimension

  • ‘random’ : different random (uniform) crossover rate at each iteration

  • ‘onepoint’ : one point crossover

  • ‘twopoints’ : two points crossover

(default = .5)

popsize

The size of the population to use. Either,

  • ‘standard’ : max(num_workers, 30)

  • ‘dimension’ : max(num_workers, 30, dimension +1)

  • ‘large’ : max(num_workers, 30, 7 * dimension)

Note: dimension refers to the dimensions of the hyper-parameters being searched over. ‘standard’ by default.s

(default = ‘standard’)

recommendation

Choice of the criterion for the best point to recommend. Either,

  • ‘optimistic’ : best

  • ‘noisy’ : add noise to choice of best

(default = ‘optimistic’)

‘DE’#

Defaults Only

‘OnePointDE’#

crossover: 'onepoint'

‘TwoPointsDE’#

crossover: 'twopoint'

‘LhsDE’#

initialization: 'LHS'

‘QrDE’#

initialization: 'QE'

‘MiniDE’#

scale: 'mini'

‘MiniLhsDE’#

initialization: 'LHS'
scale: 'mini'

‘MiniQrDE’#

initialization: 'QE'
scale: 'mini'

‘NoisyDE’#

recommendation: 'noisy'

‘AlmostRotationInvariantDE’#

crossover: .9

‘AlmostRotationInvariantDEAndBigPop’#

crossover: .9
popsize: 'dimension'

‘RotationInvariantDE’#

crossover: 1
popsize: 'dimension'

‘BPRotationInvariantDE’#

crossover: 1
popsize: 'large'