C++ Reference

C++ Reference: Routing

Detailed Description

A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return.

Each symmetry breaker represents one class of symmetry.

Definition at line 1994 of file constraint_solveri.h.

Public Member Functions

 SymmetryBreaker ()
 
 ~SymmetryBreaker () override
 
void AddIntegerVariableEqualValueClause (IntVar *const var, int64 value)
 
void AddIntegerVariableGreaterOrEqualValueClause (IntVar *const var, int64 value)
 
void AddIntegerVariableLessOrEqualValueClause (IntVar *const var, int64 value)
 
virtual void VisitSetVariableValue (IntVar *const var, int64 value)
 
virtual void VisitSplitVariableDomain (IntVar *const var, int64 value, bool start_with_lower_half)
 
virtual void VisitScheduleOrPostpone (IntervalVar *const var, int64 est)
 
virtual void VisitScheduleOrExpedite (IntervalVar *const var, int64 est)
 
virtual void VisitRankFirstInterval (SequenceVar *const sequence, int index)
 
virtual void VisitRankLastInterval (SequenceVar *const sequence, int index)
 
virtual void VisitUnknownDecision ()
 
virtual std::string DebugString () const
 

Constructor & Destructor Documentation

◆ SymmetryBreaker()

SymmetryBreaker ( )
inline

Definition at line 1996 of file constraint_solveri.h.

◆ ~SymmetryBreaker()

~SymmetryBreaker ( )
inlineoverride

Definition at line 1998 of file constraint_solveri.h.

Member Function Documentation

◆ AddIntegerVariableEqualValueClause()

void AddIntegerVariableEqualValueClause ( IntVar *const  var,
int64  value 
)

◆ AddIntegerVariableGreaterOrEqualValueClause()

void AddIntegerVariableGreaterOrEqualValueClause ( IntVar *const  var,
int64  value 
)

◆ AddIntegerVariableLessOrEqualValueClause()

void AddIntegerVariableLessOrEqualValueClause ( IntVar *const  var,
int64  value 
)

◆ DebugString()

◆ VisitRankFirstInterval()

virtual void VisitRankFirstInterval ( SequenceVar *const  sequence,
int  index 
)
virtualinherited

◆ VisitRankLastInterval()

virtual void VisitRankLastInterval ( SequenceVar *const  sequence,
int  index 
)
virtualinherited

◆ VisitScheduleOrExpedite()

virtual void VisitScheduleOrExpedite ( IntervalVar *const  var,
int64  est 
)
virtualinherited

◆ VisitScheduleOrPostpone()

virtual void VisitScheduleOrPostpone ( IntervalVar *const  var,
int64  est 
)
virtualinherited

◆ VisitSetVariableValue()

virtual void VisitSetVariableValue ( IntVar *const  var,
int64  value 
)
virtualinherited

◆ VisitSplitVariableDomain()

virtual void VisitSplitVariableDomain ( IntVar *const  var,
int64  value,
bool  start_with_lower_half 
)
virtualinherited

◆ VisitUnknownDecision()

virtual void VisitUnknownDecision ( )
virtualinherited

The documentation for this class was generated from the following file: