# Ipopt::LineSearch Class Reference

Base class for line search objects. More...

`#include <IpLineSearch.hpp>`

Inheritance diagram for Ipopt::LineSearch:
[legend]

List of all members.

## 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
(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 &)
| Overloaded Equals Operator.

## Detailed Description

Base class for line search objects.

Definition at line 20 of file IpLineSearch.hpp.

## Constructor & Destructor Documentation

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.

## Member Function Documentation

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.

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

- src/Algorithm/IpLineSearch.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines