OR-Tools  9.6
SharedSolutionRepository< ValueType >abstract

Detailed Description

template<typename ValueType>
class operations_research::sat::SharedSolutionRepository< ValueType >

Definition at line 54 of file synchronization.h.

Classes

struct  Solution
 

Public Member Functions

 SharedSolutionRepository (int num_solutions_to_keep)
 
int NumSolutions () const
 
Solution GetSolution (int index) const
 
ValueType GetVariableValueInSolution (int var_index, int solution_index) const
 
Solution GetRandomBiasedSolution (absl::BitGenRef random) const
 
void Add (const Solution &solution)
 
void Synchronize ()
 

Protected Member Functions

void AddInternal (const Solution &solution) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex_)
 
int64_t num_synchronization_ ABSL_GUARDED_BY (mutex_)=0
 
std::vector< int > tmp_indices_ ABSL_GUARDED_BY (mutex_)
 
std::vector< Solution > solutions_ ABSL_GUARDED_BY (mutex_)
 
std::vector< Solution > new_solutions_ ABSL_GUARDED_BY (mutex_)
 

Protected Attributes

const int num_solutions_to_keep_
 
absl::Mutex mutex_
 

Constructor & Destructor Documentation

◆ SharedSolutionRepository()

SharedSolutionRepository ( int  num_solutions_to_keep)
inlineexplicit

Definition at line 56 of file synchronization.h.

Member Function Documentation

◆ ABSL_GUARDED_BY() [1/4]

std::vector<int> tmp_indices_ ABSL_GUARDED_BY ( mutex_  )
mutableprotected

◆ ABSL_GUARDED_BY() [2/4]

std::vector<Solution> solutions_ ABSL_GUARDED_BY ( mutex_  )
protected

◆ ABSL_GUARDED_BY() [3/4]

std::vector<Solution> new_solutions_ ABSL_GUARDED_BY ( mutex_  )
protected

◆ ABSL_GUARDED_BY() [4/4]

int64_t num_synchronization_ ABSL_GUARDED_BY ( mutex_  )
protectedpure virtual

◆ Add()

void Add ( const Solution solution)

Definition at line 626 of file synchronization.h.

◆ AddInternal()

void AddInternal ( const Solution solution)
protected

Definition at line 633 of file synchronization.h.

◆ GetRandomBiasedSolution()

SharedSolutionRepository< ValueType >::Solution GetRandomBiasedSolution ( absl::BitGenRef  random) const

Definition at line 591 of file synchronization.h.

◆ GetSolution()

SharedSolutionRepository< ValueType >::Solution GetSolution ( int  index) const

Definition at line 576 of file synchronization.h.

◆ GetVariableValueInSolution()

ValueType GetVariableValueInSolution ( int  var_index,
int  solution_index 
) const

Definition at line 582 of file synchronization.h.

◆ NumSolutions()

int NumSolutions

Definition at line 569 of file synchronization.h.

◆ Synchronize()

void Synchronize

Definition at line 651 of file synchronization.h.

Member Data Documentation

◆ mutex_

absl::Mutex mutex_
mutableprotected

Definition at line 125 of file synchronization.h.

◆ num_solutions_to_keep_

const int num_solutions_to_keep_
protected

Definition at line 124 of file synchronization.h.


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