Algoritmo genético con operador de cruce adaptativo para resolver el problema de varios viajantes con restricciones de acceso

英文名:Algoritmo genético con operadores cruzados adaptados para el problema de múltiples vendedores ambulantes con restricciones de visitas

Resumen

El problema de los vendedores ambulantes múltiples con restricciones de acceso (VCSMP) es una versión general del clásico problema de los vendedores ambulantes múltiples (MTSP), donde cada ciudad solo puede ser visitada por varios vendedores. Para resolver este nuevo problema, aplicamos un algoritmo genético (GA) a MSTP mediante el uso de un esquema de representación de dos cromosomas , donde un cromosoma representa la secuencia de visita de la ciudad y el otro cromosoma representa la asignación de la ciudad a los vendedores. Para mejorar aún más la efectividad de los algoritmos genéticos en la resolución de VCSMP, modificamos tres operadores de cruce populares, a saber, cruce cíclico (CX), cruce secuencial (OX) y cruce mapeado parcial (PMX). De manera similar a la ejecución del TSP tradicional, los tres operadores cruzados se ejecutan en el cromosoma de secuencia urbana y su adaptabilidad radica en modificar la asignación del vendedor en el segundo cromosoma. Para ello se implementa un mecanismo de corrección basado en la matriz de alcanzabilidad para viabilizar la solución generada luego del cruce. Amplios experimentos en un total de 16 instancias de VCSMP generadas por el conjunto TSPLIB de referencia muestran que el algoritmo genético adaptativo puede hacer frente eficazmente a VCSMP, y que el algoritmo genético con PMX modificado logra el mejor rendimiento general.

I. Introducción

El problema del viajante múltiple (MTSP) es una forma generalizada del problema del viajante tradicional [1]-[3]. En MTSP, varios vendedores colaboran entre sí para viajar a través de varias ciudades, con un solo vendedor visitando cada ciudad una vez, minimizando al mismo tiempo sus costos totales de viaje. En un MTSP tradicional, todos los vendedores tienen acceso a todas las ciudades. Sin embargo, en algunos escenarios del mundo real, algunas ciudades pueden estar restringidas a ciertos vendedores. Por ejemplo, en el despacho logístico, algunas mercancías peligrosas solo pueden ser atendidas por camiones específicos. Para simular este problema práctico, este artículo establece el problema del viajante múltiple con restricciones de acceso (VCSMP), en el que la accesibilidad de una ciudad para los vendedores está representada por una matriz de accesibilidad que contiene 0 y 1. Sólo cuando el elemento es uno, el comercial correspondiente podrá acceder a la ciudad asociada. La Figura 1 muestra un ejemplo de MTSP. En este diagrama, diferentes ciudades tienen diferentes derechos de acceso a diferentes vendedores. El número después del punto indica la cantidad de vendedores que pueden visitar esa ciudad. En particular, cuanto mayor sea el tamaño de los puntos, más vendedores podrán visitar la ciudad en cuestión.

Debido a las complejas restricciones de acceso a la ciudad, el VCMTSP es más complejo y difícil de resolver que el MTSP tradicional. En particular, las restricciones de acceso dificultan el despliegue óptimo del personal de ventas en una ciudad y dificultan aún más la optimización posterior de la ruta [4], [5].

En la literatura, muchos investigadores aplican algoritmos genéticos para optimizar MTSP [6]–[10]. Inicialmente, para resolver de manera eficiente el MTSP, los investigadores desarrollaron diferentes esquemas de representación para codificar los cromosomas en GA. Por ejemplo, en [8] se adoptó un método de codificación de cromosomas de dos partes, donde la primera parte representa la secuencia de la ciudad y la segunda parte representa al vendedor. En [11] se propone un mecanismo de representación de múltiples cromosomas, donde cada cromosoma representa la ruta de un vendedor. Además, algunos estudios también investigaron diferentes AG para resolver MTSP [6], [9]. Además, hay algunos estudios que se centran en MTSP extendido con restricciones complejas e investigaciones en aplicaciones del mundo real, como MTSP min-max de longitud limitada [12], MTSP con capacidad y ventanas de tiempo [13], MTSP para UAV [14 ][15] y planes MTSP para camiones

Aunque se han formulado varios AG para abordar diversos planes estratégicos a largo plazo, hasta donde sabemos, ningún estudio ha considerado las restricciones de acceso a las ciudades. Partiendo del hecho de que VCMTSP es una forma general de MTSP, este artículo intenta abordar el NCMTSP aplicando GA al MTSP. Específicamente, este artículo adopta una estrategia de representación de dos cromosomas, en la que un cromosoma es responsable del orden de visita de las ciudades y el otro es responsable de asignar ciudades a los vendedores. Para que se desarrolle de manera eficiente y con alta viabilidad, este documento adopta tres operadores de cruce populares, a saber, cruce cíclico (CX) [16], cruce secuencial (OX) [17] y cruce mapeado parcial (PMX) [18]. para que GA haga frente al VCSMP.

Para verificar la efectividad del algoritmo genético adaptativo al tratar con MTSP, este artículo primero genera varias instancias de MTSP con diferentes ciudades y número de personal de ventas a partir del conjunto de referencia ampliamente utilizado TSPLIB [19]. Luego, se realizan experimentos en estas instancias para observar el rendimiento de optimización del algoritmo genético adaptativo en la resolución de VCSMP.

El resto de este artículo está organizado de la siguiente manera. La sección 2 proporciona la definición matemática específica de VCMTSP. Luego, la Sección III presenta el marco GA y tres operadores cruzados adecuados para VCMTSP. La Sección 4 realiza experimentos en varias instancias de planificación del MTSP para demostrar la efectividad del GA ajustado. Finalmente, la Sección 5 concluye el artículo.

2. Definición de problema

Específicamente, la definición matemática de un VCMTSP es la siguiente. Dadas n ciudades y m vendedores, el mapa de la ciudad se puede describir como un gráfico completamente no dirigido G = (V, E), donde V representa la ciudad y E = {eij | i, j∈V} representa el borde que conecta las ciudades. . Para formular la accesibilidad de la ciudad para el vendedor se define la matriz de accesibilidad A=[aij] n×m, donde Aij=1 significa que la ciudad i es accesible para el vendedor j, y Aij=0 significa que la ciudad i es accesible para el vendedor j. El vendedor es inaccesible. La Figura 2 muestra un ejemplo de matriz de accesibilidad para una instancia de VCMTSP i con m vendedores yn ciudades. En esta matriz, las filas representan ciudades y las columnas representan vendedores.

 La función objetivo de VCMTSP es minimizar el costo total de viaje de todo el personal de ventas, que se define de la siguiente manera:

donde C(Routei) es el costo de la ruta i. Este objetivo se logra cumpliendo las siguientes restricciones:

1) Debes visitar todas las ciudades:

2) Sólo un vendedor visita cada ciudad:

3) Vendedor i solo puedo acceder a ciudades sin barreras y tiene prohibido acceder a ciudades restringidas:

La principal diferencia entre MTSP y VCMTSP es la tercera restricción. Debido a esta limitación, la optimización de VCSMP se vuelve más difícil, ya que afecta gravemente la asignación de ciudad al personal de ventas y posteriormente afecta la optimización de la ruta del personal de ventas.

3. Adaptador adecuado para VCMTSP

Para resolver eficazmente el problema VCSMP definido anteriormente, este artículo modifica el operador cruzado del algoritmo genético basado en la matriz de alcanzabilidad.

A. Algoritmo genético

Este artículo utiliza una representación de dos cromosomas [20] para representar una solución factible a VCMTSP. Específicamente, como se muestra en la Figura 3 (a), cada solución factible consta de dos cromosomas. El primer cromosoma es la disposición de las ciudades, mientras que el otro cromosoma asigna vendedores a las ciudades asociadas con el primer cromosoma. Con este mecanismo de representación se puede obtener la ruta de cada vendedor ordenando las ciudades con un mismo vendedor en el orden de aparición en el primer cromosoma.

Basado en este mecanismo de representación, el proceso general del algoritmo genético se describe en el Algoritmo 1. Al principio, los individuos NP se inicializan mediante una estrategia codiciosa. Específicamente, el primer cromosoma se inicializa mediante una estrategia codiciosa, al igual que el algoritmo genético TSP tradicional, mientras que el segundo cromosoma se inicializa según la matriz de accesibilidad. Para cada ciudad en el primer cromosoma, si la ciudad solo puede ser visitada por un vendedor, entonces la ciudad se asigna a ese vendedor. De lo contrario, si varios vendedores pueden visitar la ciudad, se asignará aleatoriamente a uno de los vendedores con la misma probabilidad.

Después de inicializar la población (línea 1), el AG ingresa al bucle principal (líneas 4 a 21) para evolucionar de forma iterativa. Primero, se seleccionan individuos de la población que se va a cruzar mediante una estrategia de selección de ruleta (línea 5). Luego de la selección se continúa con la operación de cruce. A diferencia del algoritmo genético TSP tradicional, este artículo primero mezcla aleatoriamente la población (línea 6) y luego empareja a los individuos. Para cada par de individuos, si el número real generado aleatoriamente dentro de [0, 1] es menor que la probabilidad de cruce, se realiza un operador de cruce en los dos individuos para generar dos descendientes (líneas 9-11) para reemplazarlos. Después del cruce, para cada individuo, si los números reales generados uniformemente dentro de [0, 1] son ​​menores que la probabilidad de mutación, entonces el operador de mutación se ejecuta en el individuo (líneas 15-17).

El bucle principal anterior continúa hasta que se cumple la condición de terminación. Cuando se alcanza el final del algoritmo, se obtiene la solución óptima global como resultado final.

En el Algoritmo 1, el operador de cruce juega un papel importante en la generación de descendencia porque, por un lado, es responsable del intercambio de genes para generar descendencia prometedora; por otro lado, en el algoritmo genético tradicional TSP, la probabilidad de cruce suele ser alta. . Por lo tanto, los operadores de cruce efectivos tienen un gran impacto en el desempeño de los algoritmos genéticos en la resolución de problemas de estrategia de gestión de riesgos. A continuación, este artículo aplica tres operadores de cruce populares a GA para resolver eficazmente el problema de VCMTSP.

B. Cruce parcialmente mapeado Cruce parcialmente mapeado

El operador de cruce de mapas parciales (PMX) fue propuesto originalmente por Goldberg y Lingle para resolver el TSP clásico [18]. Para cruzar dos padres, PMX primero selecciona aleatoriamente dos puntos diferentes en los cromosomas y luego intercambia segmentos de genes entre los dos alelos seleccionados en los dos cromosomas de los padres para producir dos descendientes.

Después del intercambio de segmentos, es posible que los dos descendientes resultantes no sean factibles debido a ciudades duplicadas y ciudades faltantes. Para arreglar estos dos descendientes, se define una secuencia de mapeo de la ciudad basada en los dos segmentos de línea intercambiados. Luego, según el mapeo de ciudades definido, las ciudades duplicadas fuera del segmento de intercambio se reemplazan en consecuencia.

Para comprender intuitivamente cómo funciona el operador PMX, la Figura 4 muestra un proceso de ejemplo de PMX en dos padres en nueve ciudades. Primero, se seleccionan aleatoriamente dos alelos diferentes, 3 y 6. Luego, se intercambian los dos segmentos entre los dos alelos del padre A y del padre B, a saber, 3-4-5-6 y 2-1-3-6. Por lo tanto, se generan dos subtérminos, a saber, 1-2-2-1-3-6-7-8-9 y 8-5-3-4-5-6-4-9-7.

Después del intercambio de fragmentos, dos hijos no son factibles porque en el primer hijo, las ciudades 1 y 2 están duplicadas, mientras que en el segundo hijo la ciudad 4 y la ciudad 5 están duplicadas. Para abordar esta deficiencia, primero se define una secuencia de intercambio de ciudades basada en la segmentación de dos intercambios. Específicamente, la ciudad está mapeada como 3↔ 2, 4↔ 1, 5↔ 3 y 6↔ 6, como se muestra en la parte central del dibujo sombreado en la Figura 4. Según estas asignaciones, las ciudades duplicadas fuera del segmento de intercambio serán reemplazadas por la ciudad asociada. Por ejemplo, según el mapeo 4, la ciudad 1 fuera del segmento de intercambio en Child 1 se reemplaza con la ciudad 4↔ 1. Según el mapeo 3, la ciudad 2 en Child 1 se reemplaza primero con la ciudad 3↔ 2, pero la ciudad 3 también se repite . Por lo tanto, sobre la base del mapa 5, la ciudad 3 se reemplaza por la ciudad 5 ↔ 3.

Después de la corrección, los dos descendientes generados son 4-5-2-1-3-6-7-8-9 y 8-2-3-4-5-6-1-9-7. Estos dos ahora son factibles. .

C. Cruce de órdenes

El cruce por pasos (OX) [17] es similar al PMX en términos de segmentos de conmutación. La única diferencia es el tratamiento de las ciudades duplicadas. En particular, de manera similar a PMX, OX primero selecciona aleatoriamente dos alelos diferentes en un cromosoma y luego intercambia segmentos de genes entre los dos alelos seleccionados en los dos cromosomas parentales, produciendo dos descendientes.

Posteriormente, para manejar ciudades duplicadas, OX primero mantiene vacíos los elementos de ambos cromosomas descendientes, excepto los segmentos intercambiados. Luego, para garantizar que el hijo herede tanta información como sea posible del padre asociado, OX llena los elementos vacíos con la secuencia de acceso restante del padre asociado del primer elemento después del segmento de intercambio. Cabe señalar que la secuencia de acceso restante no incluye las ciudades que aparecen en el segmento de intercambio.

Para comprender intuitivamente el proceso de trabajo de OX, la Figura 5 muestra un ejemplo de 9 ciudades. Primero, se seleccionan aleatoriamente dos alelos diferentes, 3 y 6. Luego, los dos segmentos entre los dos alelos se intercambian, lo que da como resultado dos descendientes, a saber, ×-×−2−1−3−6−×-×-× y ×-×-3−4−5 −6−. Cabe mencionar que, a excepción del segmento intercambiado, otros elementos en ambos cromosomas de la descendencia están vacíos. Luego, los elementos vacíos se llenan con secuencias de acceso desde el elemento principal asociado. En particular, para el elemento secundario 1, los elementos se completan con la secuencia de acceso restante del elemento principal A, comenzando desde el primer elemento después del segmento intercambiado, que es 7−8−9−4−5. Por lo tanto, sub1 se convierte en 4−5−2−1−3−6−7−8−9. De manera similar, los elementos vacíos en el hijo 2 se llenan con la secuencia de acceso restante en el padre B, que es 9−7−8−2−1. Por lo tanto, sub2 se convierte en 2−1−3−4−5−6−9−7−8.

Después del llenado secuencial anterior, ambos descendientes resultantes ahora son viables.

D. Cruce de ciclo Cruce de ciclo

El operador de cruce cíclico (CX) fue propuesto por primera vez por Oliver et al. [dieciséis]. A diferencia de los dos cruces anteriores, CX hereda información de ambos padres (asumiendo que son el padre A y el padre B) iterando, creando hijos uno a la vez. Al principio, OX selecciona aleatoriamente una posición de uno de los dos padres (asumiendo que el padre seleccionado es el padre a) como la posición inicial del niño. La ciudad almacenada en la misma ubicación que el otro padre (es decir, el padre B) se utiliza para completar la ubicación del niño igual a esa ciudad. Posteriormente, la ciudad almacenada en la ubicación del padre B igual a la ciudad completada en la última ronda se utiliza para completar la ubicación del hijo B igual a esa ciudad. El proceso anterior continúa hasta que ocurre un conflicto, es decir, la siguiente ciudad a llenar ya está en el niño. Después de eso, otros elementos vacíos en los hijos heredan directamente del padre A. De esta manera, los niños pueden heredar valiosas secuencias de acceso de ambos padres al mismo tiempo.

Para comprender intuitivamente cómo funciona CX, la Figura 6 muestra un proceso de ejemplo de CX con 9 ciudades. Primero, el objeto secundario se establece en nulo y luego comienza a heredar ciudades del objeto principal A en ubicaciones elegidas al azar. En este ejemplo, la posición seleccionada es 1. Entonces, la ciudad 1 almacenada en la ubicación 1 del padre A se usa para completar la ubicación 1 del niño. Luego, use la ciudad (es decir, 8) en la misma ubicación (ubicación 1) en el otro objeto principal (objeto principal B) para ubicar la siguiente ubicación del objeto secundario que se va a llenar. Es decir, la posición 8 en el hijo hereda la ciudad en la posición 8 en el padre A. Después de eso, la posición 9 se llena de la misma manera. El proceso continúa hasta la posición 4. Al encontrar la siguiente posición basándose en 4, la siguiente posición es la posición 1. Sin embargo, la posición 1 ya está completa en el objeto hijo, por lo que la herencia del objeto padre A forma un ciclo. En este caso, la herencia del elemento principal A se detendrá y las posiciones restantes no ocupadas en el elemento secundario se heredarán con el elemento asociado en el elemento principal B.

Finalmente se obtienen los subtérminos 1−5−2−4−3−6−7−8−9, lo cual es factible.

E. Corrección de asignación de vendedor

Cabe señalar que todos los operadores de cruce introducidos anteriormente se ejecutan en el primer cromosoma del algoritmo genético adaptativo. Para el segundo cromosoma, este artículo primero hereda directamente la asignación de ventas de los padres. Sin embargo, la asignación de vendedores en los padres puede violar las restricciones de accesibilidad debido a cambios en las secuencias de acceso en el primer cromosoma después del cruce. Para mitigar este problema, este documento primero identifica las asignaciones incorrectas de vendedores según la accesibilidad. Luego, para cada tarea incorrecta, primero encontramos al vendedor que tiene acceso a la ciudad correspondiente. Si solo un vendedor tiene acceso a la ciudad, corrija la asignación incorrecta reemplazando al vendedor equivocado por este vendedor. Si más de un vendedor tiene acceso a la ciudad, el vendedor asignado incorrectamente será reemplazado por un vendedor seleccionado aleatoriamente entre estos vendedores con igual probabilidad.

Tomando como ejemplo el subartículo 1 obtenido por el cruce PMX en la Figura 4, como se muestra en la Figura 7, el subartículo 4-5-2-1-3-6-7-8-9 hereda directamente la asignación de ventas del artículo principal A. Sin embargo, de acuerdo con la matriz de accesibilidad que se muestra en la Figura 2, se encuentra que la asignación de vendedores de la ciudad 5 y la ciudad 2 es incorrecta. 2. De la matriz de accesibilidad, se puede encontrar que solo el Vendedor 1 puede acceder a la Ciudad 5, mientras que el Vendedor 1 y el Vendedor 2 pueden acceder a la Ciudad 2. Entonces, para la ciudad 5, el vendedor 2 equivocado es reemplazado por el vendedor 1. Para la ciudad 2, el vendedor 3 equivocado es reemplazado por un vendedor seleccionado al azar entre el vendedor 1 y el vendedor 2 con igual probabilidad. En este ejemplo, se selecciona el Vendedor 2.

De manera similar, la corrección anterior de la asignación del vendedor se puede utilizar para la descendencia generada por OX y CX.

 

Sin embargo, una mirada más cercana al proceso de operador CX muestra que la asignación de vendedores también puede cruzarse con el cruce de ciudades en el primer cromosoma. Es decir, durante el llenado de elementos en el cromosoma hijo con respecto al primer cromosoma, las asignaciones de vendedor relevantes se pueden completar en consecuencia en el segundo cromosoma del cromosoma hijo.

Para distinguir la exactitud de la asignación del primer vendedor, este artículo define CX con la herencia de la asignación del vendedor anterior como "CX+". Tomando como ejemplo los subelementos generados en la Figura 6, la Figura 8 muestra el proceso de herencia de asignación de vendedores en CX+. A partir de esta figura se puede encontrar que para la ciudad heredada de la empresa matriz B, es decir, 4-7-8-9, su asignación de personal de ventas se hereda directamente de la empresa matriz B; para la ciudad de la empresa matriz A, es decir, 1 −5−2− 3−6, su asignación de personal de ventas se hereda directamente de la empresa matriz A.

En comparación con CX, CX+ puede heredar la secuencia de visitas a la ciudad y las tareas de ventas de ambos padres al mismo tiempo. Por lo tanto, se espera que GA con CX+ pueda lograr un rendimiento más prometedor que GA con CX, lo que se demostrará en los experimentos de la siguiente sección.

4. Experimentar

Para observar el rendimiento de optimización de GA con tres operadores cruzados adaptativos cuando se trata de VCSMP, este documento primero selecciona cuatro instancias con diferentes números de ciudades del conjunto de referencia TSPLIB, a saber, att48, kroA100, kroA150 y kroA200. A continuación, este artículo les asigna cuatro números diferentes de vendedores, a saber, 2, 4, 6 y 8. Posteriormente, para cada instancia del número de vendedores, construimos aleatoriamente una matriz de accesibilidad. Por lo tanto, se generó un total de 16 VCMTSP y estas instancias se pueden encontrar en https://gitee.com/sorel/tspresearch.git junto con el código fuente generado como referencia.

En el experimento, basado en experimentos preliminares de ajuste fino de parámetros, el tamaño de la población NP es 100, la probabilidad de mutación es P m = 0,1 y la probabilidad de cruce es P c = 0,5. Además, la generación máxima GEN max se establece en 10000.

La Tabla I muestra los resultados de la comparación de GA y tres operadores cruzados en 16 instancias de VCSMP. "Mejor", "Peor" y "Media" en esta tabla representan respectivamente los costos totales de viaje mínimo, máximo y promedio para todos los vendedores obtenidos por el algoritmo relevante en 30 ejecuciones independientes. Los mejores resultados para las tres métricas están resaltados en negrita. De la Tabla I, obtenemos los siguientes hallazgos:

• En términos de las tres métricas, GA-PMX logró el mejor desempeño general entre 16 instancias. Además, a medida que aumenta el número de ciudades y personal de ventas, las ventajas de GA-PMX sobre los otros dos GA se vuelven cada vez más obvias. Además, GA-PMX también muestra una buena estabilidad, ya que casi no hay diferencia entre los "mejores" y los "peores" resultados.

•GA-OX mostró la peor efectividad entre los tres GA en 16 casos. En particular, su rendimiento es particularmente deficiente cuando hay una gran cantidad de ciudades o vendedores.

•El rendimiento de GA-CX es mucho mejor que el de GA-OX, pero es ligeramente peor que el de GA-PMX. En particular, el estudio encontró que a medida que aumenta el número de ciudades o vendedores, el rendimiento de optimización de GA-CX disminuye rápidamente.

Con respecto a CX, en la sección anterior, este artículo diseñó otro mecanismo de corrección de asignación de vendedores, lo que resultó en una nueva versión de CX denominada CX+. Para verificar su efectividad, este documento compara el rendimiento de optimización de GA y dos operadores CX en 16 instancias VCSMP. La Tabla II muestra los costos de viaje promedio para todos los vendedores en 16 instancias obtenidas por GA en 30 ejecuciones independientes con dos operadores de CX.

 

 

En esta tabla, podemos encontrar que en 16 instancias, GA-CX+ logra un mejor rendimiento que GA-CX. En particular, el estudio encontró que a medida que aumenta el número de ciudades o personal de ventas, la mejora de GA-CX+ sobre GA-CX se vuelve cada vez más obvia. La superioridad de GACX+ sobre GA-CX se debe principalmente a la exactitud de las asignaciones de la fuerza de ventas, que pueden heredar asignaciones prometedoras de la fuerza de ventas de los padres.

Para observar mejor las diferencias entre GA y los tres operadores, este artículo traza las mejores rutas obtenidas por los tres GA en sus mejores recorridos. Las figuras 9, 10, 11 y 12 muestran las rutas óptimas para todos los vendedores en los cuatro ejemplos.

A partir de estas cifras se puede encontrar que con menos ciudades y menos vendedores, las diferencias en la distribución de ciudades entre los tres AG son menores, pero las diferencias en las rutas de los vendedores son mayores. A medida que aumenta el número de ciudades o vendedores, las diferencias en la asignación de ciudades entre los tres GA se vuelven cada vez mayores, lo que da como resultado grandes diferencias en su rendimiento de optimización.

A través de los experimentos anteriores, se descubrió que PMX es más prometedor para GA que OX y CX para lidiar con VCMTSP.

5. Conclusión

Este artículo formula un nuevo MTSP considerando la accesibilidad de la ciudad a los vendedores, dando como resultado el VCMTSP. Para resolver este nuevo problema, este artículo modificó tres operadores de cruce clásicos, a saber, cruce parcial mapeado (PMX), cruce secuencial (OX) y cruce cíclico (CX), basados ​​en el mecanismo de representación de cromosomas duales, y mejoró el algoritmo genético. . En particular, la principal modificación radica en la distribución de los vendedores representada por el segundo cromosoma.

Se han realizado experimentos en 16 instancias VCSMP generadas por el popular conjunto de pruebas TSPLIB. Los resultados experimentales muestran que el algoritmo genético con tres operadores de cruce adaptativos es capaz de manejar VCSMP, y el algoritmo genético con PMX logra el mejor rendimiento general en 16 instancias de VCSMP. Según los experimentos, se recomienda utilizar PMX para cooperar con GA para tratar con VCSMP.

Supongo que te gusta

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