desdeo_emo.EAs.BaseEA
Module Contents
Classes
This class provides the basic structure for Evolutionary algorithms. |
|
The Base class for decomposition based EAs. |
- exception desdeo_emo.EAs.BaseEA.eaError[source]
Bases:
Exception
Raised when an error related to EA occurs
- class desdeo_emo.EAs.BaseEA.BaseEA(a_priori: bool = False, interact: bool = False, selection_operator: Type[desdeo_emo.selection.SelectionBase.SelectionBase] = None, n_iterations: int = 10, n_gen_per_iter: int = 100, total_function_evaluations: int = 0, use_surrogates: bool = False, keep_archive: bool = False, save_non_dominated: bool = False)[source]
This class provides the basic structure for Evolutionary algorithms.
- start()[source]
Mimics the structure of the mcdm methods. Returns the request objects from self.retuests().
- iterate(preference=None) Tuple [source]
Run one iteration of EA.
One iteration consists of a constant or variable number of generations. This method leaves EA.params unchanged, except the current iteration count and gen count.
- continue_evolution() bool [source]
Checks whether the current iteration should be continued or not.
- check_FE_count() bool [source]
- Checks whether termination criteria via function evaluation count has been
met or not.
- Returns:
True is function evaluation count limit NOT met.
- Return type:
bool
- class desdeo_emo.EAs.BaseEA.BaseDecompositionEA(problem: desdeo_problem.MOProblem = None, initial_population: desdeo_emo.population.Population.Population = None, population_size: int = None, population_params: Dict = None, lattice_resolution: int = None, interact: bool = False, n_iterations: int = 10, n_gen_per_iter: int = 100, use_surrogates: bool = False, total_function_evaluations: int = 0, keep_archive: bool = False, save_non_dominated: bool = False)[source]
Bases:
BaseEA
The Base class for decomposition based EAs.
This class contains most of the code to set up the parameters and operators. It also contains the logic of a simple decomposition EA.
- Parameters:
problem (MOProblem) – The problem class object specifying the details of the problem.
selection_operator (Type[SelectionBase], optional) – The selection operator to be used by the EA, by default None.
population_size (int, optional) – The desired population size, by default None, which sets up a default value of population size depending upon the dimensionaly of the problem.
population_params (Dict, optional) – The parameters for the population class, by default None. See desdeo_emo.population.Population for more details.
initial_population (Population, optional) – An initial population class, by default None. Use this if you want to set up a specific starting population, such as when the output of one EA is to be used as the input of another.
lattice_resolution (int, optional) – The number of divisions along individual axes in the objective space to be used while creating the reference vector lattice by the simplex lattice design. By default None
a_priori (bool, optional) – A bool variable defining whether a priori preference is to be used or not. By default False
interact (bool, optional) – A bool variable defining whether interactive preference is to be used or not. By default False
n_iterations (int, optional) – The total number of iterations to be run, by default 10. This is not a hard limit and is only used for an internal counter.
n_gen_per_iter (int, optional) – The total number of generations in an iteration to be run, by default 100. This is not a hard limit and is only used for an internal counter.
total_function_evaluations (int, optional) – Set an upper limit to the total number of function evaluations. When set to zero, this argument is ignored and other termination criteria are used.
- _next_gen()[source]
Run one generation of decomposition based EA. Intended to be used by next_iteration.