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] |
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] |
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] |
template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::print | ( | void | ) | const [inline, virtual] |
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] |
template<class View, class Val>
void Gecode::Search::SymmBreaker< View, Val >::updateCps | ( | Space * | home, | |
ViewArray< View > & | x, | |||
int | pos, | |||
Val | val | |||
) | [inline, protected] |
Field Documentation
template<class View, class Val>
BoolVarArray Gecode::Search::SymmBreaker< View, Val >::cps [protected] |
template<class View, class Val>
Support::DynamicArray<int> Gecode::Search::SymmBreaker< View, Val >::symOf [protected] |
The documentation for this class was generated from the following files:
- src/cpsp/gecode/GC_searchExt.hh
- src/cpsp/gecode/symm-break.icc