Skip to content

ArchSBO API Reference

Installation and usage

sb_arch_opt.algo.arch_sbo.api.get_arch_sbo_gp(problem: ArchOptProblemBase, init_size: int = 100, n_parallel=None, min_pof: float = None, kpls_n_dim: int = 10, g_aggregation: ConstraintAggregation = None, results_folder=None, **kwargs) -> InfillAlgorithm

Get an architecture SBO algorithm using a mixed-discrete Gaussian Process (Kriging) model as its surrogate model. Appropriate (multi-objective) infills and constraint handling techniques are automatically selected.

For constraint handling, increase min_pof to between 0.50 and 0.75 to be more conservative (i.e. require a higher probability of being feasible for infill points) or decrease below 0.50 to be more exploratory. Optionally defined an aggregation strategy to reduce the number of models to train.

To reduce model training times for high-dimensional problems, KPLS is used instead of Kriging when the problem dimension exceeds kpls_n_dim. Note that the DoE should then contain at least kpls_n_dim+1 points.

sb_arch_opt.algo.arch_sbo.api.get_arch_sbo_rbf(init_size: int = 100, results_folder=None, **kwargs) -> InfillAlgorithm

Get a architecture SBO algorithm using an RBF model as its surrogate model.

sb_arch_opt.algo.arch_sbo.algo.InfillAlgorithm(infill: InfillCriterion, infill_size=None, init_sampling: Sampling = None, init_size=100, survival: Survival = None, output=EHVMultiObjectiveOutput(), **kwargs)

Algorithm that simpy uses some InfillCriterion to get infill points. The algorithm is compatible with the ask-tell interface.

store_intermediate_results(results_folder: str)

Enable intermediate results storage to support restarting

initialize_from_previous_results(problem: ArchOptProblemBase, result_folder: str) -> bool

Initialize the SBO algorithm from previously stored results

sb_arch_opt.algo.arch_sbo.api.get_sbo(surrogate_model, infill: SurrogateInfill, infill_size: int = 1, init_size: int = 100, infill_pop_size: int = 100, infill_gens: int = None, repair=None, normalization=None, hc_strategy: HiddenConstraintStrategy = None, results_folder=None, **kwargs) -> InfillAlgorithm

Create the SBO algorithm given some SMT surrogate model and an infill criterion