MoochoPack::NLPAlgoState Class Reference

Reduced space SQP state encapsulation interface. More...

#include <MoochoPack_NLPAlgoState.hpp>

Inheritance diagram for MoochoPack::NLPAlgoState:

[legend]
List of all members.

Public Types

typedef Teuchos::RefCountPtr<
const VectorSpace > 
vec_space_ptr_t
 

Constructors/initializers

void set_decomp_sys (const Teuchos::RefCountPtr< DecompositionSystem > &decomp_sys)
 Set the DecompositionSystem object that all share.
void set_space_x (const Teuchos::RefCountPtr< const VectorSpace > &space_x)
 Set the VectorSpace of x.
void set_space_c (const Teuchos::RefCountPtr< const VectorSpace > &space_c)
 Set the VectorSpace of c.
void set_space_range (const vec_space_ptr_t &space_range)
 Set the VectorSpace of the range space (py).
void set_space_null (const vec_space_ptr_t &space_null)
 Set the VectorSpace of the null space (pz).
 NLPAlgoState (const decomp_sys_ptr_t &decomp_sys=Teuchos::null, const vec_space_ptr_t &space_x=Teuchos::null, const vec_space_ptr_t &space_c=Teuchos::null, const vec_space_ptr_t &space_range=Teuchos::null, const vec_space_ptr_t &space_null=Teuchos::null)
 Construct.
virtual ~NLPAlgoState ()
 

Basis Pivot Info (variable reduction decompositions only)

void set_P_var_current (const Teuchos::RefCountPtr< Permutation > &P_var_current)
 Current permutation for variables.
void set_P_var_last (const Teuchos::RefCountPtr< Permutation > &P_var_last)
 Previous permutation for variables.
void set_P_equ_current (const Teuchos::RefCountPtr< Permutation > &P_equ_current)
 Current permutation for equality constraints.
void set_P_equ_last (const Teuchos::RefCountPtr< Permutation > &P_equ_last)
 Previous permutation for equality constraints.

Decomposition information

Scaled KKT error for optimality ||rGL|| Scaled KKT error for feasibility ||c|| and ||hl <= h <= hu|| Scaled KKT error for complementarity (bounds) GL: Gradient of the Lagrangian ( n x 1 ) rGL: Reduced gradient of the Lagrangian ( (n-m) x 1 ) lambda: Lagrange multipliers for the equality constraints 'c' ( m x 1 ) nu: Difference between Lagrange multipiers for the upper and lower bounds ( n x 1 )

void equ_decomp (const Range1D &equ_decomp)
 Range of decomposed equality constraints [1,r].
const Range1D & equ_decomp () const
void equ_undecomp (const Range1D &equ_undecomp)
 Range of undecomposed equality constraints [r+1,m].
const Range1D & equ_undecomp () const

Protected Member Functions

void update_iq_id (const std::string &iq_name, iq_id_encap *iq_id) const
 
void update_index_type_iq_id (const std::string &iq_name, iq_id_encap *iq_id)
 
void update_value_type_iq_id (const std::string &iq_name, iq_id_encap *iq_id)
 
void update_vector_iq_id (const std::string &iq_name, const VectorSpace::space_ptr_t &vec_space, EVecSpaceType vec_space_type, iq_id_encap *iq_id)
 

Detailed Description

Reduced space SQP state encapsulation interface.

This in an interface to a set of data specific to a reduced space SQP algorithms. The iteration quantites are abstracted within IterQuantityAccess<> objects. A set of boilerplate macros are used to add the necessary declarations and implemetations of these iteration quantity access functions. As shown by these macros the access methods are declared virtual so that subclasses can override these methods. Otherwise, much of these could have been declared inline.

The implementation defined in this class uses IterQuantityAccessContiguous<> for iteration quantities of type index_type, value_type and VectorMutable with a default of one storage location. The default implementation is able to create the VectorMutable iteration quantities by using VectorSpace objects that the client sets this up with.

For all other types of iteration quantities (i.e. MatrixOp etc.) the client is responsible for setting the iteration quantity object of type IterQuantityAccess<>. The client can also change the type of class used for any iteration quantity by simply calling AlgorithmState::set_iter_quant(...).

The number of storage locations for any iteration quantity of type IterQuantityAccessContiguous<> can be changed by fetching the iteration quantity using the access methods defined here and then using dynamic_cast<> and calling the IterQuantityAccessContiguous<>::resize(...) method.

Note that the underlying AlgorithmState object will not know about the iteration quantity objects with default implementations until the access functions have been called at least once.

ToDo: Finish documentation.

Definition at line 251 of file MoochoPack_NLPAlgoState.hpp.


Member Typedef Documentation

typedef Teuchos::RefCountPtr<const VectorSpace> MoochoPack::NLPAlgoState::vec_space_ptr_t
 

Definition at line 264 of file MoochoPack_NLPAlgoState.hpp.


Constructor & Destructor Documentation

MoochoPack::NLPAlgoState::NLPAlgoState const decomp_sys_ptr_t decomp_sys = Teuchos::null,
const vec_space_ptr_t space_x = Teuchos::null,
const vec_space_ptr_t space_c = Teuchos::null,
const vec_space_ptr_t space_range = Teuchos::null,
const vec_space_ptr_t space_null = Teuchos::null
 

Construct.

Initializes num_basis() == 0

Definition at line 102 of file MoochoPack_NLPAlgoState.cpp.

virtual MoochoPack::NLPAlgoState::~NLPAlgoState  )  [inline, virtual]
 

Definition at line 327 of file MoochoPack_NLPAlgoState.hpp.


Member Function Documentation

void MoochoPack::NLPAlgoState::set_decomp_sys const Teuchos::RefCountPtr< DecompositionSystem > &  decomp_sys  )  [inline]
 

Set the DecompositionSystem object that all share.

Definition at line 288 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_space_x const Teuchos::RefCountPtr< const VectorSpace > &  space_x  )  [inline]
 

Set the VectorSpace of x.

Definition at line 290 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_space_c const Teuchos::RefCountPtr< const VectorSpace > &  space_c  )  [inline]
 

Set the VectorSpace of c.

Definition at line 292 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_space_range const vec_space_ptr_t space_range  ) 
 

Set the VectorSpace of the range space (py).

Calling this method will cause all of the vector iteration quantity objects set in this space to be updated with this vector space (factory) object.

Definition at line 90 of file MoochoPack_NLPAlgoState.cpp.

void MoochoPack::NLPAlgoState::set_space_null const vec_space_ptr_t space_null  ) 
 

Set the VectorSpace of the null space (pz).

Calling this method will cause all of the vector iteration quantity objects set in this space to be updated with this vector space (factory) object.

Definition at line 96 of file MoochoPack_NLPAlgoState.cpp.

void MoochoPack::NLPAlgoState::equ_decomp const Range1D &  equ_decomp  )  [inline]
 

Range of decomposed equality constraints [1,r].

Definition at line 445 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::equ_undecomp const Range1D &  equ_undecomp  )  [inline]
 

Range of undecomposed equality constraints [r+1,m].

Definition at line 447 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_P_var_current const Teuchos::RefCountPtr< Permutation > &  P_var_current  )  [inline]
 

Current permutation for variables.

Definition at line 455 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_P_var_last const Teuchos::RefCountPtr< Permutation > &  P_var_last  )  [inline]
 

Previous permutation for variables.

Definition at line 457 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_P_equ_current const Teuchos::RefCountPtr< Permutation > &  P_equ_current  )  [inline]
 

Current permutation for equality constraints.

Definition at line 459 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::set_P_equ_last const Teuchos::RefCountPtr< Permutation > &  P_equ_last  )  [inline]
 

Previous permutation for equality constraints.

Definition at line 461 of file MoochoPack_NLPAlgoState.hpp.

void MoochoPack::NLPAlgoState::update_iq_id const std::string &  iq_name,
iq_id_encap iq_id
const [protected]
 

void MoochoPack::NLPAlgoState::update_index_type_iq_id const std::string &  iq_name,
iq_id_encap iq_id
[protected]
 

Definition at line 188 of file MoochoPack_NLPAlgoState.cpp.

void MoochoPack::NLPAlgoState::update_value_type_iq_id const std::string &  iq_name,
iq_id_encap iq_id
[protected]
 

Definition at line 218 of file MoochoPack_NLPAlgoState.cpp.

void MoochoPack::NLPAlgoState::update_vector_iq_id const std::string &  iq_name,
const VectorSpace::space_ptr_t &  vec_space,
EVecSpaceType  vec_space_type,
iq_id_encap iq_id
[protected]
 

Definition at line 248 of file MoochoPack_NLPAlgoState.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:34:29 2008 for MoochoPack : Framework for Large-Scale Optimization Algorithms by doxygen 1.3.9.1