Closed shiyuan closed 2 years ago
Break are known to not work (#569) as expected in any v6.X
. I see two possibilities
side note: a v7.0-beta.1
was released last week -> https://github.com/google/or-tools/releases/tag/v7.0-beta.1
@Mizux I tried the two ways, none of them works well.
v6.7.2
.v7.0-beta.1
works on the case above, but it meets no solution in other cases.Run the VRP_or-tools_v7.0-beta.1_test_vehicle_break_interval.cpp, you can get No solution
sometimes.
I'm wondering whether I have a bad implementation or the bug is still unfixed.
#595 workaround doesn't work on v6.7.2.
It didn't work at first, for the interval from the depot to first order node was ignored. After changing it, It works for me now.
So, for V7 breaks work? including or interval/segment from the depot, and with multiple-breaks per vehicle?
So, for V7 breaks work? including or interval/segment from the depot, and with multiple-breaks per vehicle?
@GuyBenhaim
v7.0-beta.1
BreakConstraint
, it worked if the interval from the depot to the first order node was considered (change this), or the first interval would overlap with breaksHello, Can you update whether this was resolved in v7.x ?
For #595 what do you mean "interval from the depot to the first order node was considered"? Does travel time from start-point to the first-node (of each vehicle) will not be included in the time until the break is required to start?
Thx
@GuyBenhaim
Can you update whether this was resolved in v7.x ?
Breaks in v7.0-beta.1
not work for me
For #595, codes implemented here , not started from depot node
int64 current_index = model->NextVar(model->Start(vehicle_))->Value();
In my scene, which consider the interval from the depot node to first node with break constraint for example, the transport time to the first node is 3600, while the break interval is [1000, 2000), the supposed arrival time of the first node is 5600, after changing this:
int64 current_index = model->Start(vehicle_);
while the v7.0-beta.1
gives 4600 and sometimes results to no solution
you can try the toy code here
7.0 is out. Can you try with the official release ? Laurent Perron | Operations Research | lperron@google.com | (33) 1 42 68 53 00
Le jeu. 4 avr. 2019 à 08:34, Yuan notifications@github.com a écrit :
@GuyBenhaim https://github.com/GuyBenhaim
Can you update whether this was resolved in v7.x ?
Breaks in v7.0-beta.1 not work for me
For #595 https://github.com/google/or-tools/pull/595, codes implemented here https://github.com/pmateusz/or-tools/blob/c0a9ce80cde70e3df1db45ed904e63b47d37e7e9/examples/cpp/cvrptw_with_breaks_repro.cc#L173 , not started from depot node
int64 currentindex = model->NextVar(model->Start(vehicle))->Value();
In my scene, which consider the interval from the depot node to first node with break constraint for example, the transport time to the first node is 3600, while the break interval is [1000, 2000), the supposed arrival time of the first node is 5600, after changing this:
int64 currentindex = model->Start(vehicle);
while the v7.0-beta.1 gives 4600 and sometimes results to no solution
you can try the toy code here https://gist.github.com/shiyuan/30e7658df7687355a21bc0e59bd16bb9
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/google/or-tools/issues/994#issuecomment-479768936, or mute the thread https://github.com/notifications/unsubscribe-auth/AKj17QYj-W3_jT2bAP92qKFdgUovjgleks5vdZzygaJpZM4Zhl85 .
7.0 is out. Can you try with the official release ?
@lperron I tried v7.0
, still not work properly for the toy case above
can you post the new code (with 7.x) ?
Any progress on fixing this issue ? fix_start_cumul_to_zero=False to work for fixed breaks. Using service time on disjunctioned node per break per car as workaround is not always good enough.
I'm trying to use break intervals in VRP, it seems the method
RoutingDimension::SetBreakIntervalsOfVehicle
is not working properly.Building a VRP of one vehicle(with break time of [100, 1100]) and one order(400 away to depot), the arrival time of the order node should be 1400, but the code below gives 1100, it seems the method has bugs.
But, if the
fix_start_cumul_to_zero
is set to true, It gives the correct solutionIn more complicated scenes,the constraint of break intervals may end with no solution, actually there exist one, hope someone can help.