![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include <stdlib.h>
#include <algorithm>
#include <cstdint>
#include <deque>
#include <functional>
#include <limits>
#include <string>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/container/btree_map.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/inlined_vector.h"
#include "absl/log/check.h"
#include "absl/strings/str_cat.h"
#include "absl/types/span.h"
#include "ortools/base/logging.h"
#include "ortools/base/strong_vector.h"
#include "ortools/sat/integer_base.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/sat/sat_solver.h"
#include "ortools/util/bitset.h"
#include "ortools/util/rev.h"
#include "ortools/util/sorted_interval_list.h"
#include "ortools/util/strong_integers.h"
#include "ortools/util/time_limit.h"
Go to the source code of this file.
Classes | |
struct | operations_research::sat::LiteralValueValue |
struct | operations_research::sat::DelayedRootLevelDeduction |
class | operations_research::sat::IntegerEncoder |
class | operations_research::sat::LazyReasonInterface |
class | operations_research::sat::IntegerTrail |
class | operations_research::sat::PropagatorInterface |
Base class for CP like propagators. More... | |
class | operations_research::sat::RevIntRepository |
class | operations_research::sat::RevIntegerValueRepository |
class | operations_research::sat::GenericLiteralWatcher |
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::sat |
Typedefs | |
using | operations_research::sat::InlinedIntegerLiteralVector = absl::InlinedVector<IntegerLiteral, 2> |
using | operations_research::sat::InlinedIntegerValueVector |
Functions | |
std::function< BooleanVariable(Model *)> | operations_research::sat::NewBooleanVariable () |
std::function< IntegerVariable(Model *)> | operations_research::sat::ConstantIntegerVariable (int64_t value) |
std::function< IntegerVariable(Model *)> | operations_research::sat::NewIntegerVariable (int64_t lb, int64_t ub) |
std::function< IntegerVariable(Model *)> | operations_research::sat::NewIntegerVariable (const Domain &domain) |
IntegerVariable | operations_research::sat::CreateNewIntegerVariableFromLiteral (Literal lit, Model *model) |
std::function< IntegerVariable(Model *)> | operations_research::sat::NewIntegerVariableFromLiteral (Literal lit) |
std::function< int64_t(const Model &)> | operations_research::sat::LowerBound (IntegerVariable v) |
std::function< int64_t(const Model &)> | operations_research::sat::UpperBound (IntegerVariable v) |
std::function< bool(const Model &)> | operations_research::sat::IsFixed (IntegerVariable v) |
std::function< int64_t(const Model &)> | operations_research::sat::Value (IntegerVariable v) |
This checks that the variable is fixed. | |
std::function< void(Model *)> | operations_research::sat::GreaterOrEqual (IntegerVariable v, int64_t lb) |
std::function< void(Model *)> | operations_research::sat::LowerOrEqual (IntegerVariable v, int64_t ub) |
std::function< void(Model *)> | operations_research::sat::Equality (IntegerVariable v, int64_t value) |
Fix v to a given value. | |
std::function< void(Model *)> | operations_research::sat::Implication (absl::Span< const Literal > enforcement_literals, IntegerLiteral i) |
std::function< void(Model *)> | operations_research::sat::ImpliesInInterval (Literal in_interval, IntegerVariable v, int64_t lb, int64_t ub) |
in_interval => v in [lb, ub]. | |
std::function< std::vector< ValueLiteralPair >(Model *)> | operations_research::sat::FullyEncodeVariable (IntegerVariable var) |