PROGRAMA RSU PARA LA OPTIMIZACIÓN DE LA RECOGIDA DE

Anuncio
PROGRAMA RSU PARA LA OPTIMIZACIÓN DE LA RECOGIDA DE RESIDUOS
SÓLIDOS URBANOS
Ambiente: agua, residuos
del Río, L.M. (*)
Moreno, J. (*)
González, N. (*)
Baeza, A. (*)
Gil, J.M. (**)
Lobato, J. (**)
(*) Universidad de Extremadura
(**) Consejería de Medio Ambiente, Urbanismo y Turismo. Junta de Extremadura
Resumen:
Hemos desarrollado un software que permite optimizar la recogida de residuos sólidos urbanos,
trabajando el usuario en un entorno gráfico vectorial sobre el mapa de la población o comarca
objeto de estudio. El programa elaborado incluye diferentes opciones que permiten realizar las
siguientes tareas:
1) Ubicación de los contenedores sobre el mapa
2) Selección de las rutas óptimas de recogida
3) Obtención de los centros logísticos óptimos para la ubicación de las plantas de
tratamiento de los residuos.
4) Optimización de los costes del proceso global de recogida
5) Configuración de los diferentes tipos de contenedores, vehículos de recogida,
parámetros de costes, etc.
A fin de evaluar las distintas alternativas a la recogida de residuos sólidos sobre una población
de referencia, hemos efectuado diferentes test de funcionamiento del programa RSU, analizando
las diferentes rutas óptimas halladas por el programa, en función de distintos tipos de
contenedores utilizados.
PROGRAMA RSU PARA LA OPTIMIZACIÓN DE LA RECOGIDA DE RESIDUOS
SÓLIDOS URBANOS
1. Introducción.
RSU es un paquete informático interactivo, diseñado para gestionar de forma integrada, todos
los procesos relacionados con la recogida de residuos sólidos urbanos.
El problema a resolver ha sido estudiado por diversos investigadores y no existe una solución
exacta y única, ya que se trata de un NP-completo. En el campo de la investigación operativa se
han presentado algunas aproximaciones entre las que podemos destacar los trabajos de Bodin
(1983), Benavente (1983) y más recientemente Eiselt et al (1992). También son de destacar
algunos sistemas computerizados desarrollados para la recolección de basuras en algunas
ciudades como el presentado por Beltrami (1974) para New York, el de Male (1978) para
Knoxville o más recientemente por Alvarez-Valdes (1993). Asimismo existen soluciones para
otros problemas relacionados tales como el control de hielo en las autopistas y repartos postales
(Bodin(1978,1979), Roy (1989) y Haslam (1991) ).
En la presente comunicación presentamos, en la sección 2, las características generales del
programa; en la tercera, se describe, con detalle los contenidos del mismo; en la cuarta, se da
una metodología de uso del paquete; en la quinta se incluye algunos detalles sobre la
implementación del mismo; en la sexta, se describen los algoritmos básicos para el cálculo de
rutas óptimas; y en la última, se detallan una serie de experiencias computacionales realizadas a
modo de test de funcionamiento del programa.
2. Características generales del programa.
El programa RSU ha sido desarrollado, en un principio, para ser utilizado en la gestión de la
recolección de basuras en ciudades con volúmenes de residuos de tipo intermedio
correspondientes a poblaciones en torno a 50.000 habitantes aproximadamente.
Básicamente está compuesto de una serie de módulos que corresponden a misiones que pueden
ser tratadas de forma totalmente separada, ya que para el diseño de los algoritmos se ha tenido
en cuenta que su ejecución iba a realizarse en un ordenador monoprocesador del tipo IBM PC o
compatible (véase figura 1).
Sus características generales pueden resumirse diciendo que es un paquete gráfico interactivo
que posee las siguientes habilidades:
- Facilidades gráficas que permiten al usuario introducir y/o modificar datos relativos a la
referencia de la ciudad, datos censales y otros que conciernen a la geometría de las calles.
- Siembra automática de contenedores (incluidas siembras para “zonas especiales”).
- Construcción de rutas óptimas de recogida de residuos urbanos para las zonas elegidas por el
usuario.
- Elaboración de informes (pantalla/impresora/plotter) de todos los procesos asociados a la
recogida.
3. Descripción del programa.
El programa RSU está organizado en una serie de módulos independientes, cuya interrelación se
expresa en el gráfico adjunto (figura 1):
CONFIGURACIÓN
•Módulo de siembra de contenedores
•Módulo
de
gestión
de
almacenamiento
externo
(ficheros)
•Módulo de generación de caminos
Módulo
de
Interacción
con
el usuario
•Módulo de cálculos económicos.
•Módulo generador de informes
figura 1. Esquema de bloques.
1. Módulo de interacción con el usuario: este módulo se instrumenta como un entorno gráfico
interactivo compuesto de un sistema de menús que permiten al usuario un control total sobre el
sistema por medio de un dispositivo apuntador. El entorno gráfico está dividido en cuatro zonas,
tal como puede apreciarse en la figura 2:
a) Barra de menús.
b) Barra de herramientas.
c) Área de edición.
d) Área de Información.
figura 2. Entorno gráfico de usuario.
La Barra de menús, tal como se muestra en la parte superior de la figura 2, contiene los
siguientes items:
1. Menú de archivos: gestiona el manejo de archivos necesarios para la ejecución de la
aplicación: ficheros de referencia que contienen los planos digitalizados de las ciudades en
formato DXF, ficheros de ciudades generados automáticamente en el proceso de edición de
datos censales y almacenados en formato ASCII para facilitar la consulta externa, ficheros de
mancomunidad que contienen los datos de posición y volumen de basura de cada una de las
ciudades que forman una mancomunidad en formato ASCII y ficheros de plotter conteniendo la
información gráfica de una ruta óptima generada por el sistema.
2. Configuración: este fichero ASCII contiene las variables globales de la aplicación:
Ratio de producción (volumen de basura asociado a cada tipo de vivienda o edificio),
Conversiones que permite al sistema transformar el volumen de basura en kilogramos,
Contenedores que almacena los tipos de contenedores utilizados en el proceso de siembra y el
coste de su mantenimiento, Vehículos, con la información del tipo de camión a utilizar en la
recogida y Personal, que almacena los datos económicos relativos al personal encargado de la
recogida.
3. Procesos: en este menú el usuario selecciona una de las operaciones globales a
realizar en la ciudad: Siembra, proceso de reparto de los contenedores de acuerdo a una serie de
premisas fijadas en la configuración, Siembra especial, permite realizar el proceso de siembra
en “zonas especiales” de la ciudad con tamaños de contenedores distintos a los elegidos para el
resto de la ciudad, Desiembra, que deshace el proceso anterior, Camino, opción que posibilita la
búsqueda de una ruta óptima de recogida para una zona sembrada, Consistencia, que realiza un
análisis de la ciudad para eliminar todo aquello que haga inconsistente el tráfico de la misma y
Centro de gravedad que posibilita el cálculo del centro geométrico de un grupo de ciudades,
teniendo en cuenta sus posiciones y sus volúmenes de basura.
4. Informes: este menú gestiona la salida impresa de informes de Siembra, Económico,
de camino y de Centro de gravedad.
5. Ayudas : este menú contiene ayudas en línea para todas las operaciones que realiza el
programa.
2. Módulo de siembra de contenedores: este módulo contiene las operaciones de Siembra,
Desiembra y Siembra especial, mencionadas en el apartado anterior.
3. Módulo de generación de caminos: incluye los algoritmos de generación y depuración de
rutas óptimas de recogida de residuos.
4. Módulo de cálculos económicos: de acuerdo con los datos incluidos en la configuración
global del sistema, este módulo de encarga de realizar un estudio económico del proceso para
una zona sembrada y con una ruta óptima generada.
5. Módulo generador de informes impresos: supone la implementación de los procesos descritos
en el menú de informes.
La Barra de herramientas situada en la parte inferior izquierda de la figura 2 incluye una serie de
iconos correspondientes a diferentes operaciones gráficas de ayuda al usuario: Ampliación,
Reducción, Desplazamiento, Mundo, Refresco de pantalla y Gestión de visualización de capas
de información.
El Área de edición comprende la parte central de la pantalla gráfica y en ella se van a realizar
todos los procesos relacionados con la edición de información por parte del usuario sobre el
plano de la ciudad de referencia.
La Zona de información situada en la parte inferior derecha de la pantalla, que contiene
información visual sobre la RAM disponible y utilizada en cualquier instante, el nº de elementos
actuales (vértices, cruces y calles), el volumen de basura del grupo elegido y los nombres de la
ciudad de la referencia y de la calle activa (sobre la que se está realizando el proceso de
edición).
Información adicional sobre otras habilidades del programa se detallan en Del Río (1997).
4. Método de trabajo.
Para una óptima utilización del paquete recomendamos la siguiente metodología:
1. Una vez establecido el espacio de trabajo, esto es, la ciudad o zona elegida, debe
realizarse la carga del fichero DXF que contenga la referencia gráfica sobre la cual el usuario va
a interactuar.
2. A continuación dará comienzo una sesión de edición de datos, esto es, introducción
de los valores censales correspondientes y la geometría (anchura) de las calles. Los datos
introducidos y/o modificados serán almacenados en un fichero ASCII.
3. Cuando el proceso de edición esté completo se efectuará un análisis de consistencia,
para verificar la no existencia de calles sin acceso u otro tipo de error cometido en el trabajo de
edición.
4. Una vez completado el proceso de edición, debe realizarse la siembra de los
contenedores de la ciudad, de acuerdo con los datos existentes en el fichero de configuración
(distancia máxima de cualquier portal a un contenedor, tamaños de los contenedores y tipo de
carga del vehículo de recogida). Si en la ciudad existieran zonas especiales de siembra, éstas
deberán ser especificadas a la hora de la edición de los datos. Una vez realizada la siembra,
podrá obtenerse un informe por pantalla o impresora de la misma
5. A continuación, comenzará el proceso de planificación, eligiendo la zona a
recolectar (grupo). Este proceso es lógicamente el más lento en términos de tiempo de CPU.
6. Por último, el usuario podrá obtener cualquier salida impresa (informe) sobre el
grupo elegido y podrá asimismo exportar al trazador o a un fichero el informe sobre la ruta
óptima calculada.
5. Notas sobre la implementación.
a) Software.
La primera cuestión a tener en cuenta a la hora de implementar una aplicación informática, es
sin lugar a dudas la elección de la plataforma de desarrollo que más se ajuste a las tareas y
problemas a resolver. Para ordenadores personales tipo PC, existen varios sistemas operativos a
tener en cuenta, básicamente: MS-DOS, MS-WINDOWS y LINUX. Nos decantamos por la
utilización de un compilador bajo MS-DOS, obviando incluso la potencia gráfica de MSWINDOWS, al tener la certeza de obtener un código más compacto, debido sobre todo a la no
presencia de multitarea, usando un compilador DOS. Decidimos utilizar el compilador Turbo
Pascal 7.0 (Borland Int.) para los algoritmos básicos y Borland C++ 4.0 (Borland Int.) para las
tareas de interacción con el usuario y emisión de informes.
La siguiente cuestión a considerar es la técnica de programación, la o las estructuras de datos y
los algoritmos que componen el paquete. En cuanto a la técnica de programación, nos
decantamos por la utilización de la llamada Object Oriented Programming (OOP), una técnica
novedosa de programar basada en los conceptos de herencia y jerarquía de objetos. El ahorro de
tiempo y esfuerzos a la hora de implementar operaciones repetitivas justifica por sí solo el uso
de esta técnica. El primer nivel lo constituyen los nodos, unidades básicas de información que
incluyen cruces, portales, contenedores e inflexiones (cambios de dirección o anchura) de las
calles; de cada uno de los nodos se almacena su posición en la calle, el valor de la anchura si se
trata de una inflexión y el volumen de basura para los nodos contenedores. En términos de
herencia, el siguiente nivel lo constituyen las calles, formadas por un grupo de nodos y un
nombre. Por último, aparece la ciudad como entidad superior, formada por un conjunto de calles
y un nombre. Asimismo y de forma adicional a efectos de cálculo de un centro de gravedad, se
consideró un nivel extra denominado mancomunidad, que agrupa bajo un nombre a un conjunto
de ciudades.
b) Hardware.
Tal como enunciamos en un apartado anterior, este paquete se ejecuta correctamente en
cualquier computador PC con procesador 80286 o superior, siempre que esté provisto de un
adaptador gráfico compatible con la norma VESA y un dispositivo apuntador cualquiera. La
cantidad de memoria RAM y de disco duro necesario depende exclusivamente del tamaño y
número de nodos de la ciudad objeto de estudio, aunque es recomendable una RAM mínima de
16 Mbytes y un disco duro con capacidad de 500 Mbytes. Adicionalmente se requiere cualquier
impresora gráfica y un plotter compatible con el lenguaje HPGL para las salidas de informes
impresos.
6. Algoritmos básicos para el cálculo de rutas óptimas.
Inicialmente partimos de la premisa siguiente: una ruta óptima es aquella formada por
encadenamiento de “subrutas óptimas”, con lo que el problema global puede ser resuelto
teniendo en cuenta dos detalles: encontrar el orden más adecuado para la recogida y un método
capaz de calcular el camino más corto que une dos contenedores que deben ser recogidos uno a
continuación del otro. Considerando las dos premisas por separado no podríamos resolver el
problema satisfactoriamente; sin embargo, si modificamos la primera en función de la segunda,
y generamos todas las rutas que el tráfico permita podemos llegar a resultados aceptables.
Para ilustrar esta idea imaginemos una pequeña zona compuesta de tres contenedores (C1, C2 y
C3) y un punto de salida S. En la figura 3 puede verse este esquema, indicándose las hipotéticas
distancias establecidas entre los contenedores (4-6-12), considerándose como una constante la
distancia entre el punto de salida y cualquiera de los contenedores.
Si pudiéramos generar todas las posibles rutas, lo cual resulta inviable en un caso práctico real,
nos encontraríamos con un total de seis caminos de los cuales tres deben ser eliminados por ser
incompatibles con las direcciones de tráfico propuestas, tal como se indica en la figura 3.
12
C1
S-C1-C3-C2
4
C2
S
6
C3
Imposible.
S-C1-C2-C3
Factible.
S-C2-C1-C3
Imposble
S-C2-C3-C1
Factible
S-C3-C1-C2
Factible
S-C3-C2-C1
Imposible
figura 3. Ejemplo de recogida.
Un proceso de cálculo simple nos indicaría sin lugar a dudas que la ruta óptima es aquella que
comienza en C1, pasando a continuación por C2 y por último C3. Veamos el comportamiento
del algoritmo RSU. Dado que no podemos saber a priori cual sería el orden inicial que los tres
nodos poseerían en la estructura, supongamos un orden cualquiera como C3-C2-C1:
a) El algoritmo básico calcularía el camino más corto para ir de C3 a C2 y se encontraría con la
ruta C3-C1-C2. A continuación le encadenaría el camino C2-C1, con lo que el camino global
sería C3-C1-C2-C1.
b) Repetiría el proceso anterior considerando como elemento inicial C2, esto es, calcularía la
ruta para el orden C2-C1-C3 y obtendría el camino C2-C3-C1-C3.
c) De forma análoga calcularía el camino para la tercera posibilidad C1-C3-C2 y obtendría la
ruta C1-C2-C3-C2.
d) El proceso de eliminación de redundancias nos daría tres posibles candidatos:
C3-C1-C2 :12+4.
C2-C3-C1:.6+12.
C1-C2-C3:.4+6.
f) El proceso final de cálculo nos devolvería la ruta C1-C2-C3 como la óptima dado que es en la
que se recorre menor distancia, lo que concuerda exactamente con el resultado previsto.
7. Experiencias computacionales.
Para validar la eficacia del paquete se han diseñado una serie de experimentos de recogida
simulando los datos censales y geográficos de una ciudad real de aproximadamente 50.000
habitantes. Se partió de un plano digitalizado de la misma, se eligió una zona de ensayo y se
introdujeron datos teóricos que representan una elevada concentración de residuos sólidos en la
zona.
Para efectuar los test se eligieron diversas subzonas y se asumió que el coste es proporcional a
la distancia recorrida para recorrer todos los contenedores incluidos en la misma.
a) Test de consistencia de cambio de orden: .
Con esta prueba intentamos verificar la influencia que el orden de edición de los datos de la
ciudad puede poseer en el tiempo de cálculo empleado por el programa en encontrar una
determinada ruta óptima. Así, tomando como referencia una zona conteniendo 47 calles y
seleccionando 4 no conectadas y muy alejadas entre sí. Se introdujeron los datos de dichas
calles en los siguientes órdenes:
1) 1º A- 2º B- 3º C y 4º D:
2) 1º B- 2º A- 3º C y 4º D.
3) 1º C- 2º A- 3º B y 4º D:
4) 1º D- 2º A- 3º B y 4º C:
Los consumos de tiempo de cálculo, normalizados al menor (correspondiente al orden 1) son
respectivamente: 1) 1,00; 2) 1,06; 3) 1,30; 4) 1,17
Las diferencias observadas se deben a dos factores: el tiempo consumido en conectar entre sí las
calles y el hecho de que el algoritmo RSU no genera el mismo número de rutas en todos los
casos.
b) Test de errores de salida de zona: prácticamente todas las rutas generadas por el programa
arrojan resultados que incluyen “salidas” de la zona elegida, debidas sobre todo a la regulación
del tráfico. A modo de ejemplo y considerando las cuatro experiencias anteriores los porcentajes
de distancias recorridas fuera de la zona elegida son los siguientes: 1) 10,2%.; 2) 8,3%.; 3)
9,9%.;4) 6,4%.
Podemos observar que todos los resultados se encuentran en una banda de pérdida en torno al 610%. Es significativo el hecho de que en algún caso (ruta 1) las salidas de la zona elegida
contribuyen a facilitar la solución óptima, tal como se desprende del mayor porcentaje de
pérdida correspondiente a la ruta más rápidamente encontrada .
c) Test de influencia del volumen de los contenedores:
Para el diseño de esta prueba se eligió una subzona conteniendo un volumen de residuos
aproximadamente igual al de un vehículo y se realizaron siembras en la misma con tres tamaños
distintos de contenedores. En la tabla 1 se ofrecen los resultados obtenidos. En ésta, se indican
los volúmenes de cada tipo de contenedor seleccionado, su número total correspondiente a la
siembra realizada, el tiempo de CPU consumido en encontrar la ruta óptima, el coste estimado y
la distancia recorrida en cada una de las rutas óptimas obtenidas. Como puede verse, estos
últimos tres parámetros se ofrecen normalizados al de menor valor.
Vol. cont.
Nº Cont.
T. norm CPU
Coste
Distancia
1000
69
1,00
1,00
1,00
800
83
1,06
1,08
1,05
320
274
1,22
1,33
1,05
Tabla 1. Test de influencia del tamaño del contenedor.
Como puede observarse en la tabla, no se aprecia una diferencia significativa entre las distancias
recorridas en cada caso, lo cual indica que las rutas seguidas son prácticamente las mismas. Sin
embargo, como es lógico,. existe una relación inversa entre el tamaño del contenedor y el coste
estimado que supone su recogida, lo cual es consecuencia de la diferente densidad de
contenedores obtenida en cada siembra, y por tanto del mayor tiempo empleado en su descarga.
8. Bibliografía.
-Alvarez-Valdés, R., Benavent, E., Campos, V., Corberán, A., Mota, E., Tamarit, J.M. y Valls,
V.(1993) ARC. A Computerized System for Urban Garbage Collection.Top. Vol 1. nº 1, 1993,
pp 89-105.
-Bodin , L. D., Golden B. L., Assad A.A., y Ball, M.o.(1983). Routing and Scheduling of
vehicles and Crews. The State of the Art. Comput. Oper. Res., nº 10, 1983, pp 63-211.
-R., Benavent, E., Campos, V., Corberán, A., Mota (1983). Problemas de rutas por arcos.
QUESTIO,nº 7, pp 479-490.
-Eiselt H. A., Gendreau, M. y Laporte G. (1992). Arc Routing: Problems, Applications and
Algorithm. Technical Report CRT-872. Centre de Recherche sur les Transports.
-Male, J. W. y Liebman J.C.(1978). Districting and Routing for Solid Waste Collection. J. of the
Environment Engineering Division, 104, EEI.
-Bodin L. D. y Kursh S.J. (1978). A Computer-Assisted System for the Routing and Scheduling
of street Sweepers. Oper. Res., nº 26, pp 525-537.
-Bodin L. D. y Kursh S.J. (1978). A Deatailed Description of a Computer System for the
Routing and Scheduling of street Sweepers. Comp. Oper. Res. nº 6, pp 181-198.
-Roy, S., y Rosseau J.M.(1989). The capacited Canadian Postman Problem. INFOR. nº 27, pp
58-73.
-Haslam E. y Wright J.R. (1991) ). Applications of Routing Technologies to Rural Snow and Ice
Control. Transportation Research Record. nº 1304, pp 202-211.
-Del Rio Pérez, L.M., Moreno del Pozo, J. y Baeza Espasa, A.. Manual de Referencia del
programa RSU. (1997)
Descargar