MoochoPack : Framework for Large-Scale Optimization Algorithms  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
MoochoPack::QuasiRangeSpaceStep_Strategy Class Referenceabstract

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>

Inheritance diagram for MoochoPack::QuasiRangeSpaceStep_Strategy:
Inheritance graph
[legend]

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

virtual MoochoPack::QuasiRangeSpaceStep_Strategy::~QuasiRangeSpaceStep_Strategy ( )
inlinevirtual

Definition at line 56 of file MoochoPack_QuasiRangeSpaceStep_Strategy.hpp.

Member Function Documentation

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).

Parameters
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.
Returns
Returns true if a step could be found and false otherwise.

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.


The documentation for this class was generated from the following file: