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 SymmetryManager, ExchangeSubtrip, RelocateSubtrip, PairNodeSwapActiveOperator< swap_first >, RelocateExpensiveChain, FilteredHeuristicCloseNodesLNSOperator, FilteredHeuristicExpensiveChainLNSOperator, RelocatePathAndHeuristicInsertUnperformedOperator, FilteredHeuristicPathLNSOperator, IndexPairSwapActiveOperator, SwapIndexPairOperator, PairExchangeRelocateOperator, PairExchangeOperator, LightPairRelocateOperator, PairRelocateOperator, MakePairInactiveOperator, MakePairActiveOperator, MakeRelocateNeighborsOperator, CPFeasibilityFilter, IntVarFilteredDecisionBuilder, 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, 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, DecisionBuilder, Decision, PropagationBaseObject, LocalSearchMonitorMaster, and Trace.

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: