problema del vendedor ambulante de color

Inglés: El problema del viajante de color

Resumen:

El problema de los viajantes múltiples es un importante problema de optimización combinatoria. Se ha utilizado ampliamente y con éxito en casos prácticos en los que varios agentes ambulantes (vendedores) comparten un espacio de trabajo común (conjunto urbano). Sin embargo, no puede representar algunos problemas de aplicación en los que varios vendedores ambulantes no sólo tienen sus propias tareas dedicadas sino que también comparten un conjunto de tareas entre sí. Este trabajo propone un nuevo MTSP para manejar tales situaciones, llamado problema del viajante de color (CTSP). Se definen dos tipos de grupos de ciudades, un conjunto de ciudades exclusivas en cada color único al que pueden acceder los vendedores y un conjunto compartido de ciudades en varios colores al que pueden acceder todos los vendedores. Existe evidencia de que CTSP es NP-duro, siendo casos especiales el MTSP multipunto y los problemas múltiples de un solo viajante. Proponemos un algoritmo genético de codificación de dos cromosomas para CTSP y analizamos el espacio de solución correspondiente. Luego, el algoritmo genético se mejora combinando operaciones codiciosas, de escalada de colinas (HC) y de recocido simulado (SA) para obtener un mejor rendimiento. A través de experimentos, se revelan las limitaciones del método de solución exacta y se compara el rendimiento del algoritmo genético propuesto. Los resultados muestran que SAGA puede lograr la mejor calidad de solución, mientras que HCGA debería ser la opción con un buen equilibrio entre calidad de solución y tiempo de cálculo.


introducción

El problema de TSP múltiples se generaliza a partir del problema del viajante (TSP) y es un problema de optimización combinatoria bien conocido [1]. Su objetivo es determinar una secuencia de costo total más bajo en la que varios vendedores visitan cada ciudad una vez dentro de un grupo determinado y finalmente regresan a sus lugares de origen. MTSP y TSP aparecen en una variedad de aplicaciones que necesitan resolver problemas de programación, planificación, enrutamiento y/o secuenciación. Las aplicaciones de TSP a la programación y secuenciación de máquinas y a las rutas de vehículos se informan en [15]. También aparecen en los campos del cableado de circuitos [17] y el análisis de datos estadísticos, incluida la clasificación y agrupación de objetos, como la clasificación de genes en [32] y la agrupación de proteínas en [19]. Debido a los avances recientes en algoritmos de optimización multiobjetivo, por ejemplo, algoritmos evolutivos multiobjetivo que utilizan descomposición y colonias de hormigas [20], algoritmos meméticos basados ​​en descomposición [21], optimización del juego de ventisqueros [46], optimización de physarum [26], Puede promover significativamente la aplicación de TSP multiobjetivo, una técnica llamada coevolución multiobjetivo y multipoblación [48], estrategias de evolución basadas en clasificadores gaussianos [50], optimización de enjambre de partículas [51]-[56] y fragmentación. Búsqueda basada en para mejorar los algoritmos evolutivos [25]. El artículo [4] proporciona un buen resumen de la aplicación del MTSP. Por ejemplo, Gorenstein [14] informó sobre el calendario de impresión de una revista de varias ediciones. Carter y Ragsdale [5] destacaron su aplicación en la programación de publicidad intersticial preimpresa. Se informan aplicaciones en la programación de equipos [22], [40], [49], programación de entrevistas [13], equilibrio laboral [28] y programación de laminación en caliente [41]. La planificación autónoma del movimiento de robots o vehículos [3], [33], [47] representa un área de aplicación importante del MTSP. Sariel Talay y otros [35] y Toth y Vigo [42] estudiaron un problema de generación de rutas para vehículos. Cheong y White [7] estudiaron cómo determinar dinámicamente el viaje del TSP basándose en datos de congestión del tráfico en tiempo real. MTSP se ha utilizado recientemente para planificar la secuencia de acceso a las áreas requeridas por los UAV en [9]. Los resultados muestran que reduce significativamente el costo total de viaje esperado para camionetas de tamaño realista en entornos urbanos congestionados.

Esencialmente, MTSP es una abstracción de un problema real en el que múltiples ejecutivos (vendedores ambulantes) están involucrados y comparten un espacio de trabajo común (conjunto urbano). En otras palabras, cada vendedor tiene acceso a todas las ciudades del MTSP. Sin embargo, en algunos problemas de aplicaciones, no todos los ejecutores tienen el mismo espacio de trabajo. Tomemos como ejemplo la programación de un sistema de ingeniería multimáquina (MES) típico que se muestra en la Figura 1. Los espacios de trabajo de las distintas máquinas no son idénticos, sino que se superponen parcialmente. Por lo tanto, cada máquina no sólo tiene que realizar operaciones de forma independiente en su propio espacio de trabajo dedicado, sino que también realiza todas las tareas junto con otras máquinas en espacios de trabajo superpuestos.

Debido a la superposición parcial de espacios de trabajo, MTSP no se puede utilizar para modelar problemas de programación en sistemas de ejecución de fabricación. Sin embargo, los elementos básicos de tal problema, es decir, objetivos, máquinas individuales y tareas, aún pueden relacionarse con los objetivos, vendedores y ciudades del MTSP, respectivamente. Desafortunadamente, la contraparte de espacios de trabajo dedicados y compartidos en MES para diferentes grupos de tareas no se puede encontrar en MTSP. Al abstraer estos problemas de programación, proponemos un nuevo MTSP con conjuntos de ciudades de diferentes colores, llamado Colored TSP (CTSP). Este es un problema común que se origina, entre otros, en problemas de programación en sistemas de múltiples máquinas. Por lo tanto, merece una investigación considerable tanto desde el punto de vista teórico como práctico.

Al igual que TSP y MTSP, CTSP es NP-duro. Además, el acceso restringido hace que su solución sea más difícil y requiera más tiempo en comparación con MTSP. Muchas instancias de MTSP de tamaño adecuado se pueden resolver utilizando algunos métodos precisos, como el método del plano de corte, el método de ramificación y corte, y el conocido procedimiento de ramificación y encuadernación. Gavish y Srikanth [11] propusieron un algoritmo de ramificación y enlace para resolver instancias de MTSP simétricas a gran escala. Los resultados muestran que el tamaño de los problemas euclidianos y no euclidianos puede ser de hasta 500 ciudades y 10 vendedores, y 100 ciudades y diez vendedores respectivamente.

Se ha demostrado que los métodos heurísticos resuelven grandes MTSP de forma más rápida y eficiente que los métodos exactos, posiblemente a expensas de la optimización de la solución. Por tanto, son adecuados para solucionar situaciones en las que una solución satisfactoria es suficiente. También se han propuesto varios métodos de redes neuronales artificiales ampliados a partir del método TSP en [18], [31], [38] y [43] para resolver MTSP.

Los algoritmos genéticos (GA) [45] representan otra dirección . Zhang y otros [49] y Tang y otros [41] utilizaron algoritmos genéticos para resolver el MTSP causado por la programación en caliente. Se convierte en un único TSP y se resuelve con un algoritmo genético modificado. Carter y Ragsdale [6] propusieron un nuevo cromosoma de dos partes y un operador de correlación para MTSP. Las pruebas computacionales muestran que su método produce un espacio de búsqueda más pequeño y, en muchos casos, produce mejores soluciones que aquellos con solo uno o dos cromosomas.

Ghafurian y Javadian [12], Ryan y otros [33] y Song y otros [39] desarrollaron algoritmos de colonias de hormigas, búsqueda tabú y recocido simulado (SA) para resolver MTSP. Shim y otros [36] propusieron un algoritmo de estimación de mezcla distribuida con descomposición para resolver MSTP multiobjetivo. Sodge y otros [37] compararon varios algoritmos de computación evolutiva para resolver MTSP, incluidos esquemas de atractores de vecindad, algoritmos de “envoltura retráctil”, optimización de enjambre de partículas, algoritmos de Monte Carlo, algoritmos genéticos y estrategias evolutivas.

Li y otros [23] denominaron CTSP MTSP* y propusieron una solución GA. Sin embargo, CTSP no está formulado de manera matemáticamente rigurosa. Las principales contribuciones de este artículo son: 1) dar una definición formal de CTSP y revelar las diferencias entre CTSP, MTSP y la combinación de MTSP y TSP comparando sus tamaños de espacio de solución; 2) desarrollar tres AG para resolver CTSP de manera efectiva; y 3 ) comparan experimentalmente el rendimiento de tres GA y la solución exacta a través de LINGO. Los resultados de la comparación son extensos y pueden usarse para ayudar a los ingenieros a seleccionar el algoritmo apropiado para una aplicación CTSP específica.

A continuación, la Sección 2 define y formula CTSP. La sección 3 revisa los GA y propone tres GA mejorados. La sección 4 realiza experimentos y comparaciones de rendimiento de los algoritmos propuestos. El artículo concluye en la Sección V.


2. Definición de CTSP


A. Definición de CTSP

Supongamos que un CTSP tiene m vendedores y n ciudades, donde m<n y n, m∈Z={1, 2, 3,…}. Se puede formular en un gráfico dirigido completo G = (Ş, E), donde el conjunto de vértices Ş = {0, 1, 2…, n−1} numera las ciudades; y (i, j) ∈ E son aristas, cada uno de los cuales está asociado con un peso ω ij que representa el costo de acceso (por ejemplo, distancia) entre dos ciudades i y j. Ş se divide en m+1 conjuntos disjuntos no vacíos, es decir, el conjunto de ciudades compartido U y el conjunto de ciudades mutuamente excluyentes Vi , ∀i∈ Zm={1,2,…,m} . El vértice di∈U  \taza V i representa el almacén dividido y devuelto por el vendedor. Asignamos el color i al vendedor i. ∀a∈Vi, su color es i, y sólo el vendedor i puede acceder a él. ∀a∈U, su conjunto de colores es (a)⊆Z m, donde |(a)|>1, si i∈(a), el vendedor i puede acceder a a. El objetivo de CTSP es determinar m ciclos hamiltonianos en G con el costo total mínimo de viaje. Aquí, el vendedor designado debe visitar todos los vértices de cada conjunto mutuamente excluyente, y el vendedor debe visitar cualquier nodo del conjunto compartido una vez.

En CTSP, la composición del conjunto de ciudades compartidas U puede ser variada. El más común es que U es compartido por todos los m vendedores, es decir, ∀a∈U, color(a)=Zm. Un ejemplo se muestra en la Figura 2. Los vértices en el área V1-V3 representan las ciudades exclusivas de los vendedores 1 a 3, respectivamente. U es la única ciudad compartida entre todos los vendedores. El vendedor i tiene acceso a Vi  \taza U.

Cuando di=0∈U, ∀i∈Zm y ∀a∈U, c(a)=Zm, el modelo de programación entera de CTSP es el siguiente. Si el k-ésimo vendedor pasa por la arista (i, j), la variable binaria x_ {ijk}= 1, i \neqj, i, j∈Ş y k∈Zm; en caso contrario x_ {ijk}= 0. Tú y Yo}es el número de nodos visitados por el k-ésimo vendedor durante su viaje desde el almacén hasta el nodo i. La función objetivo del problema es:

Sujeto a las siguientes restricciones: Primero, cada vendedor parte de la ciudad 0 (almacén) y regresa, es decir:

así como también:

El vendedor k no puede visitar las ciudades exclusivas de otros vendedores a partir de su propia ciudad exclusiva, y los vendedores distintos del vendedor k también tienen prohibido acceder a las ciudades exclusivas de este último.

El vendedor l ( l \neq k ) no puede comenzar desde la ciudad exclusiva del vendedor k ni regresar a la ciudad exclusiva de k.

Excepto la ciudad 0, cada ciudad debe ser visitada exactamente una vez por un vendedor:

Un vendedor puede visitar una ciudad compartida y, de ser así, se requieren un par de entradas y salidas.

La formación de cualquier subruta no conectada entre nodos en Ş\{0} está prohibida por la siguiente ecuación combinada con (10)

Teorema 1: CTSP es NP-duro.

Evidencia: Según su definición, CTSP se modifica del MTSP al dividir sus ciudades en múltiples conjuntos de ciudades exclusivas y un conjunto de ciudades compartidas, con límites alcanzables adicionales establecidos por (4)-(7). Deje que cada V i, i∈Z m contenga solo una ciudad y elimine la ciudad 0 de U. Este modelo se convierte en un modelo de MTSP de múltiples etapas. Por otro lado, cuando U={0}, el modelo se convierte en un modelo para múltiples TSP únicos con el mismo almacén 0. Se ha demostrado que TSP y MTSP son NP-duros [5], [6]. A medida que se restablecen U o Vi, la complejidad temporal del modelo no cambia debido a su funcionamiento. Por lo tanto, CTSP es NP-duro.

Al observar la evidencia, obtenemos los siguientes resultados.

Corolario 1: MTSP multipunto y múltiples TSP únicos son casos especiales de CTSP.

Considere una combinación de un TSP y un MTSP (que consta de varios TSP individuales), cada TSP en un conjunto de ciudades exclusivo y un MTSP en un conjunto de ciudades común (dados los mismos múltiples vendedores). ¿Se puede convertir CTSP en una combinación de este tipo para solución? La respuesta es no. El primero requiere que varios vendedores visiten todas las ciudades compartidas después de visitar todas las ciudades exclusivas o viceversa. En CTSP, los vendedores visitan diferentes ciudades en cualquier orden, incluidas ciudades exclusivas y ciudades compartidas. Por lo tanto, el tamaño del espacio de solución de CTSP es diferente de esta combinación y de MSTP para el mismo tamaño de problema debido a restricciones adicionales de acceso urbano (accesibilidad).

La TSP agrupada [8], [10], [27] y la TSP generalizada [16] son ​​dos variantes de la TSP. Ambos se definen en el mismo gráfico G que TSP. El primero tiene como objetivo determinar el ciclo hamiltoniano de costo mínimo en G, donde los vértices de cualquier grupo son continuos, mientras que el segundo tiene como objetivo encontrar el ciclo de costo mínimo, donde ocurre exactamente un vértice en cada grupo. Hasta donde saben los autores, no existe ningún trabajo que los generalice a varios vendedores. CTSP se diferencia de ellos porque tiene múltiples vendedores y diferentes grupos de ciudades compartidos y exclusivos.

3. GA para CTSP

A. Representación de dos cromosomas y análisis del espacio de solución.

Debido a la complejidad combinatoria de CTSP, es necesario utilizar heurísticas para resolver problemas considerables. GA representa un método heurístico que muchos investigadores han aplicado a TSP y MTSP [5], [6], [30] . Li y otros [23] desarrollaron un algoritmo genético básico para resolver CTSP. Los esquemas de codificación de cromosomas de un solo cromosoma y de dos partes utilizados en [6] no son adecuados para CTSP debido a sus requisitos de acceso urbano. Representamos la solución del CTSP modelado en la Sección 2 como un cromosoma doble codificado en decimal, los cromosomas de la ciudad y del vendedor, con una longitud individual n-1. El almacén 0 para todos los vendedores no está codificado en el cromosoma, sino que se agrega a la solución final para satisfacer (2) y (3). El primer cromosoma tiene una disposición de n−1 ciudades, mientras que el segundo cromosoma asigna un vendedor a cada ciudad compartida y exclusiva en la posición correspondiente del primer cromosoma, siguiendo (4)–(7) y (10)) representa la ciudad relación de emparejamiento del vendedor. Según (8) y (9), dada cualquier generación, una ciudad puede aparecer sólo una vez en una persona. La codificación de la solución evita la formación de subtours, como lo hacen (10) y (11).

La Figura 3 muestra un ejemplo de codificación CTSP para n=10 ym=3. Los genes 1 y 2 en el cromosoma de la ciudad son la ciudad exclusiva del vendedor 1, los genes 3 y 4 del vendedor 2 y los genes 5 y 6 del vendedor 3. Representa la relación coincidente del vendedor de la ciudad que se debe cumplir. Las ciudades compartidas son los genes 7-10 y se pueden asignar a cualquier vendedor. Las ciudades 2, 8, 7 y 1 (en orden) son visitadas por el vendedor 1. De manera similar, el vendedor 2 visita las ciudades 10, 4 y 3 (en ese orden), y el vendedor 3 visita las ciudades 9, 5 y 6 (en ese orden).

Dado un CTSP con m vendedores yn ciudades, el número de ciudades exclusivas para el vendedor i es ni y el número de ciudades compartidas es n0 \sum_{i=0}^{m}n_{i}=n,.


Teorema 2: El tamaño del espacio de solución de CTSP con codificación dicromática es n!m^{n_{0}}.

Prueba: Para un cromosoma de ciudad con n ciudades, ya sea una ciudad exclusiva o una ciudad compartida, ¡hay n! acuerdo. Dada la disposición de las ciudades, debido a las relaciones de coincidencia ciudad-vendedor (4)-(9): primero, para cualquier ciudad exclusiva, solo se asigna una al vendedor designado; segundo, para cada una de las n0 ciudades compartidas, hay m asignado a todo el personal de ventas. Entonces, para cualquier permutación de ciudades, los vendedores tienen 1^{n-n_{0}}*m^{n_{0}}=m^{n_{0}}permutaciones. Una solución para CTSP es una combinación de cromosomas de ciudad y cromosomas de vendedor. Por tanto, el tamaño del espacio de solución de CTSP, es decir, las permutaciones y combinaciones de cromosomas dobles, debe ser n!m^{n_{0}}.


Teorema 3: El tamaño del espacio de solución de CTSP con el mismo tamaño y codificación de doble cromosoma es menor que el de MTSP, pero mayor que el espacio de solución de la combinación de MTSP y TSP.

Prueba: como se muestra en [6], el tamaño de la solución de MTSP con codificación de dos cromosomas es n! arroz. CTSP n! tamaño del espacio de la solución! mn 0 es menor que n! arroz. La combinación de TSP y MTSP significa que la visita de cada vendedor a un conjunto de ciudades exclusivo se trata como varios TSP independientes, y todas las visitas de los vendedores a un conjunto de ciudades compartido se tratan como un MTSP. La solución es combinar los resultados de ambas partes. ¡Para TSP i, su disposición de ciudad es ni! . Considere m TSP como un número total y su disposición es m. Para la parte del MTSP con n0 ciudades compartidas, ¡el arreglo es n0! min 0. Por lo tanto, el tamaño del espacio de solución de la combinación de TSP y MTSP es la permutación (πm1(ni!)×m!)×(n0!mn0). ¡Es más pequeño que n! min 0. Por tanto, la conclusión es válida.

Esto hace que CTSP sea inherentemente diferente de MSTP y de la combinación de TSP y MTSP debido al tamaño de sus espacios de solución en términos del mismo tamaño del problema y limitaciones de acceso urbano . Cualquier vendedor puede acceder a cualquier ciudad del conjunto de ciudades MSTP, mientras que cualquier vendedor puede acceder a su propia ciudad exclusiva y a la ciudad compartida para cualquier pedido en CTSP. A diferencia de la combinación de TSP y MTSP, CTSP no requiere que todas las ciudades compartidas sean visitadas después de todas sus ciudades exclusivas o viceversa.


B. AG básica

Li y otros [23] utilizaron una combinación de método de ruleta y estrategia de élite como operación de selección. Compararon la composición de tres pares de operadores de cruce y mutación, y los resultados mostraron que la combinación de cruce y mutación urbana (CCM) tuvo el mejor rendimiento. La operación de cruce urbano es una operación de cruce de coincidencia parcial mejorada . Las Figuras 4 y 5 muestran el proceso de cruce de un cruce simple entre un cromosoma doble y un cromosoma de ciudad.

Primero, se seleccionan aleatoriamente dos fragmentos con el mismo rango de dos individuos urbanos de un padre determinado, y luego se intercambian los dos fragmentos, lo que da como resultado dos nuevos individuos. En segundo lugar, reemplace los genes redundantes fuera de los dos segmentos cromosómicos urbanos con genes que se ajusten a la relación de intercambio de genes entre los dos segmentos, hasta que no queden genes redundantes. Finalmente, verifique que cada ciudad cautiva esté asignada al vendedor correcto y corrija las asignaciones incorrectas, si las hubiera. En la Figura 4 se muestra un ejemplo de intersección urbana . En el paso 1, los segmentos cruzados grises se seleccionan en los dos cromosomas urbanos y luego sus genes en la misma posición se intercambian uno por uno. Las relaciones de intercambio son 8-3, 9-8, 5-2, 4-7, 7-1 y 1-10. El intercambio producirá dos nuevos individuos, como se muestra en el paso 2. Después de esta relación de intercambio, los genes redundantes fuera de los dos segmentos se reemplazan gradualmente hasta que no se encuentran genes redundantes. Por ejemplo, según la relación de intercambio 8-3, el gen repetido 3 ubicado en la última segunda posición del cromosoma de la ciudad izquierda debe reemplazarse por 8. Sin embargo, después del reemplazo, el nuevo gen 8 todavía está duplicado y debe ser reemplazado nuevamente por el gen 9 según la relación de intercambio 9-8. Las ciudades exclusivas resultantes 5, 3, 7, 1 y 6 en el cromosoma izquierdo y las ciudades 2, 5 y 4 en el cromosoma derecho se asignaron al vendedor equivocado. El paso 4 los reasigna al vendedor correcto y genera dos candidatos viables.

El proceso de mutación urbana de cromosomas dobles incluye dos pasos, es decir, primero, seleccionar un par de genes en el cromosoma urbano para el intercambio; segundo, si es necesario, corregir los dos genes correspondientes en el cromosoma del vendedor de acuerdo con la relación de coincidencia del vendedor urbano. En la Figura 5, se seleccionaron e intercambiaron los genes 8 y 7. Son ciudades compartidas y se pueden asignar a cualquier comercial. Por lo tanto, la relación de coincidencia del vendedor de la ciudad se satisface y la mutación finaliza.

La función de aptitud se utiliza para reflejar cómo lograr el objetivo CTSP. Cuanto mayor sea el valor de aptitud, mejor, pero cuanto menor sea el costo total, mejor. Por lo tanto, tomamos el recíproco del costo total f de resolver x como función de aptitud.

El proceso del algoritmo genético básico incluye selección, CCM y cálculo de aptitud. Li y otros [23] señalaron que los algoritmos genéticos evolucionan lentamente y pueden caer fácilmente en óptimos locales.


C. GA inicializado codicioso (GAG)

La decisión tomada por el algoritmo codicioso en cada paso puede no alcanzar el óptimo global, pero sí el óptimo local. Sin embargo, puede lograr rápidamente una solución satisfactoria porque evita gastar grandes esfuerzos para agotar todas las posibilidades para encontrar la mejor solución. Lo usamos para optimizar los individuos de la población inicial generada aleatoriamente en el primer paso del algoritmo genético. Una población inicial de alta calidad puede acelerar la evolución poblacional del algoritmo genético para alcanzar rápidamente una solución satisfactoria. A este algoritmo mejorado lo llamamos algoritmo genético con inicialización codiciosa; en resumen, es el algoritmo genético (GAG).

En cuanto al CTSP, el acceso a la ciudad está sujeto a requisitos de cercanía. Es decir, el vendedor de la ciudad actual elige la siguiente ciudad más cercana. Puede optimizar la solución mediante el reordenamiento. Por ejemplo, como se muestra en la Figura 6, la secuencia de visitas médicas generada aleatoriamente es 0→ 2.→ 5.→ 3.→ 1.→ 4.→ y la suma de distancias es 25+50+50+45+45+25 =240. Se puede optimizar a 0→ 3.→ 4.→ 5.→ 1.→ 2.→ 0 mediante el uso de un algoritmo codicioso. La nueva distancia al sol es 22+25+27+35+25+25=159, que es mucho menor que la original. Tenga en cuenta que en algunos casos los pesos de los bordes pueden no ser distancias, como el flujo de tráfico [44], que luego deben convertirse a valores de distancia apropiados.

El proceso de generación de la población inicial en GAG es el siguiente.

Paso 1: Determinar si el número de individuos en la población inicial actual es igual al número establecido N. Si es así, salga.

Paso 2: genere aleatoriamente una secuencia de ciudades, asigne ciudades exclusivas a los vendedores designados y asigne aleatoriamente ciudades compartidas a todos los vendedores. La secuencia resultante se denomina individuo a.

Paso 3: Reordenar la secuencia de ciudades de a según el criterio de distancia más corta para minimizar el costo de acceso y obtener el individuo a′.

Paso 4: Detectar si a' ya existe en la población. Si es así, regrese al paso 2; de lo contrario, insértelo en la población y regrese al paso 1.


D. Escalada de colinas GA (HCGA)

El algoritmo de escalada utiliza técnicas de búsqueda de vecindarios para buscar en una sola dirección, como la escalada, para mejorar la calidad de la solución [24] . A partir de un nodo existente, genera una nueva solución utilizando un método de selección de puntos de vecindad y la compara con los valores de los nodos existentes. Si el primero es mayor, reemplace el segundo con el primero; de lo contrario, devuelva el último y configúrelo en el valor máximo. Repite el proceso de subir hasta llegar al punto más alto. Este algoritmo tiene sólidas capacidades de búsqueda local y es un método comúnmente utilizado para la búsqueda local óptima.

Como algoritmo de búsqueda global, el mencionado GAG no utiliza información personal para guiar la búsqueda excepto por motivos de aptitud personal. Su rendimiento de convergencia es limitado. El algoritmo de escalada tiene sólidas capacidades de búsqueda local y su búsqueda se guía en función de la calidad de las personas. Para mejorar la capacidad de búsqueda local del algoritmo genético, se pueden seleccionar los mejores individuos de cada generación mediante operaciones de escalada. Específicamente, si se obtiene un mejor individuo escalando una colina, reemplazará al individuo original; tenga en cuenta que HCGA también utiliza un algoritmo codicioso para optimizar la población inicial.

La elección de los puntos vecinos afecta en gran medida el algoritmo de escalada, y este trabajo utiliza el intercambio de dos puntos. Dado un CTSP con m (≥2) vendedores, esta estrategia de selección debe seleccionar 2 millones de genes. Después de cada intercambio de genes, se debe volver a calcular la aptitud. La operación de rampa consta de los siguientes pasos.

Paso 1: Determine si el i-ésimo vendedor que realiza el intercambio actual es el m-ésimo vendedor, es decir, i = m. Si es así, salga.

Paso 2: Seleccione los dos genes de la ciudad asignados al i-ésimo vendedor del cromosoma de la ciudad de a. Intercámbielos y obtenga el individuo a′.

Paso 3: Determine si el valor de aptitud de a′ es mayor que el valor de aptitud de a′. Si es así, sea a=a′; en caso contrario, mantenga a.

Paso 4: Establezca i=i+1 y luego regrese al paso 1. El procedimiento principal de HCGA se muestra en la Figura 7.

Figura 7: Diagrama de flujo HCGA basado en GA básico El primer paso es la operación codiciosa de inicialización del grupo y el cuarto paso es la operación de escalada.


E. MAÍZ

SA (Simulated Annealing) es un algoritmo metaheurístico probabilístico general para problemas de optimización global que localiza una buena aproximación al óptimo global de una función dada en un gran espacio de búsqueda [2]. En particular, durante la búsqueda no sólo aceptó una mejor solución, sino también una peor solución con una probabilidad que poco a poco se acercaba a cero siguiendo el criterio de Metropolis. Puede saltar del área óptima local y garantizar su rendimiento de convergencia. SA se puede utilizar para mejorar la convergencia del GAG anterior.

La solución y la solución óptima de CTSP son a su vez similares al estado de cada partícula en SA y al estado de menor energía de la partícula. La función objetivo de CTSP para lograr el camino más corto corresponde a la función de energía SA. Al establecer temperaturas iniciales apropiadas y seguir un programa de enfriamiento diseñado, SA puede resolver el CTSP.

SA y GA se pueden combinar de dos formas comunes, a saber, realizar SA en: 1) cada individuo y 2) el mejor individuo de la población GA antes y después de la selección, el cruce y la mutación, respectivamente. Lo primero lleva demasiado tiempo debido al gran tamaño de la población y a los cromosomas largos. En cambio, este trabajo adopta este último.

El programa SAGA se muestra a continuación.

Paso 1: Establezca la temperatura inicial t0 y genere la población inicial de GA, P (0) en la época inicial l = 0.

Paso 2: Si se cumple la condición de terminación de GA, vaya al paso 7; de lo contrario, calcule la aptitud de cada individuo en la población P(l), y seleccione, cruce y mute los individuos de acuerdo con el valor de aptitud obtenido para obtener nuevos La población P1.

Paso 3: Seleccionar al mejor individuo en P1 como solución inicial x 0 de SA. Sea la temperatura actual t 0 y el número de enfriamiento actual k = 0.

Paso 4: Si se alcanza el tamaño del paso de iteración en cada temperatura, vaya al paso 5. De lo contrario, seleccione aleatoriamente una vecindad factible x′ de la vecindad de la solución actual x y utilice el criterio de Metropolis para determinar si la acepta. Es decir, calcular f=f(x′)−f(x), si f≤0, entonces x=x′; de lo contrario, si exp(−f/tk)>r, donde r es a través del par (0, 1) Para obtener números aleatorios obtenidos mediante muestreo de una distribución uniforme, repita el paso 4.

Paso 5: Supongamos k=k+1, tk=α·tk, donde α es el coeficiente de enfriamiento. Acreditar si se cumplen las condiciones de terminación de SA. Si no, vaya al paso 4.

Paso 6: Reemplazar los individuos originales en P1 con los individuos obtenidos por SA para obtener una nueva población P2. Seal=l+1, P(l)=P2. Ir al paso 2

Paso 7: generar los resultados.

El diagrama de flujo de SAGA es similar al que se muestra en la Figura 7, donde se debe utilizar SA para reemplazar la operación de escalada.


4. Experimentos y resultados

Se realizaron experimentos para comparar el rendimiento del algoritmo propuesto en la resolución de CTSP. En primer lugar, el software LINGO sirve como una herramienta integral para la programación entera y se utiliza para resolver con precisión un modelo de programación entera determinado. Una serie de experimentos ilustran las deficiencias de la solución exacta de LINGO. Luego, a través de estudios de caso, es posible observar la evolución específica y el proceso de solución de los algoritmos probados y posteriormente analizar su velocidad de convergencia y calidad de la solución. Finalmente, utilizando varios casos CTSP de diferentes tamaños, se realiza un análisis estadístico integral y una comparación de la calidad de la solución y el tiempo computacional.


A. Comparación entre LINGO y GA

En la Tabla I, se diseñan diez casos CTSP, en los que todos los datos de la ciudad provienen del conjunto de datos eil51 en la colección TSP TSPLIB, citado en http://people.sc.fsu.edu/~jburkardt/datasets/tsp/tsp.html . La delimitación específica de conjuntos de ciudades compartidos y exclusivos se incluye en el archivo complementario en línea. La computadora utilizada fue una Dell Inspiron 620s con Windows 7 (32 bits) con una CPU Intel Corei3, 2 GB de RAM y una frecuencia de 3,30 GHz. Los resultados se muestran en la Tabla I.

La ruta óptima correspondiente a la séptima solución se muestra en la Figura 8. Pero las tres últimas situaciones no pueden resolverse en dos días. La configuración para que los vendedores se trasladen entre sus ciudades exclusivas y ciudades compartidas se muestra en la Figura 8. Tenga en cuenta que no es posible obtener dicha solución combinando TSP y MTSP.

La restricción del vendedor sobre el acceso exclusivo a la ciudad hace que la solución sea más difícil y requiera más tiempo en comparación con el MTSP. Cuando el tamaño de CTSP es pequeño, por ejemplo, n<41, LINGO puede resolver el problema rápidamente. Sin embargo, a medida que n y m aumentan, el consumo de tiempo aumenta drásticamente. Por ejemplo, dados dos casos de n=31, cuando m=2, el tiempo consumido es solo 94 segundos, mientras que cuando m=3, aumenta a 15 minutos. Esto se debe principalmente al fuerte aumento en el número de restricciones, es decir, como se muestra en la cuarta columna de la Tabla I, m=2 tiene 1937 restricciones, mientras que m=3 tiene 3067 restricciones. Esto da como resultado un aumento significativo en el tiempo de cálculo. Para los dos casos de m=3, para n=21, 31 y 41, el tiempo consumido es 26s, 94s y 6,4h respectivamente. El número de variables y restricciones crece exponencialmente. A medida que aumenta la escala del CTSP, su solución precisa se vuelve cada vez más difícil. Por ejemplo, comenzando con n=41 y m=4, la solución no se puede obtener con LINGO en dos días.

A continuación, confirmamos si GA es más rápido y eficiente que los métodos exactos para resolver CTSP. Establecimos los parámetros, a saber, el tamaño de la población en 30, la probabilidad de cruce en 0,7 y la probabilidad de mutación en 0,1. Cada algoritmo se ejecuta diez veces, con una época máxima de 2000. Configure los parámetros relacionados con la operación SA, es decir, la temperatura inicial es 100, el tiempo total de enfriamiento es 60, el tamaño del paso a cada temperatura es 30 y el coeficiente de recocido es 0,9.

La Tabla II enumera los resultados de los 10 casos y 4 GA en la Tabla I. A medida que aumenta el tamaño del caso, el tiempo que tarda GA aumenta mucho más lentamente que LINGO. Por ejemplo, para el caso de tres vendedores y ciudades en aumento, el consumo de tiempo de GA aumenta en no más de 40 segundos, mientras que el consumo de tiempo de LINGO aumenta diez veces o más. Para el caso de 31 ciudades, a medida que aumenta el número de vendedores, el tiempo que pasan en LINGO aumenta aproximadamente 10 veces y 6 veces, pero el tiempo en GA fluctúa muy poco, menos de 8 segundos.

El algoritmo genético siempre puede obtener una solución, pero no necesariamente es la solución óptima. Según la Tabla II, bajo la condición de terminación de 2000 épocas, las soluciones que usan HCGA y SAGA están cerca de las soluciones exactas disponibles que usan LINGO. SAGA logró la mejor calidad de solución con errores promedio, máximo y mínimo de 3,54, 9,8 y 0,56 km respectivamente. GA es adecuado para resolver situaciones en las que (porque la solución óptima es demasiado costosa) pero (en las que una solución de alta calidad sería suficiente).


Estudio de situación de B.GA

El CTSP de n=51 y m=4 se muestra en la Figura 10, donde U es el conjunto de ciudades compartido y V 1-V 4 son los conjuntos de ciudades exclusivos (áreas de visita) de los vendedores 1-4 respectivamente. Se utilizó la misma computadora mencionada anteriormente. A continuación, se aplican cuatro algoritmos, GA, GAG, HCGA y SAGA, para resolver el problema y se comparan sus rendimientos. Según nuestra experiencia, la condición de finalización de los algoritmos se cambia a 10 minutos para garantizar la equidad entre ellos, mientras que sus demás parámetros permanecen sin cambios. Los resultados se muestran en la Tabla III.

1) Velocidad de convergencia: para comparar sus velocidades de convergencia, trazamos los procesos de convergencia óptimos individuales que obtuvieron, como se muestra en la Figura 9. La distancia total recorrida por el mejor individuo inicial en GA es de aproximadamente 1.200 kilómetros. A través de operaciones codiciosas, la calidad de las poblaciones iniciales en GAG, HCGA y SAGA mejora enormemente. Al mismo tiempo, las condiciones de terminación convergen más rápido que el GA básico. Los cuatro GA terminan en las épocas 15000, 8500, 9600 y 6200 respectivamente. Sin embargo, la evolución real de los últimos tres AG se completa antes en las épocas 8000, 850 y 5000 respectivamente. El AG básico converge muy lentamente y la evolución no parece terminar en unas 15.000 vidas. Obviamente, esto requiere mucho más tiempo que los demás.

Además, SAGA es el mejor entre ellos, mientras que HCGA es mejor que GAG ​​en términos de velocidad de convergencia. Sin operaciones de escalada, debido a su debilidad en la búsqueda local, GAG tarda alrededor de 2000 épocas en evolucionar hasta el resultado de un viaje total de 550 km; mientras que SAGA y HCGA sólo tardan entre 150 y 300 épocas en lograr los mismos o mejores resultados. Después de que la evolución de HCGA finalice en la época 8500, con una longitud total de viaje de aproximadamente 520 km, SAGA puede continuar evolucionando hasta aproximadamente la época 5000, con una longitud total de viaje de aproximadamente 500 km.

2) Calidad de la solución: en la Figura 9, encontramos que tanto GA como GAG tienen dificultades para alcanzar los resultados óptimos en las épocas 15000 y 8500, y las longitudes totales de los viajes son aproximadamente 540 y 550 respectivamente. Es obvio que después de alcanzar el mismo resultado de GAG, HCGA puede continuar convergiendo hacia una mejor solución, como se muestra en la Figura 9, debido a la poderosa capacidad de búsqueda local de la operación de escalada. Pero alrededor de 9500 épocas, se detuvo. Puede quedarse estancado en un óptimo local.

La longitud de carrera promedio de diez experimentos SAGA es 501,42. En comparación con GA, GAG y HCGA, logra una reducción de accidentes cerebrovasculares de 37, 49 y 21 unidades respectivamente. Esto muestra que la operación SA puede mejorar el rendimiento de convergencia del algoritmo genético y la posibilidad de escapar del óptimo local. La solución óptima que utiliza SAGA tiene una longitud de carrera total de 496,70, como se muestra en la Figura 10.

En resumen: 1) Debido a la introducción de la operación SA en el algoritmo genético, la velocidad de convergencia de SAGA es la más alta entre los tres algoritmos genéticos considerados; 2) SAGA puede deshacerse del óptimo local más fácilmente y producir mejores resultados entre los cuatro algoritmos Buena solución.


C. Experimento grupal de algoritmo genético.

1) Configuraciones experimentales: diseñamos tres grupos de 11 casos experimentales para realizar un análisis integral del desempeño del algoritmo. A los tres grupos de CTSP se les asignan tamaños de ciudades en secuencia, que son 51, 76 y 101 respectivamente. Todos los datos de la ciudad provienen de los conjuntos de datos eil51, eil76 y eil101 en TSPLIB, y los conjuntos de ciudades compartidos y varios conjuntos de ciudades exclusivos se agrupan de acuerdo con la Tabla IV. La distribución por ciudades se muestra en el archivo complementario en línea. La Tabla IV está diseñada y optimizada con referencia al método Taguchi. Entre ellas, los diferentes conjuntos de ciudades exclusivas en cada caso se dividen lo más uniformemente posible, y la proporción de ciudades compartidas entre todas las ciudades fluctúa entre 0,2 y 0,5. Esto evita que un CTSP se convierta en un MTSP o en varios TSP independientes. Estos tres grupos incluyen varios casos típicos.

Para solucionar estas situaciones se aplican los cuatro algoritmos propuestos. Para ser justos en las comparaciones de calidad de las soluciones, se permite que las soluciones de cada algoritmo se desarrollen completamente. Por lo tanto, la época máxima para todos los GA se establece en 10000. A medida que aumenta el número de ciudades, el tamaño de la población inicial de GA debería aumentar en consecuencia. El tamaño inicial de la multitud para cada caso se fijó en 40 personas. La tasa de cruce y la tasa de mutación de los cuatro algoritmos se establecen en 0,9 y 0,1 respectivamente. Para HCGA, el número de subidas de colinas se establece en 50, mientras que para SAGA, la temperatura inicial se establece en 100, el número de recocidos es 50, el número de iteraciones a cada temperatura es 30 y el coeficiente de enfriamiento es 0,9.

2) Calidad de la solución: la Tabla 5 proporciona los resultados de los experimentos grupales diseñados en la Tabla 4. Cada caso se ejecutó diez veces utilizando cada algoritmo. La Tabla V registra las estadísticas de las mejores, peores y promedio soluciones para diez muestras en cada caso y el consumo de tiempo correspondiente. Al observar la Tabla V, encontramos que independientemente de las mejores, peores y promedios soluciones, la calidad de las soluciones obtenidas por GA es la peor en todos los casos. La razón detrás de esto es que su velocidad de convergencia es lenta y es fácil caer en el óptimo local, como se muestra en la figura. Los algoritmos restantes, GAG, HCGA y SAGA logran una mejor calidad de solución.

Al utilizar operaciones codiciosas, la población inicial de GA mejora. Sin embargo, el mayor defecto de los algoritmos genéticos todavía existe en los algoritmos genéticos, es decir, es fácil caer en la optimización local. Dado que HCGA introduce operaciones de escalada para mejorar las capacidades de búsqueda local de GAG, casi supera a GAG en todos los resultados mejores y promedio. Sin embargo, para el caso de 101 ciudades, la calidad de la solución del primero es peor que la del segundo. La razón es que es más probable que un aumento en el número de casos conduzca a problemas desafiantes en la escalada de colinas, como la convergencia hacia máximos locales, crestas y callejones. SAGA logró casi los mejores resultados de todos. La razón es que SA en sí es un algoritmo global que puede deshacerse de la optimización local, mientras que el algoritmo de escalada es solo un algoritmo local. Además, el crecimiento de las mejores soluciones de SAGA es más estable a medida que aumenta el tamaño de los casos.

3) Consumo de tiempo:

Intentamos analizar el consumo de tiempo de GA en función de los resultados experimentales que figuran en la Tabla V. El consumo de tiempo de todos los algoritmos aumenta con el tamaño de la ciudad. Por ejemplo, a medida que el número de ciudades aumenta de 51 a 101, GA y SAGA básicos consumen tiempos promedio de 471 a 836 segundos y de 1086 a 2365 segundos respectivamente. Al mismo tiempo, a partir de los resultados se pueden observar diferentes tasas de crecimiento del consumo de tiempo del algoritmo. SAGA tiene el mayor crecimiento, seguida de HCGA, GAG y GA básica. Esto muestra que la introducción de operaciones codiciosas, de escalada de colinas y SA conducirá a más tiempo de cálculo, y cuanto mayor sea el tamaño del caso, mayor será el tiempo de cálculo.

Para el mismo tamaño, el orden de consumo de tiempo de mínimo a máximo es GA, GAG, HCGA y SAGA. Por ejemplo, para resolver la situación de 101 ciudades y 4 vendedores, GA consume 938 s, GAG 1284 s, montañismo 1829 s y SAGA 2168 s. Esto indica que la introducción de inicialización codiciosa o escalada consume tiempo adicional. Por lo tanto, GAG requiere más tiempo de cálculo que GA para el mismo tamaño de caso. HCGA tarda más que GAG ​​en alcanzar el mismo período de terminación. SAGA utiliza tanto la estrategia de inicialización codiciosa como SA, que es más compleja que escalar colinas. Por lo tanto, requiere más tiempo que HCGA.

En el caso del mismo número de ciudades, el consumo de tiempo del algoritmo no es consistente con el crecimiento del personal de ventas. Por ejemplo, en el caso de 101 ciudades, el tiempo consumido por todos los AG no sólo aumenta o disminuye. Esto muestra que, para un algoritmo, el consumo de tiempo para resolver CTSP puede verse afectado por muchos factores, incluido el número de vendedores, la división de conjuntos de ciudades compartidos y conjuntos de ciudades exclusivos. La relación entre el tiempo de computación y estos factores es compleja. Los experimentos actuales son difíciles de analizar y pretendemos considerarlos en el futuro.


D. Resumen y debate

CTSP es adecuado para problemas de aplicación en los que varias personas que viajan se ocupan no sólo de sus propias tareas dedicadas sino también de un conjunto compartido de tareas que permite que una de ellas las realice. Por ejemplo, la programación de un sistema de múltiples máquinas que contiene una sola máquina dispuesta radialmente cuyos espacios de trabajo comparten una parte común se puede resolver formulando como CTSP. La programación de MES como se muestra en la Figura 1 se puede convertir en la situación típica de CTSP con dos empleados de ventas.

Antes de formular el problema, las tareas que deben realizar varias máquinas (como puntos, líneas y curvas en el plano o el espacio) deben dividirse y distribuirse de acuerdo con algunos requisitos del proceso. Luego, las tareas asignadas deben abstraerse como vértices del gráfico. En última instancia, los vértices y las máquinas individuales se modelan como ciudades y vendedores en CTSP, respectivamente. Específicamente, cada conjunto de empleos exclusivos (compartidos) se representa como un conjunto de ciudades exclusivas (compartidas). El objetivo de la programación es buscar una secuencia de trabajo para cada máquina de manera que se minimice el costo total de ejecución del trabajo de todas las máquinas. Puede ser formulado por la función objetivo del CTSP correspondiente, con una definición adecuada del costo de acceso.

De acuerdo con los resultados experimentales anteriores, si solo se considera la calidad de la solución, SAGA es la mejor opción para resolver CTSP de tamaño real; mientras que si se necesita obtener una buena solución en un tiempo relativamente corto, se recomienda HCGA. Hasta donde sabe el autor, el MTSP más grande resuelto por Gavish y Srikanth [11] tiene 500 ciudades. Debido a las restricciones del CTSP sobre la accesibilidad de la ciudad y la zonificación de la ciudad para la fuerza de ventas, requiere más tiempo y memoria que el MTSP para el mismo tamaño de problema, por lo que aplazamos estos casos a gran escala para futuras investigaciones.


Conclusión V

En este artículo, proponemos un nuevo MTSP, llamado CTSP, donde diferentes vendedores tienen conjuntos exclusivos de ciudades y comparten un conjunto común de ciudades. Proviene de aplicaciones en las que varias personas trabajan juntas en espacios de trabajo diferentes pero parcialmente superpuestos. Este artículo presenta este nuevo problema de una manera matemáticamente rigurosa. Proponemos tres algoritmos genéticos, a saber, el algoritmo genético de inicialización codiciosa, el algoritmo genético de escalada y el algoritmo genético de recocido simulado, que se mejoran sobre la base del algoritmo genético básico. El tamaño del espacio de la solución se deduce utilizando el código de dos cromosomas . Se analizaron las diferencias entre CTSP, MTSP y la combinación de MTSP y TSP. Mediante la comparación con cuatro algoritmos genéticos, se revelan la capacidad y las limitaciones del software LINGO para resolver con precisión el método CTSP. Mediante experimentos, se comparó exhaustivamente el rendimiento de los algoritmos genéticos en términos de tasa de evolución, calidad de la solución y consumo de tiempo. Los resultados muestran que SAGA puede obtener la mejor solución, mientras que HCGA puede obtener soluciones de alta calidad en un tiempo relativamente corto. El trabajo futuro tiene como objetivo manejar CTSP grandes que no pueden manejarse con los métodos existentes y su aplicación en operaciones de optimización MES. Es muy deseable evaluar rápidamente el límite inferior de la solución óptima de CTSP, que puede usarse como indicador para evaluar y comparar diferentes métodos de optimización inteligente [20], [21], [25], [26], [46. ], [48], La calidad de la solución de [50]-[62]. Para este fin se pueden utilizar los métodos rápidos [64]–[72].

Supongo que te gusta

Origin blog.csdn.net/qq_45874683/article/details/129846762
Recomendado
Clasificación