![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <deque>
#include <limits>
#include <memory>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "absl/container/btree_set.h"
#include "absl/log/check.h"
#include "absl/log/log_streamer.h"
#include "absl/numeric/int128.h"
#include "absl/random/bit_gen_ref.h"
#include "absl/random/random.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/util/random_engine.h"
#include "ortools/util/saturated_arithmetic.h"
#include "ortools/util/sorted_interval_list.h"
#include "ortools/util/time_limit.h"
Go to the source code of this file.
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::sat |
Functions | |
std::string | operations_research::sat::FormatCounter (int64_t num) |
Prints a positive number with separators for easier reading (ex: 1'348'065). | |
std::string | operations_research::sat::FormatName (absl::string_view name) |
This is used to format our table first row entry. | |
std::string | operations_research::sat::FormatTable (std::vector< std::vector< std::string > > &table, int spacing) |
int64_t | operations_research::sat::ModularInverse (int64_t x, int64_t m) |
int64_t | operations_research::sat::PositiveMod (int64_t x, int64_t m) |
Just returns x % m but with a result always in [0, m). | |
int64_t | operations_research::sat::ProductWithModularInverse (int64_t coeff, int64_t mod, int64_t rhs) |
bool | operations_research::sat::SolveDiophantineEquationOfSizeTwo (int64_t &a, int64_t &b, int64_t &cte, int64_t &x0, int64_t &y0) |
bool | operations_research::sat::DiophantineEquationOfSizeTwoHasSolutionInDomain (const Domain &x, int64_t a, const Domain &y, int64_t b, int64_t cte) |
int64_t | operations_research::sat::FloorSquareRoot (int64_t a) |
The argument must be non-negative. | |
int64_t | operations_research::sat::CeilSquareRoot (int64_t a) |
int64_t | operations_research::sat::SafeDoubleToInt64 (double value) |
int64_t | operations_research::sat::ClosestMultiple (int64_t value, int64_t base) |
std::vector< absl::Span< int > > | operations_research::sat::AtMostOneDecomposition (const std::vector< std::vector< int > > &graph, absl::BitGenRef random, std::vector< int > *buffer) |
bool | operations_research::sat::LinearInequalityCanBeReducedWithClosestMultiple (int64_t base, absl::Span< const int64_t > coeffs, absl::Span< const int64_t > lbs, absl::Span< const int64_t > ubs, int64_t rhs, int64_t *new_rhs) |
void | operations_research::sat::RandomizeDecisionHeuristic (absl::BitGenRef random, SatParameters *parameters) |
Randomizes the decision heuristic of the given SatParameters. | |
int | operations_research::sat::WeightedPick (absl::Span< const double > input, absl::BitGenRef random) |
int | operations_research::sat::MoveOneUnprocessedLiteralLast (const absl::btree_set< LiteralIndex > &processed, int relevant_prefix_size, std::vector< Literal > *literals) |
bool | operations_research::sat::IsNegatableInt64 (absl::int128 x) |
Tells whether a int128 can be casted to a int64_t that can be negated. | |