14#ifndef OR_TOOLS_SAT_PROBING_H_
15#define OR_TOOLS_SAT_PROBING_H_
21#include "absl/strings/str_cat.h"
22#include "absl/types/span.h"
79 absl::Span<const BooleanVariable> bool_vars);
90 bool ProbeOneVariableInternal(BooleanVariable
b);
107 std::vector<Literal> to_fix_at_true_;
108 std::vector<IntegerLiteral> new_integer_bounds_;
109 std::vector<std::pair<Literal, Literal>> new_binary_clauses_;
112 int num_new_holes_ = 0;
113 int num_new_binary_ = 0;
114 int num_new_integer_bounds_ = 0;
115 int num_new_literals_fixed_ = 0;
A simple class to enforce both an elapsed time limit and a deterministic time limit in the same threa...
Class that owns everything related to a particular optimization model.
int num_new_binary_clauses() const
bool ProbeOneVariable(BooleanVariable b)
bool ProbeBooleanVariables(double deterministic_time_limit)
int num_new_literals_fixed() const
bool LookForTrivialSatSolution(double deterministic_time_limit, Model *model)
bool FailedLiteralProbingRound(ProbingOptions options, Model *model)
Collection of objects used to extend the Constraint Solver library.
std::string ToString() const
double deterministic_limit
bool subsume_with_binary_clause
bool extract_binary_clauses