Optimisation

Contains the implementations for the optimisation methods

Implements the supported optimisation methods.

class calisim.optimisation.implementation.OptimisationMethod(calibration_func: Callable, specification: OptimisationMethodModel, engine: str = 'optuna', implementation: type[CalibrationWorkflowBase] | CalibrationWorkflowBase | None = None)[source]

The optimisation method class.

pydantic model calisim.optimisation.implementation.OptimisationMethodModel[source]

The optimisation method data model.

Parameters:

BaseModel (CalibrationModel) – The calibration base model class.

Config:
  • arbitrary_types_allowed: bool = True

  • protected_namespaces: tuple = ()

Fields:
field acquisition_func: str | None = 'ei'

The acquisition function for Bayesian optimisation

field directions: list[str] | None = ['minimize']

The list of objective directions

field use_saasbo: bool = False

Enable Sparse Axis-Aligned Subspace Bayesian Optimization

calisim.optimisation.implementation.get_implementations() dict[str, str][source]

Get the calibration implementations for optimisation.

Returns:

The dictionary of calibration implementations for optimisation.

Return type:

Dict[str, type[CalibrationWorkflowBase]]

BoTorch

Contains the implementations for optimisation methods using BoTorch

Implements Bayesian optimisation methods using the BoTorch library.

class calisim.optimisation.botorch_wrapper.BoTorchOptimisation(calibration_func: Callable, specification: CalibrationModel, task: str)[source]

The BoTorchOptimisation optimisation method class.

analyze() None[source]

Analyze the results of the simulation calibration procedure.

execute() None[source]

Execute the simulation calibration procedure.

specify() None[source]

Specify the parameters of the model calibration procedure.

Emukit

Contains the implementations for optimisation methods using Emukit

Implements the supported optimisation methods using the Emukit library.

class calisim.optimisation.emukit_wrapper.EmukitOptimisation(calibration_func: Callable, specification: CalibrationModel, task: str)[source]

The Emukit optimisation method class.

analyze() None[source]

Analyze the results of the simulation calibration procedure.

execute() None[source]

Execute the simulation calibration procedure.

OpenTurns

Contains the implementations for optimisation methods using OpenTurns

Implements the supported optimisation methods using the OpenTurns library.

class calisim.optimisation.openturns_wrapper.OpenTurnsOptimisation(calibration_func: Callable, specification: CalibrationModel, task: str)[source]

The OpenTurns optimisation method class.

analyze() None[source]

Analyze the results of the simulation calibration procedure.

execute() None[source]

Execute the simulation calibration procedure.

Optuna

Contains the implementations for optimisation methods using Optuna

Implements the supported optimisation methods using the Optuna library.

class calisim.optimisation.optuna_wrapper.OptunaOptimisation(calibration_func: Callable, specification: CalibrationModel, task: str)[source]

The Optuna optimisation method class.

analyze() None[source]

Analyze the results of the simulation calibration procedure.

execute() None[source]

Execute the simulation calibration procedure.

specify() None[source]

Specify the parameters of the model calibration procedure.