UnconstrainedOptimizationAlgorithm#

class pybrops.opt.algo.UnconstrainedOptimizationAlgorithm.UnconstrainedOptimizationAlgorithm(**kwargs)[source]#

Bases: object

An abstract class for optimization algorithms.

The purpose of this abstract class is to provide functionality for:
  1. Optimization of objective functions.

Constructor for the abstract class OptimizationAlgorithm.

Parameters:

kwargs (dict) – Additional keyword arguments.

Methods

optimize

Optimize an objective function.

optimize(objfn, k, sspace, objfn_wt, **kwargs)[source]#

Optimize an objective function.

Parameters:
  • objfn (callable) – Objective function which to optimize.

  • k (int) – Number of decision variables in the search space. A vector is formed as sspace^k

  • sspace (numpy.ndarray) – Search space that the OptimizationAlgorithm searches in.

  • objfn_wt (numpy.ndarray) – Weight(s) applied to output(s) from the objfn.

  • kwargs (dict) – Additional keyword arguments

Returns:

out – A tuple of length 3 (soln, decn, misc)

Return type:

tuple