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 de los algoritmos que ejecutan las metaheurísticas simulated annealing y algoritmos genéticos:
-
SimulatedAnnealing.py: incorpora la clase que implementa el método de búsqueda de Simulated Annealing
- search: método que inicia la búsqueda de Simulated Annealing a partir de la solución inicial generada desde una instancia
- terminationCondition: método que verifica si se ha cumplido la condición de termino, ya sea por temperatura mínima, numero de evaluaciones o tiempo de ejecución
- getAcceptanceProbability: método que calcula la probabilidad de aceptar una solución
- reduceTemperature: método que reduce el valor de la temperatura siguiendo un esquema de enfriamiento seleccionado, ya sea linear, geométrico o logarítmico
-
GeneticAlgorithm.py: incorpora la clase que implementa el método de búsqueda de Algoritmo Genético
- search: método que inicia la búsqueda de Algoritmo Genético a partir de la solución inicial generada desde una instancia
- terminationCondition: método que verifica si se ha cumplido la condición de termino, ya sea por temperatura mínima, numero de evaluaciones o tiempo de ejecución
-
Population.py: clase para Algoritmos Genéticos, permite controlar la generación y manipular la población que contiene las soluciones de TSP
- mutation: método que aplica el operador de mutación a la población
- crossover: método que aplica el operador de crossover a los padres proporcionados, buscando generar nuevos hijos
- selectParents: método que selecciona dos padres aplicando el operador de selección, puede ser random, el mejor, ruleta o torneo
- selectPopulation: método que selecciona los sujetos para la nueva población, puede ser (μ,λ) o (μ+λ)