

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
java.lang.Object gov.sandia.cognition.util.AbstractCloneableSerializable gov.sandia.cognition.learning.algorithm.minimization.line.WolfeConditions
@PublicationReferences(references={@PublicationReference(author="R. Fletcher",title="Practical Methods of Optimization, Second Edition",type=Book,year=1987,pages={26,30},notes={"Equation 2.5.1 and Equation 2.5.6","Fletcher assumes the initial point has negative slope."}),@PublicationReference(author="Wikipedia",title="Wolfe conditions",url="http://en.wikipedia.org/wiki/Wolfe_conditions",type=WebPage,year=2008)}) public class WolfeConditions
The Wolfe conditions define a set of sufficient conditions for "sufficient decrease" in inexact line search. These consist of two "anded" conditions: The Goldstein condition specifying sufficient decrease, sometimes called the "Armijo condition", and the curvature condition ensuring that a trial point is sufficiently steep. The Wolfe conditions are sometimes called the "WolfePowell conditions".
Constructor Summary  

WolfeConditions(InputOutputSlopeTriplet originalPoint,
double slopeCondition,
double curvatureCondition)
Creates a new instance of WolfeConditions 

WolfeConditions(WolfeConditions other)
Copy Constructor 
Method Summary  

WolfeConditions 
clone()
This makes public the clone method on the Object class and
removes the exception that it throws. 
boolean 
evaluate(InputOutputSlopeTriplet trialPoint)
Evaluates if the trial point meets the Wolfe conditions 
boolean 
evaluateGoldsteinCondition(InputOutputPair<Double,Double> trialPoint)
Evaluates the Goldstein (Armijo) conditions, which is purely a sufficient decrease condition. 
static boolean 
evaluateGoldsteinCondition(InputOutputSlopeTriplet originalPoint,
InputOutputPair<Double,Double> trialPoint,
double slopeCondition)
Evaluates the Goldstein (Armijo) conditions, which is purely a sufficient decrease condition. 
boolean 
evaluateStrictCurvatureCondition(double trialSlope)
Evaluates the strict curvature condition. 
static boolean 
evaluateStrictCurvatureCondition(double originalSlope,
double trialSlope,
double curvatureCondition)
Evaluates the strict curvature condition. 
double 
getCurvatureCondition()
Getter for curvatureCondition 
InputOutputSlopeTriplet 
getOriginalPoint()
Getter for originalPoint 
double 
getSlopeCondition()
Getter for slopeCondition 
void 
setCurvatureCondition(double curvatureCondition)
Setter for curvatureCondition 
void 
setOriginalPoint(InputOutputSlopeTriplet originalPoint)
Setter for originalPoint 
void 
setSlopeCondition(double slopeCondition)
Setter for slopeCondition 
Methods inherited from class java.lang.Object 

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 

public WolfeConditions(InputOutputSlopeTriplet originalPoint, double slopeCondition, double curvatureCondition)
originalPoint
 Original point to store, slope must be less than 0.0.slopeCondition
 Slope condition parameter for the Goldstein condition, must be less than
curvatureCondition and on the interval (0,1).curvatureCondition
 Curvature condition for the curvature condition, must be greater than
slopeCondition and on the interval (0,1).public WolfeConditions(WolfeConditions other)
other
 WolfeConditions to copyMethod Detail 

public WolfeConditions clone()
AbstractCloneableSerializable
Object
class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone()
to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil
may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone()
as the basis for your implementation.
clone
in interface CloneableSerializable
clone
in class AbstractCloneableSerializable
public boolean evaluate(InputOutputSlopeTriplet trialPoint)
trialPoint
 Trial point to consider
public boolean evaluateGoldsteinCondition(InputOutputPair<Double,Double> trialPoint)
trialPoint
 Trial point to consider.
@PublicationReference(author="R. Fletcher", title="Practical Methods of Optimization, Second Edition", type=Book, year=1987, pages=27, notes="Equation 2.5.1") public static boolean evaluateGoldsteinCondition(InputOutputSlopeTriplet originalPoint, InputOutputPair<Double,Double> trialPoint, double slopeCondition)
originalPoint
 Original point to store, slope must be less than 0.0.trialPoint
 Trial point to consider.slopeCondition
 Slope condition parameter for the Goldstein condition, must be less than
curvatureCondition and on the interval (0,1).
public boolean evaluateStrictCurvatureCondition(double trialSlope)
trialSlope
 Trial slope to consider.
@PublicationReference(author="R. Fletcher", title="Practical Methods of Optimization, Second Edition", type=Book, year=1987, pages=29, notes="Equation 2.5.6") public static boolean evaluateStrictCurvatureCondition(double originalSlope, double trialSlope, double curvatureCondition)
originalSlope
 Slope at the original point.trialSlope
 Trial slope to consider.curvatureCondition
 Curvature condition for the curvature condition, must be greater than
slopeCondition and on the interval (0,1).
public InputOutputSlopeTriplet getOriginalPoint()
public void setOriginalPoint(InputOutputSlopeTriplet originalPoint)
originalPoint
 Original point to store, slope must be less than 0.0.public double getSlopeCondition()
public void setSlopeCondition(double slopeCondition)
slopeCondition
 Slope condition parameter for the Goldstein condition, must be less than
curvatureCondition and on the interval (0,1).public double getCurvatureCondition()
public void setCurvatureCondition(double curvatureCondition)
curvatureCondition
 Curvature condition for the curvature condition, must be greater than
slopeCondition and on the interval (0,1).


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 