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::ReducedHessianSecantUpdateLPBFGS_Strategy Class Reference

Perform BFGS updates on only the free independent (super basic) variables. More...

#include <MoochoPack_ReducedHessianSecantUpdateLPBFGS_Strategy.hpp>

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

Public Member Functions

 STANDARD_COMPOSITION_MEMBERS (ReducedHessianSecantUpdateBFGSProjected_Strategy, proj_bfgs_updater)
 <<std comp>="">> members for the strategy object that will perform dense projected BFGS updating. More...
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (size_type, min_num_updates_proj_start)
 Set the minimum number of BFGS updates to perform on the LBFGS matrix before considering switching to projected BFGS updating. More...
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (size_type, max_num_updates_proj_start)
 Set the maximum number of BFGS updates to perform on the LBFGS matrix before automatically switching to the projected BFGS updating reguardless if the active set has calmed down or not. More...
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (size_type, num_superbasics_switch_dense)
 Set the maximum number of superbasic variables under which switching from limited memory to dense projected PBFGS updating will be allowed. More...
 
 STANDARD_MEMBER_COMPOSITION_MEMBERS (size_type, num_add_recent_updates)
 Set maximum number of previous BFGS updates to initialize the new dense projected BFGS matrix with. More...
 
 ReducedHessianSecantUpdateLPBFGS_Strategy (const proj_bfgs_updater_ptr_t &proj_bfgs_updater=NULL, size_type min_num_updates_proj_start=0, size_type max_num_updates_proj_start=999999, size_type num_superbasics_switch_dense=500, size_type num_add_recent_updates=10)
 
bool perform_update (DVectorSlice *s_bfgs, DVectorSlice *y_bfgs, bool first_update, std::ostream &out, EJournalOutputLevel olevel, NLPAlgo *algo, NLPAlgoState *s, MatrixOp *rHL_k)
 
void print_step (std::ostream &out, const std::string &leading_str) const
 
- Public Member Functions inherited from MoochoPack::ReducedHessianSecantUpdate_Strategy
virtual ~ReducedHessianSecantUpdate_Strategy ()
 
virtual bool perform_update (VectorMutable *s_bfgs, VectorMutable *y_bfgs, bool first_update, std::ostream &out, EJournalOutputLevel olevel, NLPAlgo *algo, NLPAlgoState *s, MatrixSymOp *rHL_k)=0
 Perform the secant update. More...
 

Detailed Description

Perform BFGS updates on only the free independent (super basic) variables.

This method should be very efficient for few super basic variables.

Definition at line 59 of file MoochoPack_ReducedHessianSecantUpdateLPBFGS_Strategy.hpp.

Constructor & Destructor Documentation

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::ReducedHessianSecantUpdateLPBFGS_Strategy ( const proj_bfgs_updater_ptr_t &  proj_bfgs_updater = NULL,
size_type  min_num_updates_proj_start = 0,
size_type  max_num_updates_proj_start = 999999,
size_type  num_superbasics_switch_dense = 500,
size_type  num_add_recent_updates = 10 
)

Member Function Documentation

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::STANDARD_COMPOSITION_MEMBERS ( ReducedHessianSecantUpdateBFGSProjected_Strategy  ,
proj_bfgs_updater   
)

<<std comp>="">> members for the strategy object that will perform dense projected BFGS updating.

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS ( size_type  ,
min_num_updates_proj_start   
)

Set the minimum number of BFGS updates to perform on the LBFGS matrix before considering switching to projected BFGS updating.

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS ( size_type  ,
max_num_updates_proj_start   
)

Set the maximum number of BFGS updates to perform on the LBFGS matrix before automatically switching to the projected BFGS updating reguardless if the active set has calmed down or not.

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS ( size_type  ,
num_superbasics_switch_dense   
)

Set the maximum number of superbasic variables under which switching from limited memory to dense projected PBFGS updating will be allowed.

MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS ( size_type  ,
num_add_recent_updates   
)

Set maximum number of previous BFGS updates to initialize the new dense projected BFGS matrix with.

bool MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::perform_update ( DVectorSlice *  s_bfgs,
DVectorSlice *  y_bfgs,
bool  first_update,
std::ostream &  out,
EJournalOutputLevel  olevel,
NLPAlgo algo,
NLPAlgoState s,
MatrixOp *  rHL_k 
)

void MoochoPack::ReducedHessianSecantUpdateLPBFGS_Strategy::print_step ( std::ostream &  out,
const std::string &  leading_str 
) const
virtual

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