We analyzed this behaviour and here's some valuable info:
What happens when you use reduceOverlap?
- Border locations/customers are identified. These are locations that have "more" neighboring locations from other clusters than their own cluster. See this pic for example:
- All other locations/customers are pre assigned to their clusters but the border locations are set free.
- Imbalance tolerance is increased and a re-assignment of border customers is attempted based solely on travel times or distances. Activities are ignored.
- This makes some of the border locations change clusters. But these changes are very sensitive to the parameters.
- For this example CBC obtains a sub-optimal re-assignment, which (weirdly) yields the older or existing clustering.
- GRB claims to find (mathematically speaking) a better re-assignment of border locations. But this increases the overlaps in this and some other cases.
- With GRB, if you set imbalanceTolerance to 14% or more, you will get a "better" re-assignment, that is, the older or existing clustering.
Thanks to Nitin for the details!
Bernd