MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
MoochoPack::CheckDescentQuasiNormalStep_Step Class Reference

Checks for descent in the decomposed equality constraints with respect to the range space step Ypy using finite differences. More...

#include <MoochoPack_CheckDescentQuasiNormalStep_Step.hpp>

Inheritance diagram for MoochoPack::CheckDescentQuasiNormalStep_Step:
Inheritance graph
[legend]

Public Member Functions

 STANDARD_COMPOSITION_MEMBERS (CalcFiniteDiffProd, calc_fd_prod)
 Set the object that will compute the finite difference products. More...
 
 CheckDescentQuasiNormalStep_Step (const calc_fd_prod_ptr_t &calc_fd_prod)
 Constructor. More...
 
- Public Member Functions inherited from IterationPack::AlgorithmStep
virtual ~AlgorithmStep ()
 
virtual void initialize_step (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm just before the algorithm is run. More...
 
virtual void inform_updated (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm to inform when a runtime configuration change is finihed. More...
 
virtual void finalize_step (Algorithm &algo, poss_type step_poss, EDoStepType type, poss_type assoc_step_poss)
 Called by Algorithm just after an algorithm is terminiated. More...
 

Overridden from AlgorithmStep

bool do_step (Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss)
 
void print_step (const Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const
 

Additional Inherited Members

- Public Types inherited from IterationPack::AlgorithmStep
typedef size_t poss_type
 

Detailed Description

Checks for descent in the decomposed equality constraints with respect to the range space step Ypy using finite differences.

This step class checks for descent in the feasibility measure q(x) = 1/2 * cd(x)'*cd(x) <: REAL of the decomposed equality constraints cd(x) = c(equ_decomp)(x) with respect to the range space step Ypy_k. The gradient of this feasibility measure is:

grad(q(x),x) = grad(cd(x),x) * cd(x)

Therefore, we can determine if we have descent by checking grad(q(x),x)'*Ypy_k = cd(x)'*grad(cd(x),x)'*Ypy_k< 0. The product grad(c(x),x)'*Ypy_k is approximated with finite differences using the class MoochoPack::CalcFiniteDiffProd.

Definition at line 66 of file MoochoPack_CheckDescentQuasiNormalStep_Step.hpp.

Constructor & Destructor Documentation

MoochoPack::CheckDescentQuasiNormalStep_Step::CheckDescentQuasiNormalStep_Step ( const calc_fd_prod_ptr_t &  calc_fd_prod)

Constructor.

Definition at line 58 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.

Member Function Documentation

MoochoPack::CheckDescentQuasiNormalStep_Step::STANDARD_COMPOSITION_MEMBERS ( CalcFiniteDiffProd  ,
calc_fd_prod   
)

Set the object that will compute the finite difference products.

bool MoochoPack::CheckDescentQuasiNormalStep_Step::do_step ( Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss 
)
virtual
void MoochoPack::CheckDescentQuasiNormalStep_Step::print_step ( const Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss,
std::ostream &  out,
const std::string &  leading_str 
) const
virtual

Reimplemented from IterationPack::AlgorithmStep.

Definition at line 152 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.


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