-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Hi!
Thank you for the very helpful paper & repository. This may not be a bug per se, but I couldn't quite make sense of it and I hoped someone might be able to help.
Consider the following problem, where A and B are two agent start positions, a and b are their goals, respectively, and ( ) is a generic node on the roadmap:
(A)
| <-- paths of length 1
(B)
|
( ) ---- some arbitrary path length greater than 1 ---- ( )
|
(b)
|
(a)
For the roadmap, where these edges are the only ones available, the only solution is for B to move to the side ("alcove"), allowing A to pass down to its goal, and then for B to return from the alcove and proceed to its goal. I believe this should be the optimal solution regardless of the length of the path from the hallway to the alcove, (unless moving partway along an edge and then reversing direction is permitted.)
As it happens, I was examining this scenario and discovered that the CCBS implementation is strangely sensitive to the length of the path from hallway to alcove. In my scenario, the vertical distances in the diagram above are all 1. When the horizontal distance is below some threshold, the solver finds a solution very quickly (<200ms) but when the distance crosses above the threshold, 30s becomes insufficient to find a solution. Is this an expected behavior of CBS or SIPP? Can you help me with an intuition as to why it might be happening?
I did a rough binary search and found that the threshold for my problem instance is between 7.26 and 7.27 but I can't figure out what's special about that number.
Thank you very much for any help you can provide regarding this!
./CCBS Examples/alcove_corridor_solves_quickly.xml Examples/alcove_corridor_task.xml Examples/config.xml
Soulution found: true
Runtime: 0.130823
Makespan: 16.52
Flowtime: 20.52
Initial Cost: 6
Collision Checking Time: 0.0716953
HL expanded: 5149
LL searches: 24954
LL expanded(avg): 7.3278
./CCBS Examples/alcove_corridor_does_not_solve.xml Examples/alcove_corridor_task.xml Examples/config.xml
Soulution found: false
Runtime: 30.0091
Makespan: 10.4142
Flowtime: 20.5355
Initial Cost: 6
Collision Checking Time: 12.0619
HL expanded: 13334
LL searches: 57764
LL expanded(avg): 8.83807
The XML descriptions of the task I'm doing, and the two versions of the roadmap where it does / doesn't solve quickly, are linked here: https://gist.github.com/gsalinas/f6145a31c2087037f12462e0886f2bcb