- Main Page
- Namespaces
- Classes
- Files

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

# Ipopt::IpoptData Class Reference

Class to organize all the data required by the algorithm. More...

`#include <IpIpoptData.hpp>`

Inheritance diagram for Ipopt::IpoptData:

[legend]
Collaboration diagram for Ipopt::IpoptData:

[legend]
List of all members.

## Public Member Functions
bool | InitializeDataStructures (IpoptNLP &ip_nlp, bool want_x, bool want_y_c, bool want_y_d, bool want_z_L, bool want_z_U)
| Initialize Data Structures.
bool | Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
| This method must be called to initialize the global algorithmic parameters.
Number | cpu_time_start () const
| Cpu time counter at the beginning of the optimization.
TimingStatistics & | TimingStats ()
| Return Timing Statistics Object.
bool | HaveAddData ()
| Check if additional data has been set.
IpoptAdditionalData & | AdditionalData ()
| Get access to additional data object.
void | SetAddData (SmartPtr< IpoptAdditionalData > add_data)
| Set a new pointer for additional Ipopt data.
void | setPDPert (Number pd_pert_x, Number pd_pert_s, Number pd_pert_c, Number pd_pert_d)
| Set the perturbation of the primal-dual system.
void | getPDPert (Number &pd_pert_x, Number &pd_pert_s, Number &pd_pert_c, Number &pd_pert_d)
| Get the current perturbation of the primal-dual system.
Constructors/Destructors
| IpoptData (SmartPtr< IpoptAdditionalData > add_data=NULL, Number cpu_time_start=-1.)
| Constructor.
virtual | ~IpoptData ()
| Default destructor.
Get Methods for Iterates
SmartPtr< const IteratesVector > | curr () const
| Current point.
SmartPtr< const IteratesVector > | trial () const
| Get Trial point.
void | set_trial (SmartPtr< IteratesVector > &trial)
| Set the trial point - this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set you cannot modify the data again.
void | SetTrialPrimalVariablesFromStep (Number alpha, const Vector &delta_x, const Vector &delta_s)
| Set the values of the primal trial variables (x and s) from provided Step with step length alpha.
void | SetTrialEqMultipliersFromStep (Number alpha, const Vector &delta_y_c, const Vector &delta_y_d)
| Set the values of the trial values for the equality constraint multipliers (y_c and y_d) from provided step with step length alpha.
void | SetTrialBoundMultipliersFromStep (Number alpha, const Vector &delta_z_L, const Vector &delta_z_U, const Vector &delta_v_L, const Vector &delta_v_U)
| Set the value of the trial values for the bound multipliers (z_L, z_U, v_L, v_U) from provided step with step length alpha.
SmartPtr< const IteratesVector > | delta () const
| get the current delta
void | set_delta (SmartPtr< IteratesVector > &delta)
| Set the current delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.
void | set_delta (SmartPtr< const IteratesVector > &delta)
| Set the current delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.
SmartPtr< const IteratesVector > | delta_aff () const
| Affine Delta.
void | set_delta_aff (SmartPtr< IteratesVector > &delta_aff)
| Set the affine delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.
SmartPtr< const SymMatrix > | W ()
| Hessian or Hessian approximation (do not hold on to it, it might be changed).
void | Set_W (SmartPtr< const SymMatrix > W)
| Set Hessian approximation.
("Main") Primal-dual search direction. Those fields are
used to store the search directions computed from solving the primal-dual system, and can be used in the line search. They are overwritten in every iteration, so do not hold on to the pointers (make copies instead)
bool | HaveDeltas () const
| Returns true, if the primal-dual step have been already computed for the current iteration.
void | SetHaveDeltas (bool have_deltas)
| Method for setting the HaveDeltas flag.
Affine-scaling step. Those fields can be used to store
the affine scaling step. For example, if the method for computing the current barrier parameter computes the affine scaling steps, then the corrector step in the line search does not have to recompute those solutions of the linear system.
bool | HaveAffineDeltas () const
| Returns true, if the affine-scaling step have been already computed for the current iteration.
void | SetHaveAffineDeltas (bool have_affine_deltas)
| Method for setting the HaveDeltas flag.
Public Methods for updating iterates
void | CopyTrialToCurrent ()
| Copy the trial values to the current values.
void | AcceptTrialPoint ()
| Set the current iterate values from the trial values.
General algorithmic data
Index | iter_count () const
void | Set_iter_count (Index iter_count)
Number | curr_mu () const
void | Set_mu (Number mu)
bool | MuInitialized () const
Number | curr_tau () const
void | Set_tau (Number tau)
bool | TauInitialized () const
void | SetFreeMuMode (bool free_mu_mode)
bool | FreeMuMode () const
void | Set_tiny_step_flag (bool flag)
| Setting the flag that indicates if a tiny step (below machine precision) has been detected.
bool | tiny_step_flag ()
Number | tol () const
| Obtain the tolerance.
void | Set_tol (Number tol)
| Set a new value for the tolerance.
Information gathered for iteration output
Number | info_regu_x () const
void | Set_info_regu_x (Number regu_x)
Number | info_alpha_primal () const
void | Set_info_alpha_primal (Number alpha_primal)
char | info_alpha_primal_char () const
void | Set_info_alpha_primal_char (char info_alpha_primal_char)
Number | info_alpha_dual () const
void | Set_info_alpha_dual (Number alpha_dual)
Index | info_ls_count () const
void | Set_info_ls_count (Index ls_count)
bool | info_skip_output () const
void | Append_info_string (const std::string &add_str)
const std::string & | info_string () const
void | Set_info_skip_output (bool info_skip_output)
| Set this to true, if the next time when output is written, the summary line should not be printed.
void | ResetInfo ()
| Reset all info fields.
## Static Public Member Functions
static void | RegisterOptions (const 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.
| IpoptData (const IpoptData &)
| Copy Constructor.
void | operator= (const IpoptData &)
| Overloaded Equals Operator.
## Private Attributes
Index | iter_count_
| iteration count
Number | curr_mu_
| current barrier parameter
bool | mu_initialized_
Number | curr_tau_
| current fraction to the boundary parameter
bool | tau_initialized_
bool | initialize_called_
| flag indicating if Initialize method has been called (for debugging)
bool | have_prototypes_
| flag for debugging whether we have already curr_ values available (from which new Vectors can be generated
SmartPtr< IteratesVectorSpace > | iterates_space_
| VectorSpace for all the iterates.
TimingStatistics | timing_statistics_
| TimingStatistics object collecting all Ipopt timing statistics.
Number | cpu_time_start_
| CPU time counter at initialization.
SmartPtr< IpoptAdditionalData > | add_data_
| Object for the data specific for the Chen-Goldfarb penalty method algorithm.
Iterates
SmartPtr< const IteratesVector > | curr_
| Main iteration variables (current iteration).
SmartPtr< const IteratesVector > | trial_
| Main iteration variables (trial calculations).
SmartPtr< const SymMatrix > | W_
| Hessian (approximation) - might be changed elsewhere!
Primal-dual Step
SmartPtr< const IteratesVector > | delta_
bool | have_deltas_
| The following flag is set to true, if some other part of the algorithm (like the method for computing the barrier parameter) has already computed the primal-dual search direction.
Affine-scaling step. This used to transfer the
information about the affine-scaling step from the computation of the barrier parameter to the corrector (in the line search).
SmartPtr< const IteratesVector > | delta_aff_
bool | have_affine_deltas_
| The following flag is set to true, if some other part of the algorithm (like the method for computing the barrier parameter) has already computed the affine-scaling step.
Global algorithm parameters. Those are options that can
be modified by the user and appear at different places in the algorithm. They are set using an OptionsList object in the Initialize method.
Number | tol_
| Overall convergence tolerance.
Status data
bool | free_mu_mode_
| flag indicating whether the algorithm is in the free mu mode
bool | tiny_step_flag_
| flag indicating if a tiny step has been detected
Gathered information for iteration output
Number | info_regu_x_
| Size of regularization for the Hessian.
Number | info_alpha_primal_
| Primal step size.
char | info_alpha_primal_char_
| Info character for primal step size.
Number | info_alpha_dual_
| Dual step size.
Index | info_ls_count_
| Number of backtracking trial steps.
bool | info_skip_output_
| true, if next summary output line should not be printed (eg after restoration phase.
std::string | info_string_
| any string of characters for the end of the output line
Information about the perturbation of the primal-dual
system
Number | pd_pert_x_
Number | pd_pert_s_
Number | pd_pert_c_
Number | pd_pert_d_

## Detailed Description

Class to organize all the data required by the algorithm.

Internally, once this Data object has been initialized, all internal curr_ vectors must always be set (so that prototyes are available). The current values can only be set from the trial values. The trial values can be set by copying from a vector or by adding some fraction of a step to the current values. This object also stores steps, which allows to easily communicate the step from the step computation object to the line search object.

Definition at line 83 of file IpIpoptData.hpp.

## Constructor & Destructor Documentation

Ipopt::IpoptData::IpoptData | ( | SmartPtr< IpoptAdditionalData > | add_data = `NULL`,
|  | Number | cpu_time_start = `-1.` |
| ) |  |  |

Constructor.

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

Default destructor.

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

Copy Constructor.

## Member Function Documentation

bool Ipopt::IpoptData::InitializeDataStructures | ( | IpoptNLP & | ip_nlp,
|  | bool | want_x,
|  | bool | want_y_c,
|  | bool | want_y_d,
|  | bool | want_z_L,
|  | bool | want_z_U |
| ) |  |  |

Initialize Data Structures.

bool Ipopt::IpoptData::Initialize | ( | const Journalist & | jnlst,
|  | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  |

This method must be called to initialize the global algorithmic parameters.

The parameters are taken from the OptionsList object.

SmartPtr< const IteratesVector > Ipopt::IpoptData::curr | ( |  | ) | const`[inline]`

Current point.

Definition at line 646 of file IpIpoptData.hpp.

References curr_, DBG_ASSERT, and Ipopt::IsNull().

SmartPtr< const IteratesVector > Ipopt::IpoptData::trial | ( |  | ) | const`[inline]`

Get Trial point.

Definition at line 654 of file IpIpoptData.hpp.

References DBG_ASSERT, Ipopt::IsNull(), and trial_.

Referenced by set_trial().

void Ipopt::IpoptData::set_trial | ( | SmartPtr< IteratesVector > & | trial | ) | `[inline]`

Set the trial point - this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set you cannot modify the data again.

Definition at line 696 of file IpIpoptData.hpp.

References Ipopt::ConstPtr(), DBG_ASSERT, Ipopt::GetRawPtr(), Ipopt::IsValid(), iterates_space_, trial(), and trial_.

void Ipopt::IpoptData::SetTrialPrimalVariablesFromStep | ( | Number | alpha,
|  | const Vector & | delta_x,
|  | const Vector & | delta_s |
| ) |  |  |

Set the values of the primal trial variables (x and s) from provided Step with step length alpha.

void Ipopt::IpoptData::SetTrialEqMultipliersFromStep | ( | Number | alpha,
|  | const Vector & | delta_y_c,
|  | const Vector & | delta_y_d |
| ) |  |  |

Set the values of the trial values for the equality constraint multipliers (y_c and y_d) from provided step with step length alpha.

void Ipopt::IpoptData::SetTrialBoundMultipliersFromStep | ( | Number | alpha,
|  | const Vector & | delta_z_L,
|  | const Vector & | delta_z_U,
|  | const Vector & | delta_v_L,
|  | const Vector & | delta_v_U |
| ) |  |  |

Set the value of the trial values for the bound multipliers (z_L, z_U, v_L, v_U) from provided step with step length alpha.

SmartPtr< const IteratesVector > Ipopt::IpoptData::delta | ( |  | ) | const`[inline]`

get the current delta

Definition at line 662 of file IpIpoptData.hpp.

References DBG_ASSERT, delta_, and Ipopt::IsNull().

Referenced by set_delta().

void Ipopt::IpoptData::set_delta | ( | SmartPtr< IteratesVector > & | delta | ) | `[inline]`

Set the current delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.

Definition at line 717 of file IpIpoptData.hpp.

References Ipopt::ConstPtr(), delta(), delta_, and Ipopt::IsValid().

void Ipopt::IpoptData::set_delta | ( | SmartPtr< const IteratesVector > & | delta | ) | `[inline]`

Set the current delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.

This is the version that is happy with a pointer to const IteratesVector.

Definition at line 736 of file IpIpoptData.hpp.

References delta(), delta_, and Ipopt::IsValid().

SmartPtr< const IteratesVector > Ipopt::IpoptData::delta_aff | ( |  | ) | const`[inline]`

Affine Delta.

Definition at line 670 of file IpIpoptData.hpp.

References DBG_ASSERT, delta_aff_, and Ipopt::IsNull().

Referenced by set_delta_aff().

void Ipopt::IpoptData::set_delta_aff | ( | SmartPtr< IteratesVector > & | delta_aff | ) | `[inline]`

Set the affine delta - like the trial point, this method copies the pointer for efficiency (no copy and to keep cache tags the same) so after you call set, you cannot modify the data.

Definition at line 755 of file IpIpoptData.hpp.

References Ipopt::ConstPtr(), delta_aff(), delta_aff_, and Ipopt::IsValid().

SmartPtr<const SymMatrix> Ipopt::IpoptData::W | ( |  | ) | `[inline]`

Hessian or Hessian approximation (do not hold on to it, it might be changed).

Definition at line 193 of file IpIpoptData.hpp.

References DBG_ASSERT, Ipopt::IsValid(), and W_.

Referenced by Set_W().

void Ipopt::IpoptData::Set_W | ( | SmartPtr< const SymMatrix > | W | ) | `[inline]`

Set Hessian approximation.

Definition at line 200 of file IpIpoptData.hpp.

References W(), and W_.

bool Ipopt::IpoptData::HaveDeltas | ( |  | ) | const`[inline]`

Returns true, if the primal-dual step have been already computed for the current iteration.

This flag is reset after every call of AcceptTrialPoint(). If the search direction is computed during the computation of the barrier parameter, the method computing the barrier parameter should call SetHaveDeltas(true) to tell the IpoptAlgorithm object that it doesn't need to recompute the primal-dual step.

Definition at line 219 of file IpIpoptData.hpp.

References have_deltas_.

void Ipopt::IpoptData::SetHaveDeltas | ( | bool | have_deltas | ) | `[inline]`

Method for setting the HaveDeltas flag.

This method should be called if some method computes the primal-dual step (and stores it in the delta_ fields of IpoptData) at an early part of the iteration. If that flag is set to true, the IpoptAlgorithm object will not recompute the step.

Definition at line 229 of file IpIpoptData.hpp.

References have_deltas_.

bool Ipopt::IpoptData::HaveAffineDeltas | ( |  | ) | const`[inline]`

Returns true, if the affine-scaling step have been already computed for the current iteration.

This flag is reset after every call of AcceptTrialPoint(). If the search direction is computed during the computation of the barrier parameter, the method computing the barrier parameter should call SetHaveDeltas(true) to tell the line search does not have to recompute them in case it wants to do a corrector step.

Definition at line 249 of file IpIpoptData.hpp.

References have_affine_deltas_.

void Ipopt::IpoptData::SetHaveAffineDeltas | ( | bool | have_affine_deltas | ) | `[inline]`

Method for setting the HaveDeltas flag.

This method should be called if some method computes the primal-dual step (and stores it in the delta_ fields of IpoptData) at an early part of the iteration. If that flag is set to true, the IpoptAlgorithm object will not recompute the step.

Definition at line 259 of file IpIpoptData.hpp.

References have_affine_deltas_.

void Ipopt::IpoptData::CopyTrialToCurrent | ( |  | ) | `[inline]`

Copy the trial values to the current values.

Definition at line 678 of file IpIpoptData.hpp.

References curr_, Ipopt::IsValid(), and trial_.

void Ipopt::IpoptData::AcceptTrialPoint | ( |  | ) |

Set the current iterate values from the trial values.

Index Ipopt::IpoptData::iter_count | ( |  | ) | const`[inline]`

Definition at line 277 of file IpIpoptData.hpp.

References iter_count_.

void Ipopt::IpoptData::Set_iter_count | ( | Index | iter_count | ) | `[inline]`

Definition at line 281 of file IpIpoptData.hpp.

References iter_count_.

Number Ipopt::IpoptData::curr_mu | ( |  | ) | const`[inline]`

Definition at line 286 of file IpIpoptData.hpp.

References curr_mu_, DBG_ASSERT, and mu_initialized_.

void Ipopt::IpoptData::Set_mu | ( | Number | mu | ) | `[inline]`

Definition at line 291 of file IpIpoptData.hpp.

References curr_mu_, and mu_initialized_.

bool Ipopt::IpoptData::MuInitialized | ( |  | ) | const`[inline]`

Definition at line 296 of file IpIpoptData.hpp.

References mu_initialized_.

Number Ipopt::IpoptData::curr_tau | ( |  | ) | const`[inline]`

Definition at line 301 of file IpIpoptData.hpp.

References curr_tau_, DBG_ASSERT, and tau_initialized_.

void Ipopt::IpoptData::Set_tau | ( | Number | tau | ) | `[inline]`

Definition at line 306 of file IpIpoptData.hpp.

References curr_tau_, and tau_initialized_.

bool Ipopt::IpoptData::TauInitialized | ( |  | ) | const`[inline]`

Definition at line 311 of file IpIpoptData.hpp.

References tau_initialized_.

void Ipopt::IpoptData::SetFreeMuMode | ( | bool | free_mu_mode | ) | `[inline]`

Definition at line 316 of file IpIpoptData.hpp.

References free_mu_mode_.

bool Ipopt::IpoptData::FreeMuMode | ( |  | ) | const`[inline]`

Definition at line 320 of file IpIpoptData.hpp.

References free_mu_mode_.

void Ipopt::IpoptData::Set_tiny_step_flag | ( | bool | flag | ) | `[inline]`

Setting the flag that indicates if a tiny step (below machine precision) has been detected.

Definition at line 327 of file IpIpoptData.hpp.

References tiny_step_flag_.

bool Ipopt::IpoptData::tiny_step_flag | ( |  | ) | `[inline]`

Definition at line 331 of file IpIpoptData.hpp.

References tiny_step_flag_.

Number Ipopt::IpoptData::tol | ( |  | ) | const`[inline]`

Obtain the tolerance.

Definition at line 343 of file IpIpoptData.hpp.

References DBG_ASSERT, initialize_called_, and tol_.

void Ipopt::IpoptData::Set_tol | ( | Number | tol | ) | `[inline]`

Set a new value for the tolerance.

One should be very careful when using this, since changing the predefined tolerance might have unexpected consequences. This method is for example used in the restoration convergence checker to tighten the restoration phase convergence tolerance, if the restoration phase converged to a point that has not a large value for the constraint violation.

Definition at line 355 of file IpIpoptData.hpp.

References tol_.

Number Ipopt::IpoptData::cpu_time_start | ( |  | ) | const`[inline]`

Cpu time counter at the beginning of the optimization.

This is useful to see how much CPU time has been spent in this optimization run.

Definition at line 364 of file IpIpoptData.hpp.

References cpu_time_start_.

Number Ipopt::IpoptData::info_regu_x | ( |  | ) | const`[inline]`

Definition at line 371 of file IpIpoptData.hpp.

References info_regu_x_.

void Ipopt::IpoptData::Set_info_regu_x | ( | Number | regu_x | ) | `[inline]`

Definition at line 375 of file IpIpoptData.hpp.

References info_regu_x_.

Number Ipopt::IpoptData::info_alpha_primal | ( |  | ) | const`[inline]`

Definition at line 379 of file IpIpoptData.hpp.

References info_alpha_primal_.

void Ipopt::IpoptData::Set_info_alpha_primal | ( | Number | alpha_primal | ) | `[inline]`

Definition at line 383 of file IpIpoptData.hpp.

References info_alpha_primal_.

char Ipopt::IpoptData::info_alpha_primal_char | ( |  | ) | const`[inline]`

Definition at line 387 of file IpIpoptData.hpp.

References info_alpha_primal_char_.

void Ipopt::IpoptData::Set_info_alpha_primal_char | ( | char | info_alpha_primal_char | ) | `[inline]`

Definition at line 391 of file IpIpoptData.hpp.

References info_alpha_primal_char_.

Number Ipopt::IpoptData::info_alpha_dual | ( |  | ) | const`[inline]`

Definition at line 395 of file IpIpoptData.hpp.

References info_alpha_dual_.

void Ipopt::IpoptData::Set_info_alpha_dual | ( | Number | alpha_dual | ) | `[inline]`

Definition at line 399 of file IpIpoptData.hpp.

References info_alpha_dual_.

Index Ipopt::IpoptData::info_ls_count | ( |  | ) | const`[inline]`

Definition at line 403 of file IpIpoptData.hpp.

References info_ls_count_.

void Ipopt::IpoptData::Set_info_ls_count | ( | Index | ls_count | ) | `[inline]`

Definition at line 407 of file IpIpoptData.hpp.

References info_ls_count_.

bool Ipopt::IpoptData::info_skip_output | ( |  | ) | const`[inline]`

Definition at line 411 of file IpIpoptData.hpp.

References info_skip_output_.

void Ipopt::IpoptData::Append_info_string | ( | const std::string & | add_str | ) | `[inline]`

Definition at line 415 of file IpIpoptData.hpp.

References info_string_.

const std::string& Ipopt::IpoptData::info_string | ( |  | ) | const`[inline]`

Definition at line 419 of file IpIpoptData.hpp.

References info_string_.

void Ipopt::IpoptData::Set_info_skip_output | ( | bool | info_skip_output | ) | `[inline]`

Set this to true, if the next time when output is written, the summary line should not be printed.

Definition at line 425 of file IpIpoptData.hpp.

References info_skip_output_.

void Ipopt::IpoptData::ResetInfo | ( |  | ) | `[inline]`

Reset all info fields.

Definition at line 431 of file IpIpoptData.hpp.

References info_alpha_dual_, info_alpha_primal_, info_alpha_primal_char_, info_regu_x_, info_skip_output_, and info_string_.

TimingStatistics& Ipopt::IpoptData::TimingStats | ( |  | ) | `[inline]`

Return Timing Statistics Object.

Definition at line 443 of file IpIpoptData.hpp.

References timing_statistics_.

bool Ipopt::IpoptData::HaveAddData | ( |  | ) | `[inline]`

Check if additional data has been set.

Definition at line 449 of file IpIpoptData.hpp.

References add_data_, and Ipopt::IsValid().

Referenced by SetAddData().

IpoptAdditionalData& Ipopt::IpoptData::AdditionalData | ( |  | ) | `[inline]`

Get access to additional data object.

Definition at line 455 of file IpIpoptData.hpp.

References add_data_.

Referenced by Ipopt::CGSearchDirCalculator::CGPenData(), Ipopt::CGPerturbationHandler::CGPenData(), Ipopt::CGPenaltyLSAcceptor::CGPenData(), Ipopt::CGPenaltyCq::CGPenData(), Ipopt::IterativeSolverTerminationTester::InexData(), Ipopt::IterativePardisoSolverInterface::InexData(), Ipopt::InexactSearchDirCalculator::InexData(), Ipopt::InexactPDSolver::InexData(), Ipopt::InexactNormalStepCalculator::InexData(), Ipopt::InexactNewtonNormalStep::InexData(), Ipopt::InexactLSAcceptor::InexData(), and Ipopt::InexactCq::InexData().

void Ipopt::IpoptData::SetAddData | ( | SmartPtr< IpoptAdditionalData > | add_data | ) | `[inline]`

Set a new pointer for additional Ipopt data.

Definition at line 461 of file IpIpoptData.hpp.

References add_data_, DBG_ASSERT, and HaveAddData().

void Ipopt::IpoptData::setPDPert | ( | Number | pd_pert_x,
|  | Number | pd_pert_s,
|  | Number | pd_pert_c,
|  | Number | pd_pert_d |
| ) |  |  | `[inline]`

Set the perturbation of the primal-dual system.

Definition at line 468 of file IpIpoptData.hpp.

References pd_pert_c_, pd_pert_d_, pd_pert_s_, and pd_pert_x_.

void Ipopt::IpoptData::getPDPert | ( | Number & | pd_pert_x,
|  | Number & | pd_pert_s,
|  | Number & | pd_pert_c,
|  | Number & | pd_pert_d |
| ) |  |  | `[inline]`

Get the current perturbation of the primal-dual system.

Definition at line 478 of file IpIpoptData.hpp.

References pd_pert_c_, pd_pert_d_, pd_pert_s_, and pd_pert_x_.

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

Methods for IpoptType.

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

Overloaded Equals Operator.

## Member Data Documentation

SmartPtr<const IteratesVector> Ipopt::IpoptData::curr_`[private]`

Main iteration variables (current iteration).

Definition at line 497 of file IpIpoptData.hpp.

Referenced by CopyTrialToCurrent(), and curr().

SmartPtr<const IteratesVector> Ipopt::IpoptData::trial_`[private]`

Main iteration variables (trial calculations).

Definition at line 501 of file IpIpoptData.hpp.

Referenced by CopyTrialToCurrent(), set_trial(), and trial().

SmartPtr<const SymMatrix> Ipopt::IpoptData::W_`[private]`

Hessian (approximation) - might be changed elsewhere!

Definition at line 504 of file IpIpoptData.hpp.

Referenced by Set_W(), and W().

SmartPtr<const IteratesVector> Ipopt::IpoptData::delta_`[private]`

Definition at line 508 of file IpIpoptData.hpp.

Referenced by delta(), and set_delta().

bool Ipopt::IpoptData::have_deltas_`[private]`

The following flag is set to true, if some other part of the algorithm (like the method for computing the barrier parameter) has already computed the primal-dual search direction.

This flag is reset when the AcceptTrialPoint method is called. ToDo: we could cue off of a null delta_;

Definition at line 516 of file IpIpoptData.hpp.

Referenced by HaveDeltas(), and SetHaveDeltas().

SmartPtr<const IteratesVector> Ipopt::IpoptData::delta_aff_`[private]`

Definition at line 524 of file IpIpoptData.hpp.

Referenced by delta_aff(), and set_delta_aff().

bool Ipopt::IpoptData::have_affine_deltas_`[private]`

The following flag is set to true, if some other part of the algorithm (like the method for computing the barrier parameter) has already computed the affine-scaling step.

This flag is reset when the AcceptTrialPoint method is called. ToDo: we could cue off of a null delta_aff_;

Definition at line 531 of file IpIpoptData.hpp.

Referenced by HaveAffineDeltas(), and SetHaveAffineDeltas().

Index Ipopt::IpoptData::iter_count_`[private]`

iteration count

Definition at line 535 of file IpIpoptData.hpp.

Referenced by iter_count(), and Set_iter_count().

Number Ipopt::IpoptData::curr_mu_`[private]`

current barrier parameter

Definition at line 538 of file IpIpoptData.hpp.

Referenced by curr_mu(), and Set_mu().

bool Ipopt::IpoptData::mu_initialized_`[private]`

Definition at line 539 of file IpIpoptData.hpp.

Referenced by curr_mu(), MuInitialized(), and Set_mu().

Number Ipopt::IpoptData::curr_tau_`[private]`

current fraction to the boundary parameter

Definition at line 542 of file IpIpoptData.hpp.

Referenced by curr_tau(), and Set_tau().

bool Ipopt::IpoptData::tau_initialized_`[private]`

Definition at line 543 of file IpIpoptData.hpp.

Referenced by curr_tau(), Set_tau(), and TauInitialized().

bool Ipopt::IpoptData::initialize_called_`[private]`

flag indicating if Initialize method has been called (for debugging)

Definition at line 547 of file IpIpoptData.hpp.

Referenced by tol().

bool Ipopt::IpoptData::have_prototypes_`[private]`

flag for debugging whether we have already curr_ values available (from which new Vectors can be generated

Definition at line 551 of file IpIpoptData.hpp.

Number Ipopt::IpoptData::tol_`[private]`

Overall convergence tolerance.

Definition at line 559 of file IpIpoptData.hpp.

Referenced by Set_tol(), and tol().

bool Ipopt::IpoptData::free_mu_mode_`[private]`

flag indicating whether the algorithm is in the free mu mode

Definition at line 565 of file IpIpoptData.hpp.

Referenced by FreeMuMode(), and SetFreeMuMode().

bool Ipopt::IpoptData::tiny_step_flag_`[private]`

flag indicating if a tiny step has been detected

Definition at line 567 of file IpIpoptData.hpp.

Referenced by Set_tiny_step_flag(), and tiny_step_flag().

Number Ipopt::IpoptData::info_regu_x_`[private]`

Size of regularization for the Hessian.

Definition at line 573 of file IpIpoptData.hpp.

Referenced by info_regu_x(), ResetInfo(), and Set_info_regu_x().

Number Ipopt::IpoptData::info_alpha_primal_`[private]`

Primal step size.

Definition at line 575 of file IpIpoptData.hpp.

Referenced by info_alpha_primal(), ResetInfo(), and Set_info_alpha_primal().

char Ipopt::IpoptData::info_alpha_primal_char_`[private]`

Info character for primal step size.

Definition at line 577 of file IpIpoptData.hpp.

Referenced by info_alpha_primal_char(), ResetInfo(), and Set_info_alpha_primal_char().

Number Ipopt::IpoptData::info_alpha_dual_`[private]`

Dual step size.

Definition at line 579 of file IpIpoptData.hpp.

Referenced by info_alpha_dual(), ResetInfo(), and Set_info_alpha_dual().

Index Ipopt::IpoptData::info_ls_count_`[private]`

Number of backtracking trial steps.

Definition at line 581 of file IpIpoptData.hpp.

Referenced by info_ls_count(), and Set_info_ls_count().

bool Ipopt::IpoptData::info_skip_output_`[private]`

true, if next summary output line should not be printed (eg after restoration phase.

Definition at line 584 of file IpIpoptData.hpp.

Referenced by info_skip_output(), ResetInfo(), and Set_info_skip_output().

std::string Ipopt::IpoptData::info_string_`[private]`

any string of characters for the end of the output line

Definition at line 586 of file IpIpoptData.hpp.

Referenced by Append_info_string(), info_string(), and ResetInfo().

SmartPtr<IteratesVectorSpace> Ipopt::IpoptData::iterates_space_`[private]`

VectorSpace for all the iterates.

Definition at line 590 of file IpIpoptData.hpp.

Referenced by set_trial().

TimingStatistics Ipopt::IpoptData::timing_statistics_`[private]`

TimingStatistics object collecting all Ipopt timing statistics.

Definition at line 594 of file IpIpoptData.hpp.

Referenced by TimingStats().

Number Ipopt::IpoptData::cpu_time_start_`[private]`

CPU time counter at initialization.

Definition at line 597 of file IpIpoptData.hpp.

Referenced by cpu_time_start().

SmartPtr<IpoptAdditionalData> Ipopt::IpoptData::add_data_`[private]`

Object for the data specific for the Chen-Goldfarb penalty method algorithm.

Definition at line 601 of file IpIpoptData.hpp.

Referenced by AdditionalData(), HaveAddData(), and SetAddData().

Number Ipopt::IpoptData::pd_pert_x_`[private]`

Definition at line 606 of file IpIpoptData.hpp.

Referenced by getPDPert(), and setPDPert().

Number Ipopt::IpoptData::pd_pert_s_`[private]`

Definition at line 607 of file IpIpoptData.hpp.

Referenced by getPDPert(), and setPDPert().

Number Ipopt::IpoptData::pd_pert_c_`[private]`

Definition at line 608 of file IpIpoptData.hpp.

Referenced by getPDPert(), and setPDPert().

Number Ipopt::IpoptData::pd_pert_d_`[private]`

Definition at line 609 of file IpIpoptData.hpp.

Referenced by getPDPert(), and setPDPert().

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

- /home/coin/SVN-release/Ipopt-3.7.1/Ipopt/src/Algorithm/IpIpoptData.hpp