Class WolfeEvolutionVerifier

java.lang.Object
org.drip.function.rdtor1descent.LineEvolutionVerifier
org.drip.function.rdtor1descent.WolfeEvolutionVerifier

public class WolfeEvolutionVerifier
extends LineEvolutionVerifier
WolfeEvolutionVerifier implements the Wolfe Criterion used for the Inexact Line Search Increment Generation. The References are:

  • Armijo, L. (1966): Minimization of Functions having Lipschitz-Continuous First Partial Derivatives Pacific Journal of Mathematics 16 (1) 1-3
  • Nocedal, J., and S. Wright (1999): Numerical Optimization Wiley
  • Wolfe, P. (1969): Convergence Conditions for Ascent Methods SIAM Review 11 (2) 226-235
  • Wolfe, P. (1971): Convergence Conditions for Ascent Methods; II: Some Corrections SIAM Review 13 (2) 185-188


Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    WolfeEvolutionVerifier​(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion)
    WolfeEvolutionVerifier Constructor
  • Method Summary

    Modifier and Type Method Description
    double armijoParameter()
    Retrieve the Armijo Parameter
    double curvatureParameter()
    Retrieve the Curvature Parameter
    boolean maximizerCheck()
    Indicate if the Check is for Minimizer/Maximizer
    LineEvolutionVerifierMetrics metrics​(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
    Generate the Verifier Metrics for the Specified Inputs
    static WolfeEvolutionVerifier NocedalWrightStandard​(boolean maximizerCheck, boolean strongCurvatureCriterion)
    Construct the Nocedal-Wright Wolfe Evolution Verifier
    boolean strongCurvatureCriterion()
    Retrieve Whether of not the "Strong" Curvature Criterion needs to be met

    Methods inherited from class org.drip.function.rdtor1descent.LineEvolutionVerifier

    verify

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WolfeEvolutionVerifier

      public WolfeEvolutionVerifier​(double armijoParameter, boolean maximizerCheck, double curvatureParameter, boolean strongCurvatureCriterion) throws java.lang.Exception
      WolfeEvolutionVerifier Constructor
      Parameters:
      armijoParameter - The Armijo Criterion Parameter
      maximizerCheck - TRUE - Perform a Check for the Function Maxima
      curvatureParameter - The Curvature Parameter
      strongCurvatureCriterion - TRUE - Apply the Strong Curvature Criterion
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • NocedalWrightStandard

      public static final WolfeEvolutionVerifier NocedalWrightStandard​(boolean maximizerCheck, boolean strongCurvatureCriterion)
      Construct the Nocedal-Wright Wolfe Evolution Verifier
      Parameters:
      maximizerCheck - TRUE - Perform a Check for the Function Maxima
      strongCurvatureCriterion - TRUE - Apply the Strong Curvature Criterion
      Returns:
      The Nocedal-Wright Wolfe Evolution Verifier Instance
    • armijoParameter

      public double armijoParameter()
      Retrieve the Armijo Parameter
      Returns:
      The Armijo Parameter
    • maximizerCheck

      public boolean maximizerCheck()
      Indicate if the Check is for Minimizer/Maximizer
      Returns:
      TRUE - The Check is for Maximizer
    • curvatureParameter

      public double curvatureParameter()
      Retrieve the Curvature Parameter
      Returns:
      The Curvature Parameter
    • strongCurvatureCriterion

      public boolean strongCurvatureCriterion()
      Retrieve Whether of not the "Strong" Curvature Criterion needs to be met
      Returns:
      TRUE - The "Strong" Curvature Criterion needs to be met
    • metrics

      public LineEvolutionVerifierMetrics metrics​(UnitVector targetDirectionUnitVector, double[] currentVariateArray, RdToR1 multivariateFunction, double stepLength)
      Description copied from class: LineEvolutionVerifier
      Generate the Verifier Metrics for the Specified Inputs
      Specified by:
      metrics in class LineEvolutionVerifier
      Parameters:
      targetDirectionUnitVector - The Target Direction Unit Vector
      currentVariateArray - The Current Variate
      multivariateFunction - The Rd To R1 Function
      stepLength - The Incremental Step Length
      Returns:
      The Verifier Metrics