¿Existe un algoritmo de búsqueda local para problemas que contienen números enteros o incluso variables enteras no ordenadas?

Algo así como. Quiero decir, con puntos enteros, de alguna manera pierdes la idea de localidad, como podría usar un algoritmo de descenso de gradiente, pero eso no significa que no puedas fingir.

Existe una larga tradición de relajar programas lineales enteros a programas lineales sin la restricción de enteros, y luego redondear o de alguna manera sujetar cualquier solución a los enteros. Hay algunos tipos de problemas donde esta estrategia puede producir buenos resultados.

El algoritmo más común para problemas de programación de enteros es el algoritmo de ramificación y unión (BnB). Si bien no implica la poca búsqueda local que se ve en el descenso de gradiente, sí supone que hay alguna forma de agrupar soluciones candidatas “cercanas” como similares.

También hay muchas otras estrategias para tratar con espacios de problemas discretos, algunas de ellas explotando similitudes “locales”. Esta página ofrece un resumen de alto nivel de muchos de ellos: Búsqueda de vecinos más cercanos – Wikipedia