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

Base class for evaluating a new point for the "Tailored Approach". More...

#include <MoochoPack_EvalNewPointTailoredApproach_Step.hpp>

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

Public types

enum  EFDDerivTesting
 

Constructors / initializers

typedef Teuchos::RCP< const
MatrixOp > 
D_ptr_t
 
 STANDARD_COMPOSITION_MEMBERS (NLPDirectTester, deriv_tester)
 <<std comp>="">> members for testing object for NLPDirect More...
 
 STANDARD_COMPOSITION_MEMBERS (VariableBoundsTester, bounds_tester)
 <<std comp>="">> Members for variable bounds tester object More...
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (EFDDerivTesting, fd_deriv_testing)
 Set how and if finite derivatives are tested. More...
 
 EvalNewPointTailoredApproach_Step (const deriv_tester_ptr_t &deriv_tester, const bounds_tester_ptr_t &bounds_tester, EFDDerivTesting fd_deriv_testing=FD_DEFAULT)
 

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
 

To be overridden by subclasses

virtual void uninitialize_Y_Uy (MatrixOp *Y, MatrixOp *Uy)=0
 Call to uninitialize the matrices. More...
 
virtual void calc_py_Y_Uy (const NLPDirect &nlp, const D_ptr_t &D, VectorMutable *py, MatrixOp *Y, MatrixOp *Uy, EJournalOutputLevel olevel, std::ostream &out)=0
 Overridden by subclass to compute py, Y and Uy. More...
 
virtual void recalc_py (const MatrixOp &D, VectorMutable *py, EJournalOutputLevel olevel, std::ostream &out)=0
 Overridden by subclass to recompute py and Ypy. More...
 
virtual void print_calc_py_Y_Uy (std::ostream &out, const std::string &leading_str) const =0
 Overridden by subclass to print how py and Y are computed. More...
 

Detailed Description

Base class for evaluating a new point for the "Tailored Approach".

Uses the NLPDirect interface to compute Z = [ -inv(C)*N; I ] and py = -inv(C)*c(decomp) explicitly. Subclasses determine how py and Y are updated.

Definition at line 60 of file MoochoPack_EvalNewPointTailoredApproach_Step.hpp.

Member Typedef Documentation

Member Enumeration Documentation

Constructor & Destructor Documentation

MoochoPack::EvalNewPointTailoredApproach_Step::EvalNewPointTailoredApproach_Step ( const deriv_tester_ptr_t &  deriv_tester,
const bounds_tester_ptr_t &  bounds_tester,
EFDDerivTesting  fd_deriv_testing = FD_DEFAULT 
)

Member Function Documentation

MoochoPack::EvalNewPointTailoredApproach_Step::STANDARD_COMPOSITION_MEMBERS ( NLPDirectTester  ,
deriv_tester   
)

<<std comp>="">> members for testing object for NLPDirect

MoochoPack::EvalNewPointTailoredApproach_Step::STANDARD_COMPOSITION_MEMBERS ( VariableBoundsTester  ,
bounds_tester   
)

<<std comp>="">> Members for variable bounds tester object

MoochoPack::EvalNewPointTailoredApproach_Step::STANDARD_MEMBER_COMPOSITION_MEMBERS ( EFDDerivTesting  ,
fd_deriv_testing   
)

Set how and if finite derivatives are tested.

ToDo: Finish documentation.

bool MoochoPack::EvalNewPointTailoredApproach_Step::do_step ( Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss 
)
void MoochoPack::EvalNewPointTailoredApproach_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
virtual void MoochoPack::EvalNewPointTailoredApproach_Step::uninitialize_Y_Uy ( MatrixOp *  Y,
MatrixOp *  Uy 
)
pure virtual

Call to uninitialize the matrices.

ToDo: Finish documentation!

Implemented in MoochoPack::EvalNewPointTailoredApproachOrthogonal_Step, and MoochoPack::EvalNewPointTailoredApproachCoordinate_Step.

virtual void MoochoPack::EvalNewPointTailoredApproach_Step::calc_py_Y_Uy ( const NLPDirect &  nlp,
const D_ptr_t D,
VectorMutable *  py,
MatrixOp *  Y,
MatrixOp *  Uy,
EJournalOutputLevel  olevel,
std::ostream &  out 
)
pure virtual

Overridden by subclass to compute py, Y and Uy.

Parameters
D[in/out] Smart pointer to matrix D = -inv(C)*N. On output, D->count() may be incremented in order to initialize Y.
py[in/out] On input py = -inv(C)*c(decomp). On output py = -inv((Gc(decomp)'*Y)*c(decomp)
Y[in/out] On ouput Y is initialized properly.
Uy[in/out] On ouput Uy is initialized properly.
olevel[in] Determines output level.
out[out] Journal outputting.

Implemented in MoochoPack::EvalNewPointTailoredApproachOrthogonal_Step, and MoochoPack::EvalNewPointTailoredApproachCoordinate_Step.

virtual void MoochoPack::EvalNewPointTailoredApproach_Step::recalc_py ( const MatrixOp &  D,
VectorMutable *  py,
EJournalOutputLevel  olevel,
std::ostream &  out 
)
pure virtual

Overridden by subclass to recompute py and Ypy.

Parameters
D[in] matrix D = -inv(C)*N
py[in/out] On input py = -inv(C)*c(decomp). On output py = -inv((Gc(decomp)'*Y)*c(decomp)

Implemented in MoochoPack::EvalNewPointTailoredApproachOrthogonal_Step, and MoochoPack::EvalNewPointTailoredApproachCoordinate_Step.

virtual void MoochoPack::EvalNewPointTailoredApproach_Step::print_calc_py_Y_Uy ( std::ostream &  out,
const std::string &  leading_str 
) const
pure virtual

Overridden by subclass to print how py and Y are computed.

Implemented in MoochoPack::EvalNewPointTailoredApproachOrthogonal_Step, and MoochoPack::EvalNewPointTailoredApproachCoordinate_Step.


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