23.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!