Tengo un conjunto de puntos , y tengo la distancia entre cada punto . Estas distancias son euclidianas, pero los puntos están realmente en un espacio de características.
De los puntos quiero elegir un subconjunto de puntos. Llame a este subconjunto . Quiero elegir este subconjunto para maximizar la distancia mínima entre todos los puntos en el nuevo conjunto .
En este momento estoy usando la escalada para resolver este problema. Entiendo que el recocido simulado puede dar una mejor solución.
¿Existe una solución conocida para este tipo de problema? ¿O puede este problema reformularse en otro problema que se resuelva fácilmente?
optimization
usuario1389800
fuente
fuente
Respuestas:
La versión del problema de decisión de este problema de optimización es:
Por supuesto, si puede resolver el problema de decisión, podemos resolver su problema de optimización (mediante búsqueda binaria en el umbral ).t
Ahora, este problema de decisión es el problema de encontrar un conjunto independiente en un gráfico euclidiano, donde los puntos tienen un borde entre ellos si están a distancia separados. Un enfoque sería mirar los algoritmos de aproximación estándar para un conjunto independiente.x,y ≤t
Aún mejor, puede ver algoritmos para conjuntos independientes en gráficos de intersección geométrica . Considere un conjunto de discos, donde cada disco tiene un diámetro y se centra en uno de los puntos en su conjunto . Ahora podemos formar un gráfico de intersección geométrica, donde hay un vértice para cada disco y un borde entre dos vértices si sus discos correspondientes se cruzan. Se ha estudiado el problema de encontrar un conjunto independiente en este tipo de gráfico y existen algoritmos de aproximación para este problema que podría intentar usar.t C
Si desea el óptimo exacto en lugar de una aproximación, puede usar cualquiera de los "grandes martillos" estándar, como un solucionador SAT o un solucionador ILP. Hay una manera directa de formular el problema de conjunto independiente como una instancia de SAT, y luego puede aplicar un solucionador de SAT para determinar si existe un subconjunto de puntos que están todos unidades separados entre sí.n ≥t
fuente