Sunteți pe pagina 1din 4

Algoritmo Evolutivo Multi-Objetivo para Maximizar una Función de Dos

Variables
Campos Y., Rahn A.

Resumen – Los algoritmos genéticos han demostrado ser un Mecanismo de trabajo de los AG
método útil de búsqueda de soluciones satisfactorias A partir de una población de "cromosomas" (cadenas de 1 y 0, o
(calidad/tiempo), en problemas cuyo espacio de solución es bits) generados aleatoriamente se crea una nueva población
difícil de tratar por otro métodos por su amplio rango. Tratar usando un mecanismo de selección natural junto con los
de maximizar una función de dos variables con este método operadores genéticos de cruce, mutación e inversión. Cada
heurística es atractivo debido a que existen muchas formas de cromosoma consiste de "genes" (bits), cada gen es una instancia
abordarlo en la implementación; por ejemplo se puede variar de un particular "alelo", (0 o 1).
el tipo de escalamiento, el GAP generacional, implementar Selección
diferentes tipos de cruce, etc. Estas posibilidades brindan la Escoge los cromosomas en la población que podrán reproducirse,
oportunidad de ajustar los parámetros de tal manera que la y en promedio los cromosomas más aptos producen más
convergencia a la solución sea mucho eficiente en cuanto a la descendientes que los menos aptos.
relación calidad/tiempo que los métodos exactos no pueden Cruce
ofrecer. Intercambia partes de dos cromosomas tratando de reproducir la
recombinación biológica entre dos organismos
Palabras Claves – Algoritmos Evolutivos, Maximizar función, monocromosómicos
escalamiento, operadores genéticos.
Mutación
I. Introducción Cambia aleatoriamente los valores de alelo de algunas
Los Algoritmos Genéticos (GA) fueron introducidos por John ubicaciones en el cromosoma [3]
Holland en 1970 inspirándose en el proceso observado en la Aunque muchos aspectos están todavía por discernir, existen
evolución natural de los seres vivo [2]. unos principios generales ampliamente aceptados por la
Los algoritmos genéticos (AG) proporcionan un método de comunidad científica. Algunos de estos son:
aprendizaje basado en la analogía con la evolución de las 1. La evolución opera en los cromosomas en lugar de en los
especies. Los AG generan un conjunto de hipótesis mediante la individuos a los que representan.
mutación y recombinación de parte del conjunto de hipótesis 2. La selección natural es el proceso por el que los
conocido. En cada paso el conjunto de hipótesis conocido como cromosomas con "buenas estructuras" se reproducen más a
“población actual” se renueva remplazando una proporción de menudo que los demás.
esta población por los sucesores de las hipótesis más “adecuadas” 3. En el proceso de reproducción tiene lugar la evolución
(mediante el uso de una función de valuación). mediante la combinación de los cromosomas de los progenitores.
La popularidad de los AG se debe en parte a que la evolución es Llamamos Recombinación a este proceso en el que se forma el
un método robusto y bien probado dentro de los sistemas cromosoma del descendiente. También son de tener en cuenta las
biológicos naturales. Además son fácilmente paralelizables, lo mutaciones que pueden alterar dichos códigos.
que supone una ventaja gracias al abaratamiento actual de los 4. La evolución biológica no tiene memoria en el sentido de
costes en hardware. Por otra parte, los AG pueden realizar que en la formación de los cromosomas únicamente se considera
búsquedas en espacios de hipótesis que contienen complejas la información del período anterior
interacciones entre las distintas partes, donde el impacto de cada Los algoritmos genéticos establecen una analogía entre el
parte sobre la función de evaluación es difícil de especificar. conjunto de soluciones de un problema y el conjunto de
Aunque no se garantice encontrar la solución óptima, los AG individuos de una población natural, codificando la información
generalmente encuentran soluciones con un alto grado de acierto. de cada solución en un string (vector binario) a modo de
Los algoritmos desarrollados por Holland inicialmente eran cromosoma. En palabras del propio Holland:
sencillos pero dieron buenos resultados en problemas "Se pueden encontrar soluciones aproximadas a problemas de
considerados difíciles. Los algoritmos Genéticos están basados gran complejidad computacional mediante un proceso de
en integrar e implementar eficientemente dos ideas "evolución simulada",
fundamentales: Las representaciones simples como strings A tal efecto se introduce una función de evaluación de los
binarios de las soluciones del problema y la realización de cromosomas, que llamaremos calidad ("Función de Aptitud ") y
transformaciones simples para modificar y mejorar estas que está basada en la función objetivo del problema. Igualmente
representaciones [1]. se introduce un mecanismo de selección de manera que los
cromosomas con mejor evaluación sean escogidos para
II. Bases Teóricas "reproducirse" más a menudo que los que la tienen peor.
Fundamentos de AG Para llevar a la práctica el esquema anterior y concretarlo en un
¿Qué son los algoritmos genéticos? algoritmo, hay que especificar los siguientes elementos:
Son algoritmos de búsqueda basados en la mecánica de la • · Una representación cromosómica
selección natural y de la genética natural. Estos combinan la • · Una población inicial
supervivencia de los individuos más aptos entre las cadenas de • · Una medida de evaluación
estructuras con un intercambio de información aleatorio para • · Un criterio de selección / eliminación de cromosomas
formar un algoritmo de búsqueda.
• · Una o varias operaciones de recombinación informática de carácter general. Además muchos de los
• · Una o varias operaciones de mutación investigadores de este campo están trabajando en desarrollar los
A continuación pasamos a comentar y detallar todos estos aspectos teóricos de la materia incorporando algunas otras
elementos. técnicas de búsqueda local en el esquema genético.
La población inicial suele ser generada aleatoriamente. Sin
embargo, últimamente se están utilizando métodos heurísticos III. Problema
para generar soluciones iniciales de buena calidad. En este caso, Se desea implementar un algoritmo genético para maximizar la
es importante garantizar la diversidad estructural de estas siguiente función de dos variables:
soluciones para tener una "representación" de la mayor parte de
población posible o al menos evitar la convergencia prematura. Max f (x, y) = 21.5+ x sen (4π x) + y sen (20π y)
Respecto a la evaluación de los cromosomas, se suele utilizar la -3.0 ≤ x ≤ 12.1
calidad como medida de la bondad según el valor de la función 4.1≤ y ≤ 5.8
objetivo en el que se puede añadir un factor de penalización para
controlar la infactibilidad. Este factor puede ser estático o La gráfica de la función se puede observar en la Fig. 1 y ofrece
ajustarse dinámicamente, lo cual produciría un efecto similar al una información visual valiosa al momento de obtener los
de la Oscilación Estratégica en Tabu Search: resultados. (Esta grafica fue realizada utilizando Maple).
calidad = ValorObjetivoNormalizado - Penalización *
MedidaInfactibilidad
La selección de los padres viene dada habitualmente mediante
probabilidades según su Función de Aptitud. Uno de los
procedimientos más utilizado es el denominado de la rueda de la
ruleta en donde cada individuo tiene una sección circular de una
ruleta que es directamente proporcional a su calidad. Para realizar
una selección se realizaría un lanzamiento de un número
aleatorio que tiene asociado a un individuo.
Los Operadores de Cruzamiento mas utilizados son:
• De un punto: Se elige aleatoriamente un punto de ruptura en
los padres y se intercambian sus bits.
• De dos puntos: Se eligen dos puntos de ruptura al azar para
intercambiar.
• Uniforme: En cada bit se elige al azar un padre para que
contribuya con su bit al del hijo, mientras que el segundo hijo
recibe el bit del otro padre.
• PMX, SEX: Son operadores más sofisticados fruto de
mezclar y aleatorizar los anteriores.
La operación de Mutación más sencilla, y una de la más
utilizada consiste en reemplazar con cierta probabilidad el valor
Fig. 1. Gráfica de la función. “Buscar” el máximo con AG
de un bit. Notar que el papel que juega la mutación es el de
introducir un factor de diversificación ya que, en ocasiones, la
convergencia del procedimiento a buenas soluciones puede ser
IV. Implementación
Para la implementación del AG se utilizó el lenguaje de
prematura y quedarse atrapado en óptimos locales. Otra forma
programación C++ Builder. Se presenta una interfaz grafica
obvia de introducir nuevos elementos en una población es
donde están predeterminado los parámetros de entrada del
recombinar elementos tomados al azar sin considerar su Función
algoritmo, estos pueden se cambiados a conveniencia.
de Aptitud.
Se asumió la implementación de cruce en un punto y para la
Convergencia del Algoritmo
Dado que el algoritmo genético opera con una población en cada selección se asumió implementar escalamiento de aptitud
iteración, se espera que el método converja de modo que al final dinámico utilizando ventana de renormalización con un mínimo
del proceso la población sea muy similar, y en el infinito se que se fijo en 15.
reduzca a un sólo individuo.
Los requerimientos de hardware son:
Se ha desarrollado toda una teoría para estudiar la convergencia
Un computador PC o compatible, 32MB de memoria, 10MB
de estos algoritmos en el caso de strings binarios. Esta teoría se
disponibles en disco duro, se recomienda una pantalla con
basa principalmente en considerar que un string es un
resolución de 800x600 pixels.
representante de una clase de equivalencia o esquema,
reinterpretando la búsqueda en lugar de entre strings, entre Los requerimientos de Software son:
esquemas. De este modo se concluye lo que se conoce como Microsoft windows 95 o superior
paralelismo intrínseco:
"En una población de m strings se están procesando V. Conclusión
implícitamente O(m^3) esquemas" La implementación del GAP generacional evita que se pierdan
A partir de este resultado el teorema de esquemas prueba que la las mejores soluciones (elitismo) esta es una ventaja que no posee
población converge a unos esquemas que cada vez son más los AG simples.
parecidos, y en el límite a un único string.
Es importante citar que, a diferencia de otros metaheurísticos, los El escalamiento de aptitud da oportunidad a todos los individuos
Algoritmos Genéticos han crecido de forma espectacular, hasta el de la población de ser seleccionados de esta manera se evita el
punto de poder encontrar referencias sobre ellos en revista de
efecto de convergencia a un óptimo local por apariciones • Modelo elitista GAP generacional conserva un valioso
tempranas de “superindividuos”. material genético
• AG y computación evolutiva pueden tener mucha aplicación
Los parámetros de entrada del algoritmo que están • El escalamiento de aptitud reduce de manera considerable
predeterminados en la aplicación son los apropiados para una las diferencias entre los superindividuos y los individuos
ejecución eficiente del programa. Sin embargo en los parámetros mediocres dando paso a la diversidad y a una competencia más
de entrada de la función si se desea una rápida convergencia y justa entre todos los individuos al momento de la selección.
soluciones de más calidad; se puede reducir el espacio de Los resultados del excelente desempeño del algoritmo se pueden
búsqueda guiados por la gráfica y probar con cotas para x entre observar en la Fig. 2 y la Fig. 3 donde se muestran los mejores
11 y 12.1 y cota para y entre 5 y 5.8. valores para la función en cada generación.

En base a los resultados obtenidos podemos finalmente concluir VI. Referencias


que:
• AG es un método robusto [1] http://www.cinefantastico.com/nexus7/ia/ageneticos.htm
• Al comprender los AG la implementación no es complicada. [2] http://www.uv.es/~rmarti/genet.html
[3] http://www.geocities.com/jarosero_ag.htm

Fig. 2. Gráfica de convergencia del AG


Fig. 3. Gráfica de convergencia del AG

S-ar putea să vă placă și