Gecode::Int::LDSB Namespace Reference
Symmetry breaking for integer variables. More...
Classes | |
class | VariableMap |
Map from variable implementation to index. More... | |
class | Literal |
A Literal is a pair of variable index and value. More... | |
class | SymmetryObject |
Implementation of a symmetry at the modelling level. More... | |
class | VariableSymmetryObject |
Implementation of a variable symmetry at the modelling level. More... | |
class | ValueSymmetryObject |
Implementation of a value symmetry at the modelling level. More... | |
class | VariableSequenceSymmetryObject |
Implementation of a variable sequence symmetry at the modelling level. More... | |
class | ValueSequenceSymmetryObject |
Implementation of a value sequence symmetry at the modelling level. More... | |
class | SymmetryImp |
Implementation of a single symmetry. More... | |
class | VariableSymmetryImp |
Implementation of a variable symmetry. More... | |
class | ValueSymmetryImp |
Implementation of a value symmetry. More... | |
class | VariableSequenceSymmetryImp |
Implementation of a variable sequence symmetry. More... | |
class | ValueSequenceSymmetryImp |
Implementation of a value sequence symmetry. More... | |
class | LDSBChoice |
Choice storing position and value, and symmetric literals to be excluded on the right branch. More... | |
class | LDSBBrancher |
Symmetry-breaking brancher with generic view and value selection. More... | |
Functions | |
template<> | |
ModEvent | prune< Int::IntView > (Space &home, Int::IntView x, int v) |
template<> | |
ModEvent | prune< Int::BoolView > (Space &home, Int::BoolView x, int v) |
template<class View , int n, class Val , unsigned int a> | |
void | postldsbbrancher (Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, SymmetryImp< View > **syms, int nsyms, BranchFilter< typename View::VarType > bf, VarValPrint< typename View::VarType, Val > vvp) |
Post LDSB brancher. | |
template<class T , class A > | |
ArgArray< T > | dynamicStackToArgArray (const Support::DynamicStack< T, A > &s) |
Convert a DynamicStack<T,A> into an ArgArray<T> | |
std::pair< int, int > | findVar (int *indices, unsigned int n_values, unsigned int seq_size, int index) |
Find the location of an integer in a collection of sequences. | |
SymmetryImp< IntView > * | createIntSym (Space &home, const SymmetryHandle &s, VariableMap variableMap) |
Create an integer symmetry implementation from a symmetry handle. | |
SymmetryImp< BoolView > * | createBoolSym (Space &home, const SymmetryHandle &s, VariableMap variableMap) |
Create a boolean symmetry implementation from a symmetry handle. | |
template<class View > | |
ModEvent | prune (Space &home, View x, int v) |
Exclude value from variable view . | |
template<> | |
ModEvent | prune< Set::SetView > (Space &home, Set::SetView x, int v) |
Detailed Description
Symmetry breaking for integer variables.
Function Documentation
template<>
ModEvent Gecode::Int::LDSB::prune< Int::IntView > | ( | Space & | home, | |
Int::IntView | x, | |||
int | v | |||
) | [inline] |
template<>
ModEvent Gecode::Int::LDSB::prune< Int::BoolView > | ( | Space & | home, | |
Int::BoolView | x, | |||
int | v | |||
) | [inline] |
template<class View , int n, class Val , unsigned int a>
void Gecode::Int::LDSB::postldsbbrancher | ( | Home | home, | |
ViewArray< View > & | x, | |||
ViewSel< View > * | vs[n], | |||
ValSelCommitBase< View, Val > * | vsc, | |||
SymmetryImp< View > ** | syms, | |||
int | nsyms, | |||
BranchFilter< typename View::VarType > | bf, | |||
VarValPrint< typename View::VarType, Val > | vvp | |||
) | [inline] |
Post LDSB brancher.
template<class T , class A >
ArgArray<T> Gecode::Int::LDSB::dynamicStackToArgArray | ( | const Support::DynamicStack< T, A > & | s | ) | [inline] |
Convert a DynamicStack<T,A> into an ArgArray<T>
Definition at line 39 of file sym-imp.hpp.
std::pair< int, int > Gecode::Int::LDSB::findVar | ( | int * | indices, | |
unsigned int | n_values, | |||
unsigned int | seq_size, | |||
int | index | |||
) |
Find the location of an integer in a collection of sequences.
Given an array indices of integers (of length n_values), which represents a collection of sequences each of size seq_size, find the location of the first occurrence of the value index. Returns a pair of sequence number and position within that sequence (both zero-based).
SymmetryImp<IntView>* Gecode::Int::LDSB::createIntSym | ( | Space & | home, | |
const SymmetryHandle & | s, | |||
VariableMap | variableMap | |||
) |
SymmetryImp<BoolView>* Gecode::Int::LDSB::createBoolSym | ( | Space & | home, | |
const SymmetryHandle & | s, | |||
VariableMap | variableMap | |||
) |
template<class View >
ModEvent Gecode::Int::LDSB::prune | ( | Space & | home, | |
View | x, | |||
int | v | |||
) | [inline] |
Exclude value from variable view .
template<>
ModEvent Gecode::Int::LDSB::prune< Set::SetView > | ( | Space & | home, | |
Set::SetView | x, | |||
int | v | |||
) | [inline] |