Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::InexactCq Class Reference

Class for all Chen-Goldfarb penalty method specific calculated quantities. More...

#include <IpInexactCq.hpp>

+ Inheritance diagram for Ipopt::InexactCq:

Public Member Functions

bool Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 This method must be called to initialize the global algorithmic parameters.
 
SmartPtr< const Vectorcurr_jac_cdT_times_curr_cdminuss ()
 Gradient of infeasibility w.r.t.
 
SmartPtr< const Vectorcurr_scaling_slacks ()
 Vector of all inequality slacks for doing the slack-based scaling.
 
SmartPtr< const Vectorcurr_slack_scaled_d_minus_s ()
 Vector with the slack-scaled d minus s inequalities.
 
Number curr_scaled_Ac_norm ()
 Scaled norm of Ac.
 
Number curr_scaled_A_norm2 ()
 Scaled, squared norm of A.
 
Number slack_scaled_norm (const Vector &x, const Vector &s)
 Compute the 2-norm of a slack-scaled vector with x and s component.
 
SmartPtr< const Vectorcurr_W_times_vec_x (const Vector &vec_x)
 Compute x component of the W*vec product for the current Hessian and a vector.
 
SmartPtr< const Vectorcurr_W_times_vec_s (const Vector &vec_s)
 Compute s component of the W*vec product for the current Hessian and a vector.
 
SmartPtr< const Vectorcurr_Wu_x ()
 Compute x component of the W*u product for the current values.
 
SmartPtr< const Vectorcurr_Wu_s ()
 Compute s component of the W*u product for the current values.
 
Number curr_uWu ()
 Compute the u^T*W*u product for the current values.
 
SmartPtr< const Vectorcurr_jac_times_normal_c ()
 Compute the c-component of the product of the current constraint Jacobian with the current normal step.
 
SmartPtr< const Vectorcurr_jac_times_normal_d ()
 Compute the d-component of the product of the current constraint Jacobian with the current normal step.
 
Constructors/Destructors
 InexactCq (IpoptNLP *ip_nlp, IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
 Constructor.
 
virtual ~InexactCq ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::IpoptAdditionalCq
 IpoptAdditionalCq ()
 Default Constructor.
 
virtual ~IpoptAdditionalCq ()
 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
 

Static Public Member Functions

static void RegisterOptions (const SmartPtr< RegisteredOptions > &roptions)
 

Private Member Functions

InexactDataInexData ()
 Method to easily access Inexact data.
 
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.

 InexactCq ()
 Default Constructor.
 
 InexactCq (const InexactCq &)
 Copy Constructor.
 
void operator= (const InexactCq &)
 Overloaded Assignment Operator.
 

Private Attributes

Number slack_scale_max_
 Upper bound on slack-based scaling factors.
 
Pointers for easy access to data and NLP information.

To avoid circular references of Smart Pointers, we use a regular pointer here.

IpoptNLPip_nlp_
 
IpoptDataip_data_
 
IpoptCalculatedQuantitiesip_cq_
 
Caches
CachedResults< SmartPtr< const Vector > > curr_jac_cdT_times_curr_cdminuss_cache_
 
CachedResults< SmartPtr< const Vector > > curr_scaling_slacks_cache_
 
CachedResults< SmartPtr< const Vector > > curr_slack_scaled_d_minus_s_cache_
 
CachedResults< Numbercurr_scaled_Ac_norm_cache_
 
CachedResults< Numberslack_scaled_norm_cache_
 
CachedResults< SmartPtr< const Vector > > curr_W_times_vec_x_cache_
 
CachedResults< SmartPtr< const Vector > > curr_W_times_vec_s_cache_
 
CachedResults< SmartPtr< const Vector > > curr_Wu_x_cache_
 
CachedResults< SmartPtr< const Vector > > curr_Wu_s_cache_
 
CachedResults< Numbercurr_uWu_cache_
 
CachedResults< SmartPtr< const Vector > > curr_jac_times_normal_c_cache_
 
CachedResults< SmartPtr< const Vector > > curr_jac_times_normal_d_cache_
 

Detailed Description

Class for all Chen-Goldfarb penalty method specific calculated quantities.

Definition at line 20 of file IpInexactCq.hpp.

Constructor & Destructor Documentation

◆ InexactCq() [1/3]

Ipopt::InexactCq::InexactCq ( IpoptNLP ip_nlp,
IpoptData ip_data,
IpoptCalculatedQuantities ip_cq 
)

Constructor.

◆ ~InexactCq()

virtual Ipopt::InexactCq::~InexactCq ( )
virtual

Destructor.

◆ InexactCq() [2/3]

Ipopt::InexactCq::InexactCq ( )
private

Default Constructor.

◆ InexactCq() [3/3]

Ipopt::InexactCq::InexactCq ( const InexactCq )
private

Copy Constructor.

Member Function Documentation

◆ Initialize()

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

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

The parameters are taken from the OptionsList object.

Implements Ipopt::IpoptAdditionalCq.

◆ RegisterOptions()

static void Ipopt::InexactCq::RegisterOptions ( const SmartPtr< RegisteredOptions > &  roptions)
static

◆ curr_jac_cdT_times_curr_cdminuss()

SmartPtr< const Vector > Ipopt::InexactCq::curr_jac_cdT_times_curr_cdminuss ( )

Gradient of infeasibility w.r.t.

x.

Jacobian of equality constraints transpose times the equality constraints plus Jacobian of the inequality constraints transpose times the inequality constraints (including slacks).

◆ curr_scaling_slacks()

SmartPtr< const Vector > Ipopt::InexactCq::curr_scaling_slacks ( )

Vector of all inequality slacks for doing the slack-based scaling.

◆ curr_slack_scaled_d_minus_s()

SmartPtr< const Vector > Ipopt::InexactCq::curr_slack_scaled_d_minus_s ( )

Vector with the slack-scaled d minus s inequalities.

◆ curr_scaled_Ac_norm()

Number Ipopt::InexactCq::curr_scaled_Ac_norm ( )

Scaled norm of Ac.

◆ curr_scaled_A_norm2()

Number Ipopt::InexactCq::curr_scaled_A_norm2 ( )

Scaled, squared norm of A.

◆ slack_scaled_norm()

Number Ipopt::InexactCq::slack_scaled_norm ( const Vector x,
const Vector s 
)

Compute the 2-norm of a slack-scaled vector with x and s component.

◆ curr_W_times_vec_x()

SmartPtr< const Vector > Ipopt::InexactCq::curr_W_times_vec_x ( const Vector vec_x)

Compute x component of the W*vec product for the current Hessian and a vector.

◆ curr_W_times_vec_s()

SmartPtr< const Vector > Ipopt::InexactCq::curr_W_times_vec_s ( const Vector vec_s)

Compute s component of the W*vec product for the current Hessian and a vector.

◆ curr_Wu_x()

SmartPtr< const Vector > Ipopt::InexactCq::curr_Wu_x ( )

Compute x component of the W*u product for the current values.

u here is the tangential step.

◆ curr_Wu_s()

SmartPtr< const Vector > Ipopt::InexactCq::curr_Wu_s ( )

Compute s component of the W*u product for the current values.

u here is the tangential step.

◆ curr_uWu()

Number Ipopt::InexactCq::curr_uWu ( )

Compute the u^T*W*u product for the current values.

u here is the tangential step.

◆ curr_jac_times_normal_c()

SmartPtr< const Vector > Ipopt::InexactCq::curr_jac_times_normal_c ( )

Compute the c-component of the product of the current constraint Jacobian with the current normal step.

◆ curr_jac_times_normal_d()

SmartPtr< const Vector > Ipopt::InexactCq::curr_jac_times_normal_d ( )

Compute the d-component of the product of the current constraint Jacobian with the current normal step.

◆ operator=()

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

Overloaded Assignment Operator.

◆ InexData()

InexactData & Ipopt::InexactCq::InexData ( )
inlineprivate

Method to easily access Inexact data.

Definition at line 158 of file IpInexactCq.hpp.

Member Data Documentation

◆ ip_nlp_

IpoptNLP* Ipopt::InexactCq::ip_nlp_
private

Definition at line 152 of file IpInexactCq.hpp.

◆ ip_data_

IpoptData* Ipopt::InexactCq::ip_data_
private

Definition at line 153 of file IpInexactCq.hpp.

◆ ip_cq_

IpoptCalculatedQuantities* Ipopt::InexactCq::ip_cq_
private

Definition at line 154 of file IpInexactCq.hpp.

◆ curr_jac_cdT_times_curr_cdminuss_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_cdT_times_curr_cdminuss_cache_
private

Definition at line 168 of file IpInexactCq.hpp.

◆ curr_scaling_slacks_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_scaling_slacks_cache_
private

Definition at line 169 of file IpInexactCq.hpp.

◆ curr_slack_scaled_d_minus_s_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_slack_scaled_d_minus_s_cache_
private

Definition at line 170 of file IpInexactCq.hpp.

◆ curr_scaled_Ac_norm_cache_

CachedResults<Number> Ipopt::InexactCq::curr_scaled_Ac_norm_cache_
private

Definition at line 171 of file IpInexactCq.hpp.

◆ slack_scaled_norm_cache_

CachedResults<Number> Ipopt::InexactCq::slack_scaled_norm_cache_
private

Definition at line 172 of file IpInexactCq.hpp.

◆ curr_W_times_vec_x_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_W_times_vec_x_cache_
private

Definition at line 173 of file IpInexactCq.hpp.

◆ curr_W_times_vec_s_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_W_times_vec_s_cache_
private

Definition at line 174 of file IpInexactCq.hpp.

◆ curr_Wu_x_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_Wu_x_cache_
private

Definition at line 175 of file IpInexactCq.hpp.

◆ curr_Wu_s_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_Wu_s_cache_
private

Definition at line 176 of file IpInexactCq.hpp.

◆ curr_uWu_cache_

CachedResults<Number> Ipopt::InexactCq::curr_uWu_cache_
private

Definition at line 177 of file IpInexactCq.hpp.

◆ curr_jac_times_normal_c_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_times_normal_c_cache_
private

Definition at line 178 of file IpInexactCq.hpp.

◆ curr_jac_times_normal_d_cache_

CachedResults<SmartPtr<const Vector> > Ipopt::InexactCq::curr_jac_times_normal_d_cache_
private

Definition at line 179 of file IpInexactCq.hpp.

◆ slack_scale_max_

Number Ipopt::InexactCq::slack_scale_max_
private

Upper bound on slack-based scaling factors.

Definition at line 183 of file IpInexactCq.hpp.


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