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 () |
Destructor. | |
Public Member Functions inherited from Ipopt::AlgorithmStrategyObject | |
bool | Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix) |
This method is called every time the algorithm starts again - it is used to reset any internal state. | |
bool | ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Reduced version of the Initialize method, which does not require special Ipopt information. | |
AlgorithmStrategyObject () | |
Default Constructor. | |
virtual | ~AlgorithmStrategyObject () |
Destructor. | |
Public Member Functions inherited from Ipopt::ReferencedObject | |
ReferencedObject () | |
virtual | ~ReferencedObject () |
Index | ReferenceCount () const |
void | AddRef (const Referencer *referencer) const |
void | ReleaseRef (const Referencer *referencer) const |
Private Member Functions | |
Default Compiler Generated Methods | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
LineSearch (const LineSearch &) | |
Copy Constructor. | |
void | operator= (const LineSearch &) |
Additional Inherited Members | |
Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject | |
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)=0 |
Implementation of the initialization method that has to be overloaded by for each derived class. | |
const Journalist & | Jnlst () const |
IpoptNLP & | IpNLP () const |
IpoptData & | IpData () const |
IpoptCalculatedQuantities & | IpCq () const |
bool | HaveIpData () const |
Base class for line search objects.
Definition at line 17 of file IpLineSearch.hpp.
|
inline |
Default Constructor.
Definition at line 23 of file IpLineSearch.hpp.
|
inlinevirtual |
Destructor.
Definition at line 27 of file IpLineSearch.hpp.
|
private |
Copy Constructor.
Perform the line search.
As search direction the delta in the data object is used.
Implemented in Ipopt::BacktrackingLineSearch.
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.
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 switch to the fixed mode.
Implemented in Ipopt::BacktrackingLineSearch.
Check if the line search procedure didn't accept a new iterate during the last call of FindAcceptableTrialPoint().
Implemented in Ipopt::BacktrackingLineSearch.
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.
Implemented in Ipopt::BacktrackingLineSearch.
|
private |