Даны два набора трехмерных точек, исходный и целевой набор. Количество точек на каждом наборе является произвольным (может быть нулевым). Задача состоит в том, чтобы назначить одну или ни одну исходную точку каждой точке назначения, чтобы сумма всех расстояний была минимальной. Если исходных точек больше, чем точек назначения, дополнительные точки игнорируются.
Существует решение с помощью грубой силы, но, поскольку число точек может быть большим, оно неосуществимо. Я слышал, что эта проблема проста в 2D с равными размерами набора, но, к сожалению, эти предварительные условия здесь не приведены.
Меня интересуют как приближения, так и точные решения.
Редактировать: Хаха, да, я думаю, это похоже на домашнюю работу. На самом деле это не так. Я пишу программу, которая получает позиции большого количества автомобилей, и я пытаюсь сопоставить их с соответствующими парковочными ячейками. :)