Implemented mechanisms
This page lists the implemented primitive functions, transforms, value transforms, and composition modes. YAML/spec parsers normalize case, spaces, hyphens, and underscores before matching names.
Base functions
Primitive functions are exposed through BasicFunctionId. Numeric IDs and
names can both be used in YAML.
ID |
Name |
Notes |
|---|---|---|
1 |
Sphere |
Unimodal, smooth, separable. |
2 |
Ellipsoidal |
Unimodal, high-conditioned. |
3 |
SumDifferentPowers |
Unimodal, variable powers. |
4 |
BuecheRastrigin |
Multimodal Rastrigin-family landscape. |
5 |
LinearSlope |
Unimodal sloped landscape. |
6 |
AttractiveSector |
Unimodal, asymmetric sector structure. |
7 |
StepEllipsoidal |
Unimodal stepped high-conditioned landscape. |
8 |
StepRastrigin |
Multimodal stepped Rastrigin-family landscape. |
9 |
Rosenbrock |
Unimodal valley, nonseparable. |
10 |
Ackley |
Multimodal. |
11 |
Rastrigin |
Multimodal, separable in primitive coordinates. |
12 |
Griewank |
Multimodal. |
13 |
Schwefel |
Multimodal. |
14 |
SharpRidge |
Unimodal ridge. |
15 |
Weierstrass |
Multimodal, rugged. |
16 |
SchafferF7 |
Multimodal. |
17 |
SchafferF7Cond1000 |
Multimodal, conditioned Schaffer variant. |
18 |
GriewankRosenbrock |
Multimodal hybrid. |
19 |
Gallagher21 |
Multimodal peaks. |
20 |
Katsuura |
Multimodal. |
21 |
LunacekBiRastrigin |
Multimodal double-funnel Rastrigin-family landscape. |
22 |
Zakharov |
Unimodal. |
23 |
Levy |
Multimodal. |
24 |
Michalewicz |
Multimodal. |
25 |
DixonPrice |
Unimodal. |
26 |
BentCigar |
Unimodal, high-conditioned. |
27 |
HappyCat |
Multimodal/nonconvex BBOB-style function. |
28 |
HGBat |
Unimodal/nonconvex BBOB-style function. |
29 |
HCF |
Unimodal composition-style primitive. |
30 |
SchafferF6 |
Multimodal. |
31 |
Step |
Unimodal stepped function. |
32 |
Quartic |
Unimodal quartic function. |
33 |
Exponential |
Unimodal exponential landscape. |
34 |
StyblinskiTang |
Multimodal. |
Coordinate transforms
Let \(x\) be the parent point, \(a\) be the assigned component optimum
stored in assigned_xopt, and \(t\) be the internally resolved child
optimum. The transform maps parent coordinates into child coordinates.
noneFull-dimensional shift:
\[T(x) = t + (x-a).\]rotationFull-dimensional shifted rotation with orthogonal matrix \(R\):
\[T(x) = t + R(x-a).\]affineFull-dimensional shifted affine transform with matrix \(A\):
\[T(x) = t + A(x-a).\]block-rotationSubspace transform. If
selected_indicesdefines projection \(P\), then \(x_{\mathrm{sub}} = Px\) and\[T(x) = t + R(x_{\mathrm{sub}} - a).\]The child function sees only
output_dimensionvariables.
Value transforms
Let \(u \ge 0\) be the shifted component value before the value transform.
none- \[\phi(u) = u.\]
powerParameters are
[alpha, p]:\[\phi(u) = \alpha u^p.\]oscillatoryParameters are
[epsilon, alpha]:\[\phi(u) = u\left(1 + \epsilon\sin(\alpha u)\right).\]cosine-zeroParameter is
[alpha]:\[\phi(u) = 1 - \cos(\alpha u).\]
Trigonometric value transforms reduce the phase modulo \(2\pi\) internally for more stable cross-platform numerical behavior.
Composition modes
Let \(z_i\) be transformed component values.
noneSingle-component identity:
\[\psi(z_1) = z_1.\]cpm-wsumCommon-point weighted sum:
\[\psi(z) = \sum_i w_i z_i.\]cpm-power-meanParameter is
[p]:\[\psi(z) = \left(\sum_i w_i z_i^p\right)^{1/p}.\]cpm-level-wellParameters are
[epsilon, alpha]. Let \(s = \sum_i w_i z_i\):\[\psi(z) = s\left(1 + \epsilon\sin(\alpha s)\right).\]dpm-softmaxParameter is
[sharpness]. Let \(c_i\) be full-dimensional DPM centers, \(b_i\) be DPM biases, and \(\gamma\) be sharpness:\[q_i(x) = \exp(-\gamma\|x-c_i\|^2 - M), \qquad M = \max_j -\gamma\|x-c_j\|^2.\]Non-global centers are masked near the global center:
\[m_0(x)=1,\qquad m_i(x)=1-\exp(-\|x-c_0\|^2),\quad i>0.\]Then
\[\psi(x,z) = \frac{\sum_i q_i(x)m_i(x)(z_i+b_i)} {\sum_i q_i(x)m_i(x)}.\]dpm-bgsoftmaxParameters are
[sharpness, background_strength, background_sharpness]. It adds a smooth background term\[\beta(x) = \rho\left(1-\exp(-\eta \min_i\|x-c_i\|)\right)\]and computes
\[\psi(x,z) = \frac{\sum_i (q_i(x)m_i(x)+\beta(x))(z_i+b_i)} {\sum_i (q_i(x)m_i(x)+\beta(x))}.\]
DPM center 0 is the assigned global optimum. Other centers are deceptive locations. DPM biases are composition parameters, not component value transforms.
Name aliases
Examples of accepted aliases:
Canonical name |
Common aliases |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|