Package pulse.search.direction
Class SteepestDescentOptimiser
- java.lang.Object
-
- pulse.util.UpwardsNavigable
-
- pulse.util.Group
-
- pulse.util.Accessible
-
- pulse.util.PropertyHolder
-
- pulse.search.direction.PathOptimiser
-
- pulse.search.direction.GradientBasedOptimiser
-
- pulse.search.direction.CompositePathOptimiser
-
- pulse.search.direction.SteepestDescentOptimiser
-
- All Implemented Interfaces:
Serializable,Descriptive,Reflexive
public class SteepestDescentOptimiser extends CompositePathOptimiser
The simplest possiblePathSolver, which assumes that the minimum direction coincides with the inverted gradient. Used in combination with theGoldenSectionSolverfor increased accuracy.- See Also:
GoldenSectionOptimiser, Wikipedia page, Serialized Form
-
-
Field Summary
-
Fields inherited from class pulse.search.direction.CompositePathOptimiser
EPS, MAX_FAILED_ATTEMPTS
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SteepestDescentOptimisergetInstance()This class uses a singleton pattern, meaning there is only instance of this class.GradientGuidedPathinitState(GeneralTask t)Creates a newPathinstance for storing the gradient, direction, and minimum point for thisPathSolver.voidprepare(GeneralTask task)Calculates the gradient value at the end of each step.StringtoString()-
Methods inherited from class pulse.search.direction.CompositePathOptimiser
getLinearOptimiserDescriptor, getLinearSolver, iteration, listedTypes, setLinearSolver
-
Methods inherited from class pulse.search.direction.GradientBasedOptimiser
dx, getGradientResolution, getGradientStep, gradient, listedKeywords, reset, set, setGradientResolution
-
Methods inherited from class pulse.search.direction.PathOptimiser
compatibleWith, genericProperties, getErrorTolerance, getMaxIterations, getSolver, ignoreSiblings, setErrorTolerance, setInstance, setMaxIterations, setSolver, update
-
Methods inherited from class pulse.util.PropertyHolder
addListener, areDetailsHidden, data, describe, firePropertyChanged, getDescriptor, getListeners, getPrefix, initListeners, isListedNumericType, isListedParameter, numericData, parameterListChanged, removeListeners, setPrefix, updateProperties, updateProperty
-
Methods inherited from class pulse.util.Accessible
accessibleChildren, genericProperty, numericProperties, numericProperty, property, update
-
Methods inherited from class pulse.util.UpwardsNavigable
addHierarchyListener, getHierarchyListeners, getParent, identify, removeHierarchyListener, removeHierarchyListeners, setParent, specificAncestor, tellParent
-
-
-
-
Method Detail
-
prepare
public void prepare(GeneralTask task) throws SolverException
Calculates the gradient value at the end of each step.- Specified by:
preparein classPathOptimiser- Parameters:
task- theSearchTaskundergoing optimisation- Throws:
SolverException
-
toString
public String toString()
- Overrides:
toStringin classPathOptimiser
-
getInstance
public static SteepestDescentOptimiser getInstance()
This class uses a singleton pattern, meaning there is only instance of this class.- Returns:
- the single (static) instance of this class
-
initState
public GradientGuidedPath initState(GeneralTask t)
Creates a newPathinstance for storing the gradient, direction, and minimum point for thisPathSolver.- Overrides:
initStatein classCompositePathOptimiser- Parameters:
t- the search task- Returns:
- a
Pathinstance
-
-