Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::LineSearch Class Referenceabstract

Base class for line search objects. More...

#include <IpLineSearch.hpp>

+ Inheritance diagram for Ipopt::LineSearch:

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 JournalistJnlst () const
 
IpoptNLPIpNLP () const
 
IpoptDataIpData () const
 
IpoptCalculatedQuantitiesIpCq () const
 
bool HaveIpData () const
 

Detailed Description

Base class for line search objects.

Definition at line 17 of file IpLineSearch.hpp.

Constructor & Destructor Documentation

◆ LineSearch() [1/2]

Ipopt::LineSearch::LineSearch ( )
inline

Default Constructor.

Definition at line 23 of file IpLineSearch.hpp.

◆ ~LineSearch()

virtual Ipopt::LineSearch::~LineSearch ( )
inlinevirtual

Destructor.

Definition at line 27 of file IpLineSearch.hpp.

◆ LineSearch() [2/2]

Ipopt::LineSearch::LineSearch ( const LineSearch )
private

Copy Constructor.

Member Function Documentation

◆ FindAcceptableTrialPoint()

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.

◆ Reset()

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.

◆ SetRigorousLineSearch()

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 switch to the fixed mode.

Implemented in Ipopt::BacktrackingLineSearch.

◆ CheckSkippedLineSearch()

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.

◆ ActivateFallbackMechanism()

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.

Returns
false, if no fallback mechanism is available.

Implemented in Ipopt::BacktrackingLineSearch.

◆ operator=()

void Ipopt::LineSearch::operator= ( const LineSearch )
private

The documentation for this class was generated from the following file: