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