Módulos Generales

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

Pontificia Universidad Católica de Valparaíso
Facultad de Ingeniería
Escuela de Ingeniería Informática

Desarrollado por Jorge Polanco & Javier del Canto