= + +
* 4
con-ciencias
84 Tecnura ao 13 No. 25 segundo semestre de 2009
4.1.2. Funcin objetivo
la Iuncion objetivo proporciona una medida de
desempeo del sistema asociado a cierto indivi-
duo en la poblacion.
4.1.3. Operador de seleccin:
el proceso de seleccion busca escoger ciertos indi-
viduos de la poblacion, quienes daran origen a las
Iuturas generaciones. Por lo general, la seleccion
depende del valor de la Iuncion de evaluacion de
cada individuo.
4.1.4. Operador de cruce
Consiste en mezclar la inIormacion gentica de
dos individuos a fn de generar nuevos individuos.
4.1.4. Operador de mutacin
Consiste en alterar las caracteristicas genticas de
un individuo, con el objeto de aumentar la proba-
bilidad de exploracion del espacio de busqueda y
disminuir el riesgo de estancamiento del algorit-
mo en optimos locales.
4.2. Estructura General de los AG. EE
Se comienza con una poblacion inicial de solucio-
nes aleatorias (poblacion). Cada individuo en la
poblacion es llamado cromosoma, el cual repre-
senta una solucion al problema. Los cromosomas
evolucionan a travs de iteraciones sucesivas,
llamada tambin generacion; durante cada gene-
racion los nuevos cromosomas son evaluados,
usando la medida de aptitud. Luego, mediante
los operadores de cruce y mutacion, se seleccio-
nan los cromosomas con mayor probabilidad de
supervivencia a fn de realizar la exploracion y la
explotacion de la Iuncion objetivo. Por ultimo, se
reinsertan a la poblacion actual, despus de termi-
nar el numero de generaciones se selecciona al in-
dividuo con mayor desempeo, el cual representa
la solucion mas optima.
Figura 1. Diagrama de ujo de algoritmo gentico simple
con-ciencias
85
Aplicacin de los algoritmos genticos para el diseo de un controlador PD adaptativo
Ilber A. Ruge/Miguel A. Alvis
4.3. Algoritmo gentico aplicado a un
PID
A continuacion se muestra el codigo Iuente en
Matlab 4] obtenido para aplicar los operadores
genticos del algoritmo al controlador PID adap-
table.
Figura 2. Algoritmos genticos aplicados a controladores
PID.
%% - - - - INICIO DEL ALGORITMO GENTICO - - - -
>> NIND = 40; % NMERO INDIVIDUOS POBLACIN
>> MAXGEN = 100; % NMERO DE GENERACIONES
>> NVAR = 3; % NMERO DE VARIABLES
>> PRECI = 20; % PRECISIN BINARIA
>> FieldD=[rep([PRECI],[1,NVAR]); [0.01;10], [0.01;10], [0.01;2]; rep([0; 0;
1; 1], [1,NVAR])];
>> Chrom = crtbp(NIND,NVAR*PRECI); % POBLACIN INICIAL
>> Best = []; % MEJOR DE LA POBLACIN ACTUAL
>> gen = 1; % CONTADOR DE GENERACIONES
% EVALUACIN DE LA FUNCIN OBJETIVO
>> pobPID = bs2rv(Chrom,FieldD);
>> objV = objfunPID(pobPID);
>> [minimo,ubi] = min(objV);
>> Best = [Best; minimo, VP(ubi), VI(ubi), VD(ubi)];
% LOOP GENERACIONAL
>> while gen < MAXGEN;
% ASIGNACIN DESEMPEO
>> FitnV = ranking(objV);
% SELECCIN DE INDIVIDUOS
>> SelCh = select(sus, Chrom, FitnV);
% CRUCE
>> SelCh = recombin(xovsp,SelCh,0.7);
% MUTACIN
>> SelCh = mut(SelCh);
% EVALUACIN DE LOS DESCENDIENTES
>> pobPID = bs2rv(SelCh, FieldD);
>> objV = objfunPID(pobPID);
>> [minimo,ubi] = min(objV);
con-ciencias
86 Tecnura ao 13 No. 25 segundo semestre de 2009
Para el algoritmo defnido anteriormente, la Iun-
cion objetivo esta dada por la ecuacion 3.
5. Pruebas y resuItados
Con el animo de evaluar el desempeo del algorit-
mo y teniendo en cuenta cambio en los parametros
del sistema bajo evaluacion, se realizaron pruebas
para dos tipos de sistemas: Sistema de Primer Or-
den y de Segundo Orden.
5.1. Pruebas y resultados aplicados a
un sistema de primer orden
El modelo clasico para la representacion de un sis-
tema de primer orden son los sistemas trmicos
|5|. La Iuncion de transIerencia del modelo selec-
cionado para las respectivas pruebas del algoritmo
diseado esta dado por la ecuacion 4.
Los parametros del sistema estan defnidos de la
siguiente manera:
Por ejemplo, para k 3 , tiempo de retardo k t
a
t
a
0 seg. y constante de tiempo : 4 seg, la planta :
queda defnida en la ecuacion 5.
Ante una entrada escalon unitario, el sistema pre-
>> Best = [Best; minimo, VP(ubi), VI(ubi), VD(ubi)];
% REINSERTAR DESCENDIENTES A POBLACIN ACTUAL
>> [Chrom objV] = reins(Chrom, SelCh, 1, 1, objV, ObjVSel);
>> gen = gen+1;
>> end
% RECUPERA EL MEJOR VALOR DE LA MATRIZ BEST Y GRAFICA ESTE VALOR DE PID
>> Best1 = Best(:,1);
>> [m,i] = min(Best1);
>> Best(i,1);
>> Kp = Best(i,2);
>> Ki = Best(i,3);
>> Kd = Best(i,4);
(3) ( ) objfunPID error t dt ( )
( ) ( ) G(
s
k e
1
t s
d
xss
=
+
-
Tabla 1. Parametros de la planta G(s)
( ) ( ) G(
s 4 1 s
3
=
+
con-ciencias
87
Aplicacin de los algoritmos genticos para el diseo de un controlador PD adaptativo
Ilber A. Ruge/Miguel A. Alvis
senta una respuesta tal como se muestra en la f-
gura 4. De acuerdo con los resultados mostrados en la f-
gura 4 se puede observar que el error en estado
estacionario en lazo cerrado es grande. Por otro
lado, la accion del controlador PID obtenido a tra-
vs del algoritmo gentico elimina dicho error en
estado estacionario y ademas mejora signifcativa-
mente el tiempo de establecimiento.
5.2 Pruebas y resultados aplicados a
un sistema de segundo orden
El modelo de segundo orden seleccionado para la
realizacion de las pruebas del algoritmo, corres-
ponde a la dinamica de un sistema motorbrazo de
una unidad de disco duro convencional 7]. Los
parametros de dicho sistema son:
Giros: 6000 giros /minuto
Distancia cabezal-disco: 100 nm
Precision de posicion: 100 jm
Pista a pista: 10 ms
Los parametros Iisicos que se deben conocer de la
Figura 4. Respuesta del sistema G(s) controlado ante una entrada escalon unitario
Figura 5. Partes de un disco duro, Motor y brazo
con-ciencias
88 Tecnura ao 13 No. 25 segundo semestre de 2009
dinamica del sistema para realizar su analisis, son
los mostrados en la tabla 2. La Iuncion de transIerencia del sistema queda de-
fnido por:
La respuesta a la seal escalon del sistema G(s) en
lazo abierto, lazo cerrado y el sistema controlado
mediante AG, como se muestra en la fgura 6.
De acuerdo con los resultados mostrados en la f-
gura 6, se puede observar que el sistema en lazo
cerrado esta controlado, pero, muestra un sobre-
pico de aproximadamente el 20 y un tiempo de
establecimiento de aproximadamente. 0.5s. Aho-
ra, el sistema controlado mediante el PID obtenido
por el AG muestra que el sistema es controlado y
que ademas la respuesta al escalon presenta un so-
brepico de aproximadamnete un 10 y un tiempo
de establecimiento de 0.2s, lo cual indica un opti-
mo rendimiento del algoritmo diseado.
Tabla 2. Parametros para la dinamica de una unidad de disco duro
( ) ( )
( . )
G(
s( . ..
25
=
Figura 6. Respuesta del sistema controlado mediante PID adaptativo
con-ciencias
89
Aplicacin de los algoritmos genticos para el diseo de un controlador PD adaptativo
Ilber A. Ruge/Miguel A. Alvis
6. CIcuIo deI costo computacionaI
deI aIgoritmo
Dado que el algoritmo gentico desarrollado eva-
lua el desempeo de la poblacion haciendo uso de
Simulink, se utiliza los comandos TIC y TOC de
Matlab para determinar cuanto es el tiempo que
tarda en ejecutarse dicho algoritmo. Se llevaron
a cabo pruebas variando el numero de generacio-
nes y el numero de individuos de la poblacion;
de igual manera, se realizaron pruebas contando
el tiempo de ejecucion sin utilizar simulink (ver
tabla 3) y con simulink (ver tabla 4) para observar
el tiempo que tarda el algoritmo en evaluar los in-
dividuos de la poblacion.
7. ConcIusiones
Para obtener un Iuncionamiento optimo del algo-
ritmo gentico se recomienda un numero mayor
en el numero de generaciones, pues entre mas ge-
neraciones sean evaluadas se obtendra un mejor
resultado en el desempeo de los individuos.
Inicialmente, se tomo como Iuncion objetivo mi-
nimizar el valor de error e(t) del sistema , pero, al
realizar pruebas con sistemas o plantas oscilato-
rias, el algoritmo asignaba un buen desempeo a
individuos que llevaban el sistema de control a la
inestabilidad. Es por esto que se opto por tomar
como Iuncion objetivo la integral del error como
valor de Iuncion objetivo de los individuos, obte-
niendo asi un controlador PID de buen desempe-
o.
Tabla 3. Tiempo de ejecucion del AG sin simulink
Tabla 4. Tiempo de ejecucion del AG con simulink
con-ciencias
90 Tecnura ao 13 No. 25 segundo semestre de 2009
Referencias
|1| J. FiIIe M. Empleo ae los algoritmos ge-
neticos para el afuste en linea ae un re-
gulaaor PID convencional. Disponible en
internet http://proton.ucting.udg.mx/pos-
grado/cursos/idc/pdI/neuronales/A014.
pdI
|2| S. Aguilar, Implementacion ael Algoritmo
PID aaaptativo para controlar tempera-
tura a traves ael computaaor usanao
algoritmos geneticos. Universidad de
Carabobo, Unidad de Automatizacion
Industrial. Disponible en Internet http://
servicio.cid.uc.edu.ve/ingenieria/revista/
a7n2/7-2-2.pdI
|3| A. Caro C. Control multivariable para un
helicoptero ae aos graaos a elibertaa uti-
li:anao algoritmos geneticos. Pontifcia
Universidad Javeriana, Facultad de Inge-
nieria. Disponible en Internet http://www.
javeriana.edu.co/biblos/tesis/ingenieria/
tesis96.pdI
|4| I. Ruge, Diseo ae un regulaaor aaap-
table basaao en Algoritmos Geneticos.
Revista Colombiana de Tecnologias de
Avanzada. Disponible en http://www.
uni pampl ona. edu. co/ uni pampl ona/
hermesoIt/portalIG/home18/recur-
sos/01general/documentos/16052008/
revtecavanart3vol2num6.pdI
|5| R. DorI, Sistemas ae Control Moaerno.
10 edicion. Ed. Prentice Hall.
|6| D. Goldberg, 'Genetic Algorithms in
Search, Optimi:ation, ana Machine Lear- arch, Optimi:ation, ana Machine Lear-
ning. Ed. Addison-Wesley.
|7| R. De Keyser, Aaaptive ana Preaictive
Control. Master Course Inaustrial Con-
trol Engineering. Universidad de Ibague
- Colombia. octubre de 2008.