I have a set of 2-D data where I want to find the centers of a specified number of centers of circles ($N$) that maximize the total number of points within a specified distance ($R$).
e.g. I have 10,000 data points $(X_i, Y_i)$ and I want to find the centers of $N=5$ circles that capture as many points as possible within a radius of $R=10$. The 5 centers and radius of 10 are given beforehand, not derived from the data.
The presence of a data point within a circle is a binary either/or proposition. If $R=10$, there's no difference in value to a point 11 units away vs. 100 units away, as they are both > 10. Similarly for being within the circle, there's no extra value to being near the center vs. near the edge. A data point is either in one of the circles or out.
Is there a good algorithm that can be used to solve this problem? These seems related to clustering techniques, but rather than minimizing the average distance, the "distance" function is 0 if the point is within $R$ of any of the $N$ points, and 1 otherwise.
My preference would be to find a way to do this in R, but any approach would be appreciated.