Algoritmo para encontrar el punto de distancia mínima total desde las ubicaciones

Estoy creando una aplicación basada en encontrar un "punto de encuentro conveniente" dado un conjunto de ubicaciones.

Actualmente estoy definiendo "conveniente" como "minimizar la distancia total de viaje". Este es un problema diferente de encontrar el centroide como se ilustra en el siguiente ejemplo (usando las coordenadas cartesianas en lugar de la latitud y la longitud por conveniencia):

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

La ubicación del viaje total mínimo para estos puntos es de (0,0) con una distancia de viaje total de 12; el centroide está en (0,4) con una distancia total de viaje de 16 (4 + 4 + 8).

Si la ubicación se limitara a estar en uno de los puntos, el problema parece ser más simple, pero esto no es una restricción que pretendo tener (a diferencia de, por ejemplo,esta pregunta por lo demás similar).

Lo que parece que no puedo hacer es idear algún tipo de algoritmo para resolver esto: ¡sugerencias bienvenidas, por favor!

Respuestas a la pregunta(6)

Su respuesta a la pregunta