Generated on Wed Nov 1 15:04:53 2006 for Gecode by doxygen 1.4.5

Search engines
[Interfacing to Gecode]

Collaboration diagram for Search engines:


Detailed Description

Defines search engines. All search engines (but Gecode::LDS, where it is not needed) support recomputation. The behaviour of recomputation can be controlled by two parameters:

Full copying corresponds to a maximal recomputation distance c_d of 1.

All recomputation performed is based on batch recomputation: batch recomputation performs propagation only once for an entire path used in recomputation.

Requires

 #include "gecode/search.hh" 


Namespaces

namespace  Gecode::Search::Config
 Search configuration

Modules

 Stop-objects for stopping search

Classes

class  Gecode::Search::Statistics
 Search engine statistics More...
class  Gecode::DFS< T >
 Depth-first search engine. More...
class  Gecode::LDS< T >
 Limited discrepancy search engine. More...
class  Gecode::BAB< T >
 Depth-first branch-and-bound search engine. More...
class  Gecode::Restart< T >
 Depth-first restart best solution search engine. More...

Functions

template<class T>
T * Gecode::dfs (T *s, unsigned int c_d=Search::Config::c_d, unsigned int a_d=Search::Config::a_d, Search::Stop *st=NULL)
 Invoke depth-first search engine.
template<class T>
T * Gecode::lds (T *s, unsigned int d, Search::Stop *st=NULL)
 Invoke limited-discrepancy search.
template<class T>
T * Gecode::bab (T *s, unsigned int c_d=Search::Config::c_d, unsigned int a_d=Search::Config::a_d, Search::Stop *st=NULL)
 Perform depth-first branch-and-bound search.


Function Documentation

template<class T>
T * Gecode::dfs T *  s,
unsigned int  c_d = Search::Config::c_d,
unsigned int  a_d = Search::Config::a_d,
Search::Stop *  st = NULL
[inline]
 

Invoke depth-first search engine.

Parameters:
s root node (subclass T of Space)
c_d minimal recomputation distance
a_d adaptive recomputation distance
st Stop-object

Definition at line 137 of file dfs.icc.

template<class T>
T * Gecode::lds T *  s,
unsigned int  d,
Search::Stop *  st = NULL
 

Invoke limited-discrepancy search.

Parameters:
s root node (subclass T of Space)
d maximum number of discrepancies
st Stop-object

Definition at line 50 of file lds.icc.

template<class T>
T * Gecode::bab T *  s,
unsigned int  c_d = Search::Config::c_d,
unsigned int  a_d = Search::Config::a_d,
Search::Stop *  st = NULL
 

Perform depth-first branch-and-bound search.

Parameters:
s root node (subclass T of Space). Additionally, s must implement a member function
 void constrain(T* t) 
Whenever exploration requires to add a constraint to the space c currently being explored, the engine executes c->constrain(t) where t is the so-far best solution.
c_d minimal recomputation distance
a_d adaptive recomputation distance
st Stop-object

Definition at line 90 of file bab.icc.