So, I have a packaging center A
.
And I have n
points scattered around A
. Let's call them i1, i2 ... in.
I have a maximum distance threshold, called D
.
My task is to break those n
points into groups of at maximum m
each points. Each group cannot exceed m
points, in such a manner that a person starting from A
and going to all points belonging to a particular group is traveling for an optimized distance.
For example, A -> i1 -> i4 -> i10 -> A <= D
What I've described above is a TSP problem. Currently, what I've done is break them into clusters using the K-means algorithm and then manually break them down into more groups such that each group cannot have more than m
points.
Is there a better approach to this problem?
In short, I'm looking for a clustering algorithm in which:
- Each cluster cannot exceed a particular number of points.
- Clustering happens on distance (latitude/longitude in my case).