E-014 - Universidad Nacional del Nordeste

Anuncio
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
hcastor@exa.unne.edu.ar, rmonzon@exa.unne.edu.ar, msonia@exa.unne.edu.ar, xpooky669@yahoo.com.ar
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.
Descargar