|
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) |
|
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) |
|
CutGenerator | CreateKnapsackCoverCutGenerator (const std::vector< LinearConstraint > &base_constraints, const std::vector< IntegerVariable > &vars, Model *model) |
|
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) |
|
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) |
|
void | AddIntegerVariableFromIntervals (SchedulingConstraintHelper *helper, Model *model, std::vector< IntegerVariable > *vars) |
|
std::function< void(const absl::StrongVector< IntegerVariable, double > &, LinearConstraintManager *)> | GenerateCumulativeCut (const std::string &cut_name, SchedulingConstraintHelper *helper, const std::vector< IntegerVariable > &demands, AffineExpression capacity, 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) |
|