MOOCHO (Single Doxygen Collection) Version of the Day
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:
[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:

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 ) [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 139 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.

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