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

cpsp::gecode::GC_ThreadingSymmBreaker Class Reference

#include <GC_ThreadingSymmBreaker.hh>

Inheritance diagram for cpsp::gecode::GC_ThreadingSymmBreaker:

Detailed Description

SymmBreaker for Graph Coloring.

Used for breaking all value transposition symmetries

Definition at line 45 of file GC_ThreadingSymmBreaker.hh.


Public Types

typedef biu::IPointVec GlobalShiftVec

Public Member Functions

virtual GC_ThreadingSymmBreakercopy (Gecode::Space *home, bool share)
 GC_ThreadingSymmBreaker (Gecode::Space *home, bool share, const GC_ThreadingSymmBreaker &sym)
 GC_ThreadingSymmBreaker (Gecode::Space *home, const biu::LatticeFrame *latticeFrame_, const GlobalShiftVec *shiftVec_, Gecode::BoolVarArray &init_cp)
 GC_ThreadingSymmBreaker (Gecode::Space *home, const biu::LatticeFrame *latticeFrame_, const GlobalShiftVec *shiftVec_)
virtual void print (void) const
virtual bool status (const Space *home) const
bool status (const Gecode::Space *home) const
void tell (Space *home, int a, ViewArray< View > &x, int pos, Val val)
virtual ~GC_ThreadingSymmBreaker ()

Static Public Member Functions

static GlobalShiftVecgenerateGlobalShiftVec (HCore *hCore, const biu::LatticeFrame *latticeFrame, GlobalShiftVec *shiftVec=NULL)
static Gecode::BoolVarArray initCpByCore (Gecode::Space *home, HCore *hCore, const biu::LatticeFrame *latticeFrame, const GlobalShiftVec *shiftVec)

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
Gecode::BoolVar reifySymm (Gecode::Space *home, int symmetry, Gecode::ViewArray< MyViewType > &x, int pos, int val) const
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)

Static Protected Member Functions

static int getSymmetricIndex (int symmetry, int oldInd, const biu::LatticeFrame *latticeFrame, const GlobalShiftVec *shiftVec)

Protected Attributes

BoolVarArray cps
Support::DynamicArray< int > symOf

Private Attributes

const biu::LatticeFrame * latticeFrame
const GlobalShiftVecshiftVec

Member Typedef Documentation

Definition at line 47 of file GC_ThreadingSymmBreaker.hh.


Constructor & Destructor Documentation

cpsp::gecode::GC_ThreadingSymmBreaker::GC_ThreadingSymmBreaker ( Gecode::Space *  home,
const biu::LatticeFrame *  latticeFrame_,
const GlobalShiftVec shiftVec_ 
) [inline]

Definition at line 53 of file GC_ThreadingSymmBreaker.hh.

cpsp::gecode::GC_ThreadingSymmBreaker::GC_ThreadingSymmBreaker ( Gecode::Space *  home,
const biu::LatticeFrame *  latticeFrame_,
const GlobalShiftVec shiftVec_,
Gecode::BoolVarArray &  init_cp 
) [inline]

Definition at line 61 of file GC_ThreadingSymmBreaker.hh.

cpsp::gecode::GC_ThreadingSymmBreaker::GC_ThreadingSymmBreaker ( Gecode::Space *  home,
bool  share,
const GC_ThreadingSymmBreaker sym 
) [inline]

Definition at line 71 of file GC_ThreadingSymmBreaker.hh.

virtual cpsp::gecode::GC_ThreadingSymmBreaker::~GC_ThreadingSymmBreaker (  )  [inline, virtual]

Definition at line 76 of file GC_ThreadingSymmBreaker.hh.


Member Function Documentation

virtual GC_ThreadingSymmBreaker* cpsp::gecode::GC_ThreadingSymmBreaker::copy ( Gecode::Space *  home,
bool  share 
) [inline, virtual]

Definition at line 78 of file GC_ThreadingSymmBreaker.hh.

static GlobalShiftVec* cpsp::gecode::GC_ThreadingSymmBreaker::generateGlobalShiftVec ( HCore hCore,
const biu::LatticeFrame *  latticeFrame,
GlobalShiftVec shiftVec = NULL 
) [inline, static]

Generates the shift vectors, that are needed calculate the symmetries.

Definition at line 154 of file GC_ThreadingSymmBreaker.hh.

static int cpsp::gecode::GC_ThreadingSymmBreaker::getSymmetricIndex ( int  symmetry,
int  oldInd,
const biu::LatticeFrame *  latticeFrame,
const GlobalShiftVec shiftVec 
) [inline, static, protected]

Returns the symmetric point index of oldInd using Automorphism symmetry.

Definition at line 88 of file GC_ThreadingSymmBreaker.hh.

static Gecode::BoolVarArray cpsp::gecode::GC_ThreadingSymmBreaker::initCpByCore ( Gecode::Space *  home,
HCore hCore,
const biu::LatticeFrame *  latticeFrame,
const GlobalShiftVec shiftVec 
) [inline, static]

Generates the inital Cp variables for the constructor, that represent if a symmetry is already broken or not.

Definition at line 123 of file GC_ThreadingSymmBreaker.hh.

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

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, inherited]

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, inherited]

reify constraint of x[pos] with val under symmetry

Gecode::BoolVar cpsp::gecode::GC_ThreadingSymmBreaker::reifySymm ( Gecode::Space *  home,
int  symmetry,
Gecode::ViewArray< MyViewType > &  x,
int  pos,
int  val 
) const [inline, protected]

Definition at line 107 of file GC_ThreadingSymmBreaker.hh.

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

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

Definition at line 165 of file GC_searchExt.hh.

bool cpsp::gecode::GC_ThreadingSymmBreaker::status ( const Gecode::Space *  home  )  const [inline]

Definition at line 190 of file GC_ThreadingSymmBreaker.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, inherited]

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, inherited]

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, inherited]

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, inherited]

store of cp variables

Definition at line 88 of file GC_searchExt.hh.

const biu::LatticeFrame* cpsp::gecode::GC_ThreadingSymmBreaker::latticeFrame [private]

Definition at line 49 of file GC_ThreadingSymmBreaker.hh.

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

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 file: