ArticlePDF Available

Abstract and Figures

Resumen: Debido a la gran complejidad de los sistemas presentes en la actualidad, se propone como una herramienta diferente para su solución el uso de algoritmos evolutivos (AE). Los AE permiten una representación más flexible de variables y funciones objetivo, y por tanto la adición de criterios útiles para la evaluación del desempeño del sistema. Los AE han demostrado su capacidad para tratar con ventaja problemas no continuos, no suaves, no convexos y no lineales, lo que conlleva a que este tipo de algoritmos sea aprovechado en diferentes campos de aplicación. Para este trabajo se propone el uso del Algoritmo por Multidinámicas para Optimización Global (MAGO), éste algoritmo es una combinación de evolución lagrangiana, control estadístico y estimación de distribución, aquí es usado como herramienta de optimización para diferentes problemas, mostrando resultados exitosos en cada uno de los problemas propuestos. A medida que los sistemas utilizados para facilitar la existencia humana aumentan su complejidad (mayor escala y número de problemas a solucionar simultáneamente, restricciones, criterios u objetivos de desempeño, entre otros), es necesario utilizar técnicas de solución diferentes a las tradicionales (Christofides et al, 2009) para obtener mejores resultados. Cuando estos casos tienen como objetivo principal obtener resultados refinados del proceso, se pueden considerar como un problema de optimización. En los diferentes problemas considerados como casos de optimización es posible encontrar diferentes soluciones. Es por esto que es necesario contar con un criterio que ayude a discriminar entre ellas y encontrar la mejor solución. Un caso puede ser encontrar la mejor solución para que una función objetivo alcance su valor óptimo (máximo o mínimo, o una combinación de condiciones), donde las variables del problema pueden estar sujetas a múltiples restricciones. Muchos problemas en la industria pueden ser vistos como un problema de optimización, ya que el objetivo final es encontrar una combinación de parámetros que cumplan con restricciones propias del problema, donde se busca siempre maximizar o minimizar una función objetivo para garantizar índices de desempeño eficientes en los procesos. Es así como surgen un método diferente a los tradicionales para dar solución a estos problemas, éste método es los algoritmos evolutivos (AE).
Content may be subject to copyright.
Una Herramienta para la Optimización de Sistemas Complejos
Jesús-Antonio Hernández-Riveros. Cindy-Vanessa Carmona-Cadavid
Facultad de Minas, Universidad Nacional de Colombia, Cra. 80 No. 65-223 Medellín, Antioquia, Colombia
e-mail:{ jahernan | cvcarmonac} @unal.edu.co
Resumen: Debido a la gran complejidad de los sistemas presentes en la actualidad, se propone como una
herramienta diferente para su solución el uso de algoritmos evolutivos (AE). Los AE permiten una
representación más flexible de variables y funciones objetivo, y por tanto la adición de criterios útiles
para la evaluación del desempeño del sistema. Los AE han demostrado su capacidad para tratar con
ventaja problemas no continuos, no suaves, no convexos y no lineales, lo que conlleva a que este tipo de
algoritmos sea aprovechado en diferentes campos de aplicación. Para este trabajo se propone el uso del
Algoritmo por Multidinámicas para Optimización Global (MAGO), éste algoritmo es una combinación
de evolución lagrangiana, control estadístico y estimación de distribución, aquí es usado como
herramienta de optimización para diferentes problemas, mostrando resultados exitosos en cada uno de los
problemas propuestos.
Palabras Clave: Algoritmo evolutivo, optimización, sistemas complejos, PID.
1. INTRODUCCIÓN
A medida que los sistemas utilizados para facilitar la
existencia humana aumentan su complejidad (mayor escala y
número de problemas a solucionar simultáneamente,
restricciones, criterios u objetivos de desempeño, entre otros),
es necesario utilizar técnicas de solución diferentes a las
tradicionales (
Christofides
et al, 2009) para obtener mejores
resultados. Cuando estos casos tienen como objetivo
principal obtener resultados refinados del proceso, se pueden
considerar como un problema de optimización.
En los diferentes problemas considerados como casos de
optimización es posible encontrar diferentes soluciones. Es
por esto que es necesario contar con un criterio que ayude a
discriminar entre ellas y encontrar la mejor solución. Un caso
puede ser encontrar la mejor solución para que una función
objetivo alcance su valor óptimo (máximo o mínimo, o una
combinación de condiciones), donde las variables del
problema pueden estar sujetas a múltiples restricciones.
Muchos problemas en la industria pueden ser vistos como un
problema de optimización, ya que el objetivo final es
encontrar una combinación de parámetros que cumplan con
restricciones propias del problema, donde se busca siempre
maximizar o minimizar una función objetivo para garantizar
índices de desempeño eficientes en los procesos. Es así como
surgen un método diferente a los tradicionales para dar
solución a estos problemas, éste método es los algoritmos
evolutivos (AE).
Los algoritmos evolutivos (AE) son una heurística
ampliamente estudiada como herramienta para resolver
sistemas no lineales y problemas de optimización, pues han
mostrado ser efectivos en problemas que exhiben ruido,
variación aleatoria, discontinuidad y multimodalidad. Los
AE se basan en principios biológicos o naturales para el
estudio y diseño de los sistemas humanos (Xinjie Yu &
Mitsuo Gen, 2010) tales como la selección natural (Darwin,
1859) y la genética de poblaciones (fisher, 1930).
La tendencia reciente son los Algoritmos de Estimación de la
Distribución (Lozano, 2006), ya que las diferentes variantes
de los AE tienen como punto débil el gran número de
parámetros de control que deben ser determinados por el
analista y no se cuenta para ello con una sólida base
matemática (Whitley, 2001). Los Algoritmos de Estimación
de la Distribución no usan los operadores genéticos sino que
se basan en estadísticos provenientes de la misma población
en evolución, pero esto no evita que aún se deba manejar un
gran número de parámetros de control.
Se propone en este trabajo el uso del algoritmo evolutivo
MAGO (Algoritmo por Multidinámicas para Optimización
Global (Hernández & Ospina, 2010), como herramienta de
solución de problemas en la industria donde se busca
maximizar o minimizar un criterio representativo de
eficiencia del proceso. El MAGO es una heurística que
resulta de la combinación de evolución lagrangiana, control
estadístico y la estimación de distribución. MAGO ha
demostrado ser una herramienta ideal para resolver
problemas en espacios de búsqueda complejos (Hernández &
Villada, 2012). Además, sólo requiere dos parámetros
proporcionados por el analista: el número de generaciones y
el tamaño de la población.
2. OPTIMIZACIÓN
Existen técnicas utilizadas para obtener resultados óptimos
(generales o particulares) de un problema. Los resultados
obtenidos pueden mejorar en gran medida el funcionamiento
de un proceso, es por esto que a este tipo de herramientas se
les conoce como optimización. Cuando se habla de un
problema de optimización se busca minimizar o maximizar,
dependiendo los requerimientos de diseño, un criterio
representativo de la eficiencia del sistema, este criterio es
llamado función objetivo. Así el diseño del problema de
optimización está sujeto a restricciones propias del sistema
real, variables de decisión y objetivos de diseño, lo cual lleva
a una expresión, tal que el optimizador pueda interpretar.
Dada su naturaleza de optimizador global se usa en este
trabajo un algoritmo evolutivo (AE). Los AE han sido usados
en problemas presentes en diferentes áreas de la ciencia, la
ingeniería y otras ramas del conocimiento (Fleming and
Purshouse, 2002) donde se han obtenido resultados exitosos.
3. ALGORITMOS EVOLUTIVOS
Los Algoritmos Evolutivos (AE) emulan la teoría sintética de
la evolución o teoría neo-darwinista de la selección natural,
que suma la teoría de la selección natural (Darwin, 1859), la
herencia genética (Ayala y Kiger, 1984) y la genética
poblacional (Fisher, 1930). Esta teoría explica las variaciones
biológicas que se observan en la naturaleza. La evolución
puede ser medida como el cambio en las características
genéticas en una población. En cada población hay
variaciones que son heredadas y heredables y otras que son
modificadas debido al ambiente. Las variaciones hereditarias
(causadas por las mutaciones), que se producen al azar de
todos los organismos, constituyen la materia prima de la
evolución, pues sobre ellas actúa la selección natural. Es por
esto que la teoría sintética de la evolución, afirma que la
mutación y la selección natural se complementan entre sí, y
ninguno de estos procesos, por solo, puede dar lugar a un
cambio evolutivo.
Así como la evolución natural comienza con una población
inicial de individuos, la visión del algoritmo evolutivo (ver
Fig. 1) comienza con la selección de un conjunto inicial de
soluciones potenciales de un problema en particular, este
conjunto puede ser seleccionado al azar o utilizando
información previa del problema. Los AE incluyen
operadores que seleccionan y crean una secuencia de nuevos
individuos. Estos operadores son el cruce y mutación. El
operador de cruce realiza un intercambio de material genético
entre los “Padres” para generar nuevos “Hijos”, y el operador
de mutación, realiza pequeñas variaciones en los “Padres”.
Una vez generado un nuevo conjunto de posibles soluciones,
son evaluadas utilizando para ello una función de “Aptitud”,
al evaluarse se favorecen los mejores individuos
“supervivencia del más apto” quedando estos como los
nuevos “Padres” y a partir de estos se repite el proceso de
forma cíclica hasta encontrar la mejor solución del problema
en el espacio de búsqueda delimitado.
Los AE se encuentran directamente relacionados con la
Computación Evolutiva, término acuñado hace varios años a
todas aquellas técnicas y enfoques de estilos computacionales
basados en la adaptación evolutiva. Entre algunos de los
enfoques tradicionales se encuentran los Algoritmos
Genéticos (Holland, 1992) las Estrategias de Evolución
(Rechenberg, 1973) y la Programación Evolutiva (Fogel,
1966). Todas las técnicas de algoritmos evolutivos presentan
más semejanzas que diferencias, ya que todo se reduce al tipo
de estructura de datos para representar los individuos, los
modos de cambio en las soluciones para crear los
descendientes y en el procedimiento para seleccionar los
nuevos padres.
4. ALGORITMO POR MULTIDINÁMICAS PARA
OPTIMIZACIÓN GLOBAL - MAGO
El Algoritmo por Multidinámicas para Optimización Global
(MAGO, por acrónimo en inglés) es un método heurístico
evolutivo que transforma colectivos de individuos para lograr
un objetivo, asemejando su comportamiento al proceso de
evolución de las especies. Formalmente presentado en
(Hernández and Ospina, 2010), el MAGO, nace de un híbrido
entre algoritmos de la estimación de la distribución y el
control estadístico de calidad. Al igual que en los algoritmos
evolutivos se inicia con una población de posibles soluciones
distribuida de forma aleatoria, en todo el espacio de
búsqueda, la cual se divide, de forma autónoma por el
algoritmo, en tres subgrupos con evolución propia. En cada
generación del MAGO se observa inicialmente toda la
población como si tuviera una distribución normal con el fin
de establecer, según los diferentes niveles de desviación
estándar, cuántos individuos pertenecerán a cada subgrupo.
De esta forma, la exploración o búsqueda se realiza mediante
la creación de nuevos individuos que están regidos por
alguno de estos subgrupos o dinámicas. La cardinalidad de
estos subgrupos, cambia en cada generación, de acuerdo a
una regla inspirada en métodos de control estadístico. El
MAGO utiliza la matriz de covarianza de la población de
cada generación, para establecer una distribución de
exploración y crear los tres subgrupos o dinámicas que
conforman la totalidad de individuos en cada generación. La
Figura 1. Esquema general de los algoritmos evolutivos.
dinámica llamada Emergente (G1) crea un pequeño grupo de
individuos dentro de la población alrededor del individuo con
mejores características genéticas, en este grupo es la élite
evolutiva de cada generación, es decir, los individuos más
aptos para aportar sus genes para su siguiente generación. De
igual forma, la dinámica de Multitudes (G2) sigue un proceso
similar pero aplicado a una porción de la población más
grande, alrededor de la media poblacional actual, es decir, es
un subgrupo poblacional que cuenta con las mismas
características de “reproducción” que la élite, pero no pueden
cruzarse entre sí. Ésta dinámica siempre está cerca de la
dinámica emergente, pero nunca lo suficientemente cerca
como para que se confundan. Sólo hasta que existen
condiciones suficientes y necesarias para garantizar
exploración completa del espacio de búsqueda, estas dos
dinámicas podrían fusionarse dentro del territorio, por lo
general al final del ciclo evolutivo previamente establecido.
La dinámica Accidental (G3) sigue la especiación cuántica,
en cuanto que se establece generación por generación de
forma aislada del resto de los individuos de las otras
dinámicas. Esta porción de la población siempre se forma de
manera espontánea y contiene alguna cantidad de individuos
completamente nuevos. De esta manera la diagonal principal
de la matriz de covarianzas es diferente de cero, garantizando
la estabilidad numérica del proceso evolutivo.
El grupo de la Dinámica Emergente es creado con los N1
individuos de prueba que fueron mejores de sus antecesores,
y los individuos originales del grupo élite que no fueron
derrotados por los individuos de prueba. Cierta cantidad de
los individuos más aptos se desplazan hacia el mejor de toda
la población. Para cada uno de esos individuos se crea un
mutante usando un cruzamiento estocástico entre el individuo
de estudio y el mejor de todos. Este individuo de prueba se
evalúa usando la función objetivo, y si el valor que obtiene es
mejor que el que obtuvo el individuo en estudio, el individuo
de prueba es quien pasa a la siguiente generación en lugar de
su predecesor. Para cada individuo
i
en la generación
j
(
)
j
i
, un individuo t de prueba es creado de acuerdo a la regla
presentada en la ecuación (1)
( ) ( ) ( ) ( ) ( )
(
)
j j j j j
t i B m
x x F x x
= +
(1)
Donde
(
)
j
B
x
, es el mejor de todos los individuos en la
generación j. Para incorporar información sobre las
realizaciones actuales entre las variables del problema se
escoge la matriz
(
)
j
F
, como se define en la ecuación (2)
( ) ( ) ( )
j j j
F S S
=
(2)
Donde la matriz
(
)
j
S
es la covarianza simple de los
individuos de la generación j.
La media de la población y la matriz de dispersión de la
población en la generación j se denota por
(
)
j
m
y
(
)
j
S
respectivamente, en la próxima generación se crea la
Dinámica de Multitudes con N2 individuos por medio de una
distribución uniforme en el hiper-rectángulo
(
)
(
)
[ ]
j j
LB UB
.
Por su parte, la Dinámica Accidental del MAGO, introduce
en cada generación N3 nuevos individuos, que al igual que en
la población inicial, son creados por una distribución
uniforme sobre el espacio de búsqueda. Así, la dispersión de
la población y la diversidad se garantiza siempre, aun cuando
los otros dos grupos ya hayan convergido.
Para obtener la cardinalidad de cada dinámica, se tiene en
cuanta la matriz de covarianza de la población,
(
)
j
S
, en la
generación j, y su diagonal,
(
)
( )
j
diag S
. Si
(
)
j
Pob
es el
conjunto de las posibles soluciones que se están considerando
en la generación j, los tres grupos se pueden definir como en
la ecuación (3). Si N1, N2 y N3 son las cardinalidades de los
conjuntos G1, G2 y G3, entonces las cardinalidades de la
Dinámica Emergente, la Dinámica de Multitudes y la
Dinámica Accidental se fijan, respectivamente. Esta manera
de definir los elementos de cada grupo es dinámica por
naturaleza y autónoma en el MAGO. Las cardinalidades
dependen de la dispersión de toda la población en la
generación j
1
2
3
( ) ( ( ))
( ) ( ) ( ( ))
( ) 2 ( ( ))
( ) ( ( )) , ,
( ) ( ) ( ( ))
( ) 2 ( ( ))
( ) 2 ( ( )) , ,
( )
XM j d ia g S j x
G x Pob j
XM j dia g S j
XM j diag S j x
XM j dia g S j or
G x P ob j
XM j dia g S j x
XM j d ia g S j
x XM j diag S j o r
G x Pob j
 
− <=
 
= ∈
 
<= +
 
 
 
− <
 
 
<= +
 
= ∈
 
+ <=
 
 
< +
 
 
<= −
= ∈ ( ) 2 ( ( ))x XM j diag S j
 
 
 
>= +
 
 
(3)
Donde
( )
XM j
es la media de la población actual y
( ) 1 2 3
Pob j G G G
=
U U
.
La Dinámica Emergente con la Dinámica de Multitudes,
inicialmente tienen valores de cardinalidad similares.
Después de algunas iteraciones, la dispersión en la población
disminuye y la cardinalidad de la Dinámica de Multitudes
también disminuye, mientras que la cardinalidad de la
Dinámica Emergente gobierna el algoritmo. Se espera
después de esto, que la cardinalidad de la Dinámica
Accidental sea relativamente estable. A continuación se
presenta el seudocódigo del algoritmo MAGO.
Seudocódigo MAGO
1: j = 0, Generación de la población inicial, con una
distribución uniforme aleatoria en el espacio de búsqueda.
2: Repetir
3: Evaluar cada individuo por medio de la función objetivo.
4: Calcular la matriz de covarianza de la población y la
primera, segunda y tercera dispersión.
5: Calcular las cardinalidades N1, N2 y N3 de los grupos G1,
G2 y G3.
6: Seleccionar N1 de los mejores individuos, modificarlos de
acuerdo a la función objetivo y hacerlos competir. Pasar los
ganadores a la próxima generación j + 1.
7: Realizar un muestreo desde la distribución uniforme en el
hiper rectángulo [LB(j), UB(j)] con N2 individuos, y pasar a
la siguiente generación j + 1.
8: Realizar un muestreo desde la distribución uniforme en todo
el espacio de búsqueda con N3 individuos y pasar a la
siguiente generación j+1.
9: j = j + 1
10: Hasta que se satisfaga algún criterio de terminación.
En la Figura 2 se presenta el diagrama de flujo del algoritmo
MAGO. Compárese con el AE tradicional en la Figura 1.
5. HERRAMIENTA DE OPTIMIZACIÓN
Los métodos tradicionales de optimización exigen una forma
estándar para el ingreso del problema y sus restricciones, los
cuales son datos necesarios para dar una solución. Entre
algunas de las características generales se encuentran el valor
de los parámetros mayor a cero, restricciones de la forma
“menor igual”, entre otros. Es por esto que se propone una
herramienta donde el usuario solo se preocupe por su
problema específico y no en la modificación del mismo para
poder ingresarlo de forma correcta en una herramienta
particular de optimización.
El Optimizador General Evolutivo de Sistemas Complejos,
OGSC, está basado en el Algoritmo Multidinámicas para
Optimización Global (MAGO, por su acrónimo en inglés). El
MAGO es un algoritmo evolutivo en el sentido de ser
poblacional y de buscar incrementalmente la solución de
forma iterativa. Se ha demostrado la eficacia del MAGO en
problemas complejos estándar de hasta 24 dimensiones
(Hernández & Villada, 2012). El algoritmo MAGO solo
requiere el establecimiento del mero de generaciones
(iteraciones) y del tamaño de la población. Únicos parámetros
de control del algoritmo, que dependen del usuario. Se
pretende así que el usuario se concentre en su problema más
que en la sintonización del algoritmo.
Esta herramienta, llamada Optimizador General de Sistemas
Complejos, OGSC, tiene una interfaz de trabajo (Figura 3).
Los elementos que componen la interfaz son:
1. Definir el problema: en esta sección se identifican
varios componentes.
a. Desde la GUI: se introduce la función a
optimizar en el área en blanco que se le presenta
al usuario. Se utiliza la sintaxis de
programación MATLAB. Si se tiene un
problema 2x+4y-zx. La sintaxis para
introducirla en el espacio en blanco debe ser la
siguiente: 2*x(:,1)+4*x(:,2)-x(:,3)*x(:,1).
b. Dimensiones: corresponde al número de
variables que tiene el problema. Para el caso
descrito en el literal a, el número de
dimensiones es 3.
c. Límites y restricciones.
i. Límite de variables: intervalo de valores en
los que se define cada una de las variables
del problema. Se introducen los valores
máximo y mínimo de las variables, si se
conocen.
ii. Restricciones: Corresponde a las
restricciones de desigualdad que tenga el
problema.
d. Maximizar o Minimizar: Selección del objetivo
a alcanzar en el problema.
e. Número de Individuos: corresponde a la
cantidad de individuos que serán usados para la
optimización. (dato ingresado por el analista)
f. Número de generaciones: corresponde al
número máximo de iteraciones. (dato ingresado
por el analista)
NOTA: El número de individuos y generaciones puede ser
modificado, por defecto aparecen 100 y 50 respectivamente.
2. Límite de Variables: En esta sección se introducen
las cotas mínima y máxima que puede tomar cada
una de las variables del problema. Si se conocen.
a. Desigualdad (>=): Valor mínimo de las
variables. Esta sección contiene una casilla
para indicar el número de variables y una tabla
con tres columnas, donde la columna uno y tres
son modificables. La columna uno,
corresponde a cada una de las variables, estas
pueden mantener el orden que se genera por
defecto o puede ser cambiado, pero siempre
manteniendo la sintaxis MATLAB, es decir, si
tenemos x1, x2,…, x10… la sintaxis correcta
será x(:,01), x(:,02),…, x(:,10)… La columna
tres equivale al mínimo valor positivo,
negativo, entero o decimal que puede tomar la
variable.
b. Desigualdad (<=): Valor máximo de las
variables. Esta sección contiene una casilla
para indicar el número de variables y una tabla
con tres columnas, donde la columna uno y tres
son modificables. La columna uno,
corresponde a cada una de las variables, estas
pueden mantener el orden que se genera por
defecto o puede ser cambiado, pero siempre
manteniendo la sintaxis MATLAB, es decir, si
tenemos x1, x2,…, x10… la sintaxis correcta
será x(:,01), x(:,02),…, x(:,10)… La columna
Figura 2. Esquema general MAGO.
tres equivale al máximo valor positivo,
negativo, entero o decimal que puede tomar la
variable. Este valor debe ser mayor que aquel
del literal anterior.
NOTA: Para todas las variables del problema debe estar
definido el límite de las variables, por tanto el número de
variables debe ser el mismo para las casillas de dimensiones,
número de variables en Desigualdad (>=) y mero de
variables en Desigualdad (<=).
3. Restricciones: en esta sección se introduce, si se
tienen, restricciones adicionales al problema.
a. Restricciones de Desigualdad (<=): esta
sección contiene una casilla para indicar el
número de restricciones que corresponden a las
condiciones del problema y una tabla de tres
columnas, donde la columna uno y tres son
modificables. La columna uno, corresponde a la
restricción y la columna tres al valor positivo,
negativo, entero o decimal que debe cumplir la
desigualdad. La sintaxis que debe cumplir la
ecuación 2x-5y será 2*x(:,01)-5*x(:,02).
b. Restricciones de Desigualdad (>=): esta
sección contiene una casilla para indicar el
número de restricciones que corresponden a las
condiciones adicionales del problema y una
tabla de tres columnas, donde la columna uno y
tres son modificables. La columna uno,
corresponde a la restricción y la columna tres al
valor positivo, negativo o decimal que debe
cumplir la desigualdad. La sintaxis que debe
cumplir la ecuación 2x-5y será 2*x(:,01)-
5*x(:,02).
NOTA: Si no se cuenta con restricciones de desigualdad
asignar el valor de cero “0 a la casilla de número de
restricciones de restricciones de desigualdad (<=, o, >=).
4. Ejecutar MAGO: Botón que aparece cuando se
selecciona una de las opciones de optimización
(Maximizar o Minimizar). Luego de ingresada toda
la información requerida por el software, se pulsa
por último el botón “Ejecutar MAGO”. Cuando se
termina el proceso de optimización, se presentan dos
recuadros. Uno con una gráfica donde se visualiza la
evolución de la solución y, el otro recuadro con los
resultados de la simulación: el valor de la función
objetivo y las variables solución, durante el periodo
(Número de Generaciones) de simulación
Algunos ejemplos usando la herramienta se presentan a
continuación. Estos casos se seleccionaron a propósito para
mostrar la capacidad de la herramienta en comparación con
aquellas encontradas en el mercado.
Figura 3. Interfaz herramienta de optimización.
Ejemplo #1: Determinar los valores de “x” que maximizan la
siguiente función:
(
)
1 2 1 2
, 3 5
f x x x x
= +
(4)
Sujeta a las siguientes restricciones:
1 2
1
2
1 2
, 0
4
2 12
3 2 18
x x
x
x
x x
+ ≤
(5)
La respuesta analítica a este problema es:
(
)
( )
1 2 1 2
, 3 5 36
2,6
f x x x x
x
= + =
=
SOLUCIÓN (para 100 individuos y 50 generaciones)
Función a optimizar:
3*x(:,01)+5*x(:,02)
Límite de variables:
x(:,01) [0,4]
x(:,02)[0,6]
Restricciones de desigualdad (<=)
3*x(:,01)+2*x(:,02) <=18
Restricciones de desigualdad (>=)
No se tienen
Número de individuos y generaciones
Valor por defecto.
Luego de reescribir el problema de acuerdo a la sintaxis
sugerida se pasa a la interfaz de trabajo donde se obtienen los
siguientes resultados.
El valor óptimo de la función para las restricciones dadas es:
(
)
1 2 1 2
, 3 5 35.9705
f x x x x= + =
Para un valor de las variables:
(
)
1.9981, 5.9952
x=
Donde el tiempo de ejecución en segundos fue:
0.763874
Ejemplo #2: Determinar los valores de “x” que minimicen la
siguiente función:
(
)
1 2 1 2
, 2 8
f x x x x
= +
(6)
Sujeta a las siguientes restricciones:
1 2
1
1 2
1 2
1 2
, 0
4
2 4 8
2 5 0
5 5
x x
x
x x
x x
x x
+ ≥
− ≤
− +
(7)
La respuesta analítica a este problema es:
(
)
( )
1 2 1 2
, 2 8 11.5
2.22,0.88
f x x x x
x
= + ≈
=
SOLUCIÓN (para 100 individuos y 50 generaciones)
Función a optimizar:
2*x(:,01)+8*x(:,02)
Límite de variables:
x(:,01) [0,7]
x(:,02) [0,4]
Restricciones de desigualdad (<=)
3*x(:,01)+2*x(:,02) <=18
Restricciones de desigualdad (>=)
2*x(:,01)
-
5*x(:,02) <= 0
-x(:,01)+5*x(:,02) <= 5
Número de individuos y generaciones
Valor por defecto.
Luego de reescribir el problema de acuerdo a la sintaxis
sugerida se pasa a la interfaz de trabajo donde se obtienen los
siguientes resultados.
El valor óptimo de la función para las restricciones dadas es:
(
)
1 2 1 2
, 2 8 11.5945
f x x x x= + =
Para un valor de las variables:
(
)
2.2052, 0.89801
x=
Donde el tiempo de ejecución en segundos fue:
12.1998
Ejemplo #3: Determinar los valores de “x” que minimicen la
siguiente función (Six-Hump Camel Back):
( )
( )
4
2 2
1
1 2 1 1 1 2
2 2
2 2
, 4 2.1 3
4 4
x
f x x x x x x
x x
 
= − + +
 
 
+ − +
(8)
Sujeta a las siguientes restricciones:
[
]
[ ]
1
2
3,3
2,2
x
x
→ −
→ −
(9)
La respuesta analítica a este problema es:
(
)
( )
( )
1 2
, 1.0316
0.0898,0.7126
0.0898, 0.7126
f x x
x
x
= −
= −
= −
SOLUCIÓN (para 100 individuos y 50 generaciones)
Función a optimizar:
(4*(x(:,1).^2))
-
(2.1*(x(:,1).^4)) + ((x(:,1).^6)./3) +
(x(:,1).*x(:,2)) - (4*(x(:,2).^2)) + (4*x(:,2).^4)
Límite de variables:
x(:,01) [-3,3]
x(:,02) [-2,2]
Restricciones de desigualdad (<=)
No se tienen.
Restricciones de desigualdad (>=)
No se tienen
Número de individuos y generaciones
Valor por defecto.
Luego de reescribir el problema de acuerdo a la sintaxis
sugerida se pasa a la interfaz de trabajo donde se obtienen los
siguientes resultados.
El valor óptimo de la función para las restricciones dadas es:
(
)
1 2
, 1.03163
f x x = −
Para un valor de las variables:
(
)
( )
-0.087423, 0.71195
0.089662, 0.71256
x
x
=
= −
Donde el tiempo de ejecución en segundos fue:
0.273008
Ejemplo #4: Determinar los valores de “x” que minimicen
la siguiente función (Schwefel):
( )
1
418.9829 sin
n
i i i
i
f x n x x
=
=
(10)
Sujeta a las siguientes restricciones:
[
]
500,500
1,2,...,
i
x
i n
→ −
=
(11)
La respuesta analítica a este problema es:
( )
( )
1
418.9829 sin 0
420.9687
n
i i i
i
i
f x n x x
x
=
= − =
=
SOLUCIÓN (para 50 individuos y 80 generaciones)
Función a optimizar, para n=2:
418.9829*2-
x(:,1)*sin(sqrt(abs(x(:,1))))+x(:,2)*sin(sqrt(abs(x(:,2)))))
Límite de variables:
x(:,01) [-500,500]
x(:,02) [-500,500]
Restricciones de desigualdad (<=)
No se tienen.
Restricciones de desigualdad (>=)
No se tienen
Número de individuos y generaciones
Número de Individuos= 50
Número de Generaciones: 80.
Luego de reescribir el problema de acuerdo a la sintaxis
sugerida se pasa a la interfaz de trabajo donde se obtienen los
siguientes resultados (ver Fig. 4).
El valor óptimo de la función para las restricciones dadas es:
( )
1
418.9829 sin 0.00122272
n
i i i
i
f x n x x
=
= − =
Para unos valores de las variables:
(
)
420.913, 420.8889
x=
Donde el tiempo de ejecución en segundos fue:
0.174288
Para cada uno de los ejemplos antes descritos, se observó que
ante sistemas complejos la herramienta de optimización que
tiene como base de solución el Algoritmo por Multidinámicas
para Optimización Global (MAGO), se logran obtener
resultados exitosos con la mínima modificación del
optimizador y parámetros de la interfaz. Nótese que se
trataron problemas estándar acotados sin restricciones,
acotados con restricciones, no lineales y fuertemente no
lineales.
Otro de las aplicaciones utilizando el Algoritmo por
Multidinámicas para Optimización Global (MAGO) es la
solución a problemas de Ingeniería de Control (Fleming and
Purshouse, 2002), un caso particular y un problema muy
común en diferentes campos de la industria es la sintonía de
controladores PID (Chang and Yan, 2004; Li, 2006). Los
problemas de control conllevan un alto grado de complejidad
porque las variables del sistema están cambiando
permanentemente y pueden surgir situaciones inesperadas.
Sin embargo, ante todos los cambios el sistema debe
mantenerse en equilibrio, lo que se logra por medio de un
controlador.
El controlador PID (Porporcional+Integral+Derivativo), es un
dispositivo que opera automáticamente para manipular una
variable predeterminada. El objetivo es garantizar el
equilibrio del sistema alrededor de un punto de operación.
Para realizar esto, se compara el valor real, y(t), de la variable
controlada con su valor deseado, r(t), para obtener una señal
de error, e(t). Este error es procesado por el controlador para
calcular el cambio necesario en la variable manipulada, u(t),
(acción de control) (ver Figura 5).
Figura 5. Diagrama de bloques sistema lazo cerrado.
El modo proporcional P da una salida en el controlador que
es proporcional al error, en cuyo caso el error es la diferencia
entre el valor deseado y la salida actual de la planta (valor
realimentado). El modo integral I produce una señal
proporcional a la integral del error. El tiempo integral Ti es
el tiempo que debe transcurrir para que la acción integral
alcance en magnitud a la acción proporcional. En los
procesos dinámicos, el controlador tarda un tiempo antes de
darse cuenta de un cambio en la variable controlada. La
acción derivativa D trata de anticipar este cambio en la
variable controlada. Así los controladores PID están
constituidos de los tres modos (proporcional-integral-
derivativo).
Figura 4. Resultado Ejemplo 4.
La ley de control que rige un controlador PID ideal de un
proceso con una sola entrada y una sola salida (SISO) esta
expresado en la ecuación (12).
( ) ( )
1
1
d
i
U s Kc T s E s
T s
 
= + +
 
 
(12)
Existen diferentes métodos tradicionales de sintonía para
controladores PID (Ziegler and Nichols, 1942; Cohen and
Coon, 1953; Rovira et al, 1969). En (O’Dwyer, 2009) se
puede encontrar un recopilación de ellos.
La sintonía de controladores que minimicen una función
objetivo es un caso del control óptimo y puede ser formulado
como un problema de optimización matemática (Vinter,
2000). El control óptimo consiste en seleccionar una
estructura de control (entre ellas un controlador PID) y
ajustar sus parámetros de tal forma que se minimice un
criterio de desempeño integral. En el caso de un controlador
PID (ecuación 12), el objetivo final es encontrar la
combinación de los parámetros Kc, Ti y Td, dadas unas
restricciones, tales que, el valor de la integral de alguna
variable de interés (error entre la salida real de la planta
respecto al valor deseado y/o el esfuerzo de control) sea
mínimo. El problema, entonces, consta de minimizar una
función objetivo, donde el mínimo será el resultado de
obtener una combinación adecuada entre los tres parámetros
del controlador PID, utilizando como herramienta de
optimización el MAGO (Ver Fig.6).
Figura 6. Sintonía controlador PID con MAGO.
Para el diseño de los controladores PID se selecciona una
planta estándar; descrita en la ecuación (13). Esta planta
representa un Sistema de Segundo Orden más Tiempo de
Retardo, representación que corresponde a una de las mejores
opciones de aproximación de un proceso real. Como criterio
de desempeño se usa el ITAE - integral del tiempo
multiplicado por el error absoluto (ver Ecuación 14), criterio
que pondera el error en la regulación de la variable a
controlar.
2 2
1 1
( )
2 1
m
s
p
m m m
K e
G s
T s T s
τ
ξ
=
+ +
(13)
0
( )
ITAE t e t dt
=
(14)
Para la ecuación (13) se toman las siguientes
consideraciones: Kp = 1, τm = 1, ξ = 1 and Tm1 toma los
valores de 1, 10 y 20.
Tabla 1. Parámetros y desempeño del controlador
Los resultados presentados en la Tabla 1, son comparados
con el Método Minimum ITAE – Sung: Servo Tuning. Un
conocido método de reglas de sintonía para el cálculo de los
parámetros Kc, Ti y Td (Sung et al, 1996).
Figura 7. Respuesta del sistema ante un cambio en la
referencia.
En la Figura 7, se presenta el resultado cuando se aplica un
cambio tipo escalón unitario en la señal de referencia y se
obtiene la respuesta de los sistemas en lazo cerrado. Se
compara la respuesta del sistema cuyo controlador fue
sintonizado mediante una regla tradicional y el sistema cuyo
controlador fue sintonizado mediante el algoritmo por
multidinámicas MAGO, mostrando para cada uno de los tres
casos un mejor desempeño del controlador cuando es
sintonizado con el MAGO.
6. CONCLUSIONES
El algoritmo MAGO muestra la capacidad para resolver
problemas complejos, con características no lineales, no
suaves, discontinuos y no convexos. Obteniéndose para cada
uno de los ejemplos de aplicación, resultados exitosos.
A diferencia de otras herramientas con el mismo propósito, el
desarrollo, OGSC, aquí presentado funciona de forma
adecuada, independientemente del tipo de problema de
optimización que se plantee y la forma de representarlo.
Esta herramienta, OGSC, se encuentra disponible para uso
empresarial, para mayor información puede contactar a los
autores del artículo.
Como próximo paso se tiene la implementación de la
herramienta OGSC en un sistema embebido para mayor
facilidad de utilización, creando así una herramienta portable
y autónoma, con el fin de dejar libre el uso de los
procesadores y el espacio de memoria en el computador o en
la máquina donde se ejecute la aplicación.
REFERENCES
Ayala F. J. and Kiger J. A. (1984). Genética moderna. Ediciones
Omega, Barcelona, España
.
Darwin C. (1859). The origin of species. London: John Murray.
Chang W. D. and Yan J. J. (2004). Optimum setting of PID
controllers based on using evolutionary programming algorithm.
Journal of the Chinese Institute of Engineers, 27(3), 439-442.
Cohen G. H. and Coon G. A. (1953). Theoretical Considerations of
retarded Control. ASME Transactions, 75, 827– 834.
Christofides Panagiotis D., Armaou Antonios, Lou Yiming,
Arshney Amit. (2009). Control and Optimization of
Multiscale Process Systems. Springer- Birkhäuser.
Fleming P. J. and Purshouse R. C. (2002). Evolutionary algorithms
in control systems engineering: a survey. Control engineering
practice, 10(11), 1223-1241.
Fisher R.A. (1930). The genetical theory of natural selection.
Oxford: Clarendon Press.
Fogel L. J., Owens A. J. and Walsh M. J. (1966). Artificial
Intelligence through Simulated Evolution. John Wiley and
Sons. New York.
Hernández J. A. and Ospina J. D. (2010). A multi dynamics
algorithm for global optimization. Mathematical and Computer
Modelling, 52(7), 1271-1278.
Hernández-Riveros Jesús-Antonio and Villada-Cano Daniel. (2012).
Sensitivity Analysis of an Autonomous Evolutionary
Algorithm. Lecture Notes in Computer Science. Volume 7637,
Nov.2012. Advances in Artificial Intelligence. Springer.
Holland J. H. (1992). Adaptation in Natural and Artificial Systems.
MIT Press. Cambridge, MA.
Li Y., Ang K. H. and Chong G. C. (2006). PID control system
analysis and design. IEEE Control Systems Magazine 26(1), 32-
41.
Lozano J. A., Larrañaga P., Inza I. and Bengoetxea E. (2006).
Towards a new evolutionary computation: Advances on
estimation of distribution algorithms, Vol. (192). Springer.
O’Dwyer A. (2009). Handbook of PI and PID controller tuning
rules (Vol. 2). London: Imperial College Press.
Rechenberg I. (1973). Evolutionsstrategie: Optimierung
Technischer Systeme nach Prinzipien der Biologischen
Evolution. Frommann-Holzboog, Stuttgart.
Rovira A., Murrill P. W. and Smith, C. L. (1969). Tuning
controllers for setpoint changes. Instrumentation & Control
Systems, 67-69.
Sung S. W., Lee O, J., Lee I. B. and Yi S. H. (1996). Automatic
Tuning of PID Controller Using Second-Order Plus Time
Delay Model. Journal of chemical engineering of Japan, 29(6),
990-999.
Whitley D. (2001). An overview of evolutionary algorithms:
practical issues and common pitfalls. Information and Software
Technology. 43(14), 817–831.
Xinjie Yu and Mitsuo Gen. (2010). Introduction to Evolutionary
Algorithms. Springer, London.
Ziegler J. B. and Nichols N. B. (1942). Optimum Settings for
Automatic Controls. ASME Transactions, 64, 759-768.
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
Some interesting features of the new book “Introduction to Evolutionary Algorithms”, which is written by Xinjie Yu and Mitsuo Gen and be published by Springer in 2010, will be illustrated, including covering nearly all the hot evolutionary-computation-related topics, referring to the latest published journal papers, introducing the applications of EAs as many as possible, and adopting many pedagogical ways to make EAs easy and interesting. The contents and the consideration of selecting these contents will be discussed. Then the focus will be put on the pedagogical ways for teaching and self-study. The algorithms introduced in the tutorial include constrained optimization evolutionary algorithms (COEA), multiobjective evolutionary algorithms (MOEA), ant colony optimization (ACO), particle swarm optimization (PSO), and artificial immune systems (AIS). Some of the applications of these evolutionary algorithms will be discussed.
Article
In this paper, the three principal control effects found in present controllers are examined and practical names and units of measurement are proposed for each effect. Corresponding units are proposed for a classification of industrial processes in terms of the two principal characteristics affecting their controllability. Formulas are given which enable the controller settings to be determined from the experimental or calculated values of the lag and unit reaction rate of the process to be controlled. These units form the basis of a quick method for adjusting a controller on the job. The effect of varying each controller setting is shown in a series of chart records. It is believed that the conceptions of control presented in this paper will be of assistance in the adjustment of existing controller applications and in the design of new installations.
Book
The vast majority of automatic controllers used to compensate industrial processes are PI or PID type. This book comprehensively compiles, using a unified notation, tuning rules for these controllers proposed from 1935 to 2008. The tuning rules are carefully categorized and application information about each rule is given. The book discusses controller architecture and process modeling issues, as well as the performance and robustness of loops compensated with PI or PID controllers. This unique publication brings together in an easy-to-use format material previously published in a large number of papers and books. This wholly revised third edition extends the presentation of PI and PID controller tuning rules, for single variable processes with time delays, to include additional rules compiled since the second edition was published in 2006.
Conference Paper
When applying any heuristic, the user faces difficulties on deciding on the control parameters of the method. A generic sensitivity analysis to measure the interdependencies of the parameters from an autonomous evolutionary algorithm and their influence in the final result is shown. The Multi Dynamics Algorithm for Global Optimization is the base of the experiment. With only two parameters, it is a quasi-free parameter autonomous algorithm. The impact on the quality of the results on several multimodal standard problems applying different instances of those parameters has been studied. Excellent outcomes for sensitivity levels from 100 to 10− 5 are found. The Logit model is used to determine the functioning parameters of the MAGO and for their mutual effects. Depending on the problem type, its dimensionality, and the expected precision, this work gives a priori configuring for the best performance of the MAGO.
Article
This paper is concerned with the optimum setting problem for deriving gains in proportional‐integral‐derivative (PID) controllers. The evolutionary programming (EP) algorithm has been considered as a useful technique for finding global optimization solutions for certain complicated functions in recent years. Therefore, in this paper, we attempt to use the EP algorithm in PID control systems design for deriving optimal or near optimal PID control gains such that a performance index of integratedabsolute error (IAE) is minimized. It can be easily seen from the simulation results that the proposed method will have better performance than those presented in other studies by testing a fourth‐order system with time delay.
Article
This is a nicely edited volume on Estimation of Distribution Algorithms (EDAs) by leading researchers on this important topic. It covers a wide range of topics in EDAs, from theoretical analysis to experimental studies, from single objective to multi-objective optimisation, and from parallel EDAs to hybrid EDAs. It is a very useful book for everyone who is interested in EDAs, evolutionary computation or optimisation in general. Xin Yao, IEEE Fellow Editor-in-Chief, IEEE Transactions on Evolutionary Computation ______________________________________________________________ Estimation of Distribution Algorithms (EDAs) have "removed genetics" from Evolutionary Algorithms (EAs). However, both approaches (still) have a lot in common, and, for instance, each one could be argued to in fact include the other! Nevertheless, whereas some theoretical approaches that are specific to EDAs are being proposed, many practical issues are common to both fields, and, though proposed in the mid 90's only, EDAs are catching up fast now with EAs, following many research directions that have proved successful for the latter: opening to different search domains, hybridizing with other methods (be they OR techniques or EAs themselves!), going parallel, tackling difficult application problems, and the like. This book proposes an up-to-date snapshot of this rapidly moving field, and witnesses its maturity. It should hence be read ... rapidly, by anyone interested in either EDAs or EAs, or more generally in stochastic optimization. Marc Schoenauer Editor-in-Chief, Evolutionary Computation