  Given two sets $S$ and $T$ of points in the plane, of total size $n$, a
{many-to-many} matching between $S$ and $T$ is a set of pairs $(p,q)$ such that
$p\in S$, $q\in T$ and for each $r\in S\cup T$, $r$ appears in at least one
such pair. The {cost of a pair} $(p,q)$ is the (Euclidean) distance between $p$
and $q$. In the {minimum-cost many-to-many matching} problem, the goal is to
compute a many-to-many matching such that the sum of the costs of the pairs is
minimized. This problem is a restricted version of minimum-weight edge cover in
a bipartite graph, and hence can be solved in $O(n^3)$ time. In a more
restricted setting where all the points are on a line, the problem can be
solved in $O(n\log n)$ time [Colannino, Damian, Hurtado, Langerman, Meijer,
Ramaswami, Souvaine, Toussaint; Graphs Comb., 2007]. However, no progress has
been made in the general planar case in improving the cubic time bound. In this
paper, we obtain an $O(n^2\cdot poly(\log n))$ time exact algorithm and an $O(
n^{3/2}\cdot poly(\log n))$ time $(1+\epsilon)$-approximation in the planar
case. Our results affirmatively address an open problem posed in [Colannino et
al., Graphs Comb., 2007].
