Generated on Fri Mar 20 12:35:20 2009 for cpsp-2.3.1 by doxygen 1.5.5

Gecode::Search::SymmBreaker< View, Val > Class Template Reference

#include <GC_searchExt.hh>

Inheritance diagram for Gecode::Search::SymmBreaker< View, Val >:

Detailed Description

template<class View, class Val>
class Gecode::Search::SymmBreaker< View, Val >

Symmetry Breaker.

abstract class that is to be specialized for breaking symmetries of a certain problem

used as argument to SBViewValBranching

Definition at line 85 of file GC_searchExt.hh.


Public Member Functions

virtual void print (void) const
virtual bool status (const Space *home) const
 SymmBreaker (Space *home, bool share, const SymmBreaker< View, Val > &symm)
 SymmBreaker (Space *home, int sym_num, BoolVarArray &init_cp)
 SymmBreaker (Space *home, int sym_num)
void tell (Space *home, int a, ViewArray< View > &x, int pos, Val val)
virtual ~SymmBreaker ()

Protected Member Functions

void postImplications (Space *home, ViewArray< View > &x, int pos, Val val) const
virtual BoolVar reifySymm (Space *home, int symmetry, ViewArray< View > &x, int pos, Val val) const =0
virtual void tellSymm (Space *home, int symmetry, ViewArray< View > &x, int pos, Val val) const
void updateCps (Space *home, ViewArray< View > &x, int pos, Val val)

Protected Attributes

BoolVarArray cps
Support::DynamicArray< int > symOf

Constructor & Destructor Documentation

template<class View, class Val>
Gecode::Search::SymmBreaker< View, Val >::SymmBreaker ( Space *  home,
int  sym_num 
) [inline]

constructor with number of symmetries

Definition at line 113 of file GC_searchExt.hh.

template<class View, class Val>
Gecode::Search::SymmBreaker< View, Val >::SymmBreaker ( Space *  home,
int  sym_num,
BoolVarArray &  init_cp 
) [inline]

constructor with number of symmetries and initially valid symmetries

Definition at line 126 of file GC_searchExt.hh.

template<class View, class Val>
Gecode::Search::SymmBreaker< View, Val >::SymmBreaker ( Space *  home,
bool  share,
const SymmBreaker< View, Val > &  symm 
) [inline]

copy constructor

Definition at line 138 of file GC_searchExt.hh.

template<class View, class Val>
virtual Gecode::Search::SymmBreaker< View, Val >::~SymmBreaker (  )  [inline, virtual]

Definition at line 160 of file GC_searchExt.hh.


Member Function Documentation

template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::postImplications ( Space *  home,
ViewArray< View > &  x,
int  pos,
Val  val 
) const [inline, protected]

post the implications that break symmetries

Definition at line 47 of file symm-break.icc.

template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::print ( void   )  const [inline, virtual]

print (for debugging)

Definition at line 71 of file symm-break.icc.

template<class View, class Val>
virtual BoolVar Gecode::Search::SymmBreaker< View, Val >::reifySymm ( Space *  home,
int  symmetry,
ViewArray< View > &  x,
int  pos,
Val  val 
) const [protected, pure virtual]

reify constraint of x[pos] with val under symmetry

template<class View, class Val>
virtual bool Gecode::Search::SymmBreaker< View, Val >::status ( const Space *  home  )  const [inline, virtual]

control of branching returns true as long as SymmBreaker wants to branch

Definition at line 165 of file GC_searchExt.hh.

template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::tell ( Space *  home,
int  a,
ViewArray< View > &  x,
int  pos,
Val  val 
) [inline]

post constraints for the symmetry breaking branching in alternative a in {0,1}

Definition at line 59 of file symm-break.icc.

template<class View, class Val>
virtual void Gecode::Search::SymmBreaker< View, Val >::tellSymm ( Space *  home,
int  symmetry,
ViewArray< View > &  x,
int  pos,
Val  val 
) const [inline, protected, virtual]

tell constraint of x,pos,val under symmetry

Definition at line 94 of file GC_searchExt.hh.

template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::updateCps ( Space *  home,
ViewArray< View > &  x,
int  pos,
Val  val 
) [inline, protected]

update the Cp variables

Definition at line 34 of file symm-break.icc.


Field Documentation

template<class View, class Val>
BoolVarArray Gecode::Search::SymmBreaker< View, Val >::cps [protected]

store of cp variables

Definition at line 88 of file GC_searchExt.hh.

template<class View, class Val>
Support::DynamicArray<int> Gecode::Search::SymmBreaker< View, Val >::symOf [protected]

indexing from cps[index] to symmetry index

Definition at line 90 of file GC_searchExt.hh.


The documentation for this class was generated from the following files: