|
| template<typename VectorInt> |
| std::function< void(Model *)> | operations_research::sat::WeightedSumLowerOrEqual (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t upper_bound) |
| | Weighted sum <= constant.
|
| template<typename VectorInt> |
| std::function< void(Model *)> | operations_research::sat::WeightedSumGreaterOrEqual (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t lower_bound) |
| | Weighted sum >= constant.
|
| template<typename VectorInt> |
| std::function< void(Model *)> | operations_research::sat::FixedWeightedSum (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t value) |
| | Weighted sum == constant.
|
| void | operations_research::sat::AddWeightedSumLowerOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t upper_bound, Model *model) |
| | enforcement_literals => sum <= upper_bound
|
| void | operations_research::sat::AddWeightedSumGreaterOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t lower_bound, Model *model) |
| | enforcement_literals => sum >= lower_bound
|
| std::function< void(Model *)> | operations_research::sat::ConditionalWeightedSumLowerOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t upper_bound) |
| std::function< void(Model *)> | operations_research::sat::ConditionalWeightedSumGreaterOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t upper_bound) |
| void | operations_research::sat::LoadConditionalLinearConstraint (const absl::Span< const Literal > enforcement_literals, const LinearConstraint &cst, Model *model) |
| | LinearConstraint version.
|
| void | operations_research::sat::LoadLinearConstraint (const LinearConstraint &cst, Model *model) |
| void | operations_research::sat::AddConditionalAffinePrecedence (const absl::Span< const Literal > enforcement_literals, AffineExpression left, AffineExpression right, Model *model) |
| template<typename VectorInt> |
| std::function< IntegerVariable(Model *)> | operations_research::sat::NewWeightedSum (const VectorInt &coefficients, const std::vector< IntegerVariable > &vars) |
| void | operations_research::sat::AddIsEqualToMinOf (const LinearExpression &min_expr, std::vector< LinearExpression > exprs, Model *model) |
| std::function< void(Model *)> | operations_research::sat::IsEqualToMinOf (const LinearExpression &min_expr, const std::vector< LinearExpression > &exprs) |
| template<class T> |
| void | operations_research::sat::RegisterAndTransferOwnership (Model *model, T *ct) |
| std::function< void(Model *)> | operations_research::sat::ProductConstraint (AffineExpression a, AffineExpression b, AffineExpression p) |
| | Adds the constraint: a * b = p.
|
| std::function< void(Model *)> | operations_research::sat::DivisionConstraint (AffineExpression num, AffineExpression denom, AffineExpression div) |
| | Adds the constraint: num / denom = div. (denom > 0).
|
| std::function< void(Model *)> | operations_research::sat::FixedDivisionConstraint (AffineExpression a, IntegerValue b, AffineExpression c) |
| | Adds the constraint: a / b = c where b is a constant.
|
| std::function< void(Model *)> | operations_research::sat::FixedModuloConstraint (AffineExpression a, IntegerValue b, AffineExpression c) |
| | Adds the constraint: a % b = c where b is a constant.
|