Control optimizado con algoritmos genéticos para modelo didáctico ...
Control optimizado con algoritmos genéticos para modelo didáctico ...
Control optimizado con algoritmos genéticos para modelo didáctico ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Resumen—En este artículo se presenta la aplicación de<br />
software ALGOGEN <strong>para</strong> la sintonización de un <strong>con</strong>trol<br />
proporcional integral mediante <strong>algoritmos</strong> <strong>genéticos</strong>. Además se<br />
exponen los resultados obtenidos luego de implementar el<br />
programa en el cabezote textil de la Universidad Pontificia<br />
Bolivariana. También se presenta un breve estado del arte sobre<br />
los <strong>algoritmos</strong> <strong>genéticos</strong>.<br />
Abstract— This article shows software application ALGOGEN<br />
for tuning a proportional integral <strong>Control</strong>ler by using genetics<br />
algorithms. Also presents the results obtained after implementing<br />
program in Universidad Pontificia Bolivariana´s textile cabezote.<br />
It also presents a brief state of the art of genetic algorithms.<br />
Palabras Clave—Algoritmos <strong>genéticos</strong>, Cabezote textil,<br />
<strong>Control</strong>ador P+I, LabVIEW, Optimización.<br />
L<br />
<strong>Control</strong> <strong>optimizado</strong> <strong>con</strong> <strong>algoritmos</strong> <strong>genéticos</strong><br />
<strong>para</strong> <strong>modelo</strong> <strong>didáctico</strong> de <strong>con</strong>trol de tensión<br />
<strong>para</strong> procesos textiles<br />
I. INTRODUCCIÓN<br />
OS primeros estudios sobre <strong>algoritmos</strong> <strong>genéticos</strong> (AG) se<br />
iniciaron en laboratorios cerca de los años cincuenta,<br />
posteriormente se elaboraron algunas teorías y en los años<br />
ochenta empezaron a aplicarse en la industria y en<br />
investigación. Esta técnica de los <strong>algoritmos</strong> <strong>genéticos</strong> se usa<br />
principalmente en países desarrollados como Japón y Estados<br />
unidos y en algunos países de Europa (AUPEC, 1997).<br />
Desde el año 1960, se ha incrementado el interés por imitar<br />
formas de evolución natural <strong>para</strong> resolver problemas de<br />
optimización fuertes. Los <strong>algoritmos</strong> <strong>genéticos</strong> están<br />
inspirados en el principio Darwiniano de la evolución de las<br />
especies y en la genética imitando los principios de la<br />
evolución biológica <strong>para</strong> resolver problemas en una amplia<br />
variedad de dominios (Tabares, 2005).<br />
En los últimos años, los AG han tomado una posición<br />
destacada dentro de la computación natural o evolutiva,<br />
caracterizada por utilizar las técnicas de las que se valen los<br />
seres vivos <strong>para</strong> evolucionar dentro de la naturaleza. Este<br />
apreciable interés en las técnicas que emplean los seres vivos,<br />
se debe a la necesidad de resolver problemas de búsqueda y<br />
optimización complejos, en casi todos los campos y en<br />
Tatiana M. URIBE, Manuel J. BETANCUR<br />
especial en ingeniería, <strong>para</strong> los cuales no existe un método<br />
adecuado de solución. Es por esta razón que se han venido<br />
desarrollando robustas técnicas de optimización <strong>para</strong> resolver<br />
este tipo de problemas en ocasiones inabordables.<br />
La investigación sobre los AG se ha <strong>con</strong>centrado en el<br />
desarrollo de mejoras al desempeño de los mismos. Como<br />
resultado de estas investigaciones se han planteado nuevas<br />
técnicas en los operadores <strong>genéticos</strong>, <strong>con</strong> resultados<br />
satisfactorios. Se ha propuesto el uso de códigos Gray,<br />
codificación dinámica y técnicas adaptativas que varían los<br />
parámetros de <strong>con</strong>trol. También se habla de <strong>algoritmos</strong><br />
<strong>genéticos</strong> distribuidos y <strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong>lelos.<br />
En la actualidad a nivel industrial el reto que existe<br />
permanentemente es mejorar los métodos de ajuste y<br />
optimización de los reguladores o <strong>con</strong>troladores como los PI<br />
(Proporcional Integral) o PID (Proporcional Integral<br />
Derivativo) ya que son muy usados por su generalidad y<br />
simplicidad. Por mucho tiempo se ha utilizado el método de<br />
Ziegler Nichols <strong>para</strong> el ajuste de los parámetros de este tipo de<br />
<strong>con</strong>troladores y <strong>para</strong> su optimización se han empleado<br />
métodos matemáticos que integran el error en diferentes<br />
variantes. Los métodos de la respuesta de frecuencia y la curva<br />
de reacción también se pueden incluir en este grupo <strong>para</strong><br />
ajustar y optimizar reguladores; sin embargo en muchos casos<br />
resultan del ajuste respuestas <strong>con</strong> inaceptable comportamiento<br />
(Hernández, 1997). Para problemas de éste tipo, los <strong>algoritmos</strong><br />
<strong>genéticos</strong> son la vía más práctica <strong>para</strong> obtener una solución<br />
óptima.<br />
Cuando los métodos de cálculo tradicionales no son viables<br />
<strong>para</strong> resolver problemas complejos, los AG son la herramienta<br />
indicada de búsqueda y optimización. Es por esto que el<br />
empleo de los <strong>algoritmos</strong> <strong>genéticos</strong> se ha vuelto popular,<br />
enfocándose en aplicaciones que abarcan diversas áreas del<br />
<strong>con</strong>ocimiento como física, biología, química e ingenierías,<br />
entre otras (Mitchell, 1996).<br />
Actualmente se han desarrollado en varios países alrededor<br />
del mundo avances de investigación y algunos proyectos<br />
utilizando la teoría de los <strong>algoritmos</strong> <strong>genéticos</strong>.<br />
En Cuba se elaboró un trabajo llamado “Aplicación de los<br />
<strong>algoritmos</strong> <strong>genéticos</strong> al diseño óptimo multiobjetivo de<br />
troqueles de corte y punzonado simples y progresivos” que
tenía como objetivo generar opciones de diseño de troqueles<br />
<strong>con</strong> el menor tiempo de diseño y fabricación (Ruiz & Simeón,<br />
2002).<br />
En Argentina se hizo un estudio llamado “Optimización de<br />
redes eléctricas mediante la implementación de <strong>algoritmos</strong><br />
<strong>genéticos</strong>”. En este estudio se plantea la optimización de la<br />
<strong>con</strong>figuración topológica de las redes eléctricas secundarias de<br />
distribución <strong>con</strong> el fin de minimizar las pérdidas ocasionadas<br />
por el efecto Joule (Anaut, et al., 2009).<br />
En el año 2005 en la ciudad de Chile, Goic y Caballero<br />
(2005), trabajaron en la “Aplicación de <strong>algoritmos</strong> <strong>genéticos</strong><br />
<strong>para</strong> el mejoramiento del proceso de programación del rodaje<br />
en la industria del cine independiente”. Su principal objetivo<br />
era formular e implementar un <strong>modelo</strong> que permitiera<br />
programar el rodaje de películas independientes de forma<br />
eficiente. El proceso buscaba programar la filmación de cada<br />
una de las escenas de una película <strong>con</strong> el mínimo costo posible<br />
y sin comprometer la calidad del proyecto cinematográfico.<br />
Cada escena es única y son diversos los actores, las<br />
localizaciones y otros recursos que participan, teniendo cada<br />
uno de ellos un requerimiento particular. Los recursos que<br />
intervienen en la película tienen un costo y una disponibilidad<br />
asociados, lo cual hace que la tarea de programar el orden y<br />
días en los cuales se filma cada escena sea bastante compleja.<br />
En Chile también se elaboró un “Diseño de redes viales<br />
urbanas usando <strong>algoritmos</strong> <strong>genéticos</strong>”. De este diseño surge<br />
un software que tiene como objetivo minimizar el costo de<br />
<strong>con</strong>strucción de las vías o del mejoramiento de las ya<br />
existentes además del tiempo total de viaje de los usuarios de<br />
la red (Pinninghoff, et al., 2004).<br />
En Venezuela por ejemplo, se realizó un trabajo empleando<br />
la teoría de los AG <strong>para</strong> la optimización del sistema de<br />
abastecimiento de agua de las ciudades Barquisimeto-<br />
Cabudare en el año 2006. Se realizó una experimentación del<br />
<strong>modelo</strong> <strong>con</strong> el fin de <strong>con</strong>ocer los valores de los parámetros por<br />
utilizar y el estudio de varios escenarios alternativos <strong>para</strong> dar<br />
solución al problema de abastecimiento de estas ciudades<br />
(Rincón, 2006).<br />
En Colombia, dos Ingenieros de sistemas, de la Universidad<br />
Francisco José de Caldas y de la Universidad Antonio Nariño,<br />
pertenecientes al Grupo Internacional de Investigación en<br />
Informática, Comunicaciones y Gestión del Conocimiento<br />
(GICOGE) desarrollaron un estudio de “Aplicación de<br />
<strong>algoritmos</strong> <strong>genéticos</strong> a la clasificación de imágenes de satélite<br />
en el marco de los servicios Grid inteligentes, estado del<br />
arte”. Este trabajo <strong>con</strong>sistió en la revisión sobre el desarrollo<br />
actual de la Grid, la Web semántica y los servicios Web,<br />
además de los diferentes enfoques acerca de la aplicación de<br />
los Algoritmos Genéticos al problema de la clasificación de<br />
imágenes de satélite (Hoyos & Pérez, 2007).<br />
En Pereira, Colombia, los ingenieros José Gabriel Hoyos y<br />
Jaiber Evelio Cardona, desarrollaron una técnica de “<strong>Control</strong><br />
en línea <strong>con</strong> <strong>algoritmos</strong> <strong>genéticos</strong> y recocido simulado”. Esta<br />
técnica usa una ley de <strong>con</strong>trol PID en la que primero se<br />
calculan las ganancias fuera de línea <strong>con</strong> un AG de coma<br />
flotante y luego en línea, de forma adaptativa el sistema ajusta<br />
las ganancias por medio de un algoritmo de recocido simulado<br />
(Hoyos & Cardona, 2007).<br />
El primer trabajo realizado en la Universidad Pontificia<br />
Bolivariana de Medellín empleando <strong>algoritmos</strong> <strong>genéticos</strong>, fue<br />
realizado en el año 1996, por la estudiante de Ingeniería<br />
Electrónica Diana Cristina Franco Gómez. “SINTAG”, un<br />
software diseñado <strong>para</strong> el laboratorio de <strong>con</strong>trol digital <strong>con</strong> el<br />
propósito de aplicar la teoría de los <strong>algoritmos</strong> <strong>genéticos</strong>, es el<br />
producto de su trabajo de grado titulado “Optimización de los<br />
parámetros de un <strong>con</strong>trol proporcional integral mediante<br />
<strong>algoritmos</strong> <strong>genéticos</strong>” (Franco, 1996). Este software busca los<br />
parámetros óptimos de un <strong>con</strong>trol proporcional integral (PI) de<br />
tiempo discreto, <strong>para</strong> el manejo de la planta Movilab del<br />
Laboratorio de Sistemas Automáticos de <strong>Control</strong> de la<br />
Universidad Pontificia Bolivariana.<br />
En Medellín, en el año 2000, Sandra Patricia Toro<br />
Navarrete y Andrés Felipe Villegas Montoya, estudiantes <strong>para</strong><br />
ese entonces de la Facultad de Ingeniería Electrónica de la<br />
Universidad Pontificia Bolivariana, presentaron su proyecto de<br />
grado llamado “<strong>Control</strong> adaptativo óptimo <strong>con</strong> <strong>algoritmos</strong><br />
<strong>genéticos</strong>”. Con este trabajo se pretendió perfeccionar y<br />
complementar el software existente en la universidad basado<br />
en AG, el “SINTAG” elaborado por Diana Cristina Franco<br />
Gómez, de modo que se hiciera un ajuste más eficiente y<br />
preciso al <strong>con</strong>trolador. Parte del trabajo también fue un cambio<br />
en el lenguaje de programación, pues el antiguo SINTAG se<br />
estructuró sobre una programación en C++ bajo DOS y el<br />
nuevo SINTAG fue programado en C++ Builder 5<br />
permitiendo trabajar en un ambiente gráfico bajo Windows<br />
(Toro & Villegas, 200).<br />
En la Universidad Eafit de Medellín, Juan David Jaramillo<br />
Y Francisco José Correa utilizaron “Programación lineal y<br />
<strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong> la solución del problema de corte”.<br />
Su objetivo era optimizar la cantidad de material utilizado en<br />
un proceso de producción (Jaramillo & Correa, n.d.).<br />
II. APLICACIÓN ALGOGEN<br />
ALGOGEN es una aplicación de software desarrollada en el<br />
ambiente de programación gráfica LabVIEW 7.1. La<br />
aplicación se elaboró <strong>para</strong> un cabezote textil, equipo<br />
denominado Modelo Didáctico de <strong>Control</strong> de Tensión <strong>para</strong><br />
Procesos Textiles, perteneciente a los laboratorios de la<br />
Facultad de Ingeniería Eléctrica y Electrónica de la<br />
Universidad Pontificia Bolivariana. La aplicación realiza la<br />
sintonización de un <strong>con</strong>trol proporcional integral (P+I)<br />
empleando el método adaptativo de los <strong>algoritmos</strong> <strong>genéticos</strong>.<br />
En la Fig. 1, se observa la pantalla inicial de la interfaz de<br />
usuario de la aplicación.
Figura 1. Pantalla inicial aplicación ALGOGEN.<br />
El programa requiere inicializar unos parámetros de los<br />
cuales se vale toda la aplicación.<br />
En primer lugar se crea una generación inicial de forma<br />
aleatoria la cual se evalúa según el criterio error escogido. A<br />
partir de esta evaluación se escogen los padres de la próxima<br />
generación teniendo en cuenta el criterio de reproducción<br />
seleccionado. Después se realiza el cruce entre los genes de los<br />
padres ya sea monopunto, multipunto aleatorio o multipunto<br />
uniforme según la selección del usuario. Luego cada uno de los<br />
hijos que resultan de la rutina de cruce, pasan por la rutina de<br />
mutación donde algunos de sus genes cambian de forma<br />
aleatoria o uniforme según se haya especificado. Al llegar a<br />
este punto, si se ha cumplido <strong>con</strong> el criterio de terminación, la<br />
aplicación llega a su fin arrojando el resultado de la solución<br />
más óptima de todas las generaciones. Si no se cumple <strong>con</strong> el<br />
criterio de terminación el programa <strong>con</strong>tinúa el mismo proceso,<br />
pero ya sin crear nuevamente una generación inicial sino<br />
empleando la nueva generación. Las rutinas más importantes<br />
de la aplicación son:<br />
A. Primera generación<br />
Esta rutina es la encargada de crear de forma aleatoria la<br />
primera generación.<br />
B. Evalúa adaptación<br />
Esta rutina es la encargada de evaluar la función de<br />
adaptación de cada uno de los individuos de una población y lo<br />
hace generación tras generación. En esta rutina se prueba el<br />
<strong>con</strong>trolador P+I <strong>con</strong> los parámetros que da cada uno de los<br />
individuos y se calculan los 6 criterios de error <strong>para</strong> el mismo<br />
individuo.<br />
C. Ruleta<br />
Esta rutina es la encargada de escoger a los padres de la<br />
próxima generación. Según el criterio de reproducción elegido<br />
y el número de individuos escogidos por el usuario, la ruleta<br />
arroja diferentes resultados. Se pueden escoger varios criterios<br />
de reproducción al mismo tiempo o ninguno.<br />
Hermafroditismo<br />
La rutina de la Ruleta escoge un número de parejas de<br />
padres igual al número de individuos de la población. Según<br />
este criterio los padres deben ser diferentes, es decir, un padre<br />
no puede tener hijos <strong>con</strong>sigo mismo. Cabe aclarar que una<br />
misma pareja de padres puede tener uno o varios hijos.<br />
Elitismo<br />
La rutina de la Ruleta escoge un número de parejas de<br />
padres igual al número de individuos de la población menos un<br />
individuo. El individuo faltante se va a copiar exactamente<br />
igual de la generación actual a la nueva generación y será aquel<br />
individuo que tenga mayor capacidad de adaptación.<br />
Eliminación<br />
La rutina de la Ruleta escoge un número de parejas de<br />
padres igual al número de individuos de la población. Este<br />
criterio no permite que el peor individuo de la generación<br />
actual se reproduzca. Es decir, el individuo <strong>con</strong> menor<br />
capacidad de adaptación no será padre en la próxima<br />
generación. Por lo tanto las parejas de padres que arroja la<br />
rutina serán la combinación de los individuos restantes.<br />
D. Cruce<br />
Esta rutina permite el intercambio genético entre dos<br />
individuos, ya sean distintos (padres diferentes) o iguales (el<br />
mismo padre), en uno o varios puntos de cruce determinados.<br />
Cruce monopunto<br />
En este caso sólo existe un punto de cruce de material<br />
genético. Para determinar <strong>con</strong> los genes de qué padre empieza<br />
el hijo, se lanza un dado que da un número entre 0 y 1. Si el<br />
valor del dado es menor que la probabilidad de cruce Pc, el<br />
hijo empieza <strong>con</strong> los genes del padre A. En caso <strong>con</strong>trario<br />
empieza <strong>con</strong> los genes del padre B. El punto de cruce es<br />
escogido de forma aleatoria. En la Fig. 2 se observa un ejemplo<br />
de cruce monopunto utilizando la aplicación ALGOGEN.<br />
Figura 2. Cruce monopunto<br />
Cruce multipunto aleatorio<br />
En este caso pueden existir uno o varios puntos de cruce que<br />
dependen de la probabilidad de cruce Pc. Este criterio <strong>con</strong>siste<br />
en lanzar un dado 18 veces. Si el valor del dado es mayor que<br />
Pc el padre que está heredando sigue aportando sus genes. Si al<br />
lanzar el dado cae un valor menor que Pc se intercambia de<br />
padre.<br />
Para determinar <strong>con</strong> los genes de qué padre empieza el hijo,<br />
se lanza por primera vez un dado que da un número entre 0 y 1.<br />
Si el valor del dado es menor que Pc, el hijo empieza <strong>con</strong> los<br />
genes del padre A (verdes). En caso <strong>con</strong>trario empieza <strong>con</strong> los<br />
genes del padre B (rojos). Después de determinar <strong>con</strong> qué<br />
genes empieza el hijo, se vuelve a lanzar el dado y si el valor<br />
de éste es mayor que Pc el hijo <strong>con</strong>tinúa <strong>con</strong> los genes del<br />
mismo padre. Si por el <strong>con</strong>trario el valor del dado es menor<br />
que Pc se intercambia de padre. El dado se sigue lanzando y se<br />
<strong>con</strong>tinúa <strong>con</strong> el mismo procedimiento hasta llegar al gen 18. En<br />
la Fig. 3 se observa un ejemplo de cruce multipunto aleatorio<br />
utilizando la aplicación ALGOGEN.
Figura 3. Cruce multipunto aleatorio<br />
Cruce multipunto uniforme<br />
En este caso el número de puntos de cruce es determinado<br />
por Pc y siempre será un número fijo de puntos de cruce. Un<br />
punto de cruce puede repetirse varias veces ya que es escogido<br />
de forma aleatoria, incluso puede ser el único punto de cruce<br />
que exista o también pueden haber tantos puntos de cruce<br />
diferentes según lo determine Pc.<br />
Para determinar <strong>con</strong> los genes de qué padre empieza el hijo,<br />
se lanza por primera vez un dado que da un número entre 0 y 1.<br />
Si el valor del dado es menor que Pc, el hijo empieza <strong>con</strong> los<br />
genes del padre A (verdes). En caso <strong>con</strong>trario el hijo empieza<br />
<strong>con</strong> los genes del padre B (rojos). En la Fig. 4 se observa un<br />
ejemplo de cruce multipunto uniforme utilizando la aplicación<br />
ALGOGEN.<br />
Figura 4. Cruce multipunto uniforme<br />
E. Mutación<br />
Esta rutina es la encargada de garantizar que en la población<br />
haya diversidad lo que hace que la exploración de la solución<br />
óptima en el espacio de búsqueda sea más amplia. Esta rutina<br />
permite que no se reproduzcan <strong>modelo</strong>s fijos de individuos en<br />
las generaciones siguientes. En las Fig. 5. y Fig. 6. se observan<br />
los genes sin mutar en rojo y en verde los genes mutados.<br />
Mutación aleatoria<br />
Cuando se escoge este criterio no se tiene un determinado<br />
número de mutaciones. En este caso la rutina va evaluando gen<br />
por gen y cada vez tira un dado que da un número entre 0 y 1.<br />
Si el número del dado es menor que la probabilidad de<br />
mutación Pm, el gen evaluado muta de alelo. Si por el <strong>con</strong>trario<br />
el valor del dado es mayor que Pm entonces el gen no presenta<br />
mutación y el alelo permanece <strong>con</strong>stante. En la Fig. 5., se<br />
observa un ejemplo de mutación aleatoria utilizando la<br />
aplicación ALGOGEN.<br />
Figura 5. Mutación aleatoria<br />
Mutación uniforme<br />
Si se escoge este criterio y según la probabilidad de<br />
mutación Pm, el individuo siempre tendrá un determinado<br />
número de mutaciones. El gen a mutar y el nuevo alelo<br />
(número del 0 al 9), son escogidos aleatoriamente. Por tal<br />
razón un gen puede mutar de alelo y volver a quedar <strong>con</strong> el<br />
mismo alelo. Además, en este caso específico, un mismo gen<br />
puede mutar varias veces, incluso puede ser el único gen que<br />
mute el número de veces que determine la Pm o en su defecto<br />
habrán tantos genes mutados como número de mutaciones<br />
haya. En la Fig. 6 se observa un ejemplo de mutación uniforme<br />
utilizando la aplicación ALGOGEN.<br />
Figura 6. Mutación uniforme<br />
F. Criterio de terminación<br />
Esta rutina se encarga de detener la evolución del algoritmo<br />
genético y de seleccionar el individuo más apto entre todas las<br />
generaciones <strong>para</strong> ser la solución óptima del problema.<br />
Número de generaciones<br />
Cuando se elige este criterio de terminación, el algoritmo<br />
genético detiene su ciclo evolutivo cuando ha transcurrido un<br />
número determinado de generaciones.<br />
Aptitud estabilizada<br />
Cuando se elige este criterio de terminación, el AG detiene<br />
su ciclo evolutivo si ha transcurrido un número determinado de<br />
generaciones sin presentar mejoría.<br />
III. PRUEBAS Y ANÁLISIS<br />
Para cada prueba se hizo una <strong>con</strong>figuración de criterios<br />
diferente (ver Tabla 1) y se dejaron fijos los valores de todos<br />
los demás parámetros (ver Tabla 2).<br />
Tabla 1. Configuración de criterios de cada prueba<br />
Tabla 2. Parámetros fijos en cada prueba<br />
A. Primera prueba<br />
En la Fig. 7 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.
Figura 7. Mejores y peores individuos de cada generación de la prueba 1<br />
Para esta <strong>con</strong>figuración, los mejores individuos de cada<br />
generación no tuvieron un comportamiento siempre creciente,<br />
sino que siempre estuvieron en un espacio de búsqueda<br />
reducido ya que los individuos eran similares entre sí. Esto se<br />
debe a que <strong>con</strong> el cruce monopunto en el intercambio genético<br />
el hijo siempre tuvo una proporción de genes exactamente<br />
iguales a los del padre A y otra a los del padre B, es decir, el<br />
hijo siempre mantuvo las mismas características de los padres<br />
y la solución siempre se <strong>con</strong>centró en un espacio de búsqueda<br />
limitado, haciendo que los individuos tuvieran los mismos<br />
genes. Los altibajos que se observan en la Fig. 7. son debido a<br />
las pocas mutaciones que tuvo cada individuo ya que la<br />
probabilidad de mutación era muy pequeña y por haber usado<br />
el criterio de mutación aleatoria, fueron muy pocos los genes<br />
mutados o en algunos casos no se presentó mutación alguna.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
B. Segunda prueba<br />
En la Fig. 8 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 8. Mejores y peores individuos de cada generación de la prueba 2<br />
Al igual que en la prueba 1, al usar el cruce monopunto, los<br />
individuos siempre <strong>con</strong>servaban las mismas características de<br />
sus padres por tanto eran similares entre sí. Pero gracias a la<br />
mutación uniforme, se mutaron varios genes en cada individuo<br />
por lo que el espacio de búsqueda se hizo más amplio. En este<br />
caso las mutaciones acertaron en la exploración de una mejor<br />
solución haciendo que ésta fuera creciente de generación en<br />
generación.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
C. Tercera prueba<br />
En la Fig. 9 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 9. Mejores y peores individuos de cada generación de la prueba 3<br />
En esta <strong>con</strong>figuración de cruce multipunto aleatorio se<br />
favorece el intercambio de material genético en gran cantidad<br />
de partes, haciendo que los hijos aunque heredaran todas sus<br />
características de ambos padres, fueran diferentes a ellos.<br />
Además gracias a la mutación aleatoria se permitió mutar<br />
cierta cantidad de genes en cada individuo lo cual en la<br />
mayoría de los casos fue satisfactorio y permitió que la<br />
respuesta de <strong>con</strong>trol de los mejores individuos fuera creciente,<br />
excepto en la última generación en la cual a pesar de haber<br />
respondido bien ante la entrada deseada, su comportamiento<br />
no fue mejor que el del mejor individuo de la generación<br />
inmediatamente anterior. Esto como <strong>con</strong>secuencia de una<br />
mutación poco favorable.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
D. Cuarta prueba<br />
En la Fig. 10 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Gracias a la mutación multipunto aleatoria los hijos podían<br />
heredar las características de sus padres de manera repartida<br />
pero como se utilizó una mutación uniforme, éstos tuvieron<br />
ciertas mutaciones en algunos de sus genes que no<br />
favorecieron a los individuos <strong>para</strong> obtener una mejor respuesta<br />
de <strong>con</strong>trol. Por lo tanto esta combinación de criterios no es<br />
muy recomendada <strong>para</strong> <strong>con</strong>figurar la búsqueda del algoritmo<br />
genético, pues debido a que se presentan varias mutaciones no<br />
se puede predecir si éstas favorecerán o no a los individuos<br />
<strong>para</strong> mejorar su comportamiento. Otro aspecto que influyó en
el pobre desempeño de los individuos fue la población inicial,<br />
pues ésta no era realmente muy buena, teniendo incluso la<br />
mayoría de los individuos menos eficientes lo cual hizo que<br />
por la <strong>con</strong>figuración que se tenía no se favoreciera la<br />
generación de buenos individuos.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético no fue lo suficientemente<br />
buena, evidenciando <strong>con</strong> esto que cuando se utiliza este<br />
criterio de terminación del algoritmo no siempre la solución<br />
en<strong>con</strong>trada es la más óptima.<br />
Figura. 10. Mejores y peores individuos de cada generación de la prueba 4<br />
E. Quinta prueba<br />
En la Fig. 11. se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 11. Mejores y peores individuos de cada generación de la prueba 5<br />
En esta prueba, la primera población fue muy mala. Como<br />
<strong>con</strong>secuencia de ésto y del criterio de cruce multipunto<br />
uniforme, en el cual podían haber varios puntos de cruce los<br />
cuales podían ser o no los mismos, los individuos no<br />
presentaron una evolución satisfactoria. Además de las muchas<br />
mutaciones que pudo haber presentado cada individuo, según<br />
el criterio de mutación escogido, las cuales en este caso no<br />
favorecieron su desempeño. Debido a la <strong>con</strong>figuración<br />
empleada, tanto el comportamiento de los mejores y peores<br />
individuos de cada generación no estuvo muy alejado entre sí.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético no fue lo suficientemente<br />
buena, evidenciando <strong>con</strong> esto, una vez más, que cuando se<br />
utiliza este criterio de terminación del algoritmo no siempre la<br />
solución en<strong>con</strong>trada es óptima, en este caso nunca lo fue.<br />
F. Sexta prueba<br />
En la Fig. 12 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 12. Mejores y peores individuos de cada generación de la prueba 6<br />
Con esta <strong>con</strong>figuración y gracias a una población inicial<br />
relativamente buena, el desempeño de los mejores individuos<br />
tuvo una tendencia creciente. El cruce multipunto uniforme en<br />
este caso permitió un intercambio genético lo suficientemente<br />
bueno como <strong>para</strong> que las pocas o ninguna mutaciones que se<br />
presentaran, por el criterio de mutación aleatoria seleccionado,<br />
favorecieran el desempeño de los individuos.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es aceptable.<br />
G. Séptima prueba<br />
En la Fig. 13 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 13. Mejores y peores individuos de cada generación de la prueba 7<br />
En este caso al usar el criterio de reproducción elitista, la<br />
búsqueda de la mejor solución tuvo una tendencia creciente<br />
tras el paso de las generaciones debido a que siempre se<br />
<strong>con</strong>servaba el mejor individuo de una generación <strong>para</strong><br />
reproducirse exactamente en la siguiente.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
H. Octava prueba<br />
En la Fig. 14 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 14. Mejores y peores individuos de cada generación de la prueba 8<br />
En este caso usando el criterio de reproducción en el cual se<br />
elimina el peor individuo de la generación, la tendencia de los<br />
mejores individuos de cada generación es creciente excepto<br />
por el individuo de la generación 3, quien se pudo haber<br />
alejado de donde se <strong>con</strong>centraba la solución más óptima<br />
debido a alguna mutación. Esta tendencia se debe a que los<br />
individuos son hijos de padres relativamente buenos o no tan<br />
malos.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
I. Novena prueba<br />
En la Fig. 15 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 15. Mejores y peores individuos de cada generación de la prueba 9<br />
En esta prueba se vetó la posibilidad de que un individuo<br />
fuera hijo del mismo padre. Por tanto cada individuo tiene las<br />
características de dos padres distintos pudiendo ser cada uno<br />
de ellos bueno o malo lo cual podría hacer que el hijo fuera tan<br />
bueno o tan malo como la combinación de los genes de sus<br />
padres sugiriesen. En la Fig. 15 se observa la tendencia de los<br />
mejores y peores individuos en ocasiones creciente y en otras<br />
decreciente. Se puede decir entonces que si no se hubiera<br />
vetado el hermafroditismo, un individuo al ser hijo de un padre<br />
malo sería exactamente igual de malo que el progenitor<br />
excepto si tuviese una mutación que le favoreciera su función<br />
de adaptación y, si el padre fuera muy bueno el hijo podría ser<br />
igual de bueno o más excepto si tuviese una mutación que no<br />
le favoreciera.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
J. Décima prueba<br />
En la Fig. 16 se observa el resumen del comportamiento de<br />
los mejores y peores individuos de todas las generaciones <strong>para</strong><br />
esta prueba.<br />
Figura 16. Mejores y peores individuos de cada generación de la prueba 10<br />
Con el paso de las generaciones se iba eliminando el peor<br />
individuo y <strong>con</strong>servando el que tuviera el mejor desempeño,<br />
además que se restringía la posibilidad de que un individuo<br />
fuera hijo de un mismo padre. Con ésto se evitaba que<br />
individuos de pocas capacidades tuvieran descendencia en<br />
próximas generaciones y que los individuos mejor adaptados<br />
pudieran reproducirse entre ellos, generando hijos <strong>con</strong><br />
características similares a las de sus padres.<br />
En la Fig. 16 se puede observar que a partir de la generación<br />
4 los individuos bajan su rendimiento de supervivencia. Esto<br />
se pudo haber presentado por alguna mutación que<br />
desfavoreció a alguno o algunos individuos desviando la<br />
tendencia creciente <strong>con</strong> la que venían los mejores individuos<br />
de las generaciones anteriores.<br />
Después de cumplirse <strong>con</strong> el criterio de terminación por<br />
número de generaciones se puede decir que la solución<br />
en<strong>con</strong>trada por el algoritmo genético es lo suficientemente<br />
buena más no la más óptima.<br />
IV. CONCLUSIONES<br />
Se implementó en LabVIEW una aplicación <strong>para</strong> la<br />
sintonización de un <strong>con</strong>trolador proporcional integral mediante<br />
<strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong> <strong>con</strong>trolar la tensión de la tela en el<br />
equipo Modelo Didáctico de <strong>Control</strong> de Tensión <strong>para</strong> Procesos
Textiles. Esta aplicación se maneja por medio de una interfaz<br />
gráfica que es muy amigable y de fácil uso <strong>para</strong> un usuario <strong>con</strong><br />
<strong>con</strong>ocimientos básicos en automática y <strong>con</strong>trol.<br />
Para el manejo de la aplicación ALGOGEN se elaboró un<br />
manual de usuario que brinda información detallada desde<br />
cómo iniciar la aplicación hasta cómo variar cada uno de sus<br />
parámetros.<br />
Se elaboró una breve pero sustancial y detallada<br />
recopilación del estado del arte de los <strong>algoritmos</strong> <strong>genéticos</strong><br />
<strong>con</strong> algunas de las aplicaciones y trabajos más recientes. Se<br />
presenta además, una corta teoría de este método evolutivo.<br />
Se elaboró un artículo publicable en formato IEEE en donde<br />
se presenta el estado del arte de los <strong>algoritmos</strong> <strong>genéticos</strong> <strong>con</strong><br />
algunas de sus aplicaciones más recientes. Además se explica<br />
de forma general la aplicación ALGOGEN y se dan a <strong>con</strong>ocer<br />
algunas de las pruebas realizadas y los resultados obtenidos a<br />
partir de ellas.<br />
La población inicial al ser escogida al azar aunque en un<br />
principio puede estar alejada de la solución óptima, permite<br />
que los individuos que la <strong>con</strong>forman estén dispersos por todo<br />
el espacio de búsqueda haciendo que el algoritmo genético<br />
busque soluciones en lugares que hubieran sido descartados<br />
intuitivamente.<br />
El criterio de reproducción elitista no siempre es<br />
<strong>con</strong>veniente, pues se puede dar el caso en que la búsqueda de<br />
la solución se encuentre en el espacio de un máximo local y<br />
nunca logre salir de él <strong>para</strong> alcanzar el máximo absoluto. Si se<br />
presenta el caso <strong>con</strong>trario, el algoritmo sigue su evolución<br />
hasta en<strong>con</strong>trar la mejor solución.<br />
Cuando se utiliza el criterio de terminación por número de<br />
generaciones, no hay garantía que la solución obtenida sea la<br />
óptima. Tampoco se puede asegurar que las soluciones<br />
siguientes hubieran sido mejores.<br />
El método de optimización <strong>con</strong> <strong>algoritmos</strong> <strong>genéticos</strong>, <strong>para</strong><br />
casos prácticos donde no se tiene un <strong>modelo</strong> completo del<br />
proceso, implica realizar gran cantidad de experimentos.<br />
Como <strong>con</strong>secuencia de esto, el uso de ésta técnica puede no<br />
ser muy <strong>con</strong>veniente ya que cada experimento requiere un<br />
tiempo determinado y esto representa un costo. En caso de que<br />
el costo total pueda superar los beneficios es mejor no utilizar<br />
este método.<br />
Los <strong>algoritmos</strong> <strong>genéticos</strong> no garantizan un 100% de<br />
optimalidad en la búsqueda de una solución, es decir, no<br />
garantizan que la solución en<strong>con</strong>trada sea la mejor y la más<br />
óptima pero sí que es lo suficientemente buena y cercana a la<br />
óptima ideal.<br />
Cuando se utiliza el criterio de eliminación los peores<br />
individuos siempre son eliminados <strong>con</strong> lo que se garantiza que<br />
la nueva generación será descendiente de padres buenos o no<br />
tan malos como el individuo de menos capacidades. De esta<br />
manera la búsqueda del algoritmo se va encaminando a<br />
en<strong>con</strong>trar una buena solución.<br />
Cuando no se activa el criterio del hermafroditismo, si algún<br />
individuo es hijo de un mismo padre y éste es de pocas<br />
capacidades de supervivencia, este individuo sería<br />
exactamente igual de malo que su progenitor excepto si tuviese<br />
una mutación que le favoreciera su función de adaptación. Por<br />
el <strong>con</strong>trario si el padre fuera muy bueno el hijo podría ser igual<br />
de bueno o más que el mismo padre excepto si tuviese una<br />
mutación que no le favoreciera su capacidad de sobrevivir.<br />
El operador genético cruce permite que los hijos hereden las<br />
características de sus padres y mantiene la diversidad de<br />
individuos en sucesivas generaciones.<br />
El cruce monopunto permite que el hijo siempre mantenga<br />
las mismas características de los padres y la solución siempre<br />
se <strong>con</strong>centre en un espacio de búsqueda reducido lo que hace<br />
que los individuos sean muy similares entre sí excepto si<br />
presentan mutaciones en algunos de sus genes.<br />
El cruce multipunto aleatorio favorece el intercambio de<br />
material genético en gran cantidad de partes, haciendo que los<br />
hijos aunque heredaran todas sus características de ambos<br />
padres, sean diferentes a ellos.<br />
El cruce multipunto uniforme permite en el hijo la<br />
recombinación de genes de sus padres en varios puntos de<br />
cruce los cuales pueden llegar a ser o no los mismos. Para éste<br />
último caso, el operador cruce se comportaría como un cruce<br />
monopunto. En algunas ocasiones la selección de este criterio<br />
puede favorecer o no el desempeño de un individuo.<br />
El operador mutación debe estar presente en un método de<br />
optimización por <strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong> poder garantizar la<br />
exploración de soluciones en todo el espacio de búsqueda, de<br />
lo <strong>con</strong>trario no se garantiza que se explore todo el espacio<br />
quedándose el algoritmo <strong>con</strong>finado en un mismo punto. Cabe<br />
destacar que no siempre las mutaciones favorecen la búsqueda<br />
de la mejor solución, en ocasiones la desvían haciendo que el<br />
espacio de búsqueda se amplíe nuevamente y el algoritmo se<br />
demore más en <strong>con</strong>verger.<br />
Si se utiliza el criterio de mutación aleatoria <strong>con</strong> una<br />
probabilidad muy pequeña o muy grande puede haber ninguna<br />
o muy pocas mutaciones.<br />
La mutación uniforme permite que se muten más cantidad<br />
de genes en cada individuo por lo que el espacio de búsqueda<br />
se hace más amplio.<br />
REFERENCIAS<br />
Anaut, D., Di mauro, G. & Meschino, G., Suarez, J., 2009. Optimización de<br />
redes eléctricas mediante la aplicación de <strong>algoritmos</strong> <strong>genéticos</strong>. Información<br />
Tecnológica, [En línea] 20(4), pp.137-148. Disponible en:<br />
http://www.scielo.cl/scielo.php?script=sci_arttext&pid =s0718-<br />
07642009000400016&lng=es&nrm=iso [Consultado el 15 Noviembre de<br />
2010].<br />
AUPEC (Agencia Universitaria de Periodismo Científico), 1997. Ciencia al<br />
día: La evolución de las especies también en Ingeniería. [En línea].<br />
Disponible en: http://aupec.univalle.edu.co/informes/mayo97/bol<br />
etin37/<strong>algoritmos</strong>.html [Consultado el 6 de Julio de 2010].<br />
Franco, D.C., 1996. Optimización de los parámetros de un <strong>con</strong>trol<br />
proporcional integral mediante <strong>algoritmos</strong> <strong>genéticos</strong>. Medellín. Trabajo de<br />
grado <strong>para</strong> optar al título de Ingeniero Electrónico. Universidad Pontificia<br />
Bolivariana. Escuela de Ingenierías. Facultad de Ingeniería Eléctrica y<br />
Electrónica.
Goic, M., Caballero, C., 2005. Aplicación de <strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong> el<br />
mejoramiento del proceso de programación del rodaje en la industria del cine<br />
independiente. [En línea] Disponible en:<br />
http://www.dii.uchile.cl/~ceges/publicaciones/ceges73.pdf [Consultado el 6 de<br />
Julio de 2010].<br />
Hernández, M.C., 1997. Los <strong>algoritmos</strong> <strong>genéticos</strong> en el ajuste óptimo de<br />
reguladores. Energía y computación, 6(1) Edición 12, pp.33-37.<br />
Hoyos J., Cardona, J., 2007. <strong>Control</strong> en línea <strong>con</strong> <strong>algoritmos</strong> <strong>genéticos</strong> y recocido<br />
simulado. Scientia et Technica, 13 (35), pp.113-116.<br />
Hoyos, J.G., Pérez, J.N., 2007. Aplicación de <strong>algoritmos</strong> <strong>genéticos</strong> a la<br />
clasificación de imágenes de satélite en el marco de los servicios Grid<br />
inteligentes, estado del arte. Ciencia e Ingeniería Neogranadina. [En línea]<br />
17(2), pp.95-109. Disponible en: http://www.umng.edu.co/www/<br />
resources/17n2art6.pdf [Consultado el 5 de Julio de 2010].<br />
Jaramillo, J., Correa, F., n.d. Programación lineal y <strong>algoritmos</strong> <strong>genéticos</strong> <strong>para</strong><br />
la solución del problema de corte. [En línea] Disponible en: http://ingenieriamatematica.eafit.edu.co<br />
/programa/practicas_invest<br />
igativas/prac_inv_programacion_lineal_ag_corte.pdf [Consultado el 15<br />
Noviembre de 2010].<br />
Mitchell, M., 1996. An introduction to genetic algorithms. 2 da ed. Cambridge:<br />
Massachusetts: MIT.<br />
Pinninghoff, M., Matthews, D. & Díaz, H., 2004. Diseño de redes viales urbanas<br />
usando <strong>algoritmos</strong> <strong>genéticos</strong>. Revista Ingeniería Informática, [En línea] Agosto,<br />
10. Disponible en: http://www.inf.udec.cl/~revista/ed<br />
iciones/edicion10/map01.pdf [Consultado el 15 de Noviembre de 2010].<br />
Rincón, J.C., 2006. Aplicación de <strong>algoritmos</strong> <strong>genéticos</strong> en la optimización del<br />
sistema de abastecimiento de agua de Barquisimeto-Cabudare. Avances en<br />
recursos hidráulicos [En línea] Octubre, 14, pp.25-38. Disponible en:<br />
http://www.revistas.unal.edu.co/index.php/ arh/article/viewFile/9328/9972<br />
[Consultado el 6 de Julio de 2010].<br />
Ruiz, J., Simeón, R., 2002. Aplicación de los <strong>algoritmos</strong> <strong>genéticos</strong> al diseño<br />
óptimo multiobjetivo de troqueles de corte y punzonado simples y progresivos.<br />
Revista latinoamericana de metalurgia y materiales [En línea]<br />
Junio, 22(2), pp.11-17. Disponible en: http://www.scielo.org.ve/s<br />
cielo.php?script=sci_arttext&pid=s025569522002000200003 &lng=es&nrm=iso<br />
[Consultado el 15 Noviembre de 2010].<br />
Tabares, H., 2005. Algoritmos <strong>genéticos</strong>. Medellín: Editorial Universidad<br />
Pontificia Bolivariana.<br />
Toro, S.P., Villegas, A.F., 2000. <strong>Control</strong> adaptativo óptimo <strong>con</strong> <strong>algoritmos</strong><br />
<strong>genéticos</strong>. Medellín. Trabajo de grado <strong>para</strong> optar al título de Ingeniero<br />
Electrónico. Universidad Pontificia Bolivariana. Escuela de Ingenierías. Facultad<br />
de Ingeniería Eléctrica y Electrónica.