Clustering problem
If your number of clusters is fixed and you only want to maximize the number of points that are in these clusters then I think a greedy solution would be good : 

find the rectangle that can contains the maximum number of points,
remove these points,
find the next rectangle
...

So how to find the rectangle of maximum area A (in fact each rectangle will have this area) that contains the maximum number of points ?
A rectangle is not really common for euclidean distance, before trying to solve this, could you precise if you really need rectangle or just some king of limit on the cluster size ? Would a circle/ellipse work ?
EDIT : 
greedy will not work (see comment below) and it really need to be rectangles...
I've been tasked to find N clusters containing the most points for a certain data set given that the clusters are bounded by a certain size. Currently, I am attempting to do this by plugging in my data into a kd-tree, iterating over the data and finding its nearest neighbor, and then merging the points if the cluster they make does not exceed a limit. I'm not sure this approach will give me a global solution so I'm looking for ways to tweak it. If you can tell me what type of problem this would go under, that'd be great too.