OR-Tools  8.2
SymmetryBreaker

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 
)

Definition at line 4789 of file search.cc.

◆ AddIntegerVariableGreaterOrEqualValueClause()

void AddIntegerVariableGreaterOrEqualValueClause ( IntVar *const  var,
int64  value 
)

Definition at line 4797 of file search.cc.

◆ AddIntegerVariableLessOrEqualValueClause()

void AddIntegerVariableLessOrEqualValueClause ( IntVar *const  var,
int64  value 
)

Definition at line 4805 of file search.cc.

◆ DebugString()

virtual std::string DebugString ( ) const
inlinevirtualinherited

Reimplemented in Trace, LocalSearchMonitorMaster, 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 >, DemonProfiler, IfThenElseCt, PiecewiseLinearExpr, TwoOpt, Relocate, Exchange, Cross, MakeActiveOperator, RelocateAndMakeActiveOperator, MakeActiveAndRelocate, MakeInactiveOperator, RelocateAndMakeInactiveOperator, MakeChainInactiveOperator, SwapActiveOperator, ExtendedSwapActiveOperator, TSPOpt, TSPLns, LinKernighan, PathLns, NeighborhoodLimit, LocalSearchProfiler, FindOneNeighbor, LocalSearchPhaseParameters, Dimension, GlobalVehicleBreaksConstraint, IntVarFilteredDecisionBuilder, CPFeasibilityFilter, MakeRelocateNeighborsOperator, MakePairActiveOperator, MakePairInactiveOperator, PairRelocateOperator, LightPairRelocateOperator, PairExchangeOperator, PairExchangeRelocateOperator, SwapIndexPairOperator, IndexPairSwapActiveOperator, FilteredHeuristicPathLNSOperator, RelocatePathAndHeuristicInsertUnperformedOperator, FilteredHeuristicExpensiveChainLNSOperator, FilteredHeuristicCloseNodesLNSOperator, RelocateExpensiveChain, PairNodeSwapActiveOperator< swap_first >, RelocateSubtrip, ExchangeSubtrip, and SymmetryManager.

Definition at line 3156 of file constraint_solver.h.

◆ VisitRankFirstInterval()

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

Definition at line 2548 of file constraint_solver.cc.

◆ VisitRankLastInterval()

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

Definition at line 2551 of file constraint_solver.cc.

◆ VisitScheduleOrExpedite()

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

Definition at line 2546 of file constraint_solver.cc.

◆ VisitScheduleOrPostpone()

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

Definition at line 2544 of file constraint_solver.cc.

◆ VisitSetVariableValue()

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

Definition at line 2540 of file constraint_solver.cc.

◆ VisitSplitVariableDomain()

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

Definition at line 2541 of file constraint_solver.cc.

◆ VisitUnknownDecision()

void VisitUnknownDecision ( )
virtualinherited

Definition at line 2543 of file constraint_solver.cc.


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