Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ejercicio 1
EL7012 Control inteligente de sistemas
Autores: Vı́ctor Dı́az Osorio
Sebastián Seria
Profesora: Doris Sáez
22 de octubre de 2014
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Índice
1. Introducción 1
2. Objetivos 2
3. Resolución Problema 1 3
3.1. a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3. c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5. e) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4. Resolución Problema 2 17
4.1. a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5. Conclusiones 21
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Índice de tablas
1. Parámetros iniciales del PSO . . . . . . . . . . . . . . . . . . . 10
2. Bandas de tiempos para número de particulas . . . . . . . . . 11
3. Bandas de tiempo para número de iteraciones . . . . . . . . . 11
4. Parametros iniciales del algoritmo genético . . . . . . . . . . . 12
5. Máximo encontrado según número de generaciones . . . . . . . 14
6. Mayores y menores tiempos para distintas tasas . . . . . . . . 15
7. Tiempo de ejecución para tipose de selección . . . . . . . . . . 16
8. Tiempo de ejecución para tipos de cross-over . . . . . . . . . . 16
9. Tiempo de ejecución para tipos de mutación . . . . . . . . . . 16
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Índice de figuras
1. Gráfica de la función . . . . . . . . . . . . . . . . . . . . . . . 3
2. Gráfico de f (x, y) desde arriba . . . . . . . . . . . . . . . . . . 4
3. Gradiente de la función f (x, y) . . . . . . . . . . . . . . . . . . 5
4. Ubicaciones de los máximos encontrados localmente . . . . . . 9
5. Tiempo de ejecución vs tamaño del enjambre . . . . . . . . . . 10
6. Tiempo de ejecución vs número de iteraciones . . . . . . . . . 11
7. Punto óptimo encontrado por el GA . . . . . . . . . . . . . . . 13
8. Tiempo de ejecución vs tamaño de población . . . . . . . . . . 13
9. Tiempo de ejecución vs número de generaciones . . . . . . . . 14
10. Tiempo de ejecución vs cross-over y mutación . . . . . . . . . 15
11. Diagrama de bloques del sistema . . . . . . . . . . . . . . . . 17
12. Diagrama de bloques del sistema discretizado . . . . . . . . . 18
13. Comparación para tres pasos de discretización . . . . . . . . . 19
14. Salida de la planta bajo acción de control . . . . . . . . . . . . 20
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
1. Introducción
En este informe se presentan los resultados obtenidos en la realización
del primer ejercicio del ramo Control inteligente de sistemas, que consta del
planteamiento de dos problemas que abordan de manera práctica los conte-
nidos del curso.
1
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
2. Objetivos
Los objetivos en torno a los análisis y apredizajes se enumeran a conti-
nuación:
2
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
3. Resolución Problema 1
La función a minimizar es la siguiente:
√
x2 +y 2 −0,08 2
−2log(2)( )
p
f (x, y) = e 0,854 sin6 (5π(( x2 + y 2 )0,75 − 0,05))
x, y ∈ [0, 1]
3.1. a)
En primer lugar se grafica la función f (x, y) en la Figura 1
Función a optimizar
0.9
0.8
1
0.8 0.7
Valor de la función
0.6 0.6
0.4
0.5
0.2
0.4
0
0
0.3
0.2
0.4 1 0.2
0.8
0.6 0.6 0.1
0.8 0.4
0.2 0
1 0
Variable x Variable y
3
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Función a optimizar
1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
Variable y
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Variable x
3.2. b)
Para encontrar el máximo de la función dentro del respectivo dominio, se
utiliza el método del gradiente, es decir, se resuelve el siguiente problema:
mı́n f (X)
X ∈ [0, 1] × [0, 1]
donde se tiene que el argumento evoluciona iterativamente del siguiente
modo
Xk+1 = Xk + λdk
y dk es el gradiente de la función.
4
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Dado que la función posee muchos máximos locales, definir un solo punto
para que evolucione mediante el gradiente probablemente hará que caiga en
un máximo local, por lo que se inicializan muchos puntos, y cada uno de
ellos evoluciona mediante el gradiente. Finalmente, de todas las soluciones,
se escoge el máximo (evaluado en la función objetivo);
En la figura 3 se muestran las direcciones que toma cada punto inicializado
con el algoritmo para alcanzar un máximo.
Gradiente
0.3
0.25
0.2
Variable y
0.15
0.1
0.05
0
0 0.05 0.1 0.15 0.2 0.25 0.3
Variable x
%% s e c a l c u l a l a f u n c i o n g r a d i e n t e
tic
5
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
n i t e r =5000; %max . i t e r a c i o n e s
a=[ rand rand ] ; %i n i c i a r puntos
b=[a ( 1 ) a ( 2 ) ] ;
a l f a =.01; %f a c t o r lambda
s=a−a l f a ∗ grad ( a ) ’ ;
b o o l =1;
i=i +1;
end
toc
end
bs=xopt ;
figure
contour (x , y , f )
colorbar ()
h o l d on
p l o t ( xopt ( 1 ) , xopt ( 2 ) , ’ . ’ )
t i t l e ( ’ Ubicaciones f i n a l e s del algoritmo gradiente ’ )
xlabel ( ’ Variable x ’ )
ylabel ( ’ Variable y ’ )
6
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
f o r i =1:400
n i t e r =5000; %m x i m o n de i t e r a c i o n e s
a=[ rand rand ] ; %i n i c i a l i z a c i n a l e a t o r i a ( d e n t r o d e l dominio )
b=[a ( 1 ) a ( 2 ) ] ;
a l f a =.01; %f a c t o r lambda
s=a−a l f a ∗ grad ( a ) ’ ;
b o o l =1;
i f (0<=s (1)<=1 && 0<=s (2) <=1)
end
bs =[ bs ; b ( end , 1 ) b ( end , 2 ) ] ;
h o l d on
p l o t ( xopt ( 1 ) , xopt ( 2 ) , ’ . ’ )
end
toc
7
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
figure
plot ( fopt )
i n d e x=f i n d ( f o p t>=max( f o p t ) ) ;
xoptimo =[ bs ( index , 1 ) bs ( index , 2 ) ]
f o p t i m o=f v a l ( xoptimo )
figure
p l o t ( bs ( : , 1 ) , bs ( : , 2 ) , ’ ∗ ’ )
Recordando que, como la función posee muchos máximos locales, el algo-
ritmo muchas veces converge a un óptimo local (ver figura 2), por lo tanto se
modifica el método tal que éste tome una matiz más heurı́stica; se inicializan
muchos puntos y luego se van actualizando mediante el método del gradiente.
fóptimo = 1,0000
8
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
0.9
0.8
0.8
0.7
0.7
0.6
0.6
Variable y
0.5 0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0 0.1
0 0.2 0.4 0.6 0.8 1
Variable x
3.3. c)
En esta sección se busca optimizar la función anterior a través del meto-
do ’Particle Swarm Optimization’. Además se busca optimizar la estructura
del algoritmo, variando los parámetros como la cantidad de partı́culas y el
número de iteraciones.
9
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Parámetro Valor
Número de particulas 100
Número de iteraciones 250
Constante cognitiva 1
Constante social 3
Factor de constricción 1
Cabe notar que para todos los casos simulados se obtuvo el máximo global
como resultado del algoritmo. Además de la gráfica anterior, se observa que
existen bandas de partı́culas que poseen un rango de tiempo de ejecución,
por ejemplo de 10 a 50 partı́culas, se tendrán tiempo de ejecución de entre
0.062 y 0.124 segundos, la tabla a continuación resume estos resultados.
10
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
11
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
3.4. d)
Se desea encontrar el óptimo de la función anterior, utilizando para ello al-
goritmos genéticos. Se realizarán comparaciones del método ante variaciones
en el tamaño de la población inicial, métodos de selección, tasas de cross-over
y mutación, etc.
Parámetro Valor
Tamaño de la problación 100
Número de generaciones 250
Función de mutación Mutación gaussiana
Tasa de mutación 50 %
Función de cross-over Crossover aritmético
Tasa de cross-over 90 %
Función de selección Selección de ruleta
12
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
13
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
14
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Resta decir que para todas las configuraciones anteriores, se llegó al máxi-
mo global de la función objetivo.
Las tres tablas siguientes muestran como afecta sobre el tiempo de ejecu-
ción, al variar respectivamente el método de selección, cross-over y mutación.
15
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
Método de selección
Selección de residuo 1.93
Selección uniforme 1.7238
Selección de ruleta 1.7237
Selección de torneo 11.1602
Selección estocastica uniforme 1.7272
3.5. e)
16
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
4. Resolución Problema 2
4.1. a)
Se busca implementar en Matlab Simulink el siguiente modelo.
dx1 (t)
= −x1 (t) + K1 (t)(1 − x1 (t)) − K2 (t)x1 (t) (1)
dt
dx2 (t)
= u(t) − x2 (t) + 5[K1 (t)(1 − x1 (t)) − K2 (t)x1 (t)] (2)
dt
Con:
5 5000
K1 (t) = 3 · 10 exp − (3)
x (t)
2
7500
K2 (t) = 6 · 107 exp − (4)
x2 (t)
17
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
dx(t)
x(k + 1) = h · + x(k) (6)
dt
dx1 (k)
x1 (k + 1) = h + x1 (k) (7)
dt
dx2 (k)
x2 (k + 1) = h + x2 (k) (8)
dt
A continuación se comparan las salidas x(t) y x(k) para tres valores dis-
tintos de pasos de discretización (h).
18
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
4.2. b)
Se busca encontrar la acción de control u(k) que minimice el siguiente
funcional.
19
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
20
Facultad de Ciencias Fı́sicas y Matemáticas
Departamento de Ingenierı́a Eléctrica
EL7012 Control inteligente de sistemas
5. Conclusiones
En este trabajo se analizó los dos principales tipos de optimización de
funcionales de manera evolutiva, que son el Genetic Algorithm y Particle
Swarm Optimization. Junto a estos dos tipos de algoritmos, se planteó un
método convencional de maximización el cual corresponde al método del gra-
diente, que, por estar aplicado a un problema que consta de muchos máximos
locales, se adaptó para poder sintonizar un óptimo global dentro del dominio
estudiado, generando muchos puntos que llegaban a distintos máximos para
luego escoger aquél que conseguı́a la mejor solución. Sin embargo, al utili-
zar los métodos evolutivos, el tiempo de ejecución para encontrar la solución
disminuyó considerablemente, luego el esfuerzo computacional disminuye ob-
teniéndose una diferencia en tiempo de aproximadamente 6 segundos a favor
de PSO o GA. Por esta razón, aplicar en tiempo real un modelo de optimi-
zación serı́a bastante provechoso utilizar algún método evolutivo.
21