This is a real-life problem, not homework. I'll use specific numbers in the question.
My client has a very large warehouse with 16,000 locations. They want to physically count the quantity in 200 locations, selected randomly, to verify the quantity the computer system has is accurate.
I know how to select exactly 200 locations at random (Knuth TAOCP).
The distance between locations is easy to calculate. The warehouse is arranged in aisles (like a big box store). Basically, what I learned as the taxi-cab metric (delta X + delta Y).
Assume they will assign 4 people to this task. How do I generate a list of locations for each person that will minimize the total distance traveled by the people?
For the general algorithm, the number of locations to be counted and the number of people assigned to the task would be input parameters.
To help you answer, I have decades of experience, but I am self-taught. I'm guessing this is a good problem for dynamic programming (watched the MIT lecture series recently), but have never implemented that. Stuck on forming the recursion.
Or maybe some other algortihm. It's not a ton of data points, so maybe a brute force approach?
If other tags are appropriate, please suggest them. If you care to post code snippets, any language is fine.