14 #ifndef OR_TOOLS_SAT_TIMETABLE_EDGEFINDING_H_
15 #define OR_TOOLS_SAT_TIMETABLE_EDGEFINDING_H_
79 void BuildTimeTable();
84 bool TimeTableEdgeFindingPass();
87 bool IncreaseStartMin(IntegerValue begin, IntegerValue end,
int task_index,
88 IntegerValue new_start);
90 IntegerValue DemandMin(
int task_index)
const {
91 return integer_trail_->
LowerBound(demands_[task_index]);
94 IntegerValue CapacityMax()
const {
103 std::vector<AffineExpression> demands_;
110 std::vector<TaskTime> scp_;
111 std::vector<TaskTime> ecp_;
115 std::vector<IntegerValue> size_free_;
116 std::vector<IntegerValue> energy_free_;
120 std::vector<IntegerValue> mandatory_energy_before_start_min_;
121 std::vector<IntegerValue> mandatory_energy_before_end_max_;
129 #endif // OR_TOOLS_SAT_TIMETABLE_EDGEFINDING_H_