Selection Criteria¶
Base Class¶
-
class
autooed.mobo.selection.base.
Selection
(surrogate_model, **kwargs)[source]¶ Bases:
abc.ABC
Base class of selection method.
-
abstract
_select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select new samples from the solution obtained by solver.
Parameters: - X_candidate (np.array) – Candidate design samples (continuous).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (continuous).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (continuous).
Return type: np.array
-
select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select the next batch of design samples to evaluate from proposed candidates.
Parameters: - X_candidate (np.array) – Candidate design samples (raw).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (raw).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (raw).
Return type: np.array
-
abstract
Direct Selection¶
-
class
autooed.mobo.selection.direct.
Direct
(surrogate_model, **kwargs)[source]¶ Bases:
autooed.mobo.selection.base.Selection
Directly use candidate designs as selected designs.
-
_select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select new samples from the solution obtained by solver.
Parameters: - X_candidate (np.array) – Candidate design samples (continuous).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (continuous).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (continuous).
Return type: np.array
-
Hypervolume Improvement¶
-
class
autooed.mobo.selection.hvi.
HypervolumeImprovement
(surrogate_model, **kwargs)[source]¶ Bases:
autooed.mobo.selection.base.Selection
Selection based on Hypervolume improvement.
-
_select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select new samples from the solution obtained by solver.
Parameters: - X_candidate (np.array) – Candidate design samples (continuous).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (continuous).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (continuous).
Return type: np.array
-
Random Selection¶
-
class
autooed.mobo.selection.random.
Random
(surrogate_model, **kwargs)[source]¶ Bases:
autooed.mobo.selection.base.Selection
Selection by random sampling.
-
_select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select new samples from the solution obtained by solver.
Parameters: - X_candidate (np.array) – Candidate design samples (continuous).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (continuous).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (continuous).
Return type: np.array
-
Uncertainty¶
-
class
autooed.mobo.selection.uncertainty.
Uncertainty
(surrogate_model, **kwargs)[source]¶ Bases:
autooed.mobo.selection.base.Selection
Selection based on uncertainty.
-
_select
(X_candidate, Y_candidate, X, Y, batch_size)[source]¶ Select new samples from the solution obtained by solver.
Parameters: - X_candidate (np.array) – Candidate design samples (continuous).
- Y_candidate (np.array) – Objective values of candidate design samples.
- X (np.array) – Current design samples (continuous).
- Y (np.array) – Objective values of current design samples.
- batch_size (int) – Batch size.
Returns: X_next – Next batch of samples selected (continuous).
Return type: np.array
-