# optimization – Optimal clustering with optimal number of clusters as well as max and min cluster size constraints

I need to cluster $$N$$ data points.

I don’t know the number of clusters to be formed. It needs to be found optimally.

Also, there is maximum and minimum cluster size constraints, where $$C_{max}$$ is the maximum size that one cluster can get and $$C_{min}$$ is the minimum size that one cluster must get.

The coordinates of the $$N$$ data points are stored in a matrix $$Dinmathbb{R}^{2times N}$$, $$D$$ is a matrix of $$N$$ rows and each row has two elements defining the $$x-$$axis and $$y-$$axis coordinates. However, $$D$$ can be expressed in any convenient form, for example, $$Dinmathbb{R}^{Ntimes 2}$$ or $$Dinmathbb{C}^{Ntimes 1}$$ (where the coordinates are expressed as a complex number: $$x+iy$$)

How can I formulate this as a mathematical optimization problem and solve it efficiently?

Data points can be uniformly distributed over a 2D plan of any given size.