Decomposition Based Algorithm
Decomposition Based Algorithm
- class DBA(search_space, f_calls, tree_search, exploration=None, exploitation=None, verbose=True, **kwargs)[source]
Bases:
zellij.core.metaheuristic.MetaheuristicDecomposition-Based-Algorithm (DBA) is made of 5 part:
Geometry : DBA uses hyper-spheres or hyper-cubes to decompose the search-space into smaller sub-spaces in a fractal way.
Tree search: Fractals are stored in a k-ary rooted tree. The tree search determines how to move inside this tree.
Exploration : To explore a fractal, DBA requires an exploration algorithm.
Exploitation : At the final fractal level (e.g. a leaf of the rooted tree) DBA performs an exploitation.
Scoring method: To score a fractal, DBA can use the best score found, the median, …
- search_space
Search space defined as a Geometry. Contains decision variables of the search space, converted to continuous and constrained to an Euclidean Geometry.
- Type
Fractal
- f_calls
Maximum number of Loss Function calls
- Type
int
- exploration
Algorithm used to sample inside each subspaces.
- Type
{Metaheuristic, list[Metaheuristic]}, default=None
- exploitation
Intensification algorithm applied on a subspace at the last level of the partition tree.
- Type
Metaheuristic, default=None
- tree_search
Tree search algorithm applied on the partition tree.
- Type
Tree_search
- verbose
Algorithm verbosity
- Type
boolean, default=True
- evaluate(hypervolumes)[source]
Evaluate a list of fractals using exploration and/or exploitation
- run(n_process=1)[source]
Runs DBA
See also
MetaheuristicParent class defining what a Metaheuristic is
LossFuncDescribes what a loss function is in Zellij
SearchspaceDescribes what a search space is in Zellij
Tree_searchTree search algorithm to explore and exploit the fractal tree.
FractalBase class which defines what a fractal is.
- evaluate(hypervolumes, n_process)[source]
Evaluate a list of fractals using exploration and/or exploitation.
- Parameters
hypervolumes (list[Fractal]) – list of hypervolumes to evaluate with exploration and/or exploitation
- run(n_process=1)[source]
Runs DBA.
- Parameters
n_process (int, default=1) – Determine the number of best solution found to return.
- Returns
best_sol (list[float]) – Returns a list of the
n_processbest found points to the continuous formatbest_scores (list[float]) – Returns a list of the
n_processbest found scores associated to best_sol