I am looking for an efficient approach to $k$-means clustering with minimum cluster size constraints. The clusters are non overlapping, so, one point can belong to only one cluster.
$N$ be the number of points
$C$ be the number of clusters
$S_{\min}$ be the minimum cluster size
$S_{\max}$ be the maximum cluster size
Let $x_{nc}$ be an indicator variable. If $x_{nc}=1$, then point $n$ belongs to cluster $c$, otherwise not.
So, the constraints we can express as
$$S_{\min}\le\sum_{n=1}^Nx_{nc}\le S_{\max},\forall c, c=1,2,\cdots,C$$
$$\sum_{c=1}^Cx_{nc}=1,\forall n, n=1,2,\cdots,N$$
$$\sum_{c=1}^C\sum_{n=1}^Nx_{nc}=N$$
What should be the objective here.
Or any other efficient mathematical formulations for this clustering problem?
We have the objective function for Kmean as
$$\min \sum_{c=1}^C\sum_{n\in \mathcal{S}_c}||d_n-\mu_c||^2$$
where, $\mu_c$ (a two-dimensional vector) is the mean of points in cluster $c$, $\mathcal{S}_c$
Here, $d_n$ is a two-dimensional vector containing the coordinates of point $n$.