Los módulos son los archivos o clases en el lenguaje Python que permiten la ejecución de los algoritmos,
son parte del código fuente y pueden ser modificados en función de las necesidades del usuario.
Dentro de estos archivos existen comentarios que facilitan la comprensión lógica de los diferentes módulos.
A continuación, se resumen los módulos generales que permiten funciones comunes para las dos metaheurísticas:
-
TSPlibReader.py: permite la lectura de las instancias TSP de entrada en el formato de librerías TSPlib, además de generar
la matriz de distancia entre los nodos o ciudades
-
Tsp.py: contiene la clase relacionado a las generaciones de tours a partir de una instancia TSP
- compute_tour_length: calcula el costo de un tour
- tsp_check_tour: revisa si un tour es correcto
- random_tour: genera un tour aleatorio
- greedy_nearest_n: genera un tour utilizando la heuristica del vecino mas cercano
-
Tour.py: facilita el trabajo de los tours generados, permite obtener información del tour y la modificación de este
- current: tour actual que está siendo analizado, se representa con un arreglo de enteros de tamano n+1, donde n
son los nodos o ciudades de la instancia y la última ciudad del tour corresponde siempre a la primera ciudad
- cost: costo del tour de la solución
- swap: método que aplica el movimiento swap a dos nodos en el tour actual
- twoOptSwap: método que aplica el movimiento 2-opt a dos nodos en el tour actual
- randomNeighbor: método que aplica aleatoriamente a dos nodos el movimiento definido en move_type,
estos pueden ser TWO_OPT o SWAP
-
main.py: modulo principal que ejecuta el software uniendo todos los demás módulos
-
AlgorithmsOptions.py: permite configurar directamente y/o leer los parámetros de ejecución de los algoritmos de optimización