#include <IpLineSearch.hpp>
Public Member Functions | |
virtual void | FindAcceptableTrialPoint ()=0 |
Perform the line search. | |
virtual void | Reset ()=0 |
Reset the line search. | |
virtual void | SetRigorousLineSearch (bool rigorous)=0 |
Set flag indicating whether a very rigorous line search should be performed. | |
virtual bool | CheckSkippedLineSearch ()=0 |
Check if the line search procedure didn't accept a new iterate during the last call of FindAcceptableTrialPoint(). | |
virtual bool | ActivateFallbackMechanism ()=0 |
This method should be called if the optimization process requires the line search object to switch to some fallback mechanism (like the restoration phase), when the regular optimization procedure cannot be continued (for example, because the search direction could not be computed). | |
Constructors/Destructors | |
LineSearch () | |
Default Constructor. | |
virtual | ~LineSearch () |
Default destructor. |
LineSearch | ( | ) | [inline] |
Default Constructor.
virtual ~LineSearch | ( | ) | [inline, virtual] |
Default destructor.
virtual void FindAcceptableTrialPoint | ( | ) | [pure virtual] |
Perform the line search.
As search direction the delta in the data object is used
Implemented in BacktrackingLineSearch.
virtual void Reset | ( | ) | [pure virtual] |
Reset the line search.
This function should be called if all previous information should be discarded when the line search is performed the next time. For example, this method should be called after the barrier parameter is changed.
Implemented in BacktrackingLineSearch.
virtual void SetRigorousLineSearch | ( | bool | rigorous | ) | [pure virtual] |
Set flag indicating whether a very rigorous line search should be performed.
If this flag is set to true, the line search algorithm might decide to abort the line search and not to accept a new iterate. If the line search decided not to accept a new iterate, the return value of CheckSkippedLineSearch() is true at the next call. For example, in the non-monotone barrier parameter update procedure, the filter algorithm should not switch to the restoration phase in the free mode; instead, the algorithm should swtich to the fixed mode.
Implemented in BacktrackingLineSearch.
virtual bool CheckSkippedLineSearch | ( | ) | [pure virtual] |
Check if the line search procedure didn't accept a new iterate during the last call of FindAcceptableTrialPoint().
Implemented in BacktrackingLineSearch.
virtual bool ActivateFallbackMechanism | ( | ) | [pure virtual] |
This method should be called if the optimization process requires the line search object to switch to some fallback mechanism (like the restoration phase), when the regular optimization procedure cannot be continued (for example, because the search direction could not be computed).
This will cause the line search object to immediately proceed with this mechanism when FindAcceptableTrialPoint() is call. This method returns false if no fallback mechanism is available.
Implemented in BacktrackingLineSearch.