Class CompositePathOptimiser
- 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
 
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- Serializable,- Descriptive,- Reflexive
 - Direct Known Subclasses:
- BFGSOptimiser,- SR1Optimiser,- SteepestDescentOptimiser
 
 public abstract class CompositePathOptimiser extends GradientBasedOptimiser - See Also:
- Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description static doubleEPSFor numerical comparison.static intMAX_FAILED_ATTEMPTSMaximum number of consequent failed iterations that can be rejected.
 - 
Constructor SummaryConstructors Constructor Description CompositePathOptimiser()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description InstanceDescriptor<? extends LinearOptimiser>getLinearOptimiserDescriptor()LinearOptimisergetLinearSolver()GradientGuidedPathinitState(GeneralTask t)Creates a newPathinstance for storing the gradient, direction, and minimum point for thisPathSolver.booleaniteration(GeneralTask task)This method sets out the basic algorithm for estimating the minimum of the target function, which is defined as the sum of squared residuals (SSR), or the deviations of the model solution (aDifferenceSchemeused to solve theProblemfor thistask) from the empirical values (theExperimentalData).List<Property>listedTypes()By default, collects a list of default properties corresponding to types defined by listedKeywords().voidsetLinearSolver(LinearOptimiser linearSearch)Assigns aLinearSolverto thisPathSolverand sets this object as its parent.- 
Methods inherited from class pulse.search.direction.GradientBasedOptimiserdx, getGradientResolution, getGradientStep, gradient, listedKeywords, reset, set, setGradientResolution
 - 
Methods inherited from class pulse.search.direction.PathOptimisercompatibleWith, genericProperties, getErrorTolerance, getInstance, getMaxIterations, getSolver, ignoreSiblings, prepare, setErrorTolerance, setInstance, setMaxIterations, setSolver, toString, update
 - 
Methods inherited from class pulse.util.PropertyHolderaddListener, areDetailsHidden, data, describe, firePropertyChanged, getDescriptor, getListeners, getPrefix, initListeners, isListedNumericType, isListedParameter, numericData, parameterListChanged, removeListeners, setPrefix, updateProperties, updateProperty
 - 
Methods inherited from class pulse.util.AccessibleaccessibleChildren, genericProperty, numericProperties, numericProperty, property, update
 - 
Methods inherited from class pulse.util.UpwardsNavigableaddHierarchyListener, getHierarchyListeners, getParent, identify, removeHierarchyListener, removeHierarchyListeners, setParent, specificAncestor, tellParent
 
- 
 
- 
- 
- 
Field Detail- 
MAX_FAILED_ATTEMPTSpublic static final int MAX_FAILED_ATTEMPTS Maximum number of consequent failed iterations that can be rejected. Up to 2 failed attempts are allowed.- See Also:
- Constant Field Values
 
 - 
EPSpublic static final double EPS For numerical comparison.- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
iterationpublic boolean iteration(GeneralTask task) throws SolverException Description copied from class:PathOptimiserThis method sets out the basic algorithm for estimating the minimum of the target function, which is defined as the sum of squared residuals (SSR), or the deviations of the model solution (a DifferenceSchemeused to solve theProblemfor thistask) from the empirical values (theExperimentalData). The algorithm will go through the following steps: (1) find the direction, which points to the minimum, using the concretedirectionmethod; (2) estimate the magnitude of the step to reach the minimum using theLinearSolver; (3) assign a new set of parameters to theSearchTask; (4) calculate the new SSR value.- Specified by:
- iterationin class- PathOptimiser
- Parameters:
- task- a- SearchTaskthat needs to be driven to a minimum of SSR.
- Returns:
- the SSR value with the newly found parameters.
- Throws:
- SolverException
- See Also:
- direction(Path),- LinearOptimiser
 
 - 
getLinearSolverpublic LinearOptimiser getLinearSolver() 
 - 
setLinearSolverpublic void setLinearSolver(LinearOptimiser linearSearch) Assigns aLinearSolverto thisPathSolverand sets this object as its parent.- Parameters:
- linearSearch- a- LinearSolver
 
 - 
getLinearOptimiserDescriptorpublic InstanceDescriptor<? extends LinearOptimiser> getLinearOptimiserDescriptor() 
 - 
listedTypespublic List<Property> listedTypes() Description copied from class:PropertyHolderBy default, collects a list of default properties corresponding to types defined by listedKeywords(). However, this method is overridable to include non-numeric properties. - Overrides:
- listedTypesin class- PropertyHolder
- Returns:
- a list of Propertyinstances, which have been explicitly marked as a listed parameter for thisPropertyHolder.
 
 - 
initStatepublic GradientGuidedPath initState(GeneralTask t) Creates a newPathinstance for storing the gradient, direction, and minimum point for thisPathSolver.- Specified by:
- initStatein class- PathOptimiser
- Parameters:
- t- the search task
- Returns:
- a Pathinstance
 
 
- 
 
-