function.mo.fonseca_fleming
function.mo.fonseca_fleming(X)Fonseca-Fleming multi-objective test function (2 objectives).
The Fonseca-Fleming function is a classical bi-objective problem with a concave Pareto front. The difficulty increases with the number of variables.
Mathematical formulation
f1(X) = 1 - exp(-sum((x_i - 1/sqrt(n))^2 for i=1 to n)) f2(X) = 1 - exp(-sum((x_i + 1/sqrt(n))^2 for i=1 to n))
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| X | array - like |
Input points with shape (n_samples, n_features) or (n_features,). Can be a 1D array for a single point or 2D array for multiple points. | required |
Returns
| Name | Type | Description |
|---|---|---|
| np.ndarray | np.ndarray: Objective values with shape (n_samples, 2) where: - Column 0: f1 values - Column 1: f2 values |
Note
- Number of objectives: 2
- Typical number of variables: 2-10
- Search domain: [-4, 4]^n
- Pareto front: Concave
- Characteristics: Concave, symmetric
Examples
>>> from spotoptim.function.mo import fonseca_fleming
>>> import numpy as np
>>> X = np.array([0.0, 0.0])
>>> result = fonseca_fleming(X)
>>> result.shape
(1, 2)>>> X = np.array([[0.0, 0.0], [1.0, 1.0]])
>>> result = fonseca_fleming(X)
>>> result.shape
(2, 2)References
Fonseca, C. M., & Fleming, P. J. (1995). “An overview of evolutionary algorithms in multiobjective optimization.” Evolutionary computation, 3(1), 1-16.