Multi-Objective

bm_kursawe(individual)

Kursawe multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(f_{1}(\mathbf{x}) = \sum_{i=1}^{N-1} -10 e^{-0.2 \sqrt{x_i^2 + x_{i+1}^2} }\)

\(f_{2}(\mathbf{x}) = \sum_{i=1}^{N} |x_i|^{0.8} + 5 \sin(x_i^3)\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_schaffer_mo(individual)

Schaffer’s multi-objective function on a one-attribute individual.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(f_{1}(\mathbf{x}) = x_1^2\)

\(f_{2}(\mathbf{x}) = (x_1-2)^2\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_fonseca(individual)

Fonseca and Fleming’s multiobjective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(f_{1}(\mathbf{x}) = 1 - e^{-\sum_{i=1}^{3}(x_i - \frac{1}{\sqrt{3}})^2}\)

\(f_{2}(\mathbf{x}) = 1 - e^{-\sum_{i=1}^{3}(x_i + \frac{1}{\sqrt{3}})^2}\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_poloni(individual)

Poloni’s multiobjective function on a two-attribute individual.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(A_1 = 0.5 \sin (1) - 2 \cos (1) + \sin (2) - 1.5 \cos (2)\)

\(A_2 = 1.5 \sin (1) - \cos (1) + 2 \sin (2) - 0.5 \cos (2)\)

\(B_1 = 0.5 \sin (x_1) - 2 \cos (x_1) + \sin (x_2) - 1.5 \cos (x_2)\)

\(B_2 = 1.5 \sin (x_1) - cos(x_1) + 2 \sin (x_2) - 0.5 \cos (x_2)\)

\(f_{1}(\mathbf{x}) = 1 + (A_1 - B_1)^2 + (A_2 - B_2)^2\)

\(f_{2}(\mathbf{x}) = (x_1 + 3)^2 + (x_2 + 1)^2\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_dent(individual, dent_size=0.85)
Two-objective problem with a “dent”. The individual must have
two attributes that take values in the range of [-1.5, 1.5].
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • dent_size (float) – The size of the dent.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(f_{1}(\mathbf{x}) = \text{ ?}\)

\(f_{2}(\mathbf{x}) = \text{ ?}\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_zdt_1(individual)

ZDT1 multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(g(\mathbf{x}) = 1 + \frac{9}{n-1}\sum_{i=2}^n x_i\)

\(f_{1}(\mathbf{x}) = x_1\)

\(f_{2}(\mathbf{x}) = g(\mathbf{x})\left[1 - \sqrt{\frac{x_1}{g(\mathbf{x})}}\right]\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_zdt_2(individual)

ZDT2 multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(g(\mathbf{x}) = 1 + \frac{9}{n-1}\sum_{i=2}^n x_i\)

\(f_{1}(\mathbf{x}) = x_1\)

\(f_{2}(\mathbf{x}) = g(\mathbf{x})\left[1 - \left(\frac{x_1}{g(\mathbf{x})}\right)^2\right]\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_zdt_3(individual)

ZDT3 multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(g(\mathbf{x}) = 1 + \frac{9}{n-1}\sum_{i=2}^n x_i\)

\(f_{1}(\mathbf{x}) = x_1\)

\(f_{2}(\mathbf{x}) = g(\mathbf{x})\left[1 - \sqrt{\frac{x_1}{g(\mathbf{x})}} - \frac{x_1}{g(\mathbf{x})} \sin(10\pi x_1)\right]\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_zdt_4(individual)

ZDT4 multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(g(\mathbf{x}) = 1 + 10(n-1) + \sum_{i=2}^n \left[ x_i^2 - 10\cos(4\pi x_i) \right]\)

\(f_{1}(\mathbf{x}) = x_1\)

\(f_{2}(\mathbf{x}) = g(\mathbf{x}) \left[ 1 - \sqrt{ \frac{x_1}{g(\mathbf{x})}} \right]\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_zdt_6(individual)

ZDT6 multi-objective function.

Parameters

individual (Individual) – The Individual to be evaluated.

Returns

Fitness values of the individual.

Return type

tuple[float, float]

Equations

\(g(\mathbf{x}) = 1 + 9 \left[ \left(\sum_{i=2}^n x_i\right)/(n-1) \right]^{0.25}\)

\(f_{1}(\mathbf{x}) = 1 - \exp(-4x_1)\sin^6(6\pi x_1)\)

\(f_{2}(\mathbf{x}) = g(\mathbf{x}) \left[1 - \left( \frac{f_{1}(\mathbf{x})}{g(\mathbf{x})}\right)^2 \right]\)

Returns \(f_{1}(\mathbf{x})\) and \(f_{2}(\mathbf{x})\).

bm_dtlz_1(individual, count)
DTLZ1 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = 100\left(|\mathbf{x}_m| + \sum_{x_i \in \mathbf{x}_m}\left((x_i - 0.5)^2 - \cos(20\pi(x_i - 0.5))\right)\right)\)

\(f_{1}(\mathbf{x}) = \frac{1}{2} (1 + g(\mathbf{x}_m)) \prod_{i=1}^{m-1}x_i\)

\(f_{2}(\mathbf{x}) = \frac{1}{2} (1 + g(\mathbf{x}_m)) (1-x_{m-1}) \prod_{i=1}^{m-2}x_i\)

\(f_{m-1}(\mathbf{x}) = \frac{1}{2} (1 + g(\mathbf{x}_m)) (1 - x_2) x_1\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = \frac{1}{2} (1 - x_1)(1 + g(\mathbf{x}_m))\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_2(individual, count)
DTLZ2 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = \sum_{x_i \in \mathbf{x}_m} (x_i - 0.5)^2\)

\(f_{1}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \prod_{i=1}^{m-1} \cos(0.5x_i\pi)\)

\(f_{2}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{m-1}\pi ) \prod_{i=1}^{m-2} \cos(0.5x_i\pi)\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{1}\pi )\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_3(individual, count)
DTLZ3 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = 100\left(|\mathbf{x}_m| + \sum_{x_i \in \mathbf{x}_m}\left((x_i - 0.5)^2 - \cos(20\pi(x_i - 0.5))\right)\right)\)

\(f_{1}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \prod_{i=1}^{m-1} \cos(0.5x_i\pi)\)

\(f_{2}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{m-1}\pi ) \prod_{i=1}^{m-2} \cos(0.5x_i\pi)\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{1}\pi )\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_4(individual, count, alpha)
DTLZ4 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

  • alpha (float) – Fitness values exponentiation factor.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = \sum_{x_i \in \mathbf{x}_m} (x_i - 0.5)^2\)

\(f_{1}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \prod_{i=1}^{m-1} \cos(0.5x_i^\alpha\pi)\)

\(f_{2}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{m-1}^\alpha\pi ) \prod_{i=1}^{m-2} \cos(0.5x_i^\alpha\pi)\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = (1 + g(\mathbf{x}_m)) \sin(0.5x_{1}^\alpha\pi )\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_5(individual, count)
DTLZ5 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = \text{ ?}\)

\(f_{1}(\mathbf{x}) = \text{ ?}\)

\(f_{2}(\mathbf{x}) = \text{ ?}\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = \text{ ?}\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_6(individual, count)
DTLZ6 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = \text{ ?}\)

\(f_{1}(\mathbf{x}) = \text{ ?}\)

\(f_{2}(\mathbf{x}) = \text{ ?}\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = \text{ ?}\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.

bm_dtlz_7(individual, count)
DTLZ7 multi-objective function. Returns a list of size count.
The individual must have at least count number of elements.
Parameters
  • individual (Individual) – The Individual to be evaluated.

  • count (int) – Number of objectives.

Returns

Fitness values of the individual.

Return type

list

Equations

\(g(\mathbf{x}_m) = \text{ ?}\)

\(f_{1}(\mathbf{x}) = \text{ ?}\)

\(f_{2}(\mathbf{x}) = \text{ ?}\)

\(\ldots\)

\(f_{m}(\mathbf{x}) = \text{ ?}\)

Where \(m\) is the number of objectives and \(\mathbf{x}_m\) is a vector of the remaining attributes \([x_m~\ldots~x_n]\) of the individual in \(n > m\) dimensions.