MoochoPack : Framework for Large-Scale Optimization Algorithms
Version of the Day
|
Abstract interface for a strategy object that will compute a step that will approximalty solve a range space subproblem {abstract}. More...
#include <MoochoPack_QuasiRangeSpaceStep_Strategy.hpp>
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. More... | |
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. More... | |
Abstract interface for a strategy object that will compute a step that will approximalty solve a range space subproblem {abstract}.
Definition at line 52 of file MoochoPack_QuasiRangeSpaceStep_Strategy.hpp.
|
inlinevirtual |
Definition at line 56 of file MoochoPack_QuasiRangeSpaceStep_Strategy.hpp.
|
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.
|
pure virtual |
This function will print a description of the computations and logic used.
Implemented in MoochoPack::QuasiRangeSpaceStepStd_Strategy, and MoochoPack::QuasiRangeSpaceStepTailoredApproach_Strategy.