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]
List of all members.

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
 

Public Member Functions

 STANDARD_COMPOSITION_MEMBERS (CalcFiniteDiffProd, calc_fd_prod)
 Set the object that will compute the finite difference products.
 CheckDescentQuasiNormalStep_Step (const calc_fd_prod_ptr_t &calc_fd_prod)
 Constructor.

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 53 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 45 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 
)

Definition at line 51 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.

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

Definition at line 139 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:32:17 2010 for MoochoPack : Framework for Large-Scale Optimization Algorithms by  doxygen 1.4.7