Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::SymmetryBreaker Class Reference

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 3372 of file constraint_solveri.h.

#include <constraint_solveri.h>

Inheritance diagram for operations_research::SymmetryBreaker:
operations_research::DecisionVisitor operations_research::BaseObject

Public Member Functions

 SymmetryBreaker ()
 ~SymmetryBreaker () override
void AddIntegerVariableEqualValueClause (IntVar *var, int64_t value)
 --— Symmetry Breaker --—
void AddIntegerVariableGreaterOrEqualValueClause (IntVar *var, int64_t value)
void AddIntegerVariableLessOrEqualValueClause (IntVar *var, int64_t value)
Public Member Functions inherited from operations_research::DecisionVisitor
 DecisionVisitor ()
 DecisionVisitor (const DecisionVisitor &)=delete
 This type is neither copyable nor movable.
DecisionVisitoroperator= (const DecisionVisitor &)=delete
 ~DecisionVisitor () override
virtual void VisitSetVariableValue (IntVar *var, int64_t value)
virtual void VisitSplitVariableDomain (IntVar *var, int64_t value, bool start_with_lower_half)
virtual void VisitScheduleOrPostpone (IntervalVar *var, int64_t est)
virtual void VisitScheduleOrExpedite (IntervalVar *var, int64_t est)
virtual void VisitRankFirstInterval (SequenceVar *sequence, int index)
virtual void VisitRankLastInterval (SequenceVar *sequence, int index)
virtual void VisitUnknownDecision ()
Public Member Functions inherited from operations_research::BaseObject
 BaseObject ()
 BaseObject (const BaseObject &)=delete
 This type is neither copyable nor movable.
BaseObjectoperator= (const BaseObject &)=delete
virtual ~BaseObject ()=default
virtual std::string DebugString () const

Friends

class SymmetryManager

Constructor & Destructor Documentation

◆ SymmetryBreaker()

operations_research::SymmetryBreaker::SymmetryBreaker ( )
inline

Definition at line 3374 of file constraint_solveri.h.

◆ ~SymmetryBreaker()

operations_research::SymmetryBreaker::~SymmetryBreaker ( )
inlineoverride

Definition at line 3376 of file constraint_solveri.h.

Member Function Documentation

◆ AddIntegerVariableEqualValueClause()

void operations_research::SymmetryBreaker::AddIntegerVariableEqualValueClause ( IntVar * var,
int64_t value )

--— Symmetry Breaker --—

Definition at line 5441 of file search.cc.

◆ AddIntegerVariableGreaterOrEqualValueClause()

void operations_research::SymmetryBreaker::AddIntegerVariableGreaterOrEqualValueClause ( IntVar * var,
int64_t value )

Definition at line 5449 of file search.cc.

◆ AddIntegerVariableLessOrEqualValueClause()

void operations_research::SymmetryBreaker::AddIntegerVariableLessOrEqualValueClause ( IntVar * var,
int64_t value )

Definition at line 5457 of file search.cc.

◆ SymmetryManager

friend class SymmetryManager
friend

Definition at line 3383 of file constraint_solveri.h.


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