What version of OR-Tools and what language are you using?
Version: stable branch
Language: C++
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
Routing Library
What operating system (Linux, Windows, ...) and version?
Linux Mint 21.3
What did you do?
Using VRP with breaks. GlobalVehicleBreaksConstraint will be added to the Solver.
What did you expect to see
I believe here we're updating StartMin value of the arc path_[pos] -> path_[pos + 1] to EndMin value of the break interval. This arc StartMin is CumulVar(path_[pos])->Min() - arc_start_offset. So instead of SetMin(CapSub(interval_end_min, arc_start_offset)) it should be SetMin(CapAdd(interval_end_min, arc_start_offset)).
|
// Interval not after. |
|
if (interval_start_max < arc_end_min) { |
|
interval->SetEndMax(arc_start_max); |
|
if (interval_is_performed) { |
|
dimension_->CumulVar(path_[pos]) |
|
->SetMin(CapSub(interval_end_min, arc_start_offset)); |
|
} |
|
} |
|
continue; |
What version of OR-Tools and what language are you using?
Version: stable branch
Language: C++
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
Routing Library
What operating system (Linux, Windows, ...) and version?
Linux Mint 21.3
What did you do?
Using VRP with breaks.
GlobalVehicleBreaksConstraintwill be added to the Solver.What did you expect to see
I believe here we're updating
StartMinvalue of the arcpath_[pos] -> path_[pos + 1]toEndMinvalue of the break interval. This arcStartMinisCumulVar(path_[pos])->Min() - arc_start_offset. So instead ofSetMin(CapSub(interval_end_min, arc_start_offset))it should beSetMin(CapAdd(interval_end_min, arc_start_offset)).or-tools/ortools/constraint_solver/routing_breaks.cc
Lines 943 to 951 in 5124f49