Selection Criteria¶
Base Class¶

class
algorithm.mobo.selection.base.
Selection
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
abc.ABC
Base class of selection method.

__init__
(batch_size, ref_point=None, **kwargs)[source]¶ Initialize a selection method.
 Parameters
batch_size (int) – Batch size.
ref_point (np.array, default=None) – Reference point.

fit
(X, Y)[source]¶ Fit the parameters of selection method from data.
 Parameters
X (np.array) – Design variables.
Y (np.array) – Performance values.

abstract
select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.

Hypervolume Improvement¶

class
algorithm.mobo.selection.hvi.
HVI
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
algorithm.mobo.selection.base.Selection
Selection based on Hypervolume improvement.

select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.

Uncertainty¶

class
algorithm.mobo.selection.uncertainty.
Uncertainty
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
algorithm.mobo.selection.base.Selection
Selection based on uncertainty.

select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.

Random Selection¶

class
algorithm.mobo.selection.random.
Random
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
algorithm.mobo.selection.base.Selection
Random selection.

select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.

MOEA/DEGO Selection¶

class
algorithm.mobo.selection.moead_select.
MOEADSelect
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
algorithm.mobo.selection.base.Selection
Selection method for MOEA/DEGO algorithm.

select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.

DGEMO Selection¶

class
algorithm.mobo.selection.dgemo_select.
DGEMOSelect
(batch_size, ref_point=None, **kwargs)[source]¶ Bases:
algorithm.mobo.selection.base.Selection
Selection method for DGEMO algorithm.

has_family
¶ Whether the selection method returns family information.
 Type
bool, default=True

select
(solution, surrogate_model, normalization, curr_pset, curr_pfront)[source]¶ Select new samples from the solution obtained by solver (some parameters may not be necessary for some selection criteria).
 Parameters
solution (dict) –
Solution dictionary obtained by solver.
solution[‘x’]: design variables of solution
solution[‘y’]: acquisition values of solution
solution[‘algo’]: solver algorithm, having some relevant information from optimization
surrogate_model (mobo.surrogate_model.base.SurrogateModel) – Fitted surrogate model.
normalization (mobo.normalization.Normalization) – Data normalization for surrogate model fitting.
curr_pset (np.array) – Current pareto set found.
curr_pfront (np.array) – Current pareto front found.
 Returns
X_next (np.array) – Next batch of samples selected.
info (dict) – Other informations need to be stored or exported, None if not necessary.
