#include <freESAsymmetricMutation.h>


Public Types | |
| typedef AsymmetricMutation < TIndividual > | Self |
| typedef MutationBase < TIndividual > | Superclass |
| typedef itk::SmartPointer < Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
| typedef Superclass::IndividualType | IndividualType |
| typedef IndividualType::Pointer | IndividualPointer |
| typedef Superclass::PopulationType | PopulationType |
| typedef PopulationType::Pointer | PopulationPointer |
| typedef itk::Statistics::AsymmetricVariateGenerator | VariateGeneratorType |
Public Member Functions | |
| virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
| virtual const char * | GetNameOfClass () const |
| void | RegisterStrategicIndividualParameters (IndividualType &individual) const |
| void | RegisterStrategicPopulationParameters (PopulationType &population) const |
| void | MutateStrategicPopulationParameters (PopulationType &population) const |
| void | MutateStrategicIndividualParameters (IndividualType &individual, PopulationType &population) const |
| double | MutateValue (const double &value) |
| virtual void | SetGamma (const double _arg) |
| virtual double | GetGamma () |
| virtual void | SetTau (const double _arg) |
| virtual double | GetTau () |
| virtual void | SetTauGlobal (const double _arg) |
| virtual double | GetTauGlobal () |
| virtual void | SetTau_Skewness (const double _arg) |
| virtual double | GetTau_Skewness () |
| virtual void | SetTauGlobal_Skewness (const double _arg) |
| virtual double | GetTauGlobal_Skewness () |
| virtual void | SetMutateValueVariance (const double _arg) |
| virtual double | GetMutateValueVariance () |
| virtual void | SetMutateValueSkewness (const double _arg) |
| virtual double | GetMutateValueSkewness () |
| VariateGeneratorType & | GetRandomGenerator () |
Static Public Member Functions | |
| static Pointer | New (void) |
Protected Member Functions | |
| AsymmetricMutation () | |
| void | MutateObjectivParameters (IndividualType *pIndividual, PopulationType *pPopulation) const |
Protected Attributes | |
| double | m_Gamma |
| double | m_TauGlobal |
| double | m_Tau |
| double | m_TauGlobal_Skewness |
| double | m_Tau_Skewness |
| double | m_MutateValueVariance |
| double | m_MutateValueSkewness |
| VariateGeneratorType::Pointer | m_RandomGenerator |
Private Member Functions | |
| AsymmetricMutation (Self const &) | |
Mutates the objective values with an asymmetric distributed variate. The variance and "skewness" of the variate for each objective parameter is stored as strategic parameter. The variance will be mutated by a log-normal distributed variate. The skewness will be mutated by a normal distributed variate. Both will be used to mutate the objective parameters.
z[i] = LN(0,Tau)
z = LN(0,TauGlobal)
v'[i] = v[i] * z * z[i]
z_s[i] = N(0,Tau_Skewness)
z_s = N(0,TauGlobal_Skewness)
s'[i] = s[i] + z_s * z_s[i]
x'[i] = x[i] + AN(0,v'[i],s'[i])
z[i]: log-normal distributed variate (related to the i-th objective parameter for one individual)
z: log-normal distributed variate (related to the i-th objective parameter for the whole population)
v[i]: strategic parameter variance(related to the i-th objective parameter)(before mutation)
v'[i]: strategic parameter variance (related to the i-th objective parameter)(after mutation)
z_s[i]: normal distributed variate (related to the i-th objective parameter for one individual)
z_s: normal distributed variate (related to the i-th objective parameter for the whole population)
s[i]: strategic parameter skewness (related to the i-th objective parameter)(before mutation)
s'[i]: strategic parameter skewness (related to the i-th objective parameter)(after mutation)
x[i]: the i-th objectiv parameter (before mutation)
x'[i]: the i-th objectiv parameter (after mutation)
The asymmetric mutation is based on a work of Hildebrand [1] and implemented using the concept he presented.
[1] L. Hildebrand, Asymmetrische Evolutionsstrategien, Information Technology 46 (2004): 353-355.
Definition at line 69 of file freESAsymmetricMutation.h.
| typedef AsymmetricMutation<TIndividual> FREE::ES::AsymmetricMutation< TIndividual >::Self |
Standard "Self" typedef.
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 74 of file freESAsymmetricMutation.h.
| typedef MutationBase<TIndividual> FREE::ES::AsymmetricMutation< TIndividual >::Superclass |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 75 of file freESAsymmetricMutation.h.
| typedef itk::SmartPointer<Self> FREE::ES::AsymmetricMutation< TIndividual >::Pointer |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 76 of file freESAsymmetricMutation.h.
| typedef itk::SmartPointer<const Self> FREE::ES::AsymmetricMutation< TIndividual >::ConstPointer |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 77 of file freESAsymmetricMutation.h.
| typedef Superclass::IndividualType FREE::ES::AsymmetricMutation< TIndividual >::IndividualType |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 83 of file freESAsymmetricMutation.h.
| typedef IndividualType::Pointer FREE::ES::AsymmetricMutation< TIndividual >::IndividualPointer |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 86 of file freESAsymmetricMutation.h.
| typedef Superclass::PopulationType FREE::ES::AsymmetricMutation< TIndividual >::PopulationType |
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 87 of file freESAsymmetricMutation.h.
| typedef PopulationType::Pointer FREE::ES::AsymmetricMutation< TIndividual >::PopulationPointer |
Definition at line 88 of file freESAsymmetricMutation.h.
| typedef itk::Statistics::AsymmetricVariateGenerator FREE::ES::AsymmetricMutation< TIndividual >::VariateGeneratorType |
random variate generator type.
Definition at line 116 of file freESAsymmetricMutation.h.
| FREE::ES::AsymmetricMutation< TIndividual >::AsymmetricMutation | ( | ) | [inline, protected] |
Definition at line 36 of file freESAsymmetricMutation.txx.
| FREE::ES::AsymmetricMutation< TIndividual >::AsymmetricMutation | ( | Self const & | ) | [private] |
| static Pointer FREE::ES::AsymmetricMutation< TIndividual >::New | ( | void | ) | [inline, static] |
Method for creation through the object factory.
Reimplemented from FREE::ES::ComponentBase< TIndividual >.
Definition at line 80 of file freESAsymmetricMutation.h.
| virtual ::itk::LightObject::Pointer FREE::ES::AsymmetricMutation< TIndividual >::CreateAnother | ( | void | ) | const [inline, virtual] |
Reimplemented from FREE::ES::ComponentBase< TIndividual >.
Definition at line 80 of file freESAsymmetricMutation.h.
| virtual const char* FREE::ES::AsymmetricMutation< TIndividual >::GetNameOfClass | ( | ) | const [inline, virtual] |
Run-time type information (and related methods).
Reimplemented from FREE::ES::MutationBase< TIndividual >.
Definition at line 83 of file freESAsymmetricMutation.h.
| void FREE::ES::AsymmetricMutation< TIndividual >::RegisterStrategicIndividualParameters | ( | IndividualType & | individual | ) | const [inline] |
Definition at line 54 of file freESAsymmetricMutation.txx.
| void FREE::ES::AsymmetricMutation< TIndividual >::RegisterStrategicPopulationParameters | ( | PopulationType & | population | ) | const [inline, virtual] |
Reimplemented from FREE::ES::ComponentBase< TIndividual >.
Definition at line 75 of file freESAsymmetricMutation.txx.
References FREE::ES::Population< TIndividual >::StrategicParameters().

| void FREE::ES::AsymmetricMutation< TIndividual >::MutateStrategicPopulationParameters | ( | PopulationType & | population | ) | const [inline, virtual] |
Reimplemented from FREE::ES::ComponentBase< TIndividual >.
Definition at line 140 of file freESAsymmetricMutation.txx.
References FREE::ES::Population< TIndividual >::StrategicParameters().

| void FREE::ES::AsymmetricMutation< TIndividual >::MutateStrategicIndividualParameters | ( | IndividualType & | individual, | |
| PopulationType & | population | |||
| ) | const [inline] |
Definition at line 102 of file freESAsymmetricMutation.txx.
References FREE::ES::Population< TIndividual >::StrategicParameters().

| double FREE::ES::AsymmetricMutation< TIndividual >::MutateValue | ( | const double & | value | ) | [inline, virtual] |
Mutates the passed value, any mutation parameters (if existant) must be set, befor calling this function
| value | Value that should be mutated. |
Implements FREE::ES::MutationBase< TIndividual >.
Definition at line 158 of file freESAsymmetricMutation.txx.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetGamma | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 97 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetGamma | ( | ) | [inline, virtual] |
Definition at line 98 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetTau | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 100 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetTau | ( | ) | [inline, virtual] |
Definition at line 101 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetTauGlobal | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 103 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetTauGlobal | ( | ) | [inline, virtual] |
Definition at line 104 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetTau_Skewness | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 106 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetTau_Skewness | ( | ) | [inline, virtual] |
Definition at line 107 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetTauGlobal_Skewness | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 109 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetTauGlobal_Skewness | ( | ) | [inline, virtual] |
Definition at line 110 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetMutateValueVariance | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 112 of file freESAsymmetricMutation.h.
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetMutateValueVariance | ( | ) | [inline, virtual] |
Definition at line 113 of file freESAsymmetricMutation.h.
| virtual void FREE::ES::AsymmetricMutation< TIndividual >::SetMutateValueSkewness | ( | const double | _arg | ) | [inline, virtual] |
Definition at line 115 of file freESAsymmetricMutation.h.
| virtual double FREE::ES::AsymmetricMutation< TIndividual >::GetMutateValueSkewness | ( | ) | [inline, virtual] |
Definition at line 116 of file freESAsymmetricMutation.h.
| VariateGeneratorType& FREE::ES::AsymmetricMutation< TIndividual >::GetRandomGenerator | ( | ) | [inline] |
Definition at line 120 of file freESAsymmetricMutation.h.
Referenced by FREE::ESAsymmetricMutationController::ActualizeMainComponent().
| void FREE::ES::AsymmetricMutation< TIndividual >::MutateObjectivParameters | ( | IndividualType * | pIndividual, | |
| PopulationType * | pPopulation | |||
| ) | const [inline, protected, virtual] |
Called by Mutate() to mutate the objective values of an individual
Implements FREE::ES::MutationBase< TIndividual >.
Definition at line 172 of file freESAsymmetricMutation.txx.
References throwExceptionMacro.
double FREE::ES::AsymmetricMutation< TIndividual >::m_Gamma [protected] |
Global control parameter
Definition at line 126 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_TauGlobal [protected] |
variance for the variate used in the whole generation to mutate the strategic parameter variance. Default value (by Schwefel): 1/sqrt(2*n) ; n = number of objective parameters
Definition at line 131 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_Tau [protected] |
variance for the variate used for one individual to mutate the strategic parameter variance. Default value (by Schwefel): 1/sqrt(2*sqrt(n)) ; n = number of objective parameters
Definition at line 135 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_TauGlobal_Skewness [protected] |
variance for the variate used in the whole generation to mutate the strategic parameter skewness. Default value (by Schwefel): 1/sqrt(2*n) ; n = number of objective parameters
Definition at line 140 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_Tau_Skewness [protected] |
variance for the variate used for one individual to mutate the strategic parameter skewness. Default value (by Schwefel): 1/sqrt(2*sqrt(n)) ; n = number of objective parameters
Definition at line 144 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_MutateValueVariance [protected] |
Variance that should be used by MutateValue()
Definition at line 147 of file freESAsymmetricMutation.h.
double FREE::ES::AsymmetricMutation< TIndividual >::m_MutateValueSkewness [protected] |
Skewness that should be used by MutateValue()
Definition at line 149 of file freESAsymmetricMutation.h.
VariateGeneratorType::Pointer FREE::ES::AsymmetricMutation< TIndividual >::m_RandomGenerator [protected] |
Definition at line 151 of file freESAsymmetricMutation.h.
1.5.3 written by Dimitri van Heesch,
© 1997-2000