Optimizacin de rutas de vehculos de recogida de basuras
mediante recocido simulado
Albert Magri Girol y Francesc Robust Antn LAMOT, ETS de Ingenieros de Caminos, Canales y Puertos de Barcelona Universidad Politcnica de Catalua, <f.robuste@upc.es>, Espaa
RESUMEN
El artculo presenta la elaboracin de un algoritmo para disear la recogida de basuras en un entorno rural mediante la tcnica de optimizacin conocida como recocido simulado. El algoritmo base se ha modificado permitiendo introducir las restricciones concretas que tiene este problema, como la limitacin de la capacidad del camin o la jornada laboral de los trabajadores. Finalmente, se aplica el programa desarrollado a casos reales y se constata que los resultados son sustancialmente mejores que los de otros algoritmos de uso habitual como el heurstico de Clarke y Wright.
1. PLANTEAMIENTO DEL PROBLEMA: LA RECOGIDA DE BASURAS
La recogida de los residuos slidos generados por la poblacin de una determinada regin tiene un peso muy importante en el coste total de la gestin de estos residuos. El objetivo de la ponencia es presentar la implementacin de un algoritmo que reduce este coste optimizando el nmero de camiones utilizados y las rutas de recogida que describen.
El problema se centra en un entorno rural: un conjunto de ncleos generadores de basuras que pueden ser muy heterogneos entre s (desde granjas a poblaciones grandes) llenan parcialmente un nmero determinado de contenedores y se trata de disear el recorrido ptimo para camiones con una cierta capacidad; este problema responde en su formulacin al denominado VRP en la literatura (Vehicle Routing Problem). De cada ncleo generador se conoce su situacin en el territorio, la cantidad de basura que genera diariamente y el tiempo que tarda un camin en recoger toda la basura en cada ncleo. De la misma manera, tambin se conoce el tiempo que tarda un camin de basuras en recorrer la distancia que hay entre cada par de ncleos. El coste del servicio viene definido por una funcin de costes, que tiene un valor calculable y concreto para cada una de las configuraciones de rutas que se analice.
Hay dos condicionantes operativos obvios: en primer lugar, los camiones tienen una capacidad limitada y, por lo tanto, la carga total que se recoge en una ruta no pueden sobrepasar dicha capacidad; en segundo lugar, la jornada de trabajo de los operarios que van en cada camin no puede superar unas determinadas horas y, por lo tanto, hay que limitar el trabajo de cada camin a esa jornada laboral. Es importante destacar que la primera condicin es sobre las rutas y la segunda sobre los camiones y que el nmero de camiones necesarios es como mximo el nmero de rutas. Debido a esto, puede darse el caso que en la configuracin ptima haya camiones que describan ms de una ruta para poder rellenar lo mximo posible la jornada laboral de esos camiones.
2. LA RESOLUCIN DEL PROBLEMA
1.1. El problema de las rutas de vehculos El problema de las rutas de vehculos es un problema NP-hard dentro de la Optimizacin Combinatoria. Es decir, se conjetura que no es posible encontrar algoritmos que proporcionen la solucin ptima en un tiempo razonable para casos de tamao mediano o grande. De esta manera, se tiene que tender a utilizar algoritmos que proporcionen aproximaciones de la solucin ptima.
En el campo de la logstica, se han descrito muchos algoritmos de aproximacin para el problema de rutas de vehculos. Los dos mtodos ms clsicos y que comnmente son utilizados para la resolucin del tipo de problemas son el mtodo de barrido y el mtodo de Clarke y Wright. Las limitaciones de estos algoritmos son grandes y, por este motivo, se han desarrollado otro tipo de algoritmos numricos como los de hill-climbing que tienen la ventaja de que durante su proceso iterativo pueden salir de ptimos locales y seguir la bsqueda del ptimo global. Esto es posible porque pueden aceptar durante la bsqueda de la solucin configuraciones peores que la ltima configuracin aceptada. El algoritmo utilizado para el desarrollo de este trabajo, el recocido simulado, pertenece a este grupo.
2.2 El recocido simulado clsico Si se utiliza el algoritmo de recocido simulado clsico (Robust et al., 1990) se puede resolver el problema de las rutas de vehculos para los casos que tienen igual nmero de camiones que rutas y sin la imposicin de carga mxima recogida por cada ruta ni tiempo mximo de trabajo de los camiones. Este algoritmo es indicado cuando las cargas de basura a recoger en cada ncleo son muy parecidas (distribucin homognea de cargas) y pequeas en comparacin a la capacidad del camin y que la jornada de trabajo tampoco sea un factor restrictivo. En esos casos, en la configuracin ptima obtenida cada camin slo hace una ruta diaria.
Las principales caractersticas que definen este algoritmo son: Partiendo de una solucin inicial encuentra otras posibles soluciones a travs de perturbaciones aleatorias a partir de la solucin incumbente; de esta manera, va saltando de solucin en solucin indefinidamente. Una vez encontrada una nueva solucin, el algoritmo decide aceptarla o no en funcin del criterio de recocido simulado. As, para cada iteracin j, se acepta una nueva solucin si la funcin objetivo ha disminuido o si se determina aleatoriamente con una probabilidad (p j ) de aceptacin que esta en funcin del incremento en el coste (c j+1 -c j ) y de un parmetro, llamado temperatura (T j ), que depende del nmero de iteraciones realizadas hasta ese momento (su nombre proviene de la analoga fsica del proceso de cristalizacin de metales por enfriamiento lento o recocido).
p j = min{ 1 , exp (-(c j+1 -c j )/T j ) } (1)
La solucin se dar por definitiva cuando se cumpla una de las condiciones de parada. La funcin coste es el tiempo total utilizado por los vehculos para realizar las rutas.
Robust et al. (1990) consideraron tres tipos de perturbaciones aleatorias: la inversin de un tramo de una ruta; el traslado de un tramo de una parte a otra de la misma ruta; y el intercambio de un tramo de una ruta por el tramo de otra ruta. La figura 1 representa grficamente estos tipos de perturbaciones aleatorias. La sucesin de letras representa una ruta y cada una de las letras un ncleo de recogida de basura. As, la letra O representa el centro logstico (planta de tratamiento de residuos, vertedero, incineradora, terminal de transporte, etc.) de donde salen y regresan los camiones.
Fig. 1 Tipos de perturbaciones aleatorias del recocido simulado clsico Inversin: Antes: OABCDEFGHIJO Despus: OABCDJIHGFEO
Se necesita la construccin de una solucin inicial para poder empezar las perturbaciones. Aunque se podran construir rutas iniciales uniendo los ncleos aleatoriamente, tambin, se puede intentar empezar la optimizacin en la solucin inicial con la eleccin de los ncleos que formarn una ruta por su proximidad.
Se han definido tres condiciones de parada. La primera de ellas, cuando existe un nmero determinado de iteraciones consecutivas con el mismo valor de la funcin objetivo. La segunda, cuando se hayan intentado un nmero determinado de alteraciones en la solucin y ninguna haya cumplido la condicin de recocido simulado. Y la tercera condicin, cuando se haya superado un nmero determinaciones de iteraciones y, por lo tanto, la temperatura sea muy pequea.
Fig. 2 - Solucin de un ejemplo con demanda homognea (5 camiones, 50 ncleos)
2.3 El recocido simulado modificado El recocido simulado clsico slo puede resolver unos casos muy concretos y deja sin solucin aplicable otros muchos casos. Por este motivo, se ha desarrollado una modificacin del algoritmo del recocido simulado para poder resolver los otros casos, como los casos en que la demanda de recogida de los ncleos sea heterognea o los casos en que la capacidad de los camiones sea restrictiva. El algoritmo modificado ha sido programado en el programa RESACCA (REcocido Simulado Aplicado a los Circuitos de CAmiones de recogida de basuras).
Los factores relevantes para el problema especfico de la recogida comarcal de basuras son: Restriccin de no superacin de la capacidad del camin en cada ruta. Restriccin de no superacin de la jornada de trabajo en cada camin. Posibilidad de que ciertos ncleos de demanda puedan tener cargas ms grandes que la capacidad del camin. Posibilidad que un mismo camin realice ms de una ruta.
En primer lugar, para considerar las limitaciones de la capacidad de los camiones y de la jornada de trabajo hay que aadir dos condiciones ms cuando se tantea una modificacin aleatoria. Es decir, para aceptar una nueva solucin aparte de cumplirse el criterio de recocido simulado se tiene que cumplir que en cada ruta la suma de la basura recogida no supere la capacidad del camin y que todos los camiones no trabajen ms de la jornada mxima establecida. Estas dos restricciones que se han aadido producen una reduccin del nmero de soluciones posibles, ya que a diferencia del criterio de recocido simulado estas restricciones son independientes de la iteracin y slo depende de la configuracin especfica de la solucin analizada.
En los casos reales se plantea tambin la posibilidad de que haya ncleos con demanda de recogida ms grande que la capacidad de camin. Si eso sucede, el algoritmo fracciona la carga de los ncleos para que se visiten varias veces y ninguna de las veces la carga recogida sea ms grande que la capacidad del camin. Es sencillo demostrar que la particin ptima fracciona las cargas en unidades de camin ms otra carga con el resto. De esta manera, las partes que son iguales a la capacidad del camin conforman una ruta por s solas y no entran en el juego de las perturbaciones aleatorias; y la parte con el resto es tratada como los otros ncleos con carga ms pequea que la capacidad del camin.
Fig. 3 - Solucin de un caso sencillo con demanda heterognea ( 5 camiones, 24 ncleos)
Para poder considerar diferente nmero camiones y rutas y, por tanto, que un camin pueda realizar diferentes rutas dentro su jornada de trabajo, hay que aadir otro tipo de perturbacin aleatoria. De esta manera, a las perturbaciones de inversin, traslacin y intercambio, hay que aadir la de cambio de asignacin de camin. Es decir, cada ruta tiene asignado un camin que es el que tiene que realizar dicha ruta y con esta perturbacin una determinada ruta que era realizado por el camin X ser realizado por el camin Y. Como es obvio, para aceptar esta nueva solucin, tienen que cumplirse los tres criterios que se imponen en todas las iteraciones: criterio de recocido simulado, capacidad mxima de la ruta y jornada mxima que puede realizar el camin.
Hay que entrar a priori al modelo el nmero camiones y el nmero de rutas a utilizar. Esto es un inconveniente, ya que el nmero de camiones s que es un parmetro de diseo pero el nmero de rutas utilizadas no. Para evitar este problema, al programa se le introduce el nmero de vehculos a utilizar y un intervalo de posibles valores de la variable nmero de rutas. El mnimo de este intervalo suele considerarse el nmero de camiones. El mximo depende de las distancias a recorrer y las cargas a recoger de cada caso concreto. Normalmente con el mximo igual al doble del nmero de camiones es suficiente. De esta manera, el programa intenta encontrar una solucin inicial con el mnimo del intervalo; si lo consigue calcula la optimizacin con el recocido simulado modificado, si no lo consigue lo intenta con el siguiente valor del intervalo y as sucesivamente hasta llegar al final del intervalo. As, se hace la optimizacin con el mnimo nmero de rutas que puede calcular. Este planteamiento se basa en el criterio que normalmente el tiempo total empleado es menor si utilizamos menos rutas.
Finalmente, falta explicar cmo se determina la solucin inicial. Esta solucin inicial tiene que cumplir las dos restricciones ya explicadas: mxima carga por ruta y mximo tiempo empleado por camin. Por este motivo, se hace difcil para muchos casos encontrar un algoritmo sencillo que d una solucin inicial que cumpla estas dos restricciones. Esto es debido a que esta primera solucin est poco optimizada y, por lo tanto, los recorridos que utiliza rpidamente llegan a capacidad mxima de la ruta o jornada mxima. Para poder superar esta dificultad se ha ingeniado el recocido simulado modificado e interrumpido.
2.3. Solucin inicial: el recocido simulado modificado e interrumpido El procedimiento para encontrar la solucin inicial empieza en un algoritmo que agrupa los ncleos en rutas imponiendo solamente una de las dos condiciones, la carga mxima recogida en cada ruta. Se ha podido comprobar que en la mayora de casos en que se conoce que existe solucin posible, este principio cluster first es capaz de encontrar esta primera solucin.
Estas rutas iniciales que no cumplen la condicin de no superacin de la jornada mxima por cada camin se utilizan como solucin inicial en el recocido simulado modificado e interrumpido. Las caractersticas de este algoritmo son las mismas que el recocido simulado modificado pero con unas pocas diferencias: Los criterios que tienen que cumplir una perturbacin para ser aceptada como nueva solucin son solamente dos: el criterio de recocido simulado y la condicin de no superacin de la carga mxima por ruta. La funcin objeto en lugar de ser el tiempo total es slo el exceso temporal que sufre cada camin respecto a la jornada laboral. Este proceso es interrumpido cuando se llega a una solucin que tiene la funcin objeto negativa.
El objetivo de este algoritmo es encontrar la solucin que tiene mnimo el exceso respecto a la jornada laboral. As, provocamos la interrupcin del proceso cuando la funcin objeto es negativa porque esto nos indica que la solucin que analiza la iteracin en que nos encontramos cumple las dos condiciones que imponemos en el recocido simulado modificado. Si no se llega a una solucin con funcin objeto negativa implica que no se puede configurar el sistema de recogida con ese nmero de rutas y de camiones.
3. APLICACIN Y COMPARACIONES
La aplicacin se realiza en el diseo de la recogida de basuras para seis casos reales correspondientes a diversas comarcas, provincias, y Comunidades Autnomas espaolas. N de ncleos Carga total a recoger (Unidades de camin) Caso 1 74 11,52 Caso 2 81 4,47 Caso 3 100 10,25 Caso 4 107 24,28 Caso 5 88 22,6 Caso 6 119 22,64 Tabla 1 - Caractersticas de los casos analizados
Tambin se dispone de los resultados obtenidos para dichos casos por el algoritmo clsico de Clarke y Wright. El programa concreto de este algoritmo que se ha utilizado para estos casos tambin permite imponer las limitaciones de capacidad del camin y de jornada mxima pero no permite utilizar ms rutas que camiones. N N Tiempos Coste total % mejora rutas camiones (min) (PTA/dia) Caso 1 C&W 13 13 4828,0 803932 Resacca 12 12 4666,0 754405 6,2% Caso 2 C&W 7 7 3244,5 470808 Resacca 7 7 3141,5 464750 1,3% Caso 3 C&W 11 11 4153,5 684265 Resacca 11 11 4092,5 680678 0,5% Caso 4 C&W 25 25 8787,5 1516789 Resacca 25 25 8728,5 1513319 0,2% Caso 5 C&W 25 25 6235,5 1366707 Resacca 23 23 6203,5 1284825 6,0% Caso 6 C&W 25 25 9274,5 1545429 Resacca 23 23 9066,5 1453197 6,0% Tabla 2 - Resultados con nmero de rutas igual al nmero de camiones
La funcin de coste utilizada para ambos algoritmos es la suma de un coeficiente por el nmero de camiones utilizados ms otro coeficiente por las horas utilizadas por todos las rutas. El primer coeficiente es el coste diario del equipo de operarios que van en cada camin. As, se ha considerado que los operarios cobran un suelo fijo diario y, por tanto, no van por horas. El segundo coeficiente, es la suma de la amortizacin del camin, el coste de mantenimiento y el coste del combustible por cada hora que trabaja el camin. De esta manera, se ha hecho la hiptesis que estos tres costes dependen de las horas trabajados por el camin. Aparte de los gastos del servicio considerados existen otros como la amortizacin de los contenedores o la amortizacin del garaje para los camiones, pero no se han tenido en cuenta ya que no dependen de la configuracin de rutas escogida. La jornada laboral se ha fijado en 8 horas y la capacidad del camin es la unidad.
Primeramente, se comparan los resultados de los dos programas (C&W y Ressaca) considerando en ambos casos el nmero de vehculos igual al nmero de rutas. La tabla 2 muestra los resultados. En todos los casos se mejora el coste del servicio. No obstante, las nicas mejoras substanciales son en aquellos casos que se ha podido disminuir el nmero de camiones utilizados. Tambin es importante indicar que si se hubiera hecho la hiptesis de amortizacin del camin por das transcurridos y no por horas trabajadas, la mejora del coste sera mucho ms grande.
Las figuras 4 y 5 nos muestran las soluciones para el caso 1 de los dos programas. Las representaciones de las rutas en estas figuras estn en mtrica eucldea pero el algoritmo utiliza para el clculo las distancias sobre la red de carreteras.
Fig. 4 - Solucin de C&W para el caso 1. Fig. 5 - Solucin de Resacca para el caso 1
En segundo lugar, se realiza la comparacin pero con la posibilidad que el programa Resacca pueda utilizar ms rutas que camiones. En los casos que se analizan esta mejora slo es posible para los casos 4 y 5; la Tabla 3 muestra los nuevos resultados.
N N Tiempo Coste total % mejora rutas camiones (min) (PTA/dia) Caso 4 C&W 25 25 8787,5 1516789 Resacca 25 22 8807,5 1397965 7,8% Caso 5 C&W 25 25 6235,5 1366707 Resacca 24 17 6438,5 1058645 22,5% Tabla 3 Resultados con la posibilidad que N rutas sea ms grande que N camiones
En estos casos es donde realmente la mejora es apreciable. El motivo de la gran mejora es que si se utiliza slo una ruta por camin quedan camiones que no aprovechan toda la jornada laboral y, por tanto, se est pagando el sueldo a unos operarios durante unas horas que no trabajan. En cambio, si se utilizan diferentes rutas para un mismo camin la jornada laboral se aprovecha ms y no hace falta utilizar tantos camiones.
4. CONCLUSIONES
El algoritmo diseado es una modificacin del recocido simulado particularizada para el VRP, que produce excelentes resultados. Cabe distinguir dos tipos de casos. En primer lugar, aqullos en que en la situacin ptima cada camin slo realiza una ruta; la mejora de Resacca es perceptible respecto a los algoritmos habituales slo si Resacca puede disminuir el nmero de camiones. En segundo lugar, en los casos en que la limitacin ms restrictiva es la capacidad de los camiones y, por tanto, las rutas resultantes son cortas y para aprovechar toda la jornada laboral es apropiado que un mismo camin haga varias rutas. En estos casos Resacca consigue una gran mejora respecto a los algoritmos clsicos como el de Clarke y Wright.
REFERENCIAS ROBUST, F., C.F. DAGANZO y R.R. SOULEYRETTE II (1990). Implementing Vehicle Routing Models. Transportation Research B, 21B:4, 263-286.
AARTS, A. y J.K. LENSTRA (1996). Local Search in Combinatorial Optimization. John Wiley & Sons, New York.