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

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 |
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.
| 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.
| MoochoPack::CheckDescentQuasiNormalStep_Step::STANDARD_COMPOSITION_MEMBERS | ( | CalcFiniteDiffProd | , |
| calc_fd_prod | |||
| ) |
Set the object that will compute the finite difference products.
|
virtual |
Implements IterationPack::AlgorithmStep.
Definition at line 64 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.
|
virtual |
Reimplemented from IterationPack::AlgorithmStep.
Definition at line 152 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.
1.8.6