Algoritmo para encontrar o ponto da distância total mínima dos locais

Estou criando um aplicativo baseado em encontrar um "ponto de encontro conveniente", considerando um conjunto de locai

Atualmente, estou definindo "conveniente" como "minimizando a distância total da viagem". Esse é um problema diferente de encontrar o centróide, conforme ilustrado no exemplo a seguir (usando coordenadas cartesianas em vez de latitude e longitude por conveniência):

A está em (0,0)B está em (0,0)C está em (0,12)

A localização da viagem total mínima para esses pontos é de (0,0) com distância total da viagem de 12; o centróide está em (0,4) com a distância total de viagem de 16 (4 + 4 + 8

Se o local estiver limitado a um dos pontos, o problema parece se tornar mais simples, mas não é uma restrição que pretendo ter (ao contrário, por exemplo,esta pergunta de outra forma semelhante).

O que eu não consigo fazer é criar qualquer tipo de algoritmo para resolver isso - sugestões bem-vindas, por favo

questionAnswers(3)

yourAnswerToTheQuestion