Está en la página 1de 5

APLICACIÓN DE LOS ALGORITMOS GENÉTICOS SIMPLES EN LA

OPTIMIZACIÓN DE FUNCIONES REALES

El objetivo del presente artículo es utilizar el concepto de algoritmo genético


simple aplicado a la optimización de funciones de variable real (una y dos
variables). Tomando como referencia el libro intitulado Genetic Algorithms in
Search, Optimization, and Machine Learning, cuyo autor es D.E. Golberg
(1989), en cuanto al aspecto conceptual y al uso de las rutinas algorítmicas que
en el mencionado texto se describen. Los resultados de los ensayos
experimentales realizados aplicando esta novedosa herramienta se
compararon con los obtenidos mediante los métodos tradicionales de
optimización numérica permitiendo evidenciar la potencialidad del algoritmo
genético simple en un escenario donde las funciones presentan en su dominio
de definición: oscilaciones moderadas y la existencia de varios máximos
locales. El campo de aplicación de esta herramienta se encuentra en el
conjunto de las funciones para las cuales las técnicas tradicionales fallan o no
son aplicables.

El tema de la convergencia del algoritmo genético no fue revisado en ninguno


de sus aspectos. Aunque los resultados provenientes del algoritmo genético
son incuestionablemente mejores, no se pretende demostrar que el mismo sea
siempre mas eficiente para resolver problemas de optimización.

Palabras claves: Algoritmo genético, optimización, funciones reales.

INTRODUCCIÓN

El objetivo del presente articulo es introducir el concepto de algoritmo genético


e ilustrar alguna de sus aplicaciones.

El algoritmo genético trata de un mecanismo de búsqueda de soluciones para


diversos problemas basado en las ideas de la evolución de de las especies de
Darwin. Forma parte de un conjunto de técnicas computacionales que simulan
procesos biológicos o naturales, entre estos se encuentran las redes
neuronales y los algoritmos genéticos.

Cabe indicar que en el presente trabajo se desarrolló el algoritmo genético


simple tal como aparece explicado en el libro de Goldberg (1989). Cabe señalar
que explicaremos en detalle el algoritmo genético simple y lo aplicaremos en el
proceso de optimización de funciones de variable real (una y dos variables) ;
también compararemos nuestros resultados con los que se obtienen con el
clásico método del gradiente, el cual asume la regularidad de la función
objetivo.

La monografía se exponen algunos métodos de optimización del análisis


numérico, tales como el algoritmo del gradiente con paso constante y el
algoritmo de Newton con paso constante. También se presentan los resultados
numéricos que arroja el algoritmo genético simple al optimizar funciones con
una y dos variables, que oscilan moderadamente y comparamos estos
resultados con los que se obtienen de aplicar el algoritmo del gradiente con
paso constante.

Aunque los resultados provenientes del algoritmo genético simple son mejores,
no pretendemos demostrar que el mismo sea siempre mas eficiente para
resolver problemas de optimización.

Deseamos que este trabajo pueda servir de apoyo a los profesionales en


general que busquen en el algoritmo genético una herramienta para resolver
problemas.

1. OPERACIONALIDAD DE LOS ALGORITMOS GENETICOS SIMPLES


1.1. CARACTERISTICAS DE LOS ALGORITMOS GENETICOS
SIMPLES (AGS)
La aplicación mas común de los algoritmos genéticos simples es la
solución de problemas de optimización, donde han mostrado alta
eficiencia y confiabilidad, sin embargo no todos los problemas son
apropiados para ser resueltos por esta técnica; las siguientes
características son fundamentales para su aplicación:
- El espacio de búsqueda (sus posibles soluciones) debe estar
delimitado dentro de un cierto rango.
- Se debe definir una función de aptitud que indique que tan buena
o mala es la adaptación de los individuos.
- Las posibles soluciones se codifican utilizando el código binario (0
y 1).

El espacio de búsqueda debe ser siempre discreto; sin embargo


también podrá intentarse usar la técnica con espacios de búsqueda
continuos, cuando exista un rango relativamente pequeño.

La función de amplitud es la función objetivo del problema de


optimización tratado. El resultado que produce ésta es un numero
real, preferentemente nonegativo que a mayor resultado es mejor la
solución. El algoritmo genético únicamente maximiza, pero la
minimización puede realizarse fácilmente usando el reciproco de la
función maximizante, siempre que el mismo esté determinado. Una
característica que debe presentar la función es que tiene que ser
capaz de castigar a las malas soluciones y de premiar a las buenas,
de forma que sean éstas ultimas las que se propaguen con mayor
rapidez.

Ventajas:
a. No necesitan conocimientos específicos sobre el problema que
intentan resolver, en particular si la función es regular.
b. Operan de forma simultanea con varias soluciones, en vez de
trabajar de forma secuencial como las técnicas tradicionales.
c. Cuando se usan para problemas de optimización (maximizar una
función objetivo) resultan menos afectadas por los máximos
locales que las técnicas tradicionales.
d. Resulta sumamente fácil ejecutarlos en las modernas
arquitecturas masivamente paralelas.
e. Usan operadores probabilísticos, en vez de los típicos operadores
determinísticos de las otras técnicas.

DESVENTAJAS:

f. Es difícil determinar la velocidad de convergencia, dependiendo


en cierta medida de los parámetros que se utilicen (tamaño de la
población, numero de generaciones, nivel de precisión
deseado,etc.)
g. Pueden converger prematuramente debido a una serie de
problemas relacionados con los valores de sus parámetros.

Dado un problema especifico a resolver, la entrada del algoritmo


genético simple representa un conjunto de soluciones potenciales del
mismo, codificadas mediante el alfabeto binario y una métrica
llamada función de aptitud que permite evaluar cuantitativamente a
cada candidata. Estas candidatas pueden ser soluciones factibles,
con el objetivo de que el AGS las mejore, pero se suelen generar
aleatoriamente.

Diagrama de flujos del proceso del algoritmo genético simple


Codificar el dominio del problema

Generar un conjunto aleatorio de “n”


soluciones factibles

Calificar cada solución factible (aplicar


A
la función de aptitud)

Seleccionar dos individuos de acuerdo a


su calificación. B

Cruzar o mezclar los códigos genéticos


de los dos individuos seleccionados

Mutar algunos elementos del código


genético de ciertos individuos

Incluir a los dos nuevos en una nueva


población

Condición Si
de finalizar Fin

No A

La nueva
población tiene Si
Denominar la población
“n” individuos actual
lizar

No

B
OPERADORES GENETICOS

Los operadores genéticos de mayor uso en la aplicación de los algoritmos


genéticos simples son descritos brevemente, además utilizados en los casos
prácticos a desarrollarse.

a. Selección. Dado el conjunto de individuos de la población actual con


una probabilidad proporcional a su calificación, la operación de selección
consiste en elegir dentro del mencionado conjunto, a los individuos
mejor adaptados al medio en términos del resultado de la función
aptitud. Entre las multiples formas de selección comúnmente utilizadas
cabe mencionar a las siguientes: selección proporcional a la aptitud,
selección por rueda de ruleta, selección elitista, selección escalada, por
rango, por estado estacionario y selección jerarquica.
Para el caso del algoritmo genético simple, la selección de mayor uso es
la selección proporcional a la aptitud equivalente a la selección por
rueda de ruleta.
b. Cruce. Cruzar o mezclar los códigos geneticos de dos individuos
seleccionados como padres para generar hijos que posean códigos
mixtos. El cruzamiento de un punto el cual se escogerá al azr.Para
nuestro caso utilizaremos
c. Mutación. Mutar o alterar deliberadamente algunos elementos del
código a ciertos individuos, los cuales se seleccionan aleatoriamente,
para asi generar nuevos individuos ubicados en regiones del problema
no explotadas aun.

2. MM
3.

También podría gustarte