Implements Dynamic_Oscillating_Search. More...
#include <search_seq_dos.hpp>
Public Types | |
typedef Search_Sequential < RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR > | parent |
typedef parent::parent | grandparent |
typedef boost::shared_ptr < EVALUATOR > | PEvaluator |
typedef boost::shared_ptr < CRITERION > | PCriterion |
typedef boost::shared_ptr< SUBSET > | PSubset |
Public Member Functions | |
Search_DOS (const PEvaluator evaluator) | |
virtual bool | search (const DIMTYPE target_d, RETURNTYPE &result, const PSubset sub, const PCriterion crit, std::ostream &os=std::cout) |
returns found subset + criterion value | |
void | set_delta (const DIMTYPE delta) |
oscillating cycle depth | |
DIMTYPE | get_delta () const |
virtual std::ostream & | print (std::ostream &os) const |
Protected Types | |
enum | SwingPhase { RESTART = 0, DOWN = 1, RETURN_UP = 2, UP = 4, RETURN_DOWN = 8 } |
Protected Attributes | |
DIMTYPE | _delta |
boost::scoped_ptr< SUBSET > | pivotsub |
stores the subset with maximum known crit value | |
boost::scoped_ptr< SUBSET > | pivot_top |
helper to prevent redundant search when OS cycle depth increases | |
boost::scoped_ptr< SUBSET > | pivot_bottom |
helper to prevent redundant search when OS cycle depth increases |
Implements Dynamic_Oscillating_Search.
demo12t.cpp, demo23.cpp, demo25t.cpp, demo30.cpp, demo51.cpp, demo55.cpp, demo56.cpp, demo60.cpp, and demo62.cpp.