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.