I have a problem which I like and I love to think about solutions, but I\'m stuck unfortunately. I hope you like it too. The problem states:
I have two lists of 2D point
This problem is solvable in polynomial time via the Hungarian algorithm. To get a square matrix, add dummy entries to the shorter list at "distance 0" from everything.
This is the minimum weight Euclidean bipartite matching problem. There is a O(n^(2+epsilon)) algorithm.
Your problem is an instance of the weighted minimum maximal matching problem (as described in this Wikipedia article). There is no polynomial-time algorithm even for the unweighted problem (all distances equal). There are efficient algorithms to approximately solve it in polynomial time (within a factor of 2).