MoochoPack : Framework for Large-Scale Optimization Algorithms Version of the Day
Public Member Functions
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.

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.

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
 

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends