|
MoochoPack : Framework for Large-Scale Optimization Algorithms
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... | |
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 |
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.
| bool MoochoPack::CheckDescentQuasiNormalStep_Step::do_step | ( | Algorithm & | algo, |
| poss_type | step_poss, | ||
| IterationPack::EDoStepType | type, | ||
| poss_type | assoc_step_poss | ||
| ) |
Definition at line 64 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 152 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.
1.8.6