Se dan dos conjuntos de puntos tridimensionales, una fuente y un conjunto de destinos. El número de puntos en cada conjunto es arbitrario (puede ser cero). La tarea es asignar uno o ningún punto de origen a cada punto de destino, de modo que la suma de todas las distancias sea mínima. Si hay más puntos de origen que de destino, los puntos adicionales deben ignorarse.Asignación de un conjunto de puntos 3D a otro conjunto con suma mínima de distancias
Existe una solución de fuerza bruta para este problema, pero como el número de puntos puede ser grande, no es factible. Escuché que este problema es fácil en 2D con el mismo tamaño de conjunto, pero lamentablemente estas condiciones previas no se dan aquí.
Me interesan tanto las aproximaciones como las soluciones exactas.
Edit: Jaja, sí, supongo que suena como tarea. En realidad, no lo es. Estoy escribiendo un programa que recibe posiciones de una gran cantidad de automóviles y estoy tratando de asignarlos a sus respectivas celdas de estacionamiento. :)
Huele a tarea. –
¿Asignación de mapas a las celdas de estacionamiento?Haha tiene razón. Si quiere ayuda, debe dar una explicación más completa/más plausible o aclarar, agregar la etiqueta de "tarea" y esbozar lo que ha hecho hasta ahora. – MarkusQ
Lo siento, pero no es tarea. Si tuviera un CS major y fuera capaz de descifrar un algoritmo utilizable, no lo haría en SO. – mafu