Selection Criteria¶
Base Class¶
-
class
autooed.mobo.selection.base.Selection(surrogate_model, **kwargs)[source]¶ Bases:
abc.ABCBase 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.SelectionDirectly 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.SelectionSelection 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.SelectionSelection 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.SelectionSelection 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
-