14 #ifndef OR_TOOLS_SAT_TIMETABLE_EDGEFINDING_H_
15 #define OR_TOOLS_SAT_TIMETABLE_EDGEFINDING_H_
78 void BuildTimeTable();
83 bool TimeTableEdgeFindingPass();
88 void FillEnergyInWindowReason(IntegerValue window_min,
89 IntegerValue window_max,
int task_index);
91 IntegerValue CapacityMax()
const {
102 std::vector<TaskTime> scp_;
103 std::vector<TaskTime> ecp_;
106 std::vector<IntegerValue> size_free_;
107 std::vector<IntegerValue> energy_free_;
111 std::vector<IntegerValue> mandatory_energy_before_start_min_;
112 std::vector<IntegerValue> mandatory_energy_before_end_max_;
115 std::vector<int> reason_tasks_fully_included_in_window_;
116 std::vector<int> reason_tasks_partially_included_in_window_;
IntegerValue UpperBound(IntegerVariable i) const
Class that owns everything related to a particular optimization model.
TimeTableEdgeFinding(AffineExpression capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands, Model *model)
void RegisterWith(GenericLiteralWatcher *watcher)
Collection of objects used to extend the Constraint Solver library.