La versión del problema de decisión de este problema de optimización es:
Dado un umbral , desea saber si es posible encontrar un subconjunto de puntos de manera que cada par de puntos en el subconjunto estén separados por al menos unidades.tnt
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.tC
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