- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Ipopt::BacktrackingLSAcceptor Class Reference

Base class for backtracking line search acceptors. More...

`#include <IpBacktrackingLSAcceptor.hpp>`

Inheritance diagram for Ipopt::BacktrackingLSAcceptor:

[legend]
Collaboration diagram for Ipopt::BacktrackingLSAcceptor:

[legend]
List of all members.

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)=0
| InitializeImpl - overloaded from AlgorithmStrategyObject.
virtual void | Reset ()=0
| Reset the acceptor.
virtual void | InitThisLineSearch (bool in_watchdog)=0
| Initialization for the next line search.
virtual void | PrepareRestoPhaseStart ()=0
| Method that is called before the restoration phase is called.
virtual Number | CalculateAlphaMin ()=0
| Method returning the lower bound on the trial step sizes.
virtual bool | CheckAcceptabilityOfTrialPoint (Number alpha_primal)=0
| Method for checking if current trial point is acceptable.
virtual bool | TrySecondOrderCorrection (Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)=0
| Try a second order correction for the constraints.
virtual bool | TryCorrector (Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)=0
| Try higher order corrector (for fast local convergence).
virtual char | UpdateForNextIteration (Number alpha_primal_test)=0
| Method for ending the current line search.
virtual void | StartWatchDog ()=0
| Method for setting internal data if the watchdog procedure is started.
virtual void | StopWatchDog ()=0
| Method for setting internal data if the watchdog procedure is stopped.
Constructors/Destructors
| BacktrackingLSAcceptor ()
| Constructor.
virtual | ~BacktrackingLSAcceptor ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for OptionsList.
## 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.
| BacktrackingLSAcceptor (const BacktrackingLSAcceptor &)
| Copy Constructor.
void | operator= (const BacktrackingLSAcceptor &)
| Overloaded Equals Operator.

## Detailed Description

Base class for backtracking line search acceptors.

Definition at line 21 of file IpBacktrackingLSAcceptor.hpp.

## Constructor & Destructor Documentation

Ipopt::BacktrackingLSAcceptor::BacktrackingLSAcceptor | ( |  | ) | `[inline]`

Constructor.

Definition at line 27 of file IpBacktrackingLSAcceptor.hpp.

virtual Ipopt::BacktrackingLSAcceptor::~BacktrackingLSAcceptor | ( |  | ) | `[inline, virtual]`

Default destructor.

Definition at line 31 of file IpBacktrackingLSAcceptor.hpp.

Ipopt::BacktrackingLSAcceptor::BacktrackingLSAcceptor | ( | const BacktrackingLSAcceptor & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

virtual bool Ipopt::BacktrackingLSAcceptor::InitializeImpl | ( | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[pure virtual]`

InitializeImpl - overloaded from AlgorithmStrategyObject.

Implements Ipopt::AlgorithmStrategyObject.

Implemented in Ipopt::FilterLSAcceptor.

virtual void Ipopt::BacktrackingLSAcceptor::Reset | ( |  | ) | `[pure virtual]`

Reset the acceptor.

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 if the barrier parameter is changed.

Implemented in Ipopt::FilterLSAcceptor.

virtual void Ipopt::BacktrackingLSAcceptor::InitThisLineSearch | ( | bool | in_watchdog | ) | `[pure virtual]`

Initialization for the next line search.

The flag in_watchdog indicates if we are currently in an active watchdog procedure.

Implemented in Ipopt::FilterLSAcceptor.

virtual void Ipopt::BacktrackingLSAcceptor::PrepareRestoPhaseStart | ( |  | ) | `[pure virtual]`

Method that is called before the restoration phase is called.

Here, we can set up things that are required in the termination test for the restoration phase, such as augmenting a filter.

Implemented in Ipopt::FilterLSAcceptor.

virtual Number Ipopt::BacktrackingLSAcceptor::CalculateAlphaMin | ( |  | ) | `[pure virtual]`

Method returning the lower bound on the trial step sizes.

If the backtracking procedure encounters a trial step size below this value after the first trial set, it swtiches to the (soft) restoration phase.

Implemented in Ipopt::FilterLSAcceptor.

virtual bool Ipopt::BacktrackingLSAcceptor::CheckAcceptabilityOfTrialPoint | ( | Number | alpha_primal | ) | `[pure virtual]`

Method for checking if current trial point is acceptable.

It is assumed that the delta information in ip_data is the search direction used in criteria. The primal trial point has to be set before the call. alpha_primal is the step size which is to be used for the test; if it is zero, then this method is called during the soft restoration phase.

Implemented in Ipopt::FilterLSAcceptor.

virtual bool Ipopt::BacktrackingLSAcceptor::TrySecondOrderCorrection | ( | Number | alpha_primal_test,
|  | Number & | alpha_primal,
|  | SmartPtr< IteratesVector > & | actual_delta |
| ) |  |  | `[pure virtual]`

Try a second order correction for the constraints.

If the first trial step (with incoming alpha_primal) has been reject, this tries second order corrections, e.g., for the constraints. Here, alpha_primal_test is the step size that has to be used in the filter acceptance tests. On output actual_delta_ has been set to the step including the second order correction if it has been accepted, otherwise it is unchanged. If the SOC step has been accepted, alpha_primal has the fraction-to-the-boundary value for the SOC step on output. The return value is true, if a SOC step has been accepted.

Implemented in Ipopt::FilterLSAcceptor.

virtual bool Ipopt::BacktrackingLSAcceptor::TryCorrector | ( | Number | alpha_primal_test,
|  | Number & | alpha_primal,
|  | SmartPtr< IteratesVector > & | actual_delta |
| ) |  |  | `[pure virtual]`

Try higher order corrector (for fast local convergence).

In contrast to a second order correction step, which tries to make an unacceptable point acceptable by improving constraint violation, this corrector step is tried even if the regular primal-dual step is acceptable.

Implemented in Ipopt::FilterLSAcceptor.

virtual char Ipopt::BacktrackingLSAcceptor::UpdateForNextIteration | ( | Number | alpha_primal_test | ) | `[pure virtual]`

Method for ending the current line search.

When it is called, the internal data should be updates, e.g., the filter might be augmented. alpha_primal_test is the value of alpha that has been used for in the acceptence test ealier. Return value is a character for the info_alpha_primal_char field in IpData.

Implemented in Ipopt::FilterLSAcceptor.

virtual void Ipopt::BacktrackingLSAcceptor::StartWatchDog | ( |  | ) | `[pure virtual]`

Method for setting internal data if the watchdog procedure is started.

Implemented in Ipopt::FilterLSAcceptor.

virtual void Ipopt::BacktrackingLSAcceptor::StopWatchDog | ( |  | ) | `[pure virtual]`

Method for setting internal data if the watchdog procedure is stopped.

Implemented in Ipopt::FilterLSAcceptor.

static void Ipopt::BacktrackingLSAcceptor::RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) | `[static]`

Methods for OptionsList.

Reimplemented in Ipopt::FilterLSAcceptor.

void Ipopt::BacktrackingLSAcceptor::operator= | ( | const BacktrackingLSAcceptor & |  | ) | `[private]`

Overloaded Equals Operator.

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

- /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/IpBacktrackingLSAcceptor.hpp