Could you point me to some article that tackles a problem similar to this.
There are two sets:
- Sources $A = a_1,a_2,\ldots,a_n$
- Destinations $B = b_1,b_2,\ldots,b_n$
The distance between source $a_i$ and destination $b_j$ is $c_{i,j}$
The capacity of each destination is $k >=1$
There are two constraints:
- Each destination $b_j$ needs to be connected to exactly $k$ sources
- Each source $a_i$ needs to be connected to exactly $k$ destinations
The goal is to find the transference plan that minimizes the cost while fulfilling the constraints
I suspect you will end up with a MIP (Mixed Integer Program). I assume here you actually have a demand of $k$ at each destination node (capacities are typically for source nodes; of course I may just be misreading your problem). A MIP model could look like:
$$\begin{align} \min & \sum c_{i,j} x_{i,j} \\ & \varepsilon \cdot y_{i,j} \le x_{i,j} \le M \cdot y_{i,j} \\ & \sum_j x_{i,j} \ge k \>\> \forall i \\ & \sum_i y_{i,j} = k \>\> \forall j \\ & \sum_j y_{i,j} = k \>\> \forall i \\ & x_{i,j} \ge 0 \>\text{(flow variables)} \\ & y_{i,j} \in \{0,1\} \> \text{(arc is used)} \end{align}$$
$\varepsilon$ and $M$ are a small and a large number. $\varepsilon$ is the minimum flow when an arc is turned on (e.g. $\varepsilon=0.001$). $M$ is an upper bound on the flow on an arc (i.e. arc capacity).