Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
precedences.h File Reference
#include <algorithm>
#include <cstdint>
#include <deque>
#include <functional>
#include <utility>
#include <vector>
#include "absl/container/inlined_vector.h"
#include "absl/log/check.h"
#include "absl/strings/string_view.h"
#include "absl/types/span.h"
#include "ortools/base/strong_vector.h"
#include "ortools/base/types.h"
#include "ortools/graph/graph.h"
#include "ortools/sat/integer.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/sat_solver.h"
#include "ortools/sat/synchronization.h"
#include "ortools/util/bitset.h"
#include "ortools/util/strong_integers.h"

Go to the source code of this file.

Classes

struct  operations_research::sat::FullIntegerPrecedence
 
class  operations_research::sat::PrecedenceRelations
 
struct  operations_research::sat::PrecedenceRelations::PrecedenceData
 
class  operations_research::sat::PrecedencesPropagator
 
struct  operations_research::sat::LinearTerm
 
class  operations_research::sat::GreaterThanAtLeastOneOfDetector
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::sat
 

Functions

std::function< void(Model *)> operations_research::sat::LowerOrEqual (IntegerVariable a, IntegerVariable b)
 a <= b.
 
std::function< void(Model *)> operations_research::sat::LowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64_t offset)
 a + offset <= b.
 
std::function< void(Model *)> operations_research::sat::AffineCoeffOneLowerOrEqualWithOffset (AffineExpression a, AffineExpression b, int64_t offset)
 a + offset <= b. (when a and b are of the form 1 * var + offset).
 
void operations_research::sat::AddConditionalSum2LowerOrEqual (absl::Span< const Literal > enforcement_literals, IntegerVariable a, IntegerVariable b, int64_t ub, Model *model)
 l => (a + b <= ub).
 
void operations_research::sat::AddConditionalSum3LowerOrEqual (absl::Span< const Literal > enforcement_literals, IntegerVariable a, IntegerVariable b, IntegerVariable c, int64_t ub, Model *model)
 
std::function< void(Model *)> operations_research::sat::GreaterOrEqual (IntegerVariable a, IntegerVariable b)
 a >= b.
 
std::function< void(Model *)> operations_research::sat::Equality (IntegerVariable a, IntegerVariable b)
 a == b.
 
std::function< void(Model *)> operations_research::sat::EqualityWithOffset (IntegerVariable a, IntegerVariable b, int64_t offset)
 a + offset == b.
 
std::function< void(Model *)> operations_research::sat::ConditionalLowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64_t offset, Literal is_le)
 is_le => (a + offset <= b).