Artículos de investigación
Recepción: 31 Marzo 2021
Aprobación: 04 Mayo 2021
Publicación: 05 Julio 2021
Autor de correspondencia: gustavoerick_anay@hotmail.com
Resumen: El presente artículo encuentra soluciones factibles para el Problema del Agente Viajero, mediante una nueva forma de agrupar al problema en clústeres con la intención de crear subproblemas del Agente Viajero, las cuales se resuelven por el metaheurístico algoritmos genéticos. Posteriormente las agrupaciones son unidas nuevamente utilizando las soluciones proporcionadas por el metaheurístico, obteniendo una solución final, además, la propuesta de agrupación de ciudades consiste en la utilización de la media aritmética sobre las coordenadas, para calcular iterativamente a los nodos representativos de cada familia. En la literatura se encuentra una tendencia para abordar este problema mediante la metodología propuesta. Los resultados demuestran que al utilizar esta metodología de agrupación se mejoran los resultados en comparación a las soluciones algoritmos genéticos sin utilizar clústeres.
Palabras clave: Agente viajero, algoritmos genéticos, agrupación, recorrido total, metaheurísticos.
Abstract: This article seeks to find feasible solutions for the Traveling Salesman Problem, by means of a new way of grouping the problem into clusters with the intention of creating Traveling Salesman subproblems, which are proposed to be solved by the metaheuristic genetic algorithm. Subsequently, the groupings are joined again using the solutions provided by the metaheuristic, obtaining a final solution. In addition, a way of grouping the cities of the problem is proposed using the arithmetic mean of the coordinates to iteratively calculate the representative nodes of each family. In the literature there is no similar method to solve the problem in question. The results show that using this grouping methodology improves the results compared to the genetic algorithms solutions without using clusters.
1. Introducción
El Problema del Agente Viajero que en adelante denominamos como PAV es bastante conocido en la literatura, además de considerarse como uno de los problemas más difíciles de resolver, sin embargo, ha sido muy útil para resolver problemas de logística en la industria. El PAV consiste en encontrar el recorrido más corto al visitar n ciudades en una sola ocasión y regresando a la ciudad de origen. Este problema es clasificado como NP-completo y es considerado un gran reto para la ciencia. Los primeros que intentaron resolverlo fueron Dantzing, Fulkerson y Johnson, (1954), mediante una técnica denominada ramificación y acotamiento, utilizando una computadora IBM7090, en el cual se pudo percatar que el tiempo computacional para solucionarlo es demasiado alto. Recientemente este problema se ha abordado a través de Metaheurísticos como Colonia de hormigas (ACO), Recocido simulado (RS) y algoritmos genéticos (AG) por mencionar algunos.
El PAV ha sido abordado mediante diferentes técnicas, tal es el caso de Dahiya y Shabnam (2018), en el que identifica enfoques como el Método de ramificación y acotamiento, el algoritmo de Clarke y Wright, así como el método de Colonia de hormigas.
Además, se presentaron alternativas de solución al PAV mediante el heurístico denominado Bat (BA) en Panwar y Deep, (2021).
También es posible resolver problemas adicionales mediante el PAV, tal es el caso del propuesto por Mosayebi, Sodhi y Wettergren, (2021), en el que se soluciona el problema de secuenciación de trabajos mediante el PAV, a su vez, es posible representar diferentes escenarios como robótica automática, mantenimiento de equipo, fabricación automatizada, con la intención de minimizar el tiempo de finalización del último trabajo.
La presente investigación propone agrupar a los nodos o ciudades del PAV en subproblemas denominados clústeres, en búsqueda de minimizar el recorrido en cada subproblema, utilizando para esto a los AG, posteriormente se propone un método de unión de clústeres, entregando recorridos factibles a bajo costo y en un tiempo computacional adecuado para la industria, por lo que a continuación analizamos la literatura de agrupación.
1.1. Antecedentes de agrupación en clústeres.
Dutta y Bhattacharya, (2015) propusieron técnicas de agrupación basadas en políticas y resolviendo a estas agrupaciones mediante algoritmos evolutivos; además, clasificaron a 7 tipos de agrupaciones que se basan en los siguientes: distancias, densidades, modelos, cuadros, semillas, espectros y jerarquías, con utilidad para minería de datos.
La agrupación en clústeres se ha utilizado para resolver diferentes problemas aplicados en distintos campos, por ejemplo, Nizam, (2010) propuso la agrupación como un poderoso sistema de control de la estabilidad de voltaje y presenta una nueva técnica de agrupación denominado Kohonen neural network. La formación de éstas puede simplificar el control del voltaje. Así también Vijayalakshmi, Jayanavithraa y Ramya, (2013) observaron en el campo de la genética en el que se miden miles de niveles de genes de manera simultánea, utilizando tecnología de microarreglos. En esta tecnología, el enfoque de clústeres mediante genéticos es utilizado para descubrir funciones similares entre genes. Bajo este enfoque se utilizan varios algoritmos de agrupación; como el propuesto por Vijayalakshmi et al. (2013) el cual es un algoritmo automático que provee de la habilidad de encontrar una fuerte convergencia global hacia una solución óptima. Weiya, Guohui y Dan (2015) investigaron un método novedoso llamado agrupación de gráfos de aproximación congruente, la solución obtenida mediante este método se aproxima al óptimo con una solución discreta. También se analizan las diferentes técnicas de agrupación para minería de datos por autores como Saroj and Chaudhary, (2015), debido a que agrupar es un tema de investigación activo en muchos campos como la estadística, en patrones de identificación y máquinas de aprendizaje. El análisis de la agrupación es una excelente herramienta para trabajar con una gran cantidad de datos. Por otra parte, Kaur y Kaur, (2012) utilizaron clústeres en Minería de datos mediante K means para dividir a los datos en K grupos; así también Nadana y Shriram, (2014) desarrollaron una metodología denominada Megadata, basada en un modelo de agrupación en clústeres para grandes conjuntos de datos. Los resultados experimentales demuestran que es posible encontrar una mejor calidad en la agrupación, pero sin mejorar el tiempo computacional.
Kaur y Singh, (2014) elaboraron un Algoritmo avanzado de agrupación en clústeres de manera que dirija a los grandes conjuntos de datos. Este método avanzado para agrupar permite calcular la distancia de cada objeto, además, requiere una simple estructura de datos para cada iteración. Sus resultados experimentales demostraron que el método avanzado del algoritmo de agrupación puede mejorar la efectividad de la velocidad y precisión del algoritmo, reduciendo la complejidad computacional. Tavse y Khandelwal, (2014) realizaron una clasificación de datos de internet en clústeres, para ser aplicados en la transmisión de datos, logrando una mejor eficiencia, mayor tiempo de vida de la red y estabilidad, optimizando la clasificación de los datos. Refianti, Mutiara, Juarna e Ikhsan, (2012) compararon 2 algoritmos denominados: propagación de afinidad y k-means, ambos agrupan datos referentes al tiempo de finalización de la tesis de licenciatura de estudiantes. Los resultados muestran que el algoritmo de propagación de afinidad proporciona resultados con más precisión en los datos de la familia y con más efectividad que K-means, mientras este último proporciona valores diferentes para los nodos representativos, después de cinco pruebas.
Nagy y Negru, (2014) analizaron métodos para agrupar en clústeres y que pueden ser usados para tratar patrones espaciales y temporales en una gran cantidad de datos. Estos autores utilizaron 55 nodos para aplicar los métodos de detección. Su enfoque permitió observar la existencia de diferentes familias espaciales y temporales. Por otra parte, Nidhi, (2015) propuso el Algoritmo K-means para el problema del incremento de datos, generado dinámicamente y sin repetición, el cual reduce el tiempo computacional, proporcionando resultados más precisos. Por lo que la agrupación inicial se realizó con los datos estadísticos, utilizando K means. Posteriormente para los próximos puntos, la mayor distancia entre el nodo representativo del clúster al más lejano de los puntos es utilizada para definir al próximo punto que está en la familia, repitiendo el proceso hasta cubrir el total de los datos.
Una de las heurísticas utilizada para resolver el PAV agrupado en clústeres, son los Algoritmos Genéticos (AG) en clústeres (CAG) presentados en el trabajo de Sivaraj y Ravichandran, (2011), quienes observaron que utilizando CAG se logra encontrar la solución óptima y en un tiempo menor al que se encuentra mediante los AG estándar SGA, esto se observó en tres diferentes casos mostrados en Sivaraj y Ravichandran, (2011). Este último autor desarrolló un mecanismo de aprendizaje no supervisado, usado para agrupar objetos similares en clústeres, asegurando que a pesar de las diferentes técnicas para agrupar a los clústeres que se encuentran disponibles, no hay una estrategia general que funcione igual en los diferentes problemas. Sin embargo, concluye que es mejor utilizar mecanismos simples al momento de formarlos. Liu, Dong, Lohse y Petrovic, (2016) propusieron un GA, intentando optimizar el consumo de energía, encontrándose con un problema multi-objetivo el cual mostró alta efectividad. Además, Li y Gao, (2016) utilizaron GA para resolver el Problema de secuenciación de trabajos mostrando buenos resultados en 201 instancias, lo cual, de manera análoga, permite resolver al PAV. El PAV ha sido abordado mediante clústeres y algoritmos genéticos por Rani, Kholidah y Huda (2018), el algoritmo se utilizó para resolver un problema de itinerario para un turista, los resultados demuestran la factibilidad de este enfoque para resolver problemas de esta índole.
Por otra parte, Campuzano, Obregue y Aguayo (2020), presentan un enfoque algorítmico para el PAV asimétrico, mediante la generación eficiente de desigualdades válidas a partir de soluciones fraccionarias. Se utilizó el heurístico de Optimización de colonia de hormigas para abordar este problema, el resultado del experimento muestra un mejor rendimiento del método propuesto que el método convencional de colonia de hormigas, en términos de velocidad de convergencia y mayor precisión de búsqueda.
El problema en cuestión se agrupa mediante clústeres en las investigaciones de Baniasadi, Foumani, Smith y Ejov, (2020), en donde la innovación principal se centra en la flexibilidad del algoritmo en comparación con otros de la misma naturaleza.
Barros, Jabba, Ardila, Guzman, y Ruiz (2021) utilizan una estrategia paralela para resolver el PAV mediante Algoritmos genéticos y Búsqueda Tabú.
Los métodos y técnicas mencionados anteriormente se han utilizado con la intención de agrupar a un conjunto de datos, los cuales forman parte de un problema a resolver, con la intención de reducir su complejidad computacional.
1.2. Antecedentes de agrupación en clústeres.
Para resolver el PAV agrupando en clústeres, se propone utilizar a los Algoritmos Genéticos (AG) como herramienta de búsqueda al problema presentado en cada grupo. Los AG son un Metaheurístico basado en la teoría de la evolución natural, los cuales cuentan con operadores genéticos tales como la selección, cruza y mutación de los individuos codificados para este problema según Vitayasak, Pongcharoen y Hicks, (2017). Los AG han sido utilizados para resolver el PAV y se han encontrado buenos resultados, sin embargo, hasta el día de hoy, ningún Metaheurístico asegura el valor óptimo; y las investigaciones buscan innovar sobre los mismos intentando hacerlos más eficientes con un menor tiempo computacional. Liu, Dong, Lohse, Petrovic, (2016) utilizaron AG para resolver un problema de optimización multi objetivo del consumo de energía y el desempeño del Shop Floor Production.
Los AG han sido utilizados para resolver problemas de asignación tales como los de Buffer (Hernández, Hernández, Jiménez, Hernández y Hernández, (2019).
Los AG siguen siendo un campo de investigación activo para el empleo de metaheurísticas en la optimización de sistemas cada vez más complejos, por lo cual sigue siendo valioso continuar con su desarrollo e investigación.
2. Metodología.
A continuación, se presenta la metodología propuesta en la presente investigación, en la cual se involucra la agrupación del PAV en clústeres, la búsqueda de su optimización mediante AG y posterior unión de clústeres, la cual brinda una solución final:
3. Resultados.
En la presente investigación se busca encontrar buenas soluciones factibles en un tiempo computacional razonable al PAV, utilizando la agrupación de las ciudades o nodos en clústeres, para resolver a cada uno de ellos utilizando AG. Para ello se propone la siguiente metodología, ejemplificando con un caso de la base de datos TSPLIB, (2020): La metodología utilizada es la Solución del PAV agrupado en clústeres, resolviendo mediante AG para ello se plantea el siguiente algoritmo:
Para la instancia utilizada se obtiene el Centroide N= (Coordenada X, Coordenada Y), para N= 1, 2,...,k . En este caso se generan los siguientes nodos representativos: Centroide1 = (38.47, 15.13), Centroide2= (40.56, 25.32), Centroide3= (38.15, 15.35).
Posteriormente se agrupan los n nodos en k clústeres, asignando a cada uno de ellos al Centroide más cercano de tal manera que ningún nodo permanezca sin asignación de clúster. En la Tabla 2 se muestra la distancia entre cada nodo y cada Centroide, asignando cada nodo al Centroide del clúster más cercano, utilizando la expresión de la distancia entre dos puntos de Feliciano, A., Cuevas, V., Severino F., 2011:
Con ello se tienen asignados los siguientes nodos al Clúster 1= 6,7,9,10,11,12; Clúster 2= 2, 3, 4 y Clúster 3= 1, 5, 8, 13, 14,15,16.
Para la instancia de este caso se asigna PC = 0.9; PMu =0.8; NumInd = 3*n, para este ejemplo NumInd = 3*6 =18 y NumInd = 1, en donde n para este caso es el tamaño del Clúster. Estos parámetros se obtienen basándose en la heurística de la investigación de (Anaya Fuentes, Hernández Gress, Seck Tuoh Mora, & Medina Marín, 2016).
Cada individuo ganador forma parte de la nueva población є.
El clúster 1 tiene n=6, por lo que NumInd=18.
Para el Clúster 2, si n=3 el número de individuos es NumInd=3*n=9; donde n para este caso es el tamaño del clúster, sin embargo, al ser impar requiere agregar un individuo para realizar el torneo, por lo tanto NumInd = 10 como se muestra en la Tabla 4.
Para el Clúster 3 el número de individuos es NumInd=3*n=3*7=21; donde n para este caso es el tamaño del Clúster, por ser impar NumInd=22. Como se observa en la Tabla 5.
Posteriormente compiten los pares de individuos, resultando vencedores aquellos que tienen el menor costo, como se muestran en las Tablas 6-8. En donde los individuos del Clúster1 que pasan al siguiente operador genético son: 2, 3, 6, 7, 9, 11, 13, 15 y 18. Mientras que el torneo para el Clúster2 tiene a los vencedores: 2, 3, 6, 8 y 10. Además de los individuos: 1, 3, 5, 8, 9, 12, 14, 15, 17, 19, 21 del Clúster3.
Posteriormente, los vencedores son ordenados de manera ascendente respecto a sus costos, como se muestra en las Tablas 9,10 y 11, para los clústeres 1,2 y 3 respectivamente.
La cruza se lleva a cabo a partir de dos padres, con la intención de generar a dos hijos; para lo cual se consideran dos puntos aleatorios de corte r1 y r2, sobre el Padre 1 y el Padre 2; en dónde 2 ≤ r1 ≤ r2 ≤ n. Los elementos del Padre1 que se encuentren entre r1 y r2, forman parte del Hijo 2, en las mismas posiciones de r1 a r2, el resto de los elementos del Hijo 2 se forman con aquellos nodos del Padre 2 que aún no están en el Hijo 2. De la misma forma los elementos del Padre 2 se encuentren entre r1 y r2 forman parte del Hijo 1, en las mismas posiciones de r1 a r2, el resto de los elementos del Hijo 1 se forman con aquellos nodos del Padre1 que aún no están en el Hijo 1. El resto de la población se somete al mismo procedimiento en caso de cumplir la condición Ap ≤ PC.
Para este caso tomamos a los dos primeros padres Clúster1, Padre1=10-6-12-7-9-11 y el Padre2 =11-10-12-6-7-9; considerando r1=2 y r2=5, como se muestra en la Figura 1
El Segmento del Padre 1 (12-7-9) y el Segmento Padre2 (12- 6-7) se cruzan, formando a los hijos 1 y 2, en este caso la cruza proporciona una solución no factible, puesto que no se cumple con un ciclo Hamiltoniano, con Hijo 1=10-6-12-6-7-11, Hijo 2 11-10-12-7-9-9, como se muestra en la Figura 2.
De acuerdo con Brito, D., Marin, L., y Ramírez, H., (2018). Un grafo es Hamiltoniano si tiene un ciclo que contenga todos los vértices del grafo, sin repetir ninguno.
Para hacer factible a las soluciones mostradas en la Figura 2, se identifica cuál de los nodos no se encuentra en la ruta, sustituyendo a esta por la sobrante, tal manera que los Hijos 1 y 2, quedan de la siguiente manera: Hijo 1= 10-6-12-9-7-11 e Hijo 2=11-10-12-7-6-9, con los costos 36.7857 y 30.4420, respectivamente, como se muestra en la Figura 3.
Los nuevos hijos se incluyen en la nueva población sustituyendo aquellos que tengan costos mayores.
Posteriormente se repiten los pasos 6 y 7 para el resto de la población; para esta instancia no se cumple la condición para cruzar en el resto de los individuos por lo que al ordenar los resultados en forma ascendente para los 3 Clústeres después del operador de cruza, tienen a la población que se muestra en la Tabla 12.
En este caso en particular las probabilidades de mutación permitieron mutar solamente a un individuo de cada clúster, por lo que el resto de la población sigue siendo similar.
Posteriormente ordenamos los resultados de forma ascendente en cada Clúster finalizando así la primera iteración del AG.
De tal manera que las mejores rutas factibles para cada Clúster son las siguientes: ruta Clúster 1 =10-6-12-7-9-11, ruta Clúster 2 =3-2-4 y ruta Clúster 3=1-8-15-5-13-14-16, con los costos: 28.9143, 5.7793 y 23.5821 respectivamente.
El Centroide3 es el más cercano al Centroide1, como se observa en la Tabla 15, de tal manera que a Centroide3 se le denomina Clúster cercano Cc.
Para el ejemplo propuesto calculamos las distancias entre Centroide1 y cada uno de los nodos Cc, en donde las Coordenadas del Centroide1 son X = 38.47 y Y = 15.13, estas distancias se observan en la Tabla 16. En ésta, el nodo más cercano al Centroide1 es el número 13, de tal manera que nodoCc=13. También calculamos la distancia del clúster Cc con coordenadas X = 38.15 y Y = 15.35 a cada nodo del Clúster1, como se observa en la Tabla 17.
De acuerdo a la Tabla 17 podemos encontrar al nodo del Clúster 1 que es más cercano al Centroide de Cc, en este caso corresponde al nodo 12 por lo que nodoC1=6.
Se revisa cuál de los nodos unidos a nodoCc, se encuentra más cercano al mismo, con ello se elige el sentido del recorrido dentro del clúster. El último nodo de la ruta del Cc, es llamado ClusterEndCc, permaneciendo libre de acuerdo al algoritmo hasta unir al último clúster con él; de manera similar el último nodo del clúster 1 es llamado ClusterEnd1. Para el ejemplo en cuestión calculamos la distancia del nodo nodoCc=13,respecto al nodo 5 y también al nodo 14, los cuales son contiguos. La Tabla 18 nos muestra tales distancias.
Por lo que al ser el nodo 14 el más cercano, el sentido que debe seguir la ruta del Cc es 13-14-16-1-8-15-5; además ClusterEndCc = 5. Para encontrar el sentido del recorrido para el Clúster 1, es necesario encontrar el nodo más cercano al nodoC1=6, entre sus nodos contiguos, como se observa en la Tabla 19. De tal manera que al ser el nodo 12 es el más cercano al nodo 6, el sentido de la ruta del Clúster1 es 6-12-7-9-11-10 además ClusterEnd1=10, como se muestra en la Figura 4.
Los nodos ClusterEnd1 y ClusterEndCc permanecen libres hasta que se unan al resto de los clústeres; en caso de que fueran los únicos clústeres, estos nodos se unen para obtener una ruta final. En caso de tener un mayor número de clústeres, es necesario seguir con el paso 13.
El siguiente clúster a unir se define encontrando la mínima distancia entre el NodoCc y cada uno de los Centroides restantes. Para este caso solo se tiene un clúster más por unir, de tal manera que se calcula la distancia de cada nodo de este clúster final correspondiente al Clúster 2, respecto al NodoCc, como se muestra en la Tabla 20.
Con la Tabla anterior identificamos que el nodo del Clúster 2 más cercano al NodoCc es el 4; y nombramos a este como NodoC2. Posteriormente identificamos al nodo del cercano a NodoC2 entre sus más cercanos del mismo clúster son: 1 y 10, para asignar el sentido de la ruta, para ello elaboramos la Tabla 21.
Identificamos que el nodo más cercano al NodoCc es el 2, por lo que la secuencia del Clúster2 es 4-2-3, además el último nodo es llamado ClusterEnd2, en este caso corresponde a 3.
4. Comparación.
Se comparan tres métodos de AG de Hussain, Muhammad, Sajid, Hussain y Mohamd, (2017), denominadas PMX, OX, CX2, las cuales utilizan operadores genéticos para su solución, respecto al propuesto en el presente artículo. Los tamaños de las instancias son 21, 26, 33, 38, 42 y 53 nodos respectivamente, los cuales se observan en la Tabla 22.
Otra comparación se realiza en referencia al algoritmo propuesto en Kaabi y Harrath, (2019).
En la Tabla 22 es posible identificar beneficios del algoritmo implementado CAG, respecto a los operadores genéticos utilizados por Hussain, Muhammad, Sajid, Hussain, y Mohamd, (2017). Es necesario enfatizar que en cada uno de las instancias presentadas, se mejoraron los resultados.
Por otra parte, al comparar el algoritmo implementado CAG, contra el de Kabbi y Harrath, (2019), únicamente fue posible mejorar una de las distancias, por lo que los operadores genéticos utilizados, son mejores.
La Tabla 24 muestra la desviación estándar, media y mejor valor encontrado en las 30 corridas de cada una de las instancias reportadas.
Se debe destacar que se encontraron mejoras en los resultados reportados en la literatura, en específico en la base de datos TSPLIB, en la que se reporta un valor de 7642 para la instancia Berlyn52, mientras que en esta investigación se determinó un valor de 7154 mediante la siguiente ruta: 17-3-18-31-22-1-49-32- 45-19-41-8-9-10-43-33-51-11-52-13-14-47-26-27-28-12-25-4-6- 15-5-48-24-38-37-40-39-36-35-34-44-46-16-29-50-20-23-30-21- 42-7-2.
Los parámetros utilizados en por el algoritmo genético es posible destacar el número de individuos de cada instancia fue de 1000, el número de iteraciones 1000.
Los resultados obtenidos muestran que los resultados son satisfactorios pero que también falta trabajo por hacer para mejorar la efectividad del CAG para todas las instancias del PAV.
5. Conclusiones
En el presente artículo fue posible identificar los beneficios de los metaheurísticos como herramienta factible en la solución de problemas de asignación tales como: el Problema de asignación de trabajos, el problema del agente viajero, ruteo de vehículos, problema de asignación de Buffer, entre otros. Los cuales al considerarse problemas NP-Completos por su complejidad computacional tienen el problema de no alcanzar una solución óptima a partir de métodos de programación entera, por lo que el uso de metaheurísticos es la actual línea de investigación.
La propuesta del presente documento se centra en la combinación del uso de AG con la agrupación de elementos del PAV, mediante la innovación de una forma de agrupar sin generar una alta complejidad computacional, lo cual se comprueba derivado de las sencillas operaciones requeridas para su cálculo.
Futuras investigaciones podrían enfocarse en la optimización del número de agrupaciones en la búsqueda de minimización de recursos, también es posible utilizar otros metaheurísticos de manera individual o híbrida, tales como Clústeres con el vecino más cercano y algoritmos genéricos, Iterated Local Search, recocido simulado, entre otros, en la búsqueda de mejores resultados agrupando en clústeres.
Referencias
Anaya, G.E., Hernández, E.S., Seck, J.C., and Medina J., 2016. Solución al Problema de Secuenciación de Trabajos mediante el Problema del Agente Viajero, Revista Iberoamericana de Automática e Informática Industrial 13, 430–437. DOI:10.1016/j.riai.2016.07.003
Anaya, G.E., Hernández, E.S., Tuoh, J.C., Medina, J., 2018. Solution to travelling salesman problem by clusters and a modified multi-restart iterated local search metaheuristic. PLOS ONE, 1-20. DOI:10.1371/journal.pone.0201868
Baniasadi, P., Foumani, M., Smith-Miles, K., Ejov, V. 2020. A transformation technique for the clustered generalized traveling salesman problem with applications to logistics. European Journal of Operational Research, 285(2), 444-457. DOI: 10.1016/j.ejor.2020.01.053
Barros, A., Jabba, D., Ardila, C., Guzman, L., Ruiz, J. 2021. Adaptation of Parallel Framework to Solve Traveling Salesman Problem Using Genetic Algorithms and Tabu Search. Artificial Intelligence, 19.
Brito, D., Marin, L., y Ramírez, H., 2018. Ciclos Hamiltonianos que pasan a través de un bosque lineal en grafos bipartitos balanceados. Revista de matemática: Teoría y aplicaciones 25, 349-367. DOI: https://doi.org/10.15517/rmta.v25i2.33908
Campuzano, G., Obreque, C., Aguayo, M. 2020. Accelerating the Miller– Tucker–Zemlin model for the asymmetric traveling salesman problem. Expert Systems with Applications, 148, 113229. https://doi.org/10.1016/j.eswa.2020.113229
Dahiya, C., Sangwan, S., 2018. Literature Review on Traveling Salesman Problem. International Journal of Research 05, 1152-1155. DOI: https://journals.pen2print.org/index.php/ijr/article/view/15490/15018
Dantzig, G., Fulkerson, R., Johnson, S., 1954. Solution of a large-scale traveling salesman problem. Operations Research 2, 393-410.
Dutta, S., Bhattacharya, S.,A., 2015. Short review of clustering techniques. International Journal of Advanced Research in Management and Social Sciences, 131–139.
Feliciano, A., Cuevas, V., Severino F., 2011. Geometría analítica. Ed. UAI de la UAGro. ISBN 978-607-00-4156-3.
Hernández J., Hernández, S., Jiménez, J., Hernández, M., Hernández, I., 2017. Enfoque híbrido metaheurístico AG-RS para el problema de asignación del buffer que minimiza el inventario en proceso en líneas de producción abiertas en serie. Revista Iberoamericana de Automática e Informática Industrial 16, 447-458. DOI: 10.4995/riai.2017.10883
Hussain, A., Muhammad, Y., Sajid, M., Hussain, I., Shoukry, A., Gani, S., 2017. Genetic Algorithm for Traveling Salesman Problem with Modified Cycle Crossover Operator. Computational Intelligence and Neuroscience, 1- 7. DOI: 10.1155/2017/7430125
Kaabi, J., Harrath, Y., 2019. Permutation rules and genetic algorithm to solve the traveling salesman problem. Arab Journal of Basic and Applied Sciences 26, 283-291. DOI: 10.1080/25765299.2019.1615172
Kaur, G., Singh, D., Kaur, S., 2014. Pollination based optimitation for feature reduction at feature level fusion of speech and signature biometrics. IEEE, 1-6. DOI: 10.1109/ICRITO.2014.7014771
Kaur, N., Kaur J., 2012. Efficient k-means clustering algorithm using ranking method in data mining. International Journal of Advanced Research in Computer Engineering and Technology 1, 85–91.
Li, X., Gao, S., 2016. Cloud-Resolving Modeling of Convective. Springer, DOI:10.1007/978-3-319-26360-1
Liu, G., Song, S., Wu, C., 2012. Two Techniques to Improve the NEH Algorithm for Flow-Shop Scheduling Problems. Advanced Intelligent Computing Theories and Applications with Aspects of Artificial Intelligence of the series Lecture Notes in Computer Science 68, 41–48. DOI: 10.1007/978-3-642-25944-9_6
Liu, Y., Dong, H., Lohse, N., and Petrovic, S., 2016. A Multi-objective Genetic Algorithm for Optimisation of Energy Consumption and Shop Floor Production Performance. International Journal of Production Economics 179, 259-272. DOI:10.1016/j.ijpe.2016.06.019
Mosayebi, M., Sodhi, M., Wettergren, T. A. (2021). The Traveling Salesman Problem with Job-times (TSPJ). Computers & Operations Research, 129, 105226. DOI: https://doi.org/10.1016/j.cor.2021.105226.
Nadana, T., Shriram, R., 2014. Metadata based Clustering Model for Data Mining. Journal of Theoretical and Applied Information Technology, 59– 64.
Nagy, M., Negru, D., 2014. Using clustering software for exploring spatial and temporal patterns in non-communicable diseases. European Scientific Journal 10, 37-47. DOI: 10.19044/esj.2014.v10n33p%25p
Nidhi, S. A., 2015. Modified Approach for Incremental k-Means Clustering Algorithm, 3, 1081–1084.
Nizam, M., 2010. Kohoen Neural Network Clustering for Voltage Control in Power Systems. Terakreditasi 51, 115-122.
Panwar, K., Deep, K. 2021. Discrete Grey Wolf Optimizer for symmetric travelling salesman problem. Applied Soft Computing, 105, 107298. DOI: 10.1016/j.asoc.2021.107298
Rani, S., Kholidah, K., Huda, S., 2018. A development of travel itinerary planning application using traveling salesman problem and k-means clustering approach. 7th International Conference on Software and Computer Applications, 327-331. DOI: https://doi.org/10.1145/3185089.3185142
Refianti, R., Mutiara, A., Juarna, A., Ikhsan, S., 2014. Analysis Implementation of algorithm clustering affnity propagation and k-means at data student based on gpa and duration of bachelor-thesis completion. Journal of Theoretical and Applied Information Technology 35, 69–76.
Saroj, Chaudhary, T., 2015. Study on Various Clustering Techniques. International Journal of Computer Science and Information Technologies 6, 3031-3033.
Sivaraj, R., Ravichandran, T., 2011. An Improved Clustering Based Genetic Algorithm for Solving Complex NP Problems. Journal of Computer Science 7, 1033-1037.
Tavse P., Khandelwal A., 2014. A critical Review on Data Clustering in Wireless Network. International Journal of Advanced Computer Research 4, 795–798.
TSPLIB, 2020. Base de datos Traveling Salesman Problem Library. http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/
Vijayalakshmi, S., Jayanavithraa, C., Ramya, L., 2013. Gene Expression Data Analysis Using Automatic Spectral MEQPSO Clustering Algorithm. International Journal of Advanced Research in Computer and Communication Engineering 2, 1145-1148.
Vitayasak, S., Pongcharoen, P., Hicks, C., 2017. A tool for solving stochastic facility layout problems with stochastic demand using either a Genetic Algorithm or modified Backtracking Search Algorithm. International Journal of Production Economics 190, 146-157. DOI: 10.1016/j.ijpe.2016.03.019.
Weiya, R., Guohui, L., Dan, T., 2015. Graph clustering by congruency approximation. The institution of Engineering and Technology, 841–849. DOI: 10.1049/iet-cvi.2014.0131
Notas de autor
gustavoerick_anay@hotmail.com