Generated on Sat May 25 2013 18:00:43 for Gecode by doxygen 1.8.3.1
Search engines

Modules

 Stop-objects for stopping search
 

Namespaces

namespace  Gecode::Search::Config
 Search configuration
 

Classes

class  Gecode::Search::Statistics
 Search engine statistics More...
 
class  Gecode::Search::Options
 Search engine options More...
 
class  Gecode::DFS< T >
 Depth-first search engine. More...
 
class  Gecode::BAB< T >
 Depth-first branch-and-bound search engine. More...
 
class  Gecode::RBS< E, T >
 Meta-engine performing restart-based search. More...
 

Functions

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. More...
 
template<template< class > class E, class T >
T * Gecode::rbs (T *s, const Search::Options &o)
 Perform restart-based search. More...
 

Detailed Description

Defines search engines. All search engines support recomputation. The behaviour of recomputation is controlled by a passing a search option object (see the class Gecode::Search::Options).

Requires

#include <gecode/search.hh>

Function Documentation

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.

Additionally, s must implement a member function

virtual void constrain(const 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.

Definition at line 74 of file bab.hpp.

template<template< class > class E, class T >
T * Gecode::rbs ( T *  s,
const Search::Options &  o 
)
inline

Perform restart-based search.

The engine uses the Cutoff sequence supplied in the options o to periodically restart the search of an engine of type E.

The class T can implement member functions

virtual void master(unsigned long int i, const Space* s)

and

virtual void slave(unsigned long int i, const Space* s)

Whenever exploration restarts or a solution is found, the engine executes the functions on the master and slave space. For more details, consult "Modeling and Programming with Gecode".

Definition at line 101 of file rbs.hpp.