It seems to be a similar problem to create n equal clusters. If you want to have constraints like that, it is not only clustering problem but more complex one.
Lets say that we have n points and we want to create k equal clusters. It is not possible with a clustering methods like a k-means etc. But it is a nice start, after that we just need to solve the assignment problem.
First we can use a clustering algorithm, k-means is enough. Then we have k clusters but of course each one has different number of objects. Also each cluster has its centroid and this is a good waypoint for the next part of our task.
Now we can take all of these centroids and just solve the assignment problem. Hungarian Algorithm is the most popular I guess. It has a polynomial complexity but it should be quite fast in the most of GIS tasks. It finds k points (one for each cluster) and assigns them. Then again and again until n it assigns n points.
That is how we can create equal clusters. As you said:
I need to identify clusters but constrain the cluster densities to be >= MinRequired and <=MaxCapacity
So If you run k-means for n points to find n/MinRequired clusters and then assign points to each centroid with HA, you will solve this problem.
I did tasks like that, mostly dividing into equal clusters and I can recommend for you a following: