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.
 solution (dict) –

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.
 solution (dict) –

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.
 solution (dict) –

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.
 solution (dict) –

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.
 solution (dict) –

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.
 solution (dict) –
