, can be efficiently solved by using an iterative reverse-delete algorithm (similar to that used in graph theory to obtain a minimum spanning tree from a given connected, edge-weighted graph). In particular, at the beginning of the $i$th iteration of the algorithm the cell-free network is represented by a very simple edge-weighted directed graph with $M$ source nodes and $K$ sink nodes, where the $m$th source node, representing the $m$th , is connected to a group $\mathcal{K}_m^{(i)}$ of sink nodes, representing the active beamformed by the $m$th . The connection (edge) between the $m$th source node and the $l$th sink node in $\mathcal{K}_m^{(i)}$ is weighted by the average Frobenius norm of the equivalent channel linking the $m$th and $l\in \mathcal{K}_m^{(i)}$, that can be obtained as $$\xi_{ml}=\mathbb{E}\left\{\left\|{{\boldsymbol}{w}_{ml}^{RF}}^T{\boldsymbol}{h}_{ml}\right\|_F^2\right\}={{\boldsymbol}{w}_{ml}^{RF}}^T {\boldsymbol}{R}_{ml} {\boldsymbol}{w}_{ml}^{RF}.$$ The average sum energy of the equivalent channels between the $M$ and $k$ at the beginning of the $i$th iteration is $$\mathcal{E}_k^{(i)} = \sum_{m\in\mathcal{M}_k^{(i)}} \xi_{mk},$$ where $\mathcal{M}_k^{(i)}$ is the set of beamforming to $k$ at the beginning of the $i$th iteration. During this iteration, the reverse-delete algorithm removes the edge (i.e., the chain and associated beamformer) that, first, goes out of one of those still beamforming to more than $L$ and, second, 