MoochoPack::QuasiRangeSpaceStep_Strategy Class Reference

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]
List of all members.

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.

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 39 of file MoochoPack_QuasiRangeSpaceStep_Strategy.hpp.


Constructor & Destructor Documentation

virtual MoochoPack::QuasiRangeSpaceStep_Strategy::~QuasiRangeSpaceStep_Strategy (  )  [inline, virtual]

Definition at line 43 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:
Generated on Wed May 12 21:57:27 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7