C# Class SwarmOps.Optimizers.DESuite

Differential Evolution (DE) optimizer originally due to Storner and Price (1). This suite offers combinations of DE variants and various perturbation schemes for its behavioural parameters. Note that this has complicated the implementation somewhat.
References: (1) R. Storn and K. Price. Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization, 11:341-359, 1997.
Inheritance: Optimizer
ファイルを表示 Open project: DanWBR/dwsim3

Protected Properties

Property Type Description
_crossover DECrossover.Variant
_dither DitherVariant

Public Methods

Method Description
DESuite ( DECrossover crossover, DitherVariant dither ) : System.Diagnostics

Construct the object.

DESuite ( Problem problem, DECrossover crossover, DitherVariant dither ) : System.Diagnostics

Construct the object.

GetCR ( double parameters ) : double

Get parameter, CR, aka. crossover probability.

GetF ( double parameters ) : double

Get parameter, F, aka. differential weight.

GetFMid ( double parameters ) : double

Get parameter, FMid, aka. differential weight dithering midpoint.

GetFRange ( double parameters ) : double

Get parameter, FRange, aka. differential weight dithering range.

GetNumAgents ( double parameters ) : int

Get parameter, Number of agents, aka. population size.

Optimize ( double parameters ) : Result

Perform one optimization run and return the best found solution.

Protected Methods

Method Description
SetVariant ( DECrossover crossover, DitherVariant dither ) : void

Set DE operator variants to be used, and determine the number of behavioural parameters associated with that variant.

Method Details

DESuite() public method

Construct the object.
public DESuite ( DECrossover crossover, DitherVariant dither ) : System.Diagnostics
crossover DECrossover Crossover variant to be used.
dither DitherVariant Dither variant to be used.
return System.Diagnostics

DESuite() public method

Construct the object.
public DESuite ( Problem problem, DECrossover crossover, DitherVariant dither ) : System.Diagnostics
problem Problem Problem to optimize.
crossover DECrossover Crossover variant to be used.
dither DitherVariant Dither variant to be used.
return System.Diagnostics

GetCR() public method

Get parameter, CR, aka. crossover probability.
public GetCR ( double parameters ) : double
parameters double Optimizer parameters.
return double

GetF() public method

Get parameter, F, aka. differential weight.
public GetF ( double parameters ) : double
parameters double Optimizer parameters.
return double

GetFMid() public method

Get parameter, FMid, aka. differential weight dithering midpoint.
public GetFMid ( double parameters ) : double
parameters double Optimizer parameters.
return double

GetFRange() public method

Get parameter, FRange, aka. differential weight dithering range.
public GetFRange ( double parameters ) : double
parameters double Optimizer parameters.
return double

GetNumAgents() public method

Get parameter, Number of agents, aka. population size.
public GetNumAgents ( double parameters ) : int
parameters double Optimizer parameters.
return int

Optimize() public method

Perform one optimization run and return the best found solution.
public Optimize ( double parameters ) : Result
parameters double Control parameters for the optimizer.
return Result

SetVariant() protected method

Set DE operator variants to be used, and determine the number of behavioural parameters associated with that variant.
protected SetVariant ( DECrossover crossover, DitherVariant dither ) : void
crossover DECrossover Crossover variant to be used.
dither DitherVariant Dither variant to be used.
return void

Property Details

_crossover protected_oe property

protected DECrossover.Variant _crossover
return DECrossover.Variant

_dither protected_oe property

protected DitherVariant _dither
return DitherVariant