14#ifndef OR_TOOLS_SAT_RESTART_H_
15#define OR_TOOLS_SAT_RESTART_H_
23#include "ortools/sat/sat_parameters.pb.h"
34 : parameters_(*(
model->GetOrCreate<SatParameters>())),
50 void OnConflict(
int conflict_trail_index,
int conflict_decision_level,
60 const SatParameters& parameters_;
64 int conflicts_until_next_strategy_change_;
65 int strategy_change_conflicts_;
67 int strategy_counter_;
68 std::vector<SatParameters::RestartAlgorithm> strategies_;
71 int conflicts_until_next_restart_;
90 const int most_significant_bit_position =
92 if ((1 << most_significant_bit_position) == i + 1) {
93 return 1 << (most_significant_bit_position - 1);
95 i -= (1 << most_significant_bit_position) - 1;
#define DCHECK_GT(val1, val2)
Class that owns everything related to a particular optimization model.
std::string InfoString() const
void OnConflict(int conflict_trail_index, int conflict_decision_level, int conflict_lbd)
RestartPolicy(Model *model)
Collection of objects used to extend the Constraint Solver library.
int MostSignificantBitPosition64(uint64_t n)