SortingSteepestDescentSubsetHillClimber#

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

Bases: SubsetOptimizationAlgorithm

A variant on the steepest descent hill climber for subset search spaces. The hillclimber first tests each element in the decision space, identifies the best decision space variables, then iteratively improves the solution using a steepest descent algorithm to improve the score if any contraint violations exist.

The initial sorting component of the algorithm assumes a convex search space where decision variables are additive.

Constructor for a steepest ascent hillclimber capable of handling constraints.

Parameters:
  • rng

  • kwargs (dict) – Additional keyword arguments used for cooperative inheritance.

Methods

minimize

Minimize an optimization problem.

minimize(prob, miscout=None, **kwargs)[source]#

Minimize an optimization problem.

Parameters:
  • prob (SetProblem) – A problem definition object on which to optimize.

  • miscout (dict) – Miscellaneous output from the constrained optimizaiont algorithm.

  • kwargs (dict) – Additional keyword arguments

Returns:

out – An object containing the solution to the provided problem.

Return type:

SubsetSolution