OR-Tools  9.6
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 2005 of file constraint_solveri.h.

Public Member Functions

 SymmetryBreaker ()
 
 ~SymmetryBreaker () override
 
void AddIntegerVariableEqualValueClause (IntVar *const var, int64_t value)
 
void AddIntegerVariableGreaterOrEqualValueClause (IntVar *const var, int64_t value)
 
void AddIntegerVariableLessOrEqualValueClause (IntVar *const var, int64_t value)
 
virtual void VisitSetVariableValue (IntVar *const var, int64_t value)
 
virtual void VisitSplitVariableDomain (IntVar *const var, int64_t value, bool start_with_lower_half)
 
virtual void VisitScheduleOrPostpone (IntervalVar *const var, int64_t est)
 
virtual void VisitScheduleOrExpedite (IntervalVar *const var, int64_t 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 2007 of file constraint_solveri.h.

◆ ~SymmetryBreaker()

~SymmetryBreaker ( )
inlineoverride

Definition at line 2009 of file constraint_solveri.h.

Member Function Documentation

◆ AddIntegerVariableEqualValueClause()

void AddIntegerVariableEqualValueClause ( IntVar *const  var,
int64_t  value 
)

Definition at line 5062 of file search.cc.

◆ AddIntegerVariableGreaterOrEqualValueClause()

void AddIntegerVariableGreaterOrEqualValueClause ( IntVar *const  var,
int64_t  value 
)

Definition at line 5070 of file search.cc.

◆ AddIntegerVariableLessOrEqualValueClause()

void AddIntegerVariableLessOrEqualValueClause ( IntVar *const  var,
int64_t  value 
)

Definition at line 5078 of file search.cc.

◆ DebugString()

virtual std::string DebugString ( ) const
inlinevirtualinherited

Reimplemented in SymmetryManager, IntVarFilteredDecisionBuilder, ExchangeSubtrip, RelocateSubtrip, PairNodeSwapActiveOperator< swap_first >, RelocateExpensiveChain, FilteredHeuristicCloseNodesLNSOperator, FilteredHeuristicExpensiveChainLNSOperator, RelocatePathAndHeuristicInsertUnperformedOperator, FilteredHeuristicPathLNSOperator, IndexPairSwapActiveOperator, SwapIndexPairOperator, PairExchangeRelocateOperator, PairExchangeOperator, LightPairRelocateOperator, GroupPairAndRelocateOperator, PairRelocateOperator, MakePairInactiveOperator, MakePairActiveOperator, SwapActiveToShortestPathOperator, MakeRelocateNeighborsOperator, GlobalVehicleBreaksConstraint, Dimension, LocalSearchPhaseParameters, FindOneNeighbor, LocalSearchProfiler, NeighborhoodLimit, PathLns, LinKernighan, TSPLns, TSPOpt, ExtendedSwapActiveOperator, SwapActiveOperator, MakeChainInactiveOperator, RelocateAndMakeInactiveOperator, MakeInactiveOperator, MakeActiveAndRelocate, RelocateAndMakeActiveOperator, MakeActiveOperator, Cross, Exchange, Relocate, TwoOpt, PiecewiseLinearExpr, IfThenElseCt, DemonProfiler, ArrayWithOffset< T >, SearchLog, BooleanVar, LocalSearchMonitor, PropagationMonitor, LocalSearchFilterManager, LightIntIntFunctionElementCt< F >, LightIntFunctionElementCt< F >, DelayedCallMethod2< T, P, Q >, DelayedCallMethod1< T, P >, DelayedCallMethod0< T >, CallMethod3< T, P, Q, R >, CallMethod2< T, P, Q >, CallMethod1< T, P >, CallMethod0< T >, Pack, Assignment, SequenceVar, RegularLimit, SearchLimit, OptimizeVar, SolutionCollector, IntVarIterator, Constraint, Demon, ProfiledDecisionBuilder, DecisionBuilder, Decision, PropagationBaseObject, LocalSearchMonitorPrimary, and Trace.

Definition at line 3251 of file constraint_solver.h.

◆ VisitRankFirstInterval()

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

Definition at line 2586 of file constraint_solver.cc.

◆ VisitRankLastInterval()

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

Definition at line 2589 of file constraint_solver.cc.

◆ VisitScheduleOrExpedite()

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

Definition at line 2584 of file constraint_solver.cc.

◆ VisitScheduleOrPostpone()

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

Definition at line 2582 of file constraint_solver.cc.

◆ VisitSetVariableValue()

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

Definition at line 2578 of file constraint_solver.cc.

◆ VisitSplitVariableDomain()

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

Definition at line 2579 of file constraint_solver.cc.

◆ VisitUnknownDecision()

void VisitUnknownDecision ( )
virtualinherited

Definition at line 2581 of file constraint_solver.cc.


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