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

Detailed Description

Definition at line 61 of file symmetry.h.

#include <symmetry.h>

Inheritance diagram for operations_research::sat::SymmetryPropagator:
operations_research::sat::SatPropagator

Public Member Functions

 SymmetryPropagator ()
 SymmetryPropagator (const SymmetryPropagator &)=delete
SymmetryPropagatoroperator= (const SymmetryPropagator &)=delete
 ~SymmetryPropagator () override
bool Propagate (Trail *trail) final
void Untrail (const Trail &trail, int trail_index) final
absl::Span< const LiteralReason (const Trail &trail, int trail_index, int64_t conflict_id) const final
void AddSymmetry (std::unique_ptr< SparsePermutation > permutation)
int num_permutations () const
void SetNumLiterals (int num_literals)
void Permute (int index, absl::Span< const Literal > input, std::vector< Literal > *output) const
Public Member Functions inherited from operations_research::sat::SatPropagator
 SatPropagator (const std::string &name)
 SatPropagator (const SatPropagator &)=delete
SatPropagatoroperator= (const SatPropagator &)=delete
virtual ~SatPropagator ()=default
void SetPropagatorId (int id)
int PropagatorId () const
virtual void Reimply (Trail *, int)
bool PropagatePreconditionsAreSatisfied (const Trail &trail) const
bool PropagationIsDone (const Trail &trail) const
const std::string & name () const
virtual bool IsEmpty () const

Additional Inherited Members

Protected Attributes inherited from operations_research::sat::SatPropagator
const std::string name_
int propagator_id_
int propagation_trail_index_

Constructor & Destructor Documentation

◆ SymmetryPropagator() [1/2]

operations_research::sat::SymmetryPropagator::SymmetryPropagator ( )

Definition at line 33 of file symmetry.cc.

◆ SymmetryPropagator() [2/2]

operations_research::sat::SymmetryPropagator::SymmetryPropagator ( const SymmetryPropagator & )
delete

◆ ~SymmetryPropagator()

operations_research::sat::SymmetryPropagator::~SymmetryPropagator ( )
override

Definition at line 39 of file symmetry.cc.

Member Function Documentation

◆ AddSymmetry()

void operations_research::sat::SymmetryPropagator::AddSymmetry ( std::unique_ptr< SparsePermutation > permutation)

Definition at line 47 of file symmetry.cc.

◆ num_permutations()

int operations_research::sat::SymmetryPropagator::num_permutations ( ) const
inline

Definition at line 93 of file symmetry.h.

◆ operator=()

SymmetryPropagator & operations_research::sat::SymmetryPropagator::operator= ( const SymmetryPropagator & )
delete

◆ Permute()

void operations_research::sat::SymmetryPropagator::Permute ( int index,
absl::Span< const Literal > input,
std::vector< Literal > * output ) const

Definition at line 207 of file symmetry.cc.

◆ Propagate()

bool operations_research::sat::SymmetryPropagator::Propagate ( Trail * trail)
finalvirtual

Implements operations_research::sat::SatPropagator.

Definition at line 141 of file symmetry.cc.

◆ Reason()

absl::Span< const Literal > operations_research::sat::SymmetryPropagator::Reason ( const Trail & trail,
int trail_index,
int64_t conflict_id ) const
finalvirtual

Reimplemented from operations_research::sat::SatPropagator.

Definition at line 162 of file symmetry.cc.

◆ SetNumLiterals()

void operations_research::sat::SymmetryPropagator::SetNumLiterals ( int num_literals)
inline

Definition at line 112 of file symmetry.h.

◆ Untrail()

void operations_research::sat::SymmetryPropagator::Untrail ( const Trail & trail,
int trail_index )
finalvirtual

Reimplemented from operations_research::sat::SatPropagator.

Definition at line 149 of file symmetry.cc.


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