OR-Tools  8.1
cuts.h File Reference

Go to the source code of this file.

Classes

struct  CutGenerator
 
class  ImpliedBoundsProcessor
 
struct  ImpliedBoundsProcessor::SlackInfo
 
struct  ImpliedBoundsProcessor::BestImpliedBoundInfo
 
struct  RoundingOptions
 
class  IntegerRoundingCutHelper
 
class  CoverCutHelper
 
struct  KnapsackItem
 

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

IntegerValue GetFactorT (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue max_t)
 
std::function< IntegerValue(IntegerValue)> GetSuperAdditiveRoundingFunction (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue t, IntegerValue max_scaling)
 
LinearConstraint GetPreprocessedLinearConstraint (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail)
 
bool ConstraintIsTriviallyTrue (const LinearConstraint &constraint, const IntegerTrail &integer_trail)
 
bool CanBeFilteredUsingCutLowerBound (const LinearConstraint &preprocessed_constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail)
 
double GetKnapsackUpperBound (std::vector< KnapsackItem > items, const double capacity)
 
bool CanBeFilteredUsingKnapsackUpperBound (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail)
 
bool CanFormValidKnapsackCover (const LinearConstraint &preprocessed_constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail)
 
void ConvertToKnapsackForm (const LinearConstraint &constraint, std::vector< LinearConstraint > *knapsack_constraints, IntegerTrail *integer_trail)
 
bool LiftKnapsackCut (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const std::vector< IntegerValue > &cut_vars_original_coefficients, const IntegerTrail &integer_trail, TimeLimit *time_limit, LinearConstraint *cut)
 
CutGenerator CreateKnapsackCoverCutGenerator (const std::vector< LinearConstraint > &base_constraints, const std::vector< IntegerVariable > &vars, Model *model)
 
CutGenerator CreatePositiveMultiplicationCutGenerator (IntegerVariable z, IntegerVariable x, IntegerVariable y, Model *model)
 
CutGenerator CreateSquareCutGenerator (IntegerVariable y, IntegerVariable x, Model *model)
 
CutGenerator CreateAllDifferentCutGenerator (const std::vector< IntegerVariable > &vars, Model *model)
 
CutGenerator CreateLinMaxCutGenerator (const IntegerVariable target, const std::vector< LinearExpression > &exprs, const std::vector< IntegerVariable > &z_vars, Model *model)
 
CutGenerator CreateCumulativeCutGenerator (const std::vector< IntervalVariable > &intervals, const IntegerVariable capacity, const std::vector< IntegerVariable > &demands, Model *model)
 
CutGenerator CreateOverlappingCumulativeCutGenerator (const std::vector< IntervalVariable > &intervals, const IntegerVariable capacity, const std::vector< IntegerVariable > &demands, Model *model)
 
CutGenerator CreateNoOverlapCutGenerator (const std::vector< IntervalVariable > &intervals, Model *model)
 
CutGenerator CreateNoOverlapPrecedenceCutGenerator (const std::vector< IntervalVariable > &intervals, Model *model)
 
CutGenerator CreateCliqueCutGenerator (const std::vector< IntegerVariable > &base_variables, Model *model)