Say I have two lists of items $A=(a_1,\ldots,a_n)$ and $B=(b_1,\ldots,b_m)$ where $m<n$. Each pair of items $a_i$ and $b_j$ has a known cost, $c_{ij}>0$. I wish to find the $m$ pairings such that the total cost of the paired set is minimized. Note that this pairing will have $n-m$ leftover items from $A$ that don't have a match.
Question: Can this be solved via dynamic programming? I know if $m=n$ then a brute force solution would be of $n^2$ complexity but hopefully we can do better than this.
Additional comments: There is some additional structure which we can possibly take advantage of. Each item is represented by a set of measurements, that is, $a_i=(a_i^1,a_i^2)$ and $b_j = (b_j^1,b_j^2)$. True matches have measurements that are of similar size, that is, if $(a_i,b_j)$ is a match then $a_i^1$ and $b_j^1$ are of the same order (e.g. they are both large), similarly for $a_i^2$ and $b_j^2$. This may help with guiding search?