Está en la página 1de 6

MATEMÁTICAS Y CULTURA

BOLETÍN
23.04.2021 No. 352

COORDINACIÓN DE MATEMÁTICAS

MATEMÁTICAS MATEMÁTICAS

LA RUTA MÁS CORTA PARA VISITAR LOS 132 PUEBLOS MÁGICOS DE MÉXICO

O por lo menos casi todos. A la fecha de febrero del 2021, existen 132 pueblos adheridos al programa
conocido Pueblos Mágicos cuyo objetivo es alentar a los turistas a visitar los pueblos de mayor legado
cultural en nuestro país. Imagínate por un momento que se han acabado las restricciones por la pandemia,
que eres capaz de tomar tu bicicleta, recorrer el país en ella y visitar cada uno de esos pueblos, ¿sabrías
decir cuál es la ruta más corta a tomar?
Es muy probable que la cuestión medular de la pregunta te resulte familiar debido a que tiene el mismo
planteamiento al llamado Problema del Vendedor Ambulante (PVA). Si no lo conoces, PVA se puede
enunciar de la siguiente manera: dadas un numero 𝑛 de ciudades, ¿cuál es el camino más corto que me
permite visitarlas todas, regresando al punto de partida inicial?
PVA es una incógnita muy famosa que pertenece a los problemas conocidos como NP. Los problemas de
tipo NP son aquellos cuya solución puede ser verificada rápidamente, sin embargo, no existen algoritmos
polinómicos que nos permitan hallar dicha solución con la misma rapidez [1]. La contraparte de los
problemas de tipo NP son los problemas de tipo P, en éstos, la solución sí puede ser encontrada en un
tiempo relativamente corto.
Para entender mejor la complejidad del PVA hay que observar la Figura 1, en la cual se presentan dos
casos, uno con 𝑛 = 3 y otro con 𝑛 = 15. Evidentemente, en el primer caso, cualquier solución es la
correcta debido a que la distancia es la misma para cualquier secuencia en la que se visiten las ciudades.
A medida que se aumenta el valor de 𝑛, el problema también crece en dificultad, dejando de ser claro como
la secuencia en la que las ciudades son visitadas afecta a la calidad de nuestra solución en el caso de 𝑛 =
15 ciudades.

Figura 1. Problema del Vendedor Ambulante con 𝑛 = 3 y 𝑛 = 15.


MB
2

Para brindar una solución exacta al problema de 𝑛 = 15, sería necesario medir la longitud de cada una de
las posibles rutas. El número de rutas posibles es dependiente de 𝑛, y cada ruta se define la secuencia en
que cada ciudad es visitada, como como no se permiten repeticiones, el número de secuencias es igual al
número de permutaciones de 𝑛. Sin embargo, hay dos condiciones que nos permiten reducir este valor: se
puede descontar el regreso al inicio debido a que ese paso está representado por el primer elemento del
conjunto, y la mitad de las secuencias se repiten ya que una ruta tomada en sentido contrario es, al final de
cuentas, la misma ruta. En base a lo anterior, el problema con 𝑛 = 15 ciudades, tiene una dimensión de:
𝑃( ) (14)!
= = 4.3589𝑥10 𝑟𝑢𝑡𝑎𝑠 𝑝𝑜𝑠𝑖𝑏𝑙𝑒𝑠
2 2
Si pudiéramos revisar una ruta cada segundo, ¡tardaríamos 1,382 años en revisarlas todas! Es evidente
que este problema debe de ser resuelto por otro método más ingenioso y aquí te vamos a presentar un
algoritmo que nos permite llegar a una solución satisfactoria en tiempos mucho más cortos.
Para solucionar los problemas de tipo NP, hoy en día es muy usual utilizar algoritmos computacionales
conocidos como metaheurísticas (MH). Estos algoritmos presentan la característica de que son incapaces
de dar una respuesta definitiva al problema en cuestión, sin embargo, las soluciones que brindan pueden
llegar a ser de muy alta calidad y, en muchas ocasiones, son las únicas herramientas que permiten afrontar
los problemas de optimización de la vida real. Para hallar la ruta más corta que nos permita visitar los 132
Pueblos Mágicos de México vamos a utilizar una MH conocida como Ant Colony Optimization (ACO), la
cual fue presentada por Doringo et al [2] en el año de 1991. La genialidad de este algoritmo es que simula
el comportamiento de una colonia de hormigas empleando un conjunto de objetos computacionales
simples, capaces de comunicarse entre sí por medio de “feromonas”.
En la naturaleza, las hormigas no son capaces de realizar tareas complejas cuando se encuentran solas, sin
embargo, al juntar un número elevado de éstas, comienza a surgir una “inteligencia” colectiva que les
permite resolver problemas como localizar alimento o identificar la ruta más corta a su hormiguero.
Basándose en esto, Doringo propuso su MH de la manera en que se presenta a continuación:
Siendo 𝑛 el número de pueblos a visitar y 𝑏 (𝑡) el número de hormigas en el pueblo 𝑖 para el instante 𝑡, el
número de total de hormigas (𝑚) es igual a:

𝑚= 𝑏 (𝑡)

La distancia que separa al pueblo 𝑖 del pueblo 𝑗, midiéndose ésta de manera Euclidiana, es igual a:

𝑑 = 𝑋 −𝑋 + 𝑋 −𝑋

Donde 𝑋 y 𝑋 son las coordenadas del pueblo. Los factores que determinan la probabilidad de que una
hormiga, en el pueblo 𝑖, decida moverse al pueblo 𝑗 son dos: la visibilidad (𝜂) y la intensidad del camino
(𝜏). La visibilidad (𝜂 ) del pueblo 𝑗 desde el pueblo 𝑖, representa la cercanía entre ambos pueblos, y es
inversamente proporcional a la distancia que los separa:
1
𝜂 =
𝑑
MB
3
Por su parte, y la intensidad del camino (𝜏 ) que va del pueblo 𝑖 al pueblo 𝑗 representa las feromonas que
han dejado otras hormigas que tomaron dicho camino, y se define de la siguiente manera:
𝜏 (𝑡 + 1) = 𝜌 ∙ 𝜏 (𝑡) + Δ𝜏 (𝑡 + 1)

Donde 𝜌 es un coeficiente de evaporación con valor < 1, 𝜏 (𝑡) es la intensidad del camino en el instante
𝑡, y Δ𝜏 es la intensidad añadida al pasar las hormigas por el camino entre los pueblos 𝑖 y 𝑗, entre los
instantes 𝑡 y 𝑡 + 1.

Δ𝜏 (𝑡, 𝑡 + 1) = Δ𝜏 (𝑡, 𝑡 + 1)

Donde Δ𝜏 son las feromonas por unidad de longitud liberadas por la hormiga 𝑘 en el camino de 𝑖 a 𝑗.
Doringo al principio presentó tres formas de calcular Δ𝜏 , para simplificar, en este ejemplo tomaremos
aquella que le dio mejores resultados:
𝑄
Δ𝜏 (𝑡, 𝑡 + 1) =
𝐿
Siendo 𝑄 la cantidad de sustancia liberada y 𝐿 la distancia total recorrida por la hormiga 𝑘 una vez que
ha visitado las 𝑛 ciudades y regresado a su punto de partida. Como se mencionó antes, la visibilidad y la
intensidad definen la probabilidad de que una hormiga decida tomar un camino u otro, esto se hace de la
siguiente forma:
𝜏 (𝑡) ∙ 𝜂
𝑃 (𝑡) =
∑ 𝜏 (𝑡) ∙ 𝜂

Donde 𝛼 y 𝛽 son parámetros que le permiten al usuario definir la importancia relativa entre la intensidad
(𝜏) y la visibilidad (𝜂), respectivamente. Obsérvese que, mientras más visible sea un pueblo, mayor es la
probabilidad de que una hormiga se dirija hacia él, lo mismo ocurre con la intensidad. Esto se muestra de
manera esquemática en la Figura 2, ahí se observa a una hormiga que tiene que escoger a cuál pueblo
dirigirse (A, B o C). Debido a su lejanía, solo una hormiga ha decidido moverse en dirección a B. Por otra
parte, A se encuentra más cerca, pero muchas hormigas se están moviendo hacia C, con lo cual, estos dos
pueblos tienen altas probabilidades de ser escogidos como destino de la hormiga en O.

Figura 2. Esquema de la elección del pueblo destino en función de la visibilidad y la intensidad.


MB
4
En la Figura 3 se muestra el pseudo – código que indica como aplicar ACO para resolver PVA. Para iniciar
el algoritmo, es necesario definir los parámetros 𝛼, 𝛽, 𝜌 y 𝑄, esto se debe de hacer por medio de la prueba
y el error.

Figura 3. Pseudo – código empleado de ACO.


En la Figura 4 se muestra la ubicación de los 132 Pueblos Mágicos actuales, se observa que solo hay tres
de ellos en la península de Baja California. Para evitar que las hormigas “crucen” por el mar, se decidió
no incluir esos tres pueblos. Esto no afecta a la solución final obtenida ya que el recorrido necesario para
tomarlos en cuenta es prácticamente una línea recta. Los pueblos se muestran referenciados por medio de
coordenadas geográficas, las cuales fueron obtenidas de Google Maps.

Figura 4. Localización de los Pueblos Mágicos de México.


MB
5
Debido a que no se conoce el orden de magnitud que presentan las rutas posibles que permitan conectar
todas las ciudades, se generaron 12,900 rutas estableciendo la probabilidad (𝑃 ) únicamente en la
visibilidad (𝜂 ), esto se consigue haciendo 𝛼 = 0. En este proceso no se realizó ninguna actualización de
𝑃 para permitir la mayor aleatoriedad posible, es decir, 𝑡 á = 1. Las longitudes de ruta obtenidas se
muestran en la Figuras 5. Por otra parte, en la Figura 6 se muestra en histograma de las longitudes de ruta
obtenidas. Se observa que las rutas con longitud menor a 14,000 km son extremadamente infrecuentes.

Figura 5. Longitudes de ruta obtenidas por medio de una búsqueda aleatoria.

Figura 6. Histograma de las longitudes de ruta encontradas.

Después de realizar múltiples corridas, se decidió utilizar en este problema los siguientes valores: 𝛼 = 2.0,
𝛽 = 2.5, 𝜌 = 0.95 y 𝑄 = 10 . Adicionalmente, se emplearon cuatro hormigas por pueblo y un valor de
𝑡 á = 50. La mejor ruta obtenida presentó una longitud de 12,303.9 km, es decir, se restaron mil
kilómetros a la mejor ruta obtenida por medio del criterio de visibilidad únicamente.
MB
6

Figura 7. Mejor ruta encontrada, longitud = 12,303.9 km.

Este es solo un ejemplo académico de lo que pueden conseguir las MH cuando se aplican a problemas de
tipo NP. Actualmente existen muchos otros algoritmos que permiten afrontar una gran variedad de
problemas ingenieriles como el diseño óptimo de vigas [3], de circuitos [4], etc. Para finalizar, es
importante recalcar que la ruta brindada está lejos de ser la respuesta definitiva, debido a que las MH no
son algoritmos exactos. Seguramente, exista alguna otra alternativa con una longitud menor a la aquí
presentada, el inconveniente recae en cómo encontrarla en un tiempo relativamente corto, te aseguro,
aplicar el algoritmo es relativamente sencillo, ¿por qué no pruebas suerte tú a encontrar una solución
mejor?

LUIS VELASCO
EGRESADO DE LA FACULTAD DE INGENIERÍA, UNAM

NOTA DEL EDITOR. Por falta de espacio, no se publican en este ejemplar las referencias y un
anexo, lo cual se hará en el siguiente ejemplar del Boletín.

http://dcb.fi-c.unam.mx erik2306@unam.mx

También podría gustarte