Trust Region Step Evaluation
This module provides the machinery to evaluate different trust-region( -reflective) step proposals and select among them based on to their performance according to the quadratic approximation of the objective function
Functions Summary
|
Compute a step according to the solution of the trust-region subproblem. |
Functions
- fides.trust_region.trust_region(x, g, hess, scaling, delta, dv, theta, lb, ub, subspace_dim, stepback_strategy, logger)[source]
Compute a step according to the solution of the trust-region subproblem. If step-back is necessary, gradient and reflected trust region step are also evaluated in terms of their performance according to the local quadratic approximation
- Parameters
x (
numpy.ndarray
) – Current values of the optimization variablesg (
numpy.ndarray
) – Objective function gradient at xhess (
numpy.ndarray
) – (Approximate) objective function Hessian at xscaling (
scipy.sparse.csc.csc_matrix
) – Scaling transformation according to distance to boundarydelta (
float
) – Trust region radius, note that this applies after scaling transformationdv (
numpy.ndarray
) – derivative of scaling transformationtheta (
float
) – parameter regulating stepbacklb (
numpy.ndarray
) – lower optimization variable boundariesub (
numpy.ndarray
) – upper optimization variable boundariessubspace_dim (
fides.constants.SubSpaceDim
) – Subspace dimension in which the subproblem will be solved. Larger subspaces require more compute time but can yield higher quality step proposals.stepback_strategy (
fides.constants.StepBackStrategy
) – Strategy that is applied when the proposed step exceeds the optimization boundary.logger (
logging.Logger
) – logging.Logger instance to be used for logging
- Return type
fides.steps.Step
- Returns
s: proposed step,