MoochoPack : Framework for Large-Scale Optimization Algorithms Version of the Day
MoochoPack::EvalNewPointTailoredApproach_Step Class Reference

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]

List of all members.

Public types

enum  EFDDerivTesting
  More...

Constructors / initializers

typedef Teuchos::RCP< const
MatrixOp > 
D_ptr_t
 
 STANDARD_COMPOSITION_MEMBERS (NLPDirectTester, deriv_tester)
 <<std comp>="">> members for testing object for NLPDirect
 STANDARD_COMPOSITION_MEMBERS (VariableBoundsTester, bounds_tester)
 <<std comp>="">> Members for variable bounds tester object
 STANDARD_MEMBER_COMPOSITION_MEMBERS (EFDDerivTesting, fd_deriv_testing)
 Set how and if finite derivatives are tested.
 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.
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.
virtual void recalc_py (const MatrixOp &D, VectorMutable *py, EJournalOutputLevel olevel, std::ostream &out)=0
 Overridden by subclass to recompute py and Ypy.
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.

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::EvalNewPointTailoredApproachCoordinate_Step, and MoochoPack::EvalNewPointTailoredApproachOrthogonal_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::EvalNewPointTailoredApproachCoordinate_Step, and MoochoPack::EvalNewPointTailoredApproachOrthogonal_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::EvalNewPointTailoredApproachCoordinate_Step, and MoochoPack::EvalNewPointTailoredApproachOrthogonal_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::EvalNewPointTailoredApproachCoordinate_Step, and MoochoPack::EvalNewPointTailoredApproachOrthogonal_Step.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends