public class DifferentialRecombination extends java.lang.Object implements IRecombination
Modifier and Type | Field and Description |
---|---|
private RichMatrix |
B
B defines the coordinate system.
|
private RichMatrix |
C
Covariance matrix C.
|
private double |
c1 |
private double |
cc |
private double |
chiN
Expectation of ||N(0,I)|| == norm(randn(N,1)).
|
private double |
cmu |
private int |
counteval
Counter for the number of evaluations.
|
private double |
cSigma
C_sigma.
|
private RichArray |
D
D contains the standard deviations.
|
private double |
dampSigma
Damping for sigma.
|
private int |
dimensions
Number of objective variables/problem dimension.
|
private double |
eigeneval
Track update of B and D.
|
private int |
errorsNumber |
private RichMatrix |
invsqrtC
C^-1/2
|
private int |
mu
Number of parents for recombination in CMA-ES.
|
private double |
muEffective
Variance effective selection mass.
|
private RichArray |
pc
P_c of sigma.
|
private RichArray |
pSigma
P of sigma.
|
private double |
sigma
Step size in CMA-ES.
|
private RichArray |
weights
Array for weighted recombination in CMA-ES.
|
private RichArray |
xMean
Mean of objective variables.
|
Constructor and Description |
---|
DifferentialRecombination(int populationSize,
int dimensions) |
Modifier and Type | Method and Description |
---|---|
private void |
createWeightsArray() |
void |
initialise(Population population)
Initialises the first population and assigns values to sigma and xMean.
|
boolean |
isDtooLarge()
Condition exceeds 1e14
|
Population |
recombinate(Population population,
IndividualGroup[] groups)
Creates a new offspring population.
|
private final double cc
private final double cSigma
private final double c1
private final double cmu
private final double dampSigma
private RichArray pc
private RichArray pSigma
private double sigma
private RichMatrix B
private RichMatrix C
private RichArray D
private double eigeneval
private RichMatrix invsqrtC
private final double chiN
private final int dimensions
private RichArray xMean
private final int mu
private final double muEffective
private RichArray weights
private int counteval
private final int errorsNumber
public DifferentialRecombination(int populationSize, int dimensions)
populationSize
- Number of individuals of the populationdimensions
- Number of different genesprivate void createWeightsArray()
public void initialise(Population population)
initialise
in interface IRecombination
population
- public Population recombinate(Population population, IndividualGroup[] groups)
recombinate
in interface IRecombination
population
- original population. For the moment only used to get the fitness errorsgroups
- new individualspublic boolean isDtooLarge()
isDtooLarge
in interface IRecombination