OR-Tools  8.1
integer_expr.h File Reference

Go to the source code of this file.

Classes

class  IntegerSumLE
 
class  LevelZeroEquality
 
class  MinPropagator
 
class  LinMinPropagator
 
class  PositiveProductPropagator
 
class  DivisionPropagator
 
class  FixedDivisionPropagator
 
class  SquarePropagator
 

Namespaces

 operations_research
 The vehicle routing library lets one model and solve generic vehicle routing problems ranging from the Traveling Salesman Problem to more complex problems such as the Capacitated Vehicle Routing Problem with Time Windows.
 
 operations_research::sat
 

Functions

template<typename VectorInt >
std::function< void(Model *)> WeightedSumLowerOrEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound)
 
template<typename VectorInt >
std::function< void(Model *)> WeightedSumGreaterOrEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound)
 
template<typename VectorInt >
std::function< void(Model *)> FixedWeightedSum (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value)
 
template<typename VectorInt >
std::function< void(Model *)> ConditionalWeightedSumLowerOrEqual (const std::vector< Literal > &enforcement_literals, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound)
 
template<typename VectorInt >
std::function< void(Model *)> ConditionalWeightedSumGreaterOrEqual (const std::vector< Literal > &enforcement_literals, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound)
 
template<typename VectorInt >
std::function< void(Model *)> WeightedSumLowerOrEqualReif (Literal is_le, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound)
 
template<typename VectorInt >
std::function< void(Model *)> WeightedSumGreaterOrEqualReif (Literal is_ge, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound)
 
void LoadLinearConstraint (const LinearConstraint &cst, Model *model)
 
void LoadConditionalLinearConstraint (const absl::Span< const Literal > enforcement_literals, const LinearConstraint &cst, Model *model)
 
template<typename VectorInt >
std::function< void(Model *)> FixedWeightedSumReif (Literal is_eq, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value)
 
template<typename VectorInt >
std::function< void(Model *)> WeightedSumNotEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value)
 
template<typename VectorInt >
std::function< IntegerVariable(Model *)> NewWeightedSum (const VectorInt &coefficients, const std::vector< IntegerVariable > &vars)
 
std::function< void(Model *)> IsEqualToMinOf (IntegerVariable min_var, const std::vector< IntegerVariable > &vars)
 
std::function< void(Model *)> IsEqualToMinOf (const LinearExpression &min_expr, const std::vector< LinearExpression > &exprs)
 
std::function< void(Model *)> IsEqualToMaxOf (IntegerVariable max_var, const std::vector< IntegerVariable > &vars)
 
std::function< void(Model *)> IsOneOf (IntegerVariable var, const std::vector< Literal > &selectors, const std::vector< IntegerValue > &values)
 
template<class T >
void RegisterAndTransferOwnership (Model *model, T *ct)
 
std::function< void(Model *)> ProductConstraint (IntegerVariable a, IntegerVariable b, IntegerVariable p)
 
std::function< void(Model *)> DivisionConstraint (IntegerVariable a, IntegerVariable b, IntegerVariable c)
 
std::function< void(Model *)> FixedDivisionConstraint (IntegerVariable a, IntegerValue b, IntegerVariable c)