Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
search.hh File Reference

Go to the source code of this file.

Classes

class  Gecode::Search::Statistics
 Search engine statistics More...
 
class  Gecode::SearchTracer
 Support for tracing search. More...
 
class  Gecode::SearchTracer::EngineInfo
 Information about an engine. More...
 
class  Gecode::SearchTracer::EdgeInfo
 Edge information. More...
 
class  Gecode::SearchTracer::NodeInfo
 Node information. More...
 
class  Gecode::StdSearchTracer
 
class  Gecode::CPProfilerSearchTracer
 Class to record search trace info for CPProfiler. More...
 
class  Gecode::CPProfilerSearchTracer::GetInfo
 Class to send solution information to CPProfiler. More...
 
class  Gecode::Search::Cutoff
 Base class for cutoff generators for restart-based meta engine. More...
 
class  Gecode::Search::CutoffConstant
 Cutoff generator for constant sequence. More...
 
class  Gecode::Search::CutoffLinear
 Cutoff generator for linear sequence. More...
 
class  Gecode::Search::CutoffLuby
 Cutoff generator for the Luby sequence. More...
 
class  Gecode::Search::CutoffGeometric
 Cutoff generator for the geometric sequence. More...
 
class  Gecode::Search::CutoffRandom
 Cutoff generator for the random sequence. More...
 
class  Gecode::Search::CutoffAppend
 Cutoff generator appending two cutoff generators. More...
 
class  Gecode::Search::CutoffMerge
 Cutoff generator merging two cutoff generators. More...
 
class  Gecode::Search::CutoffRepeat
 Cutoff generator that repeats a cutoff from another cutoff generator. More...
 
class  Gecode::Search::Options
 Search engine options More...
 
class  Gecode::Search::Stop
 Base-class for Stop-object. More...
 
class  Gecode::Search::NodeStop
 Stop-object based on number of nodes More...
 
class  Gecode::Search::FailStop
 Stop-object based on number of failures More...
 
class  Gecode::Search::TimeStop
 Stop-object based on time More...
 
class  Gecode::Search::Engine
 Search engine implementation interface More...
 
class  Gecode::Search::Base< T >
 Base-class for search engines. More...
 
class  Gecode::Search::Builder
 A class for building search engines. More...
 
class  Gecode::SEBs
 Passing search engine builder arguments. More...
 
class  Gecode::DFS< T >
 Depth-first search engine. More...
 
class  Gecode::BAB< T >
 Depth-first branch-and-bound search engine. More...
 
class  Gecode::LDS< T >
 Limited discrepancy search engine. More...
 
class  Gecode::RBS< T, E >
 Meta-engine performing restart-based search. More...
 
class  Gecode::PBS< T, E >
 Meta engine using a portfolio of search engines. More...
 

Namespaces

namespace  Gecode
 Gecode toplevel namespace
 
namespace  Gecode::Search
 Search engines
 
namespace  Gecode::Search::Sequential
 Sequential search engine implementations
 
namespace  Gecode::Search::Parallel
 Parallel search engine implementations
 
namespace  Gecode::Search::Meta
 Meta search engine implementations
 
namespace  Gecode::Search::Meta::Sequential
 Sequential meta search engine implementations
 
namespace  Gecode::Search::Meta::Parallel
 Parallel meta search engine implementations
 
namespace  Gecode::Search::Config
 Search configuration
 
namespace  Gecode::CPProfiler
 Code that is specific to the CPProfiler.
 

Macros

#define GECODE_SEARCH_EXPORT
 
#define GECODE_LIBRARY_NAME   "Search"
 

Typedefs

typedef Search::BuilderGecode::SEB
 Type for a search engine builder.
 

Functions

template<class T , class E >
EngineGecode::Search::build (Space *s, const Options &opt)
 Build an engine of type E for a script T.
 
template<class T >
T * Gecode::dfs (T *s, const Search::Options &o=Search::Options::def)
 Invoke depth-first search engine for subclass T of space s with options o.
 
template<class T >
SEB Gecode::dfs (const Search::Options &o=Search::Options::def)
 Return a depth-first search engine builder.
 
template<class T >
T * Gecode::bab (T *s, const Search::Options &o=Search::Options::def)
 Perform depth-first branch-and-bound search for subclass T of space s and options o.
 
template<class T >
SEB Gecode::bab (const Search::Options &o=Search::Options::def)
 Return a depth-first branch-and-bound search engine builder.
 
template<class T >
T * Gecode::lds (T *s, const Search::Options &o=Search::Options::def)
 Invoke limited-discrepancy search for s as root node and optionso.
 
template<class T >
SEB Gecode::lds (const Search::Options &o=Search::Options::def)
 Return a limited discrepancy search engine builder.
 
template<class T , template< class > class E>
T * Gecode::rbs (T *s, const Search::Options &o)
 Perform restart-based search.
 
template<class T , template< class > class E>
SEB Gecode::rbs (const Search::Options &o)
 Return a restart search engine builder.
 
template<class T , template< class > class E>
EngineGecode::Search::Meta::sequential (T *master, const Search::Statistics &stat, Options &opt)
 Build a sequential engine.
 
template<class T , template< class > class E>
EngineGecode::Search::Meta::sequential (T *master, SEBs &sebs, const Search::Statistics &stat, Options &opt, bool best)
 Build a sequential engine.
 
template<class T , template< class > class E>
EngineGecode::Search::Meta::parallel (T *master, const Search::Statistics &stat, Options &opt)
 Build a parallel engine.
 
template<class T , template< class > class E>
EngineGecode::Search::Meta::parallel (T *master, SEBs &sebs, const Search::Statistics &stat, Options &opt, bool best)
 Build a parallel engine.
 
template<class T , template< class > class E>
T * Gecode::pbs (T *s, const Search::Options &o=Search::Options::def)
 Run a portfolio of search engines.
 
template<class T >
SEB Gecode::pbs (const Search::Options &o=Search::Options::def)
 Return a portfolio search engine builder.
 

Variables

const bool Gecode::Search::Config::clone = true
 Whether engines create a clone when being initialized.
 
const double Gecode::Search::Config::threads = 1.0
 Number of threads to use.
 
const unsigned int Gecode::Search::Config::c_d = 8
 Create a clone after every c_d commits (commit distance)
 
const unsigned int Gecode::Search::Config::a_d = 2
 Create a clone during recomputation if distance is greater than a_d (adaptive distance)
 
const unsigned int Gecode::Search::Config::steal_limit = 3
 Minimal number of open nodes for stealing.
 
const unsigned int Gecode::Search::Config::initial_delay = 5
 Initial delay in milliseconds for all but first worker thread.
 
const unsigned int Gecode::Search::Config::d_l = 5
 Default discrepancy limit for LDS.
 
const double Gecode::Search::Config::base = 1.5
 Base for geometric restart sequence.
 
const unsigned int Gecode::Search::Config::slice = 250
 Size of a slice in a portfolio and scale factor for restarts(in number of failures)
 
const unsigned int Gecode::Search::Config::nogoods_limit = 128
 Depth limit for no-good generation during search.
 
const unsigned int Gecode::Search::Config::cpprofiler_port = 6565U
 Default port for CPProfiler.
 

Macro Definition Documentation

◆ GECODE_SEARCH_EXPORT

#define GECODE_SEARCH_EXPORT

Definition at line 67 of file search.hh.

◆ GECODE_LIBRARY_NAME

#define GECODE_LIBRARY_NAME   "Search"

Definition at line 74 of file search.hh.