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()
|
inline |
Definition at line 1996 of file constraint_solveri.h.
◆ ~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()
|
inlinevirtualinherited |
Reimplemented in PropagationBaseObject, Decision, DecisionBuilder, Demon, Constraint, IntVarIterator, SolutionCollector, OptimizeVar, SearchLimit, RegularLimit, SequenceVar, Assignment, Pack, CallMethod0< T >, CallMethod1< T, P >, CallMethod2< T, P, Q >, CallMethod3< T, P, Q, R >, DelayedCallMethod0< T >, DelayedCallMethod1< T, P >, DelayedCallMethod2< T, P, Q >, LocalSearchFilterManager, PropagationMonitor, LocalSearchMonitor, BooleanVar, SearchLog, ArrayWithOffset< T >, GlobalVehicleBreaksConstraint, IntVarFilteredDecisionBuilder, CPFeasibilityFilter, MakeRelocateNeighborsOperator, MakePairActiveOperator, MakePairInactiveOperator, PairRelocateOperator, LightPairRelocateOperator, PairExchangeOperator, PairExchangeRelocateOperator, SwapIndexPairOperator, IndexPairSwapActiveOperator, FilteredHeuristicPathLNSOperator, RelocatePathAndHeuristicInsertUnperformedOperator, FilteredHeuristicExpensiveChainLNSOperator, FilteredHeuristicCloseNodesLNSOperator, RelocateExpensiveChain, PairNodeSwapActiveOperator< swap_first >, RelocateSubtrip, and ExchangeSubtrip.
Definition at line 3156 of file constraint_solver.h.
◆ VisitRankFirstInterval()
|
virtualinherited |
◆ VisitRankLastInterval()
|
virtualinherited |
◆ VisitScheduleOrExpedite()
|
virtualinherited |
◆ VisitScheduleOrPostpone()
|
virtualinherited |
◆ VisitSetVariableValue()
|
virtualinherited |
◆ VisitSplitVariableDomain()
|
virtualinherited |
◆ VisitUnknownDecision()
|
virtualinherited |
The documentation for this class was generated from the following file: