Optimization (relentless.optimize)#

Objectives#

RelativeEntropy(target, simulation, ...[, ...])

Relative entropy.

Algorithms#

SteepestDescent(stop, max_iter, step_size[, ...])

Steepest descent algorithm.

FixedStepDescent(stop, max_iter, step_size)

Fixed-step steepest descent algorithm.

LineSearch(tolerance, max_iter)

Line search algorithm

Convergence criteria#

Tolerance(absolute, relative)

Tolerance for convergence tests.

ValueTest(value[, absolute, relative])

Value test for convergence.

GradientTest(tolerance, variables)

Gradient test for convergence using absolute tolerance.

AllTest(*tests)

Logic test if all specified tests return convergence.

AndTest(a, b)

Logic test if both specified tests return convergence.

AnyTest(*tests)

Logic test if any specified test returns convergence.

OrTest(a, b)

Logic test if either of the specified tests return convergence.

Developer classes#

ObjectiveFunction()

Abstract base class for the optimization objective function.

ObjectiveFunctionResult([variables, value, ...])

Class storing the value and gradient of a ObjectiveFunction.

Optimizer(stop)

Abstract base class for optimization algorithm.

ConvergenceTest()

Abstract base class for optimization convergence tests.

LogicTest(*tests)

Abstract base class for logical convergence tests.