Multi-Objective Solvers¶
Base Class¶
-
class
autooed.mobo.solver.base.
Solver
(problem, **kwargs)[source]¶ Bases:
abc.ABC
Base class of multi-objective solver.
-
abstract
_solve
(X, Y)[source]¶ Solve the multi-objective problem and propose a batch of candidates.
Parameters: X (np.array) – Current design variables (continuous). Returns: - X_candidate (np.array) – Proposed candidate design variables (continuous).
- Y_candidate (np.array) – Objective values of proposed candidate designs.
-
solve
(X, Y, batch_size, acquisition)[source]¶ Solve the multi-objective problem and propose a batch of candidates.
Parameters: - X (np.array) – Current design variables (raw).
- batch_size (int) – Size of the candidate batch.
Returns: - X_candidate (np.array) – Proposed candidate design variables (raw).
- Y_candidate (np.array) – Objective values of proposed candidate designs.
-
abstract
NSGA-II¶
-
class
autooed.mobo.solver.nsga2.
NSGA2
(problem, n_gen=200, pop_size=200, **kwargs)[source]¶ Bases:
autooed.mobo.solver.base.Solver
Solver based on NSGA-II.
-
_solve
(X, Y, batch_size)[source]¶ Solve the multi-objective problem and propose a batch of candidates.
Parameters: X (np.array) – Current design variables (continuous). Returns: - X_candidate (np.array) – Proposed candidate design variables (continuous).
- Y_candidate (np.array) – Objective values of proposed candidate designs.
-
MOEA/D¶
-
class
autooed.mobo.solver.moead.
MOEAD
(problem, n_gen=100, pop_size=100, **kwargs)[source]¶ Bases:
autooed.mobo.solver.base.Solver
Solver based on MOEA/D in MOEA/D-EGO. NOTE: only compatible with Direct selection.
-
_solve
(X, Y, batch_size)[source]¶ Solve the multi-objective problem and propose a batch of candidates.
Parameters: X (np.array) – Current design variables (continuous). Returns: - X_candidate (np.array) – Proposed candidate design variables (continuous).
- Y_candidate (np.array) – Objective values of proposed candidate designs.
-
ParEGO¶
-
class
autooed.mobo.solver.parego.parego.
ParEGO
(problem, n_process=2, **kwargs)[source]¶ Bases:
autooed.mobo.solver.base.Solver
Solver based on ParEGO. NOTE: only compatible with Direct selection.
ParetoFrontDiscovery¶
-
class
autooed.mobo.solver.pareto_discovery.pareto_discovery.
ParetoDiscovery
(problem, n_gen=10, pop_size=100, n_process=2, **kwargs)[source]¶ Bases:
autooed.mobo.solver.base.Solver
Solver based on ParetoDiscovery [Schulz et al. 2018]. NOTE: only compatible with direct selection.
-
_solve
(X, Y, batch_size)[source]¶ Solve the multi-objective problem and propose a batch of candidates.
Parameters: X (np.array) – Current design variables (continuous). Returns: - X_candidate (np.array) – Proposed candidate design variables (continuous).
- Y_candidate (np.array) – Objective values of proposed candidate designs.
-