Minimize range of distances between two sets of points
Here is a simple algorithm to get you started.
Compute all $\binom{n}{2}$ pairwise distances, and put them in an array $A$. For each pair $a&lt;b$ in $A$, use a bipartite matching algorithm to determine whether there is a matching that uses only distances in the range $[a,b]$. Choose the pair minimizing $b-a$. In total, there are $O(n^4)$ invocations of the matching algorithm.
It is easy to improve upon this. For example, for each $a$ we can find the best $b$ using binary search (this is essentially bottleneck matching), dropping the number of invocations down to $O(n^2\log n)$. You can improve this further (in practice) as follows:

Let $a$ be the minimal element in $A$.
Find the minimal $b$ such that an $[a,b]$-matching exists.
Decrement $b$, and find the maximal $a$ such that an $[a,b]$-matching exists.
Increment $a$, and find the minimal $b$ such that an $[a,b]$-matching exists.
And so on, until no more matchings are possible.

Here an $[a,b]$-matching is one only using weights in $[a,b]$, and &quot;increment/decrement&quot; are relative to $A$.
You can probably improve this even further, even in this oblivious setting where we do not use the fact that the distances originate from a planar embedding of the points.