Components¶
Below is a brief introduction to the most important components of the code to orientate first-time users. GloMPO is implemented in a modular way such that all decision criteria are customizable.
Note
If a module is not mentioned below, then its contents is probably not intended to be used directly by users.
core
This module contains the most important GloMPO components:
manager.py
Contains
GloMPOManager
the primary point of entry into the code. The manager performs the optimization, accepts all settings, and produces all the output.checkpointing.py
Contains
CheckpointingControl
which configures GloMPO’s ability to save a snapshot of itself during an optimization from which it can resume later.function.py
An API template for the optimization task from which it may, but need not, inherit.
optimizerlogger.py
Contains classes used to record optimizations in memory and save them to file. Users should not need to work with these classes directly
opt_selectors
Each file contains a different
BaseSelector
child-class. These objects decide which optimizer configuration to start from a list of options.optimizers
Each file contains a different
BaseOptimizer
child-class. These are implementations or wrappers around actual optimization algorithms.generators
Each file contains a different
BaseGenerator
child-class. These are algorithms which decide where optimizers are started within the search domain.exitconditions
Each file contains a different
BaseExitCondition
child-class. These are simple conditions which control GloMPO’s overall termination conditions.stoppers
Each file contains a different
BaseStopper
child-class. These are termination conditions which, if satisfied, will get GloMPO to trigger an early termination of a particular optimizer.analysis
Module containing classes related to parameter sensitivity analysis
hsic.py
Contains the class
HSIC
to compute new results andHSICResult
to load previous ones.kernels.py
Contains the kernels needed for the HSIC calculation. Users can use
BaseKernel
to implement their own kernels.