smif.optimisation module

Implements the interface to optimization functionality

This module defines an OptimizerTemplate which lays out the fundamental steps of any optimization algorithm. To implement your own algorithm, create a child class which inherits OptimizerTemplate and implement the methods.

Summary

Classes:

OptimizerTemplate

Reference

class smif.optimisation.OptimizerTemplate[source]

Bases: abc.ABC

initialize(available_interventions)[source]

Setup the optimization problem

Parameters:available_interventions (int) – The number of dimensions
optimization_function

The function which will be minimized by the algorithm

The optimization function should return a scalar and accept a vector of binary decision variables

results

The results from a successful optimization

run()[source]

Override to implement an optimization algorithm

The optimization algorithm should return the optimal decision vector and objective function