Resumen: E-014 UNIVERSIDAD NACIONAL DEL NORDEST E Comunicaciones Científicas y Tecnológicas 2006 Incremento de la función de mutación en los Algoritmos Genéticos aplicados a sectorización. 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 Universidad Nacional del Nordeste. 9 de Julio 1449. 3400 Corrientes. Argentina [email protected], [email protected], [email protected], [email protected] 1. Introducción Los Algoritmos Genéticos (AG) forman parte de las técnicas de la Inteligencia Artificial, más específicamente de la Computación Evolutiva. El principal fundamento de los AG es la Teoría de la Evolución de Darwin, complementado con 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]. Los principios básicos para la implementación de un AG son: 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 equivalente a 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 parámetros más relevantes al problema; estableciéndose las características que restringen los resultados proporcionados por el algoritmo. La representación de las soluciones se refiere a la codificación de los individuos de la población. Cada individuo de la población es un punto en el espacio de búsqueda y, por lo tanto, una solución factible. Un individuo se compone de uno o más cromosomas, a su vez cada cromosoma simboliza una parte de la solución y se compone de varios genes, los cuales representan parámetros del problema. Los operadores genéticos transforman la población inicial a lo largo de las generaciones, evolucionan dicha población de soluciones. Los Operadores de Selección se encargan de distribuir oportunidades reproductivas a cada uno de los individuos de una población. Existen aquellos que fijan las parejas a ser cruzadas y los que eligen los individuos a ser reemplazados por sus descendientes. En general, establecen qué individuos son los más aptos para procrear, pero no siempre se escogen a los individuos más sobresalientes, a veces es necesario para la mejora de la especie aparear individuos menos aptos con los más aptos. El Operador de Cruce y Recombinación se encarga de crear un individuo descendiente a partir de material genético de sus antecesores (individuos padres). El principal objetivo de este operador es la propagación de las características de los individuos más aptos de la población, por tal motivo es que generalmente el cruce se realiza con aquellos individuos que tengan valores buenos en la función de aptitud o fitness, es decir, aquellos individuos con mayor probabilidad de sobrevivir en las condiciones dadas [SOB]. El Operador de Mutación altera arbitrariamente uno o más componentes de una estructura escogida en una descendencia, proporcionando de esta forma medios para introducir nuevos elementos en la población [SOB]. Es uno de los operadores genéticos responsables de incorporar y mantener la variabilidad o diversidad en las poblaciones, garantiza una mejor exploración del espacio de búsqueda, evitando que el algoritmo converja rápidamente a óptimos locales. Los Algoritmos Genéticos pueden utilizarse como métodos de optimización o búsqueda, resolviendo problemas de la clase NP-Completos. Se especializan en problemas de alta complejidad, aplicándose en diversas áreas del conocimiento. Los problemas de sectorización pueden resolverse adecuadamente mediante la aplicación de AG. 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 sólo 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 los que agrupan a todos los puntos del espacio de la manera más adecuada a la distribución que presentan los mismos en el espacio. Las aplicaciones que conforman sectores óptimos en un espacio físico dado y que contiene puntos dispersos en él son muy comunes y permiten a los distintos tipos de sociedades (siendo éstas normalmente empresas del medio) reducir costos, tiempo y esfuerzo. Si se conocen las secciones de espacio óptimas, que contengan a los puntos definidos, se pueden cubrir las necesidades mencionadas, siendo éstos los principales motivos que llevan a determinar a la sectorización como uno de los problemas más habituales en los diversos campos, el cual al ser planteado y resuelto adecuadamente proporciona una amplia variedad de beneficios. 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, además de las consideraciones mencionadas para el caso general, se debe contemplar la cantidad de contenedores por punto, la capacidad de los mismos, la capacidad de los camiones y los enlaces entre los puntos. Resumen: E-014 UNIVERSIDAD NACIONAL DEL NORDEST E Comunicaciones Científicas y Tecnológicas 2006 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 Sistema de Apoyo a la Decisión para la Recogida Selectiva de Residuos Urbanos (SADRSRU [PEL]). Este sistema tiene como finalidad resolver problemas de sectorización, puntualmente el mencionado anteriormente. Sin embargo, no es objetivo de este trabajo estudiar a fondo la problemática relacionada con los residuos, sino abstraerse y ver el problema de sectorización en forma general y examinar los resultados del AG ante las condiciones establecidas. En el presente trabajo se enfatiza en el incremento de la función de mutación, analizando las frecuencias y su efecto sobre los resultados obtenidos. 2. Materiales y métodos La metodología empleada en este trabajo está compuesta de pasos definidos comúnmente para el desarrollo de herramientas que incorporan Algoritmos Genéticos, siendo éstos: • Análisis y definición del problema • Representación y codificación de las soluciones: involucra la especificación de genes, cromosomas, individuos y población • Definición de la Función de Aptitud, el cual incluye: i) Diseño de la Función de Aptitud, ii) Implementación de la Función de Aptitud, iii) Análisis del comportamiento de la Función de Aptitud • Definición del proceso completo del AG, siendo los operadores básicos y la secuencia de las operaciones genéticas del AG analizado correspondientes a un Algoritmo Genético Simple. Sin embargo, se presentan ciertos detalles diferentes de éste como ser el esquema de reemplazo, el cual en vez de ser el Generacional, propio de los Algoritmos Genéticos Simples, es el de Estado Fijo y los operadores de cruce y recombinación y mutación son especializados, incluyendo información propia del problema tratado. • Definición de la rutina Mutación: En este trabajo se modificó el comportamiento del operador de mutación. El cambio se implementó para aumentar las posibilidades de mutaciones en el individuo descendiente. En la versión original [PEL] se estableció la cantidad de puntos posibles a mutar variable entre 1 a 5 (en los diferentes sectores), en este trabajo es posible modificar la frecuencia entre 6 a 10. Es decir, que un individuo puede estar afectado a ninguna mutación o puede llegar a mutar hasta en 10 genes o puntos al mismo tiempo. En cada posibilidad de mutación se analizan ciertos criterios y condiciones que determinarán la mutación o no del punto afectado. • Definición de los parámetros. • Selección del lenguaje de programación, se emplearon Delphi y C++ (Borland Delphi 6 y Borland C++ Builder). Este último para realizar las modificaciones necesarias en el AG. • Modificación del AG aplicado a la sectorización, función de adaptación, según lo descrito en [HER]. • Determinación de las condiciones para la comparación de resultados para un problema puntual de sectorización, aplicación particular. i) Cantidad de puntos: 118. ii) Capacidad del contenedor: 1.100 litros. iii) Distribución de los puntos: concentrada. iv) Distribución de los contenedores en los puntos: heterogénea, distintas cantidades de contenedores en cada punto. v) Cantidad total de contenedores: 362. vi) Cantidad de enlaces: 185. vii) Niveles de trabajo: 3. viii) Carga total: 398.200 litros. ix) Cantidad de generaciones: 400. • Determinación de los casos de prueba. • Evaluación del desempeño, el cual 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 el 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. Placa madre con un bus de 100 MHz. Sistema Operativo: MsWindows 98 2da Edición. Siendo éste modesto con el fin de evaluar al AG bajo dichas condiciones, donde los recursos son escasos. 3. Resultados El comportamiento del AG en las pruebas depende de diversos agentes, los cuales condicionan la calidad de las soluciones y el tiempo empleado para alcanzarlas. Para brindar una mayor comprensión del problema y las soluciones proporcionadas por el AG, ante cambios en la frecuencia de mutación se detallan algunos ejemplos de las pruebas realizadas. A modo de ejemplo se describen los resultados obtenidos en las sectorizaciones. La figura 1 representa los siguientes sectores: Sector 1: 93-100-98-101-97-103-96-99-95-104-108-114-113-111-110109-106-107-105-69-83-86-81-80-85-66-78-70-65-112-84-94-51-62-53-87-92-118-102-82-91-64-88-49-43-52-68-6761-50-115-79-89-90-116-45. Carga del sector1: 199100. Sector 2: 36-34-72-59-76-74-71-77-75-63-58-60-57-56-3-723-19-18-44-14-15-6-55-10-12-13-8-11-1-26-31-37-27-25-42-48-28-39-33-20-24-35-47-46-29-16-17-2-30-9-117-7332-21-22-38-54-5-41-4-40. Carga del sector 2: 199100. El valor final de la función de aptitud es 1513,95935058594 y el tiempo total de ejecución: 124 minutos. Resumen: E-014 UNIVERSIDAD NACIONAL DEL NORDEST E Comunicaciones Científicas y Tecnológicas 2006 La figura 2 ilustra los siguientes sectores: Sector1: 87-96-115-102-101-100-97-103-92-98-91-90-88-99-95-94-89-113112-109-84-93-104-108-106-107-105-116-52-53-Carga del sector1: 122100, Sector2: 1-2-7-44-69-55-6-62-56-57-4947-68-48-67-46-42-50-43-8-5-41-4-45-54-51- Carga del sector2: 79200, Sector3: 17-16-20-14-19-18-11-12-32-28-310-24-21-13-38-35-117-39-33-34-15-22-9-26-25-30-29-27-31- Carga del sector3: 97900, Sector4: 40-65-66-60-85-8175-59-77-79-78-86-71-82-74-64-63-23-58-76-37-36-80-70-61-83-73-72-118-110-111-114 Carga del sector4: 99000. Siendo el valor final de la función de aptitud: 520,221984863281 y empleándose como tiempo total de ejecución: 124 minutos Figura 1. Generación de dos sectores con la implementación de la rutina de mutación incrementada Figura 2. Generación de cuatro sectores con la implementación de la rutina de mutación incrementada 4. Conclusiones Para finalizar se destaca el desempeño del Algoritmo Genético en los casos de estudio realizados. Los valores de la función de aptitud correspondientes a las soluciones y los tiempos empleados para alcanzar tales soluciones, en la mayoría de los casos, son buenos demostrando que el presente AG posee un buen desempeño Los resultados obtenidos con las simulaciones, dos de ellas ilustradas en este trabajo, permiten afirmar que al incrementarse el número de posibilidades de mutación y el número de sectores tiende a disminuir el valor de la función de aptitud, mejorando la calidad de las soluciones para este problema particular. Las pruebas realizadas como casos de estudio y los tiempos empleados para las mismas proveen valores que demuestran la eficiencia que presentan los Algoritmos Genéticos para resolver ciertos problemas de optimización y búsqueda, en este caso puntual aplicaciones a problemas de sectorización. Esto puede disminuir tiempos de búsqueda y pruebas, al Resumen: E-014 UNIVERSIDAD NACIONAL DEL NORDEST E Comunicaciones Científicas y Tecnológicas 2006 momento de elegir una herramienta, basada en técnicas de inteligencia artificial, para solucionar un problema de estas características. Respecto a los recursos necesarios para el desempeño adecuado del AG se puede destacar que pueden ser éstos lo suficientemente modestos como para reducir costos y, a su vez, obtener soluciones óptimas. La relación entre los costos y la calidad de las soluciones no es proporcionalmente directa, a menor costos igual se pueden alcanzar soluciones muy buenas y en tiempos de respuesta aceptables. En referencia al problema de sectorización planteado, se continuará en la búsqueda de nuevas y mejores formas de combinar los parámetros, nuevas formas de implementar los operadores genéticos, nuevas formas de representar las soluciones y la función de aptitud, adaptando a otras situaciones. Referencias [HER] Herrmann, C. F., Monzón, R., Mariño, S.I., Bogado, V. 2005. “Validación de la implementación de la Función de Aptitud de un Algoritmo Genético aplicado a la sectorización”.Comunicaciones Científicas y Tecnológicas. UNNE. [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. [SOB] Sobrinho, A. C. C. Da S., Girardi, M. R. “Uma Análise das Aplicações dos Algoritmos Genéticos em Sistemas de Acesso à Informação Personalizada”, Universidade Federal do Maranhão, Departamento de Pós Graduação m Engenharia Elétrica.