# Ipopt::InexactDoglegNormalStep Class Reference

Compute the normal step using a dogleg approach. More...

`#include <IpInexactDoglegNormal.hpp>`

Inheritance diagram for Ipopt::InexactDoglegNormalStep:
[legend]

List of all members.

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| overloaded from AlgorithmStrategyObject
virtual bool | ComputeNormalStep (SmartPtr< Vector > &normal_x, SmartPtr< Vector > &normal_s)
| Method for computing the normal step.
Constructors/Destructors
| InexactDoglegNormalStep (SmartPtr< InexactNewtonNormalStep > newton_step, SmartPtr< InexactNormalTerminationTester > normal_tester=NULL)
| Default onstructor.
virtual | ~InexactDoglegNormalStep ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType.
## 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.
| InexactDoglegNormalStep ()
| Default onstructor.
| InexactDoglegNormalStep (const InexactDoglegNormalStep &)
| Copy Constructor.
void | operator= (const InexactDoglegNormalStep &)
| Overloaded Equals Operator.
## Private Attributes
SmartPtr< InexactNewtonNormalStep > | newton_step_
| Pointer to object for computing the "Newton" step in the dogleg method.
SmartPtr < InexactNormalTerminationTester > | normal_tester_
| Pointer to object that is used by the newton_step computation object to determine if iterative solver is done.
Number | curr_omega_
| Current value of the trust region factor.
bool | last_tr_inactive_
| Flag indicating if trust region was active in last iteration.
Algorithmic options
Number | omega_max_

## Detailed Description

Compute the normal step using a dogleg approach.

Definition at line 20 of file IpInexactDoglegNormal.hpp.

## Constructor & Destructor Documentation

Ipopt::InexactDoglegNormalStep::InexactDoglegNormalStep | ( | SmartPtr< InexactNewtonNormalStep > | newton_step,
|  | SmartPtr< InexactNormalTerminationTester > | normal_tester = `NULL` |
| ) |  |  |

Default onstructor.

virtual Ipopt::InexactDoglegNormalStep::~InexactDoglegNormalStep | ( |  | ) | `[virtual]`

Default destructor.

Ipopt::InexactDoglegNormalStep::InexactDoglegNormalStep | ( |  | ) | `[private]`

Default onstructor.

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

Copy Constructor.

## Member Function Documentation

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

overloaded from AlgorithmStrategyObject

Implements Ipopt::InexactNormalStepCalculator.

virtual bool Ipopt::InexactDoglegNormalStep::ComputeNormalStep | ( | SmartPtr< Vector > & | normal_x,
|  | SmartPtr< Vector > & | normal_s |
| ) |  |  | `[virtual]`

Method for computing the normal step.

The computed step is returned as normal_x and normal_s, for the x and s variables, respectively. These quantities are not slack-scaled. If the step cannot be computed, this method returns false.

Implements Ipopt::InexactNormalStepCalculator.

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

Methods for IpoptType.

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

Overloaded Equals Operator.

Reimplemented from Ipopt::InexactNormalStepCalculator.

## Member Data Documentation

SmartPtr<InexactNewtonNormalStep> Ipopt::InexactDoglegNormalStep::newton_step_`[private]`

Pointer to object for computing the "Newton" step in the dogleg method.

Definition at line 70 of file IpInexactDoglegNormal.hpp.

SmartPtr<InexactNormalTerminationTester> Ipopt::InexactDoglegNormalStep::normal_tester_`[private]`

Pointer to object that is used by the newton_step computation object to determine if iterative solver is done.

This is needed here because this dogleg object is setting the value of the linearlized constraint violation at the cauchy point if normal_tester is not NULL.

Definition at line 77 of file IpInexactDoglegNormal.hpp.

Number Ipopt::InexactDoglegNormalStep::omega_max_`[private]`

Definition at line 81 of file IpInexactDoglegNormal.hpp.

Number Ipopt::InexactDoglegNormalStep::curr_omega_`[private]`

Current value of the trust region factor.

Definition at line 85 of file IpInexactDoglegNormal.hpp.

bool Ipopt::InexactDoglegNormalStep::last_tr_inactive_`[private]`

Flag indicating if trust region was active in last iteration.

Definition at line 88 of file IpInexactDoglegNormal.hpp.

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

- src/Algorithm/Inexact/IpInexactDoglegNormal.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines