55Active CMA-ES is a variant of the stochastic search algorithm
66CMA-ES - Covariance Matrix Adaptation Evolution Strategy.
77Active CMA-ES actively reduces the uncertainty in unfavourable directions by
8- exploiting the information about bad mutations in the covariance matrix
9- update step. This isn't for the purpose of accelerating progress, but
10- instead for speeding up the adaptation of the covariance matrix (which, in
8+ exploiting the information about bad mutations in the covariance matrix
9+ update step. This isn't for the purpose of accelerating progress, but
10+ instead for speeding up the adaptation of the covariance matrix (which, in
1111turn, will lead to faster progress).
1212
1313#### Constructors
@@ -22,10 +22,10 @@ The _`SelectionPolicyType`_ template parameter refers to the strategy used to
2222compute the (approximate) objective function. The ` FullSelection ` and
2323` RandomSelection ` classes are available for use; custom behavior can be achieved
2424by implementing a class with the same method signatures.
25- The _ ` TransformationPolicyType ` _ template parameter refers to transformation
26- strategy used to map decision variables to the desired domain during fitness
27- evaluation and optimization termination. The ` EmptyTransformation ` and
28- ` BoundaryBoxConstraint ` classes are available for use; custom behavior can be
25+ The _ ` TransformationPolicyType ` _ template parameter refers to transformation
26+ strategy used to map decision variables to the desired domain during fitness
27+ evaluation and optimization termination. The ` EmptyTransformation ` and
28+ ` BoundaryBoxConstraint ` classes are available for use; custom behavior can be
2929achieved by implementing a class with the same method signatures.
3030
3131For convenience the following types can be used:
@@ -55,11 +55,11 @@ the option is not relevant when the `ActiveCMAES<>` optimizer type is being used
5555` RandomSelection ` policy has the constructor ` RandomSelection( ` _ ` fraction ` _ ` ) `
5656where _ ` fraction ` _ specifies the percentage of separable functions to use to
5757estimate the objective function.
58- The ` transformationPolicy ` attribute allows an instantiated
59- ` TransformationPolicyType ` to be given. The ` EmptyTransformation< ` _ ` MatType ` _ ` > `
58+ The ` transformationPolicy ` attribute allows an instantiated
59+ ` TransformationPolicyType ` to be given. The ` EmptyTransformation< ` _ ` MatType ` _ ` > `
6060has no need to be instantiated. ` BoundaryBoxConstraint< ` _ ` MatType ` _ ` > ` policy has
6161the constructor ` BoundaryBoxConstraint( ` _ ` lowerBound, upperBound ` _ ` ) `
62- where _ ` lowerBound ` _ and _ ` lowerBound ` _ are the lower bound and upper bound of
62+ where _ ` lowerBound ` _ and _ ` lowerBound ` _ are the lower bound and upper bound of
6363the coordinates respectively.
6464
6565#### Examples:
@@ -627,11 +627,11 @@ arma::mat coords = ZDT_THREE.GetInitialPoint();
627627std::tuple<ObjectiveTypeA, ObjectiveTypeB> objectives = ZDT_THREE.GetObjectives();
628628opt.Optimize(objectives, coords);
629629const arma::cube bestFront = opt.ParetoFront();
630-
630+
631631NSGA2 opt2(50, 5000, 0.5, 0.5, 1e-3, 1e-6, lowerBound, upperBound);
632632// obj2 will contain the minimum sum of objectiveA and objectiveB found on the best front.
633633double obj2 = opt2.Optimize(objectives, coords);
634-
634+
635635arma::cube NSGAFront = opt2.ParetoFront();
636636// Get the IGD score for NSGA front using AGEMOEA as reference.
637637double igd = IGD::Evaluate(NSGAFront, bestFront, 1);
@@ -792,6 +792,10 @@ optimizer uses [L-BFGS](#l-bfgs).
792792#### Constructors
793793
794794 * ` AugLagrangian( ` _ ` maxIterations, penaltyThresholdFactor, sigmaUpdateFactor ` _ ` ) `
795+ * ` AugLagrangianType<_VecType_>( ` _ ` maxIterations, penaltyThresholdFactor, sigmaUpdateFactor ` _ ` ) `
796+
797+ When optimizing matrix types other than ` arma::mat ` , specify ` VecType ` as the
798+ corresponding vector type (e.g. ` arma::vec ` or ` coot::fvec ` ).
795799
796800#### Attributes
797801
@@ -1112,10 +1116,10 @@ The _`SelectionPolicyType`_ template parameter refers to the strategy used to
11121116compute the (approximate) objective function. The `FullSelection` and
11131117`RandomSelection` classes are available for use; custom behavior can be achieved
11141118by implementing a class with the same method signatures.
1115- The _`TransformationPolicyType`_ template parameter refers to transformation
1116- strategy used to map decision variables to the desired domain during fitness
1117- evaluation and optimization termination. The `EmptyTransformation` and
1118- `BoundaryBoxConstraint` classes are available for use; custom behavior can be
1119+ The _`TransformationPolicyType`_ template parameter refers to transformation
1120+ strategy used to map decision variables to the desired domain during fitness
1121+ evaluation and optimization termination. The `EmptyTransformation` and
1122+ `BoundaryBoxConstraint` classes are available for use; custom behavior can be
11191123achieved by implementing a class with the same method signatures.
11201124
11211125For convenience the following types can be used:
@@ -1145,11 +1149,11 @@ the option is not relevant when the `CMAES<>` optimizer type is being used; the
11451149`RandomSelection` policy has the constructor `RandomSelection(`_`fraction`_`)`
11461150where _`fraction`_ specifies the percentage of separable functions to use to
11471151estimate the objective function.
1148- The `transformationPolicy` attribute allows an instantiated
1149- `TransformationPolicyType` to be given. The `EmptyTransformation<`_`MatType`_`>`
1152+ The `transformationPolicy` attribute allows an instantiated
1153+ `TransformationPolicyType` to be given. The `EmptyTransformation<`_`MatType`_`>`
11501154has no need to be instantiated. `BoundaryBoxConstraint<`_`MatType`_`>` policy has
11511155the constructor `BoundaryBoxConstraint(`_`lowerBound, upperBound`_`)`
1152- where _`lowerBound`_ and _`lowerBound`_ are the lower bound and upper bound of
1156+ where _`lowerBound`_ and _`lowerBound`_ are the lower bound and upper bound of
11531157the coordinates respectively.
11541158
11551159#### Examples:
@@ -1745,10 +1749,10 @@ optimizer.Optimize(f, coordinates);
17451749* An optimizer for [ separable functions] ( #separable-functions ) .*
17461750
17471751IPOP CMA-ES (Increasing Population Size CMA-ES) is an extension of the
1748- Covariance Matrix Adaptation Evolution Strategy (CMA-ES). It introduces a
1749- restart mechanism that progressively increases the population size. This
1752+ Covariance Matrix Adaptation Evolution Strategy (CMA-ES). It introduces a
1753+ restart mechanism that progressively increases the population size. This
17501754approach is beneficial for optimizing multi-modal functions,
1751- characterized by numerous local optima. The restart mechanism is designed to
1755+ characterized by numerous local optima. The restart mechanism is designed to
17521756improve the adaptability of CMA-ES by improving the likelihood of escaping
17531757local optima, thus increasing the chances of discovering the global optimum.
17541758
0 commit comments