Если вы хотите минимизировать сумму квадратов расстояний (а не сумму расстояний), то точка, которая минимизирует эту сумму, является средним числом точек в X.
Доказательство:
sum(squares of distances) = (x-x0)^2 + (y-y0)^2 + (x-x1)^2 + (y-y1)^2 + ...
d/dx sum(squares of distances) = 2(x-x0) + 2(x-x1) + ... = 2(Nx - x0 - x1 - ...)
сумма минимизируется, когда производная равна нулю, что происходит, когда Nx = x0+x1+...
, поэтому x = (x0+x1+...)/N
Производная симметрична относительно этой точки, а функция квадратична, поэтому я уверен, что ближайшая точка Y к этой средней точке является лучшей.
Минимизация расстояний сложнее, но я подозреваю, что тот же алгоритм, с большей свободой в наборе Y, который вы тестируете, также будет работать.