MoochoPack : Framework for Large-Scale Optimization Algorithms 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 )
 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: