14#ifndef OR_TOOLS_SAT_CUMULATIVE_ENERGY_H_
15#define OR_TOOLS_SAT_CUMULATIVE_ENERGY_H_
40 SchedulingConstraintHelper* helper,
49 SchedulingConstraintHelper* helper,
63 const std::vector<AffineExpression> energies_;
70 std::vector<int> task_to_start_event_;
73 std::vector<TaskTime> start_event_task_time_;
74 std::vector<bool> start_event_is_present_;
87 const std::vector<AffineExpression> demands,
88 const std::vector<int> subtasks,
96 const IntegerVariable var_to_push_;
97 const IntegerValue offset_;
99 const std::vector<AffineExpression> demands_;
100 const std::vector<int> subtasks_;
103 std::vector<bool> is_in_subtasks_;
void RegisterWith(GenericLiteralWatcher *watcher)
CumulativeEnergyConstraint(std::vector< AffineExpression > energies, AffineExpression capacity, IntegerTrail *integer_trail, SchedulingConstraintHelper *helper)
CumulativeIsAfterSubsetConstraint(IntegerVariable var, IntegerValue offset, AffineExpression capacity, const std::vector< AffineExpression > demands, const std::vector< int > subtasks, IntegerTrail *integer_trail, SchedulingConstraintHelper *helper)
void RegisterWith(GenericLiteralWatcher *watcher)
void AddCumulativeOverloadChecker(const std::vector< AffineExpression > &demands, AffineExpression capacity, SchedulingConstraintHelper *helper, Model *model)
void AddCumulativeEnergyConstraint(std::vector< AffineExpression > energies, AffineExpression capacity, SchedulingConstraintHelper *helper, Model *model)
Collection of objects used to extend the Constraint Solver library.