Validación de la implementación de la Función de Aptitud de un

Anuncio
Resumen: E-024
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Validación de la implementación de la Función de Aptitud
de un Algoritmo Genético aplicado a la sectorizacion
Herrmann, Castor F. - Monzón, Ricardo - Mariño, Sonia I. - Bogado, Verónica
Departamento de Informática. Facultad de Ciencias Exactas y Naturales y Agrimensura. UNNE.
9 de Julio 1449. 3400 Corrientes. Argentina
[email protected], [email protected], [email protected], [email protected]
1. Introducción
Los Algoritmos Genéticos (AGs) son una herramienta relativamente nueva, perteneciente al campo de la Inteligencia
Artificial, se basan en los procesos naturales que permiten la evolución de las especies en las poblaciones. El principal
fundamento es la Teoría de la Evolución de Darwin, complementado con otros conceptos y teorías más recientes de la
Genética.
Formalmente, los Algoritmos Genéticos se pueden definir como métodos sistemáticos para la resolución de problemas
de búsqueda y optimización que aplican a éstos los mismos métodos de la evolución biológica: selección basada en la
población, reproducción sexual y mutación [MER].
La implementación de un AG requiere el planteo de un conjunto de elementos (operadores, parámetros y criterios),
siendo los más importantes: la Función de Aptitud (Fitness), la representación de las soluciones (definición de los
individuos), el esquema de reemplazo (determina en cierto modo el tipo de AG), los operadores (selección, cruce y
recombinación, mutación, etc.), los parámetros (tasa cruce, tasa de mutación, número generaciones, etc) y ciertos
criterios (de reemplazo, de inicialización, de parada, etc).
La Función de Aptitud es la función objetivo en los problemas de optimización. Ésta, se debe maximizar y/o minimizar,
encontrando valores para los diferentes parámetros que resulten óptimos al ser reemplazados en la función objetivo. La
función objetivo debe reflejar los aspectos más relevantes del problema; estableciéndose las condiciones que restringen
los resultados proporcionados por el algoritmo. El valor de la Función de Aptitud representa la calidad de la solución o
el fitness de cada individuo [BEA].
Los Algoritmos Genéticos pueden ser utilizados como métodos de optimización o búsqueda, resolviendo problemas de
la clase NP-Completos.
Un problema que puede ser resuelto adecuadamente mediante la aplicación de Algoritmos Genéticos es el problema de
sectorización. La sectorización consiste en agrupar un conjunto de puntos definidos en un espacio determinado de una
forma óptima, cumpliendo con la condición de que un punto puede pertenecer solo a un sector y cada uno de los puntos
definidos en el espacio debe estar contenido en alguno de los sectores conformados. Los sectores óptimos son aquellos
que agrupan a todos los puntos del espacio de la manera más conveniente a la distribución que presentan los mismos.
Esta forma óptima de sectorizar implica que la distancia entre los puntos de cada sector sea mínima y la distancia entre
los centros de los distintos sectores sea lo suficientemente lejana.
La sectorización, descripta como problema general, puede aplicarse a problemas puntuales. Un problema específico es
el agrupamiento de puntos de recogida de residuos, en los cuales se encuentran uno o más contenedores. En este caso
particular, además de las consideraciones mencionadas para el caso general, se debe tener en cuenta la cantidad de
contenedores por punto, la capacidad de los mismos, la capacidad de los camiones y los enlaces entre los puntos.
El propósito del presente trabajo es estudiar las características del sistema informático descrito por Peláez Sánchez
[PEL], con el fin de investigar el AG, especialmente la Función de Aptitud para resolver un problema de sectorización
específico. Se presentan y analizan los resultados obtenidos con la implementación del AG y su comportamiento ante
las modificaciones de ciertos parámetros.
2. Materiales y métodos
La metodología adoptada en este trabajo se basa en los pasos definidos para el desarrollo de herramientas que
incorporan Algoritmos Genéticos, siendo éstos:
1º)
Análisis y definición del problema
2º)
Representación y codificación de las soluciones
a. Especificación de genes, cromosomas, individuos, población
3º)
Definición de la Función de Aptitud
a. Diseño de la Función de Aptitud.
b. Implementación de la Función de Aptitud
c. Análisis del comportamiento de la Función de Aptitud
4º)
Definición del proceso completo del AG
5º)
Definición de los parámetros
6º)
Modificación del AG específico aplicado a la sectorización: (función de adaptación)
7º)
Evaluación de los resultados
Resumen: E-024
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
El desempeño del algoritmo depende, en gran medida, del equipo empleado, por lo tanto los resultados proporcionados
por el mismo (tiempos de ejecución) tienen una relación directa con él. Las herramientas de mayor importancia para el
cumplimiento de los objetivos planteados son: i) El Algoritmo Genético, objeto de estudio del trabajo, está diseñado
especialmente para sectorizar los puntos de recogida de residuos urbanos, ubicados en un área determinada. El mismo
se encuentra incorporado como un módulo del SADRSRU [PEL], Sistema de Apoyo a la Decisión para la Recogida
Selectiva de Residuos Urbanos. ii) Lenguajes de programación. Entre otras herramientas, se utilizaron Delphi y C++
(Borland Delphi 6 y Borland C++ Builder). Este último para realizar las modificaciones necesarias en el AG. iii)
Hardware de la Implementación. Para la validación del AG, se empleó una PC con las siguientes características:
Procesador AMD K6-2 de 500 MHz Memoria RAM 128 MB, dos DIMM de 64 MB. Disco Rígido de 5 GB. Placa
madre con un bus de 100 MHz. Sistema Operativo: Ms-Windows 98 2da Edición
Resultados
El comportamiento del AG en las pruebas depende de diversos factores, los cuales condicionan la calidad de las
soluciones brindadas por el mismo y el tiempo empleado para alcanzar tales soluciones.
Si bien, el AG estudiado se aplica para resolver el problema de sectorización, se debe tener presente que soluciona una
aplicación particular del mismo, donde los puntos en el espacio simbolizan puntos de recogida de residuo. Por lo tanto,
existen dos grupos de parámetros, que influyen de diferentes formas sobre el desempeño del AG, los propios del
problema de sectorización y los propios de un AG, a su vez dentro del primer grupo se encuentran los específicos de
este problema de sectorización. Los parámetros considerados relevantes del primer grupo citado, para el análisis del
AG particular, son: la cantidad de puntos definidos en el espacio y las distancias entre los puntos. Algunos de los
propios de este problema de sectorización son: el número de enlaces realizados entre los puntos (entre puntos que sean
adyacentes), cantidad de contenedores, capacidad de los contenedores, capacidad de los camiones. Entre los más
destacados del segundo grupo se encuentran el número de iteraciones, la tasa de mutación, la composición de los
individuos (cantidad de genes y cromosomas).
Los parámetros empleados por la Función de Aptitud (para mayores detalles ver [PEL] y [HER]) en la resolución del
problema planteado son: las distancias entre los puntos (respecto a un centro de gravedad) y ubicación de los puntos en
el espacio (coordenadas de cada punto), indirectamente influye también la cantidad de puntos definidos. Éstos se
utilizan para obtener un conjunto de valores resúmenes que reflejan la calidad de cada solución, posible configuración
de los sectores respecto de una distribución dada de los puntos.
Muchos de los parámetros pueden ser manipulados mediante la interfase del sistema, sin embargo algunos de ellos no
están disponibles a modificaciones de usuarios. En este caso con el único objetivo de estudiar la sensibilidad del
comportamiento del AG ante cambios en sus operadores o parámetros se consideró necesario algunas reformas en la
implementación del mismo.
Con el fin de validar el comportamiento de la Función de Aptitud se realizaron distintas ejecuciones del AG, donde en
cada caso se cambiaron los valores de algunos de los parámetros mencionados y se mantuvieron constantes otros,
combinándolos según corresponda. Si bien, el número de pruebas concretadas formalmente en el trabajo fueron 37, se
realizaron un sin número de pruebas “pilotos” para corroborar el buen funcionamiento del AG estudiado, las cuales por
razones de tiempo y espacio (tamaño del documento) fueron excluidas. Para el presente trabajo se seleccionaron
aquellas que mejor destacan los valores de la Función de Aptitud respecto de las distancias entre los puntos.
A modo de ilustrar el trabajo se muestran dos casos de estudio. Estas pruebas se realizaron con 25 puntos en el espacio
condiciones similares, diferenciándose en dos casos particulares. En cada uno de ellos, la cantidad de enlaces y la
distribución de los puntos en el espacio es diferente. Para ambos casos la cantidad de camiones es 1 y su capacidad de
27.000 litros, la cantidad de contenedores es de 25 con una capacidad de 1.100 litros, la cantidad de puntos de recogida
es 25 donde existe un solo contenedor en cada punto. La evolución se realizó mediante 50 generaciones hasta un total
de 400. El valor del parámetro de mutación varió entre 0 y 5, según corresponda.
Ejemplo 1.En las pruebas realizadas para este caso de estudio, las diferentes variables asumen los valores establecidos
anteriormente. Por otro lado la distribución de los 25 puntos en el espacio es muy concentrada, en una zona particular
del plano, siendo las distancias entre los puntos muy pequeñas. Además, la cantidad de enlaces es 30. En la tabla 1 se
muestran los resultados obtenidos con la ejecución del AG con estos valores de parámetros. En la figura 1 se muestran
los sectores obtenidos (solución): Sector 1, Sector 2.
Tabla 1: Valores de la Función de Aptitud del ejemplo 1
Cant.
Fitness
Generaciones (calidad mejor solución)
80,3354110717773
50
80,2975692749023
100
80,2975692749023
150
80,2975692749023
200
80,2975692749023
250
80,2975692749023
300
80,2975692749023
350
Tiempo Ejecución
por c/50 gener.
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
Resumen: E-024
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Cant.
Fitness
Generaciones (calidad mejor solución)
80,2975692749023
400
Tiempo Ejecución
por c/50 gener.
1 minuto
8 minutos = 480 seg
Luego de realizarse las 400 generaciones, se obtuvo como mejor solución la siguiente.
Cantidad de sectores: 2
Sector 1: 10-16-19-9-4-1-8-18-6-7-14-2-12-17-15-11-3-13-5
Carga del sector 1: 20.900
Sector2: 20-21-22-24-23-25
Carga del sector 2: 6.600
Figura 1: Sectores obtenidos en el ejemplo 1
Ejemplo 2. En las pruebas realizadas para este caso de estudio, las diferentes variables asumen los valores establecidos
anteriormente para pruebas con 25 puntos en el espacio. La distribución de los puntos en el espacio para estas pruebas
hace que éstos se encuentren muy dispersos unos de otros, siendo las distancias entre los puntos muy grande en
comparación con en el ejemplo 1. Además, la cantidad de enlaces es de 36. En la tabla 2 se muestran los valores de la
Función de Aptitud obtenidos con esta ejecución. La figura 2 ilustra los sectores obtenidos (solución): Sector 1, Sector
2
Tabla 2: Valores de la Función de Aptitud del ejemplo 2
Cant.
Generaciones
50
100
150
200
250
300
350
400
Aptitud o Fitness
(calidad mejor solución)
644,462646484375
644,462646484375
638,92578125
638,913452148438
638,913452148438
638,913452148438
638,913452148438
638,913452148438
Tiempo Ejecución
(por c/50 gener.)
50 segundos
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
1 minuto
7,833 minutos = 470 seg
Luego de realizarse las 400 generaciones, se obtuvo como mejor solución la siguiente.
Cantidad de sectores: 2
Sector 1: 18-10-17-11-12-1-13-14-15-16-9-19-20-5-7-8-3-4-6
Carga del sector 1: 20.900
Sector 2: 21-22-23-24-2-25
Carga del sector 2: 6.600
Resumen: E-024
UNIVERSIDAD NACIONAL DEL NORDEST E
Comunicaciones Científicas y Tecnológicas 2005
Figura 2: sectores obtenidos en el ejemplo 2
Establecidos como parámetros igual número de puntos e igual número de contenedores, igual carga de contenedores e
igual carga de camiones, el análisis de los resultados obtenidos, permite establecer que: i) Cuanto mayor es la distancia
entre los puntos mayor es el valor de la Función de Aptitud, ii) Cuanto menor es la distancia entre los puntos menor es
el valor de la Función de Aptitud (Ejemplos 1 y 2). Pero, resulta importante tener presente otro factor, el cual afecta
directamente el resultado y es el número de generaciones (iteraciones del AG). Para este último se puede observar que:
i) Si aumenta la cantidad de generaciones el valor de la Función de Aptitud tiende a disminuir, ii) Si disminuye la
cantidad de generaciones el valor de la Función de Aptitud tiende a aumentar.
Los resultados expuestos permitieron comprobar el correcto funcionamiento de la Función de Aptitud como parte del
AG analizado en este trabajo. Esta afirmación se debe a que en un problema de sectorización el parámetro más
importante es la distancia entre los puntos, por lo cual esta parte de la función tiene mayor peso.
Conclusiones
Este AG particular incluye operadores especializados, información propia del problema de sectorización que resuelve.
Sin embargo, se pueden extraer conclusiones generales sobre la calidad de las soluciones y comportamiento del AG con
esta Función de Aptitud, que sirvan para investigaciones futuras.
En la mayoría de las pruebas realizadas, los valores de la Función de Aptitud de las soluciones y los tiempos empleados
para alcanzar las mismas, fueron buenos demostrando que el AG posee un buen desempeño y que ésta técnica de la IA
es una herramienta útil para solucionar problemas de sectorización en general.
También, resulta interesante destacar que la Función de Aptitud es lo suficientemente genérica, lo cual permite que sea
aprovechada en otros Algoritmos Genéticos que se apliquen en la resolución de problemas similares.
Para finalizar, se propone en trabajos futuros generalizar el código del AG, manteniendo la Función de Aptitud, con el
propósito de aplicarlo en la resolución de problemas de sectorización en la región.
Referencias
[BEA] Beasley, D.; Bull, D. R.; Martin, R. R. 1993. “An Overview of Genetic Algorithms: Part 1, fundamentals” En:
http://delta.cs.cinvestav.mx/~ccoello/bibgen.htm, http: //delta.cs.cinvestav.mx/~ccoello/ga_overview1.zip
[HER] Herrmann, C., Monzón, R., Mariño, S. y Bogado, V. 2005. “Resolución de Problemas de Optimización con
Algoritmos Genéticos”. XVI Escuela de perfeccionamiento en investigación operativa.
[MER] Merelo Guervós, J. J. 1997. "Tutorial de Informática Evolutiva". En: http://geneura.ugr.es/~jmerelo/ie/
[PEL] Peláez Sánchez, J. I.; Toledo Rubiales, L.; Sierra Jiménez, J. C. 2002. “SADRSRU: Sistema de Apoyo a la
Decisión para la Recogida Selectiva de Residuos Urbanos”. Universidad de Málaga, España.
Descargar