Generated on Thu Apr 11 13:59:28 2019 for Gecode by doxygen 1.6.3

ldsb.cpp File Reference

#include <gecode/int/ldsb.hh>
#include <gecode/int/branch.hh>
#include <map>

Go to the source code of this file.

Classes

class  Gecode::Int::LDSB::VariableMap
 Map from variable implementation to index. More...

Namespaces

namespace  Gecode
 

Gecode toplevel namespace


namespace  Gecode::Int
 

Finite domain integers.


namespace  Gecode::Int::LDSB
 

Symmetry breaking for integer variables.


Functions

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.
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle Gecode::VariableSymmetry (const BoolVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x, const IntArgs &indices)
 Specified variables in x are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (const IntArgs &v)
 Values in v are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (const IntSet &v)
 Values in v are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (IntVar vars)
 All values in the domain of the given variable are interchangeable.
SymmetryHandle Gecode::VariableSequenceSymmetry (const IntVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle Gecode::VariableSequenceSymmetry (const BoolVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle Gecode::ValueSequenceSymmetry (const IntArgs &v, int ss)
 Value sequences in v of size ss are interchangeable.
SymmetryHandle Gecode::values_reflect (int lower, int upper)
 The values from lower to upper (inclusive) can be reflected.
SymmetryHandle Gecode::values_reflect (const IntVar &x)
SymmetryImp< IntView > * Gecode::Int::LDSB::createIntSym (Space &home, const SymmetryHandle &s, VariableMap variableMap)
 Create an integer symmetry implementation from a symmetry handle.
SymmetryImp< BoolView > * Gecode::Int::LDSB::createBoolSym (Space &home, const SymmetryHandle &s, VariableMap variableMap)
 Create a boolean symmetry implementation from a symmetry handle.
void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.