C# 클래스 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.
상속: Optimizer
파일 보기 프로젝트 열기: DanWBR/dwsim3

보호된 프로퍼티들

프로퍼티 타입 설명
_crossover DECrossover.Variant
_dither DitherVariant

공개 메소드들

메소드 설명
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.

보호된 메소드들

메소드 설명
SetVariant ( DECrossover crossover, DitherVariant dither ) : void

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

메소드 상세

DESuite() 공개 메소드

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.
리턴 System.Diagnostics

DESuite() 공개 메소드

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.
리턴 System.Diagnostics

GetCR() 공개 메소드

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

GetF() 공개 메소드

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

GetFMid() 공개 메소드

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

GetFRange() 공개 메소드

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

GetNumAgents() 공개 메소드

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

Optimize() 공개 메소드

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

SetVariant() 보호된 메소드

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.
리턴 void

프로퍼티 상세

_crossover 보호되어 있는 프로퍼티

protected DECrossover.Variant _crossover
리턴 DECrossover.Variant

_dither 보호되어 있는 프로퍼티

protected DitherVariant _dither
리턴 DitherVariant