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

This is the interface for the actual controller. More...

#include <SensAlgorithm.hpp>

+ Inheritance diagram for Ipopt::SensAlgorithm:

Public Member Functions

 SensAlgorithm (std::vector< SmartPtr< SchurDriver > > &driver_vec, SmartPtr< SensitivityStepCalculator > sens_step_calc, SmartPtr< Measurement > measurement, Index n_sens_steps)
 
virtual ~SensAlgorithm ()
 
virtual bool InitializeImpl (const OptionsList &options, const std::string &prefix)
 Implementation of the initialization method that has to be overloaded by for each derived class.
 
SensAlgorithmExitStatus Run ()
 Main loop: Wait for new measurement, Get new step, maybe deal with bounds, see to it that everything happens in the required timeframe.
 
SensAlgorithmExitStatus ComputeSensitivityMatrix (void)
 
Index nl (void)
 accessor methods to get access to variable sizes
 
Index nx (void)
 
Index nzl (void)
 
Index nzu (void)
 
Index ns (void)
 
Index np (void)
 
- Public Member Functions inherited from Ipopt::AlgorithmStrategyObject
bool Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix)
 This method is called every time the algorithm starts again - it is used to reset any internal state.
 
bool ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 Reduced version of the Initialize method, which does not require special Ipopt information.
 
 AlgorithmStrategyObject ()
 Default Constructor.
 
virtual ~AlgorithmStrategyObject ()
 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
 

Public Attributes

NumberDirectionalD_X_
 array place holders to store the vector of sensitivities
 
NumberDirectionalD_L_
 
NumberDirectionalD_Z_L_
 
NumberDirectionalD_Z_U_
 
NumberSensitivityM_X_
 array place holders for the sensitivity matrix
 
NumberSensitivityM_L_
 
NumberSensitivityM_Z_L_
 
NumberSensitivityM_Z_U_
 

Private Member Functions

void GetDirectionalDerivatives (void)
 method to extract sensitivity vectors
 
void GetSensitivityMatrix (Index col)
 method to extract sensitivity matrix
 
void UnScaleIteratesVector (SmartPtr< IteratesVector > *V)
 private method used to uncale perturbed solution and sensitivities
 

Private Attributes

Index nl_
 
Index nx_
 
Index nzl_
 
Index nzu_
 
Index nceq_
 
Index ncineq_
 
Index ns_
 
Index np_
 
std::vector< SmartPtr< SchurDriver > > driver_vec_
 
SmartPtr< SensitivityStepCalculatorsens_step_calc_
 
SmartPtr< Measurementmeasurement_
 
Index n_sens_steps_
 

Additional Inherited Members

- Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject
const JournalistJnlst () const
 
IpoptNLPIpNLP () const
 
IpoptDataIpData () const
 
IpoptCalculatedQuantitiesIpCq () const
 
bool HaveIpData () const
 

Detailed Description

This is the interface for the actual controller.

It handles Data input to the controller (measurement) and returns controls.

Definition at line 23 of file SensAlgorithm.hpp.

Constructor & Destructor Documentation

◆ SensAlgorithm()

Ipopt::SensAlgorithm::SensAlgorithm ( std::vector< SmartPtr< SchurDriver > > &  driver_vec,
SmartPtr< SensitivityStepCalculator sens_step_calc,
SmartPtr< Measurement measurement,
Index  n_sens_steps 
)

◆ ~SensAlgorithm()

virtual Ipopt::SensAlgorithm::~SensAlgorithm ( )
virtual

Member Function Documentation

◆ InitializeImpl()

virtual bool Ipopt::SensAlgorithm::InitializeImpl ( const OptionsList options,
const std::string &  prefix 
)
virtual

Implementation of the initialization method that has to be overloaded by for each derived class.

Implements Ipopt::AlgorithmStrategyObject.

◆ Run()

SensAlgorithmExitStatus Ipopt::SensAlgorithm::Run ( )

Main loop: Wait for new measurement, Get new step, maybe deal with bounds, see to it that everything happens in the required timeframe.

◆ ComputeSensitivityMatrix()

SensAlgorithmExitStatus Ipopt::SensAlgorithm::ComputeSensitivityMatrix ( void  )

◆ nl()

Index Ipopt::SensAlgorithm::nl ( void  )
inline

accessor methods to get access to variable sizes

Definition at line 47 of file SensAlgorithm.hpp.

◆ nx()

Index Ipopt::SensAlgorithm::nx ( void  )
inline

Definition at line 51 of file SensAlgorithm.hpp.

◆ nzl()

Index Ipopt::SensAlgorithm::nzl ( void  )
inline

Definition at line 55 of file SensAlgorithm.hpp.

◆ nzu()

Index Ipopt::SensAlgorithm::nzu ( void  )
inline

Definition at line 59 of file SensAlgorithm.hpp.

◆ ns()

Index Ipopt::SensAlgorithm::ns ( void  )
inline

Definition at line 63 of file SensAlgorithm.hpp.

◆ np()

Index Ipopt::SensAlgorithm::np ( void  )
inline

Definition at line 67 of file SensAlgorithm.hpp.

◆ GetDirectionalDerivatives()

void Ipopt::SensAlgorithm::GetDirectionalDerivatives ( void  )
private

method to extract sensitivity vectors

◆ GetSensitivityMatrix()

void Ipopt::SensAlgorithm::GetSensitivityMatrix ( Index  col)
private

method to extract sensitivity matrix

◆ UnScaleIteratesVector()

void Ipopt::SensAlgorithm::UnScaleIteratesVector ( SmartPtr< IteratesVector > *  V)
private

private method used to uncale perturbed solution and sensitivities

Member Data Documentation

◆ DirectionalD_X_

Number* Ipopt::SensAlgorithm::DirectionalD_X_

array place holders to store the vector of sensitivities

Definition at line 73 of file SensAlgorithm.hpp.

◆ DirectionalD_L_

Number* Ipopt::SensAlgorithm::DirectionalD_L_

Definition at line 74 of file SensAlgorithm.hpp.

◆ DirectionalD_Z_L_

Number* Ipopt::SensAlgorithm::DirectionalD_Z_L_

Definition at line 75 of file SensAlgorithm.hpp.

◆ DirectionalD_Z_U_

Number* Ipopt::SensAlgorithm::DirectionalD_Z_U_

Definition at line 76 of file SensAlgorithm.hpp.

◆ SensitivityM_X_

Number* Ipopt::SensAlgorithm::SensitivityM_X_

array place holders for the sensitivity matrix

Definition at line 79 of file SensAlgorithm.hpp.

◆ SensitivityM_L_

Number* Ipopt::SensAlgorithm::SensitivityM_L_

Definition at line 80 of file SensAlgorithm.hpp.

◆ SensitivityM_Z_L_

Number* Ipopt::SensAlgorithm::SensitivityM_Z_L_

Definition at line 81 of file SensAlgorithm.hpp.

◆ SensitivityM_Z_U_

Number* Ipopt::SensAlgorithm::SensitivityM_Z_U_

Definition at line 82 of file SensAlgorithm.hpp.

◆ nl_

Index Ipopt::SensAlgorithm::nl_
private

Definition at line 85 of file SensAlgorithm.hpp.

◆ nx_

Index Ipopt::SensAlgorithm::nx_
private

Definition at line 86 of file SensAlgorithm.hpp.

◆ nzl_

Index Ipopt::SensAlgorithm::nzl_
private

Definition at line 87 of file SensAlgorithm.hpp.

◆ nzu_

Index Ipopt::SensAlgorithm::nzu_
private

Definition at line 88 of file SensAlgorithm.hpp.

◆ nceq_

Index Ipopt::SensAlgorithm::nceq_
private

Definition at line 89 of file SensAlgorithm.hpp.

◆ ncineq_

Index Ipopt::SensAlgorithm::ncineq_
private

Definition at line 90 of file SensAlgorithm.hpp.

◆ ns_

Index Ipopt::SensAlgorithm::ns_
private

Definition at line 91 of file SensAlgorithm.hpp.

◆ np_

Index Ipopt::SensAlgorithm::np_
private

Definition at line 92 of file SensAlgorithm.hpp.

◆ driver_vec_

std::vector< SmartPtr<SchurDriver> > Ipopt::SensAlgorithm::driver_vec_
private

Definition at line 94 of file SensAlgorithm.hpp.

◆ sens_step_calc_

SmartPtr<SensitivityStepCalculator> Ipopt::SensAlgorithm::sens_step_calc_
private

Definition at line 95 of file SensAlgorithm.hpp.

◆ measurement_

SmartPtr<Measurement> Ipopt::SensAlgorithm::measurement_
private

Definition at line 96 of file SensAlgorithm.hpp.

◆ n_sens_steps_

Index Ipopt::SensAlgorithm::n_sens_steps_
private

Definition at line 97 of file SensAlgorithm.hpp.


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