#include <MoochoPack_QuasiRangeSpaceStep_Strategy.hpp>
Inheritance diagram for MoochoPack::QuasiRangeSpaceStep_Strategy:
Public Member Functions | |
virtual | ~QuasiRangeSpaceStep_Strategy () |
| |
virtual bool | solve_quasi_range_space_step (std::ostream &out, EJournalOutputLevel olevel, NLPAlgo *algo, NLPAlgoState *s, const Vector &xo, const Vector &c_xo, VectorMutable *v)=0 |
Compute a step that will approximatly solve a range-space subproblem. | |
virtual void | print_step (std::ostream &out, const std::string &leading_str) const =0 |
This function will print a description of the computations and logic used. |
Definition at line 39 of file MoochoPack_QuasiRangeSpaceStep_Strategy.hpp.
virtual MoochoPack::QuasiRangeSpaceStep_Strategy::~QuasiRangeSpaceStep_Strategy | ( | ) | [inline, virtual] |
virtual bool MoochoPack::QuasiRangeSpaceStep_Strategy::solve_quasi_range_space_step | ( | std::ostream & | out, | |
EJournalOutputLevel | olevel, | |||
NLPAlgo * | algo, | |||
NLPAlgoState * | s, | |||
const Vector & | xo, | |||
const Vector & | c_xo, | |||
VectorMutable * | v | |||
) | [pure virtual] |
Compute a step that will approximatly solve a range-space subproblem.
This function will compute a step v
that will approximatly satisfy:
||Gc_k'*v + c(xo)|| < ||c(xo)||
The above norm ||.|| could be any valid norm and the implementation is free to define what descent means any way it would like. It is assumed that this step will be computed by using the Gc_k
but other implementations are possible. Any information being used in the algorithm can be used to compute this step in a reasonable way. Note that the inequalities do not have to (and should not in most cases) be considered in this computation. Note that whatever means is used to compute v
that it better give a descent direction for ||c(x)||
but there is no guarantee for this if ||xo - x_k||
is large since Gc_k
may not accurately approximate Gc(xo)
.
out | [out] Output stream journal data is written to. | |
olevel | [in] Output level for printing to out . | |
algo | [in/out] The NLPAlgo object. This object can be queryed for information. | |
s | [in/out] NLPAlgoState object. May be queried or modified if needed. | |
xo | [in] Base point vector (size n) xo. | |
c_xo | [out] Constraints residual c(xo). | |
v | [out] Computed step vector (size n). Must not be NULL. |
Implemented in MoochoPack::QuasiRangeSpaceStepStd_Strategy.
virtual void MoochoPack::QuasiRangeSpaceStep_Strategy::print_step | ( | std::ostream & | out, | |
const std::string & | leading_str | |||
) | const [pure virtual] |
This function will print a description of the computations and logic used.
Implemented in MoochoPack::QuasiRangeSpaceStepStd_Strategy, and MoochoPack::QuasiRangeSpaceStepTailoredApproach_Strategy.