1 #if !defined(RUNNER_HH_)
7 #include <condition_variable>
20 template <
class Input,
class State,
typename CFtype>
32 template <
class Input,
class State,
typename CFtype =
int>
67 virtual
void ReadParameters(std::istream& is = std::cin, std::ostream& os = std::cout);
72 virtual
void Print(std::ostream& os = std::cout) const;
195 virtual void UpdateBestState() = 0;
208 template <class Input, class State, typename CFtype>
211 template <class Input, class State, typename CFtype>
217 searchengines.push_back(
this);
220 template <
class Input,
class State,
typename CFtype>
228 template <
class Input,
class State,
typename CFtype>
260 template <
class Input,
class State,
typename CFtype>
270 template <
class Input,
class State,
typename CFtype>
274 template <
class Input,
class State,
typename CFtype>
286 template <
class Input,
class State,
typename CFtype>
294 template <
class Input,
class State,
typename CFtype>
300 template <
class Input,
class State,
typename CFtype>
306 template <
class Input,
class State,
typename CFtype>
309 os << this->
name <<
" -- INPUT PARAMETERS" << std::endl;
313 template <
class Input,
class State,
typename CFtype>
316 os <<
" " << this->
name << std::endl;
322 #endif // _RUNNER_HH_
static std::vector< SearchEngine< Input, State, CFtype > * > searchengines
CostStructure< CFtype > Step(State &s, unsigned int n=1)
CFtype max(const std::vector< CFtype > &values)
virtual bool StopCriterion()=0
virtual void CompleteMove()
unsigned long int iteration_of_best
virtual void ReadParameters(std::istream &is=std::cin, std::ostream &os=std::cout)
virtual void SelectMove()=0
StateManager< Input, State, CFtype > & sm
std::vector< double > weights
unsigned int IterationOfBest() const
bool no_acceptable_move_found
SearchEngine(const Input &i, StateManager< Input, State, CFtype > &, std::string, std::string)
virtual void ReadParameters(std::istream &is=std::cin, std::ostream &os=std::cout)
virtual void InitializeRun()
unsigned long int iteration
std::shared_ptr< State > p_current_state
virtual std::function< CostStructure< CFtype >State &)> MakeFunction()
unsigned long int Iteration() const
CostStructure< CFtype > Go(State &s)
CostStructure< CFtype > current_state_cost
const std::string description
virtual void Print(std::ostream &os=std::cout) const
virtual size_t Modality() const =0
const std::atomic< bool > & TimeoutExpired()
virtual void TerminateRun()=0
virtual void PrepareIteration()
std::shared_ptr< State > p_best_state
bool MaxEvaluationsExpired() const
virtual void CompleteIteration()
virtual void MakeMove()=0
virtual void RegisterParameters()
This component is responsible for all operations on the state which are independent of the neighborho...
virtual void PrepareMove()
Parameter< unsigned long int > max_evaluations
virtual bool LowerBoundReached() const
CostStructure< CFtype > best_state_cost
virtual void Print(std::ostream &os=std::cout) const
unsigned long int evaluations
virtual bool AcceptableMoveFound()=0