Un Algoritmo Genético H´ıbrido Paralelo para Instancias Complejas ...
Un Algoritmo Genético H´ıbrido Paralelo para Instancias Complejas ...
Un Algoritmo Genético H´ıbrido Paralelo para Instancias Complejas ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
de búsqueda local que está compuesto por 50 pasos<br />
del algoritmo 1-Intercambio (explora combinaciones<br />
de clientes entre diferentes rutas) y tras esto, otros<br />
50 pasos de 2-Opt (<strong>para</strong> optimizar cada una de las<br />
rutas generadas por se<strong>para</strong>do). El recién generado<br />
descendiente reemplazará al individuo actual en la<br />
población sólo si tiene un valor de fitness mejor.<br />
En la implementación propuesta, la migración se<br />
realiza cada 10 4 evaluaciones mediante el intercambio<br />
del mejor individuo de cada subpoblación con su<br />
subpoblación vecina. Cuando una subpoblación recibe<br />
un individuo en la migración, éste reemplaza al<br />
individuo de la subpoblación local con peor valor de<br />
fitness.<br />
En la Tabla II presentamos los resultados obtenidos<br />
con PEGA <strong>para</strong> la batería de problemas<br />
VLSVRP (el mejor resultado <strong>para</strong> cada una de las 12<br />
instancias está marcado en negrita). En concreto,<br />
se muestra el nombre de las instancias estudiadas, su<br />
tamaño (número de clientes a proveer), la mejor solución<br />
conocida <strong>para</strong> cada instancia (MSC), la mejor<br />
solución encontrada por nuestro algoritmo, la media<br />
de las soluciones reportadas por PEGA y el tiempo<br />
medio en horas empleado por el algoritmo. Los valores<br />
de la soluciones representan el coste en términos<br />
de la distancia global recorrida por los vehículos.<br />
Los valores que se muestran en la Tabla II han<br />
sido obtenidos tras realizar cuatro ejecuciones <strong>para</strong><br />
las instancias más pequeñas (VLS21 a VLS25) y dos<br />
<strong>para</strong> el resto. Este bajo número de ejecuciones realizadas<br />
es debido al elevado tiempo de cómputo requerido<br />
por el algoritmo <strong>para</strong> resolver el problema,<br />
que va desde las 10 horas <strong>para</strong> las instancias más<br />
pequeñas hasta las 72 horas <strong>para</strong> el caso de VLS32.<br />
Estos elevados tiempos de cómputo vienen motivados<br />
fundamentalmente por dos aspectos: (i) por un<br />
lado, utilizamos una búsqueda local pesada, creciendo<br />
casi exponencialmente el tiempo necesario <strong>para</strong><br />
realizarla con el tamaño de la instancia a resolver;<br />
(ii) por otro lado, debido a que no está demostrado<br />
que se conozca el óptimo <strong>para</strong> ninguna de las<br />
instancias, la condición de terminación del algoritmo<br />
depende únicamente del número de evaluaciones<br />
realizadas, y este número debe ser lo suficientemente<br />
grande como <strong>para</strong> que el algoritmo tenga tiempo suficiente<br />
<strong>para</strong> encontrar o incluso superar a la mejor<br />
solución conocida.<br />
Cabe destacar los buenos resultados obtenidos aún<br />
cuando el número de ejecuciones realizadas es tan<br />
bajo, ya que PEGA encuentra la mejor solución conocida<br />
<strong>para</strong> 7 de las 12 instancias estudiadas. Incluso<br />
mejora la mejor solución conocida hasta ahora <strong>para</strong><br />
la instancia VLS26, ya que, aunque la diferencia es<br />
de únicamente una centésima, representan soluciones<br />
bien distintas, como puede observarse en la zona<br />
sombreada de la Fig. 6. Además, la mejor solución<br />
conocida <strong>para</strong> todas las instancias excepto VLS22 y<br />
VLS27 ha sido estimada visualmente utilizando las<br />
propiedades geométricas de los problemas, y ningún<br />
Distancia Total Recorrida<br />
40000<br />
35000<br />
30000<br />
25000<br />
20000<br />
15000<br />
10000<br />
5000<br />
0<br />
VLS21<br />
VRTR =1<br />
VRTR =0.6<br />
VRTR =0.4<br />
PEGA<br />
VLS22<br />
VLS23<br />
Mejores Soluciones Encontradas<br />
VLS24<br />
VLS25<br />
VLS26<br />
VLS27<br />
VLS28<br />
VLS29<br />
VLS30<br />
VLS31<br />
Fig. 7. PEGA vs. el estado del arte <strong>para</strong> VLSVRP.<br />
algoritmo hasta el presente trabajo había sido capaz<br />
de encontrarlas. Además, en el caso de VLS22 y<br />
VLS27 las soluciones han sido encontradas por distintos<br />
algoritmos RTR (Record-to-Record) durante<br />
las pruebas realizadas <strong>para</strong> desarrollar VRTR (una<br />
mejora de RTR) en [10] (ORTR significa otros RTR),<br />
pero no se facilitan en ese trabajo ni detalles de las<br />
implementaciones de estos algoritmos ni referencias<br />
en las que se puedan consultar dichos detalles.<br />
En la Fig. 7 se muestra una com<strong>para</strong>ción de las<br />
mejores soluciones obtenidas por PEGA y los tres<br />
algoritmos que conforman el estado del arte <strong>para</strong><br />
VLSVRP. Estos tres algoritmos son distintas <strong>para</strong>metrizaciones<br />
de VRTR, propuesto en [10]. Como se<br />
puede ver, PEGA obtiene mejores resultados que los<br />
tres algoritmos com<strong>para</strong>dos <strong>para</strong> todas las instancias<br />
excepto VLS25, VLS27 y VLS32. En la Tabla III<br />
mostramos la com<strong>para</strong>ción de los cuatro algoritmos<br />
en términos de la diferencia (en porcentaje) entre la<br />
solución reportada por los algoritmos <strong>para</strong> cada problema<br />
y la mejor solución conocida <strong>para</strong> el problema<br />
dado (los mejores valores están en negrita). Este<br />
valor se puede entender como una medida de la calidad<br />
de los resultados obtenidos por los algoritmos.<br />
Se puede ver cómo PEGA es notablemente más robusto<br />
que los otros tres algoritmos <strong>para</strong> el conjunto<br />
de problemas estudiado, ya que es el algoritmo que<br />
más se aproxima, obteniendo los mejores resultados<br />
en 9 de los 12 problemas. Además, PEGA encuentra<br />
la mejor solución conocida en 7 instancias, soluciones<br />
que nunca antes habían sido encontradas por un<br />
algoritmo como ya se ha comentado anteriormente.<br />
En la última fila de la Tabla III se presenta la<br />
media de las diferencias entre las soluciones encontradas<br />
por cada algoritmo y las mejores soluciones<br />
conocidas <strong>para</strong> las 12 instancias de VLSVRP. Como<br />
puede verse, PEGA consigue el mejor valor de<br />
los cuatro algoritmos com<strong>para</strong>dos, siendo este valor<br />
la mitad del resultado del mejor de los algoritmos<br />
com<strong>para</strong>dos (VRTR con α = 1,0).<br />
V. Conclusiones y trabajo futuro<br />
Se ha presentado en este trabajo un potente algoritmo<br />
<strong>para</strong> resolver instancias muy duras del problema<br />
CVRP. El algoritmo propuesto, PEGA, se trata<br />
VLS32