Base class for line search objects. More...
#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. | |
Private Member Functions | |
Default Compiler Generated Methods | |
LineSearch (const LineSearch &) | |
Copy Constructor. | |
void | operator= (const LineSearch &) |
Overloaded Equals Operator. |
Base class for line search objects.
Definition at line 20 of file IpLineSearch.hpp.
Ipopt::LineSearch::LineSearch | ( | ) | [inline] |
Default Constructor.
Definition at line 26 of file IpLineSearch.hpp.
virtual Ipopt::LineSearch::~LineSearch | ( | ) | [inline, virtual] |
Default destructor.
Definition at line 30 of file IpLineSearch.hpp.
Ipopt::LineSearch::LineSearch | ( | const LineSearch & | ) | [private] |
Copy Constructor.
virtual void Ipopt::LineSearch::FindAcceptableTrialPoint | ( | ) | [pure virtual] |
Perform the line search.
As search direction the delta in the data object is used
Implemented in Ipopt::BacktrackingLineSearch.
virtual void Ipopt::LineSearch::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 Ipopt::BacktrackingLineSearch.
virtual void Ipopt::LineSearch::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 Ipopt::BacktrackingLineSearch.
virtual bool Ipopt::LineSearch::CheckSkippedLineSearch | ( | ) | [pure virtual] |
Check if the line search procedure didn't accept a new iterate during the last call of FindAcceptableTrialPoint().
Implemented in Ipopt::BacktrackingLineSearch.
virtual bool Ipopt::LineSearch::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 Ipopt::BacktrackingLineSearch.
void Ipopt::LineSearch::operator= | ( | const LineSearch & | ) | [private] |
Overloaded Equals Operator.
Reimplemented from Ipopt::AlgorithmStrategyObject.
Reimplemented in Ipopt::BacktrackingLineSearch.