Estimación de las condiciones de operación de un método
estocástico de optimización
Alejandro Gronskis1,2
1 Departamento de Ingenierı́a Mecánica de la Facultad de Ingenierı́a de la Universidad de Buenos Aires
2 Unidad de Investigación de la Facultad de Ingenierı́a de la Universidad de la Marina Mercante
Resumen
El propósito de este trabajo reside en la caracterización, validación con una función de
prueba analı́tica y estimación de las condiciones de operación de un algoritmo genético (GA)
proyectado para el problema prototipo del control activo del flujo alrededor de un cilindro.
A fin de evaluar las caracterı́sticas operativas del GA propuesto, consideramos una función de
Rosenbrock modificada como función de adaptación. El GA propuesto evoluciona hasta alcanzar
una población óptima de individuos; el conocimiento de la forma que adopte tal población nos
permitirá por una parte obtener conclusiones acerca de las caracterı́sticas de la configuración
óptima de actuación, y por otra parte examinar correlaciones entre los parámetros de control
las cuales constituyen una medida del grado de sensibilidad de la función objetivo a los valores
que adopten los parámetros de actuación. Esta propiedad del GA nos permitirá identificar en un
futuro trabajo aquellos actuadores que resulten de fundamental importancia en el mecanismo
de reducción de la fuerza de arrastre.
1. Introducción
Una apropiada aplicación de los dispositivos de control del flujo requiere de un número signi-
ficativo de experimentos fı́sicos a fin de explorar el vasto espacio de parámetros asociados con el
desempeño de estos dispositivos. Mientras una abundante cantidad de diferentes posibles modifica-
ciones geométricas de las acciones de control han sido objeto de estudio [1], se ha dedicado poco
empeño en general al desarrollo de algoritmos para optimizar los parámetros involucrados en la ac-
ción de control.
En este contexto, a fin de identificar configuraciones óptimas para la acción de control se emplea
el control óptimo, pudiendo clasificar en dos categorı́as los métodos de resolución de este tipo de
problema: por una parte, los métodos de descenso que requieren al menos una aproximación del
gradiente del funcional objetivo y, por otra parte, los métodos estocásticos que estudian la evolución
de una población de individuos (posibles soluciones) durante generaciones sucesivas. Los métodos de
descenso tienen una aplicación limitada en el caso de problemas en los cuales las ecuaciones gob-
ernantes presenten una solución complicada o cuando el diseño de la acción de control se base en
ajustes obtenidos a través de experimentos fı́sicos. Más aún, los algoritmos de descenso, al requerir
información del gradiente local de la función objetivo, pueden converger con facilidad a un mı́nimo
local del problema de optimización.
Los métodos estocásticos de optimización, tales como los algoritmos genéticos (GA) [2], evitan algu-
nas de estas dificultades al requerir sólo el valor de la función objetivo en término de los parámetros
1
de control. Por tal motivo pueden ser empleados tanto en estudios computacionales como experi-
mentales. Más aún, estos ofrecen la posibilidad de escapar al mı́nimo local. Sin embargo, no existen
pruebas rigurosas de su convergencia al mı́nimo global. Además, los algoritmos estocásticos en gener-
al exhiben una velocidad de convergencia mucho menor que los algoritmos de descenso. No obstante,
esta lenta convergencia se compensa por el paralelismo inherente del método. La información de
sucesos pasados puede incorporarse en el algoritmo para incrementar la rapidez del proceso de opti-
mización al determinar nuevos puntos de prueba en forma más eficiente.
El poder de los GA proviene del hecho de que se trata de una técnica robusta, y pueden tratar con
éxito una gran variedad de problemas provenientes de diferentes áreas, incluyendo aquellos en los
que otros métodos encuentran dificultades. Si bien no se garantiza que el GA encuentre la solución
óptima del problema, existe evidencia empı́rica de que se encuentran soluciones de un nivel aceptable,
en un tiempo competitivo con el resto de los algoritmos de optimización combinatoria. En el caso
de que existan técnicas especializadas para resolver un determinado problema, lo más probable es
que superen al GA, tanto en rapidez como en eficacia. El gran campo de aplicación de los GA se
relaciona con aquellos problemas para los cuales no existen técnicas especializadas.
Los algoritmos genéticos han sido empleados mayormente en problemas de optimización referidos
a aplicaciones aerodinámicas, tales como el diseño de rotores que usan perfiles alares [4], el control
activo de ruido acústico [5], la optimización de forma para el fuselaje de un ala [6], y el diseño de
álabes de turbina [3]. Más recientemente, Milano & Koumoutsakos [7] implementaron un algoritmo
genético para estudiar la reducción del arrastre que se obtiene al controlar el flujo por medio de
variaciones en la velocidad tangencial sobre la pared de un cilindro. En su trabajo, la superficie del
cilindro se divide en segmentos de igual tamaño, cada uno con una velocidad tangencial estacionaria
la cual adopta un valor en el rango [-1,1]. El GA opera sobre estos parámetros para identificar las
respectivas velocidades tangenciales que minimizan el coeficiente de arrastre.
2. El algoritmo de optimización
2.1. Principios básicos de los Algoritmos Genéticos
Los algoritmos genéticos (GA) son métodos adaptativos que pueden usarse para resolver proble-
mas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo
largo de las generaciones, las poblaciones evolucionan en la naturaleza de acuerdo con los principios
de la selección natural y la supervivencia de los más fuertes, postulados por Darwin [8]. Por im-
itación de este proceso, los algoritmos genéticos son capaces de ir creando soluciones para problemas
del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en
buena medida de una adecuada codificación de las mismas.
Los principios básicos de los algoritmos genéticos fueron establecidos por Holland [10], y se encuen-
tran bien descriptos en varios textos [2, 9, 11]. En la naturaleza los individuos de una población
compiten entre sı́ en la búsqueda de recursos tales como comida y refugio. Aquellos individuos que
tienen más éxito en sobrevivir tienen mayor probabilidad de generar un gran número de descendi-
2
entes. Por el contrario individuos poco dotados producirán un menor número de descendientes. Esto
significa que los genes de los individuos mejor adaptados se propagarán en sucesivas generaciones
hacia un número de individuos creciente. La combinación de buenas caracterı́sticas provenientes de
diferentes ancestros, puede a veces producir descendientes cuya adaptación es mucho mayor que la de
cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas caracterı́sticas
cada vez mejor adaptadas al entorno en el que viven.
Los algoritmos genéticos usan una analogı́a directa con el comportamiento natural. Trabajan con una
población de individuos, cada uno de los cuales representa una solución factible a un problema dado.
A cada individuo se le asigna un valor o puntuación, relacionado con la bondad de dicha solución.
En la naturaleza esto equivaldrı́a al grado de efectividad de un organismo para competir por unos
determinados recursos. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la
probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material genético con
otro individuo seleccionado de igual forma. Este cruce producirá nuevos individuos los cuales com-
parten algunas de las caracterı́sticas de sus padres. Cuanto menor sea la adaptación de un individuo,
menor será la probabilidad de que dicho individuo sea seleccionado para la reproducción, y por tan-
to de que su material genético se propague en sucesivas generaciones. De esta manera se produce
una nueva población de posibles soluciones, la cual reemplaza a la anterior y verifica la interesante
propiedad de que contiene una mayor proporción de buenas caracterı́sticas en comparación con la
población anterior. Ası́, a lo largo de las generaciones las buenas caracterı́sticas se propagan a través
de la población. Favoreciendo el cruce de los individuos mejor adaptados, van siendo exploradas
las áreas más prometedoras del espacio de búsqueda. Si el GA ha sido bien diseñado, la población
convergerá hacia una solución óptima del problema.
2.2. Descripción del algoritmo
El algoritmo genético empleado en este trabajo opera sobre un conjunto (población) de objetos
individuales en el cual un vector de entrada x = {x1 , . . . , xn } consiste en un miembro de la población.
Se definen tres operadores a fin de modificar los miembros de la población:
Recombinación o cruce, el cual genera nuevos individuos hijos empleando algunos elementos
extraı́dos de la población.
Mutación, el cual cambia en forma aleatoria algunos de los componentes de los individuos de
prueba.
Selección, el cual elige los elementos de la población que serán empleados por la próxima
recombinación.
A cada individuo de la población, la función de adaptación le asigna un número real, que se
supone refleja el nivel de adaptación al problema por parte del individuo. Los miembros de la
población actual se comparan con los individuos recientemente generados, y las soluciones mejor
adaptadas constituyen los nuevos miembros de la población. De esta forma, al iterar el proceso de
3
recombinación-mutación-selección la población evoluciona hacia la solución óptima.
El algoritmo de optimización empleado en este trabajo es un GA cuyos individuos son codificados
como un conjunto de números reales, y se obtiene a través de una modificación del procedimiento
de búsqueda aleatoria controlada (CRS - Controlled Random Search) propuesto por Price [12]. Esta
modificación, implementada por Milano [7], consiste en incorporar un operador de mutación que
varı́a de acuerdo al nivel de adaptación local y al historial de éxitos de la población, permitiendo a
la población evitar caer en un mı́nimo local durante el proceso de optimización.
Siendo f la función objetivo a minimizar (la cual coincide en nuestro caso con la función de adaptación),
el algoritmo procede como se indica a continuación:
Paso 1: Se define un dominio de búsqueda V especificando los lı́mites de cada una de las n
variables del problema.
Paso 2: Se crea una población inicial de N individuos elegidos en forma aleatoria sobre V .
La posición correspondiente a cada individuo se almacena en una matriz A (dimensión [N, n])
que constituye el conjunto de individuos almacenados actualmente. A continuación se evalúa
la función objetivo f para cada individuo de la población.
Paso 3: Se determina el individuo M que tiene el más alto valor de la función objetivo en la
población, fM . Este individuo se corresponde entonces con el peor individuo en la generación
actual. Se determina además el valor promedio de la función objetivo en la población, fav .
Paso 4: Se eligen en forma aleatoria n + 1 individuos distintos del conjunto A, cuya posición se
almacena en una matriz R (dimensión [n + 1, n]) que constituye el conjunto de individuos (o
puntos) de prueba, y cuya función objetivo se almacena en un vector g.
Paso 5: Mutación. Para cada individuo k del conjunto R se establece su distancia Fk al valor
deseado como
| gk − fT |
Fk = (1)
fav
donde el parámetro fT es un valor umbral de la función objetivo (o valor deseado) empleado
para el ensayo de convergencia. Luego, se determina para cada individuo k del conjunto R su
probabilidad de mutación P mk como
P mk = (1 − αI ) · (1 − β Fk ) · γ (2)
indicando que el individuo k tiene una probabilidad P mk de ser reemplazado por un punto
aleatorio elegido dentro de los lı́mites de V .
Paso 6: Recombinación o cruce. Se determina el centroide G (dimensión [1, n]) de los puntos
R1 , R2 , . . . , Rn como
n
1X
Gj = Rk,j , j = 1, n (3)
n k=1
4
El punto Rn+1 se adopta arbitrariamente como el polo del conjunto R y el individuo hijo P se
define como el punto imagen del polo con respecto al centroide G de los restantes n puntos. De
esta forma
Pj = 2 Gj − Rn+1,j , j = 1, n (4)
Paso 7: Si la posición del punto P es consistente con las restricciones impuestas por los lı́mites
del dominio de búsqueda V , se evalúa la función objetivo para el punto P , fP . Si en cambio P
no es consistente con las restricciones, se vuelve al Paso 4.
Paso 8: Si fP < fM , lo cual significa que el algoritmo ha tenido éxito al generar el individuo
hijo, entonces se reemplaza en el conjunto A la posición del punto M por la correspondiente a
P (esto es, el individuo M se descarta de la población y se sustituye por el individuo hijo P ).
Si en cambio no se ha producido un éxito, se vuelve al Paso 4.
Paso 9: Selección. Se determina el individuo M que tiene el más alto valor de la función
objetivo en la población, fM . Como hemos mencionado, este individuo se corresponde con el
peor individuo de la población. Si fM < fT , lo cual significa que los valores de la función
objetivo correspondientes a todos los miembros de la población actual son menores que el valor
deseado, entonces se considera que el algoritmo ha convergido. Si en cambio no se satisface el
criterio de convergencia, se vuelve al Paso 3.
2.2.1. Tamaño de la población
Una cuestión a plantearse es la relacionada con el tamaño apropiado de la población. Parece intu-
itivo que poblaciones pequeñas corren el riesgo de no cubrir adecuadamente el espacio de búsqueda,
mientras que trabajar con poblaciones de gran tamaño puede acarrear problemas relacionados con
el excesivo costo computacional y reducir la velocidad de convergencia del algoritmo.
Goldberg [2] efectuó un estudio teórico, obteniendo como conclusión que el tamaño óptimo de la
población para individuos de longitud n, con codificación binaria, crece exponencialmente con n.
Más tarde, Alander [13], basándose en evidencia empı́rica sugiere que un tamaño de población com-
prendido entre n y 2n es suficiente para tratar con éxito los problemas por él considerados.
2.2.2. Mecanismos de mutación y recombinación
La Figura 1 muestra un esquema que ilustra los procesos de mutación y recombinación para una
función de 2 parámetros.
Para darnos una idea acerca de la forma en la cual trabaja el operador de recombinación, la Figura
2 muestra dos diferentes configuraciones (poblaciones) de 6 individuos en alguna etapa durante el
proceso de búsqueda del mı́nimo global de una función de 2 variables. Con N = 6 y n = 2 el
número de posibles individuos hijos generados por cada configuración es 60 [12]. Se observa que
la distribución de los individuos hijos depende de la forma de la población y refleja una tendencia
general en la misma. Es evidente entonces que la elección en forma aleatoria de cualquier individuo
de este conjunto de 60 como el individuo hijo P , constituye un procedimiento de búsqueda más
5
Figura 1: Ilustración de los mecanismos de mutación y recombinación para una función de 2 parámet-
ros. Izquierda: Individuos de la población (·) e individuos de prueba (∗); Centro: Mutación de un
individuo de prueba (4); Derecha: Generación de un individuo hijo (◦) (Milano [7]).
eficiente que un procedimiento basado en la búsqueda completamente aleatoria sobre V . Por otra
parte, el dominio de este conjunto de posibles individuos hijos no se restringe a las proximidades
de la población; esto conduce a una exploración “saliente”, la cual evita los riesgos inherentes de
una convergencia demasiado rápida y por lo tanto aumenta la probabilidad de encontrar un mı́nimo
global.
2.2.3. Parámetros del algoritmo
El GA empleado en este trabajo se caracteriza por cuatro parámetros: α, β, γ, fT , y dos variables:
I, fav los cuales describimos a continuación:
La variable I es el número de evaluaciones consecutivas de la función objetivo en las cuales
no ha cambiado la población; esto es, ningún individuo hijo ha sustituı́do un miembro de
la población. La misma nos da entonces una medida empı́rica de la necesidad de introducir
información nueva en la población, incrementando la probabilidad de mutación.
La variable fav es el valor promedio de la función objetivo para todos los individuos de la
población, el cual se emplea como un factor de escala.
El parámetro 0 ≤ α ≤ 1 modula la velocidad de mutación durante el proceso de optimización;
esto es: cuanto mayor sea la variable I =⇒ más pequeño será el término αI =⇒ mayor será la
6
Figura 2: Ilustración del proceso de recombinación. Todos los posibles individuos hijos (×) que pueden
obtenerse a partir de dos diferentes poblaciones (◦) de 6 individuos en dos dimensiones (Glielmo [14]).
probabilidad de mutación P mk .
El término β Fk modula una relación de orden entre los miembros de la población; esto es:
aquel individuo k que se encuentre a mayor distancia del objetivo (es decir, más lejos de la
convergencia) tendrá un valor más grande de Fk =⇒ un menor valor del término β Fk =⇒ una
mayor probabilidad de mutación P mk .
El parámetro 0 ≤ γ ≤ 1 establece un lı́mite superior para la probabilidad de mutación P mk ,
puesto que 0 ≤ β ≤ 1. Cuando γ = 0 el GA se reduce al procedimiento CRS, puesto que se
anula P mk .
Los parámetros α, β y γ pueden considerarse como coeficientes de modelado que ayudan al algo-
ritmo a identificar su entorno, los cuales, al ser seleccionados en forma adecuada, pueden incrementar
la velocidad de convergencia del esquema. El algoritmo de optimización empleado por Milano [7] es
un GA cuyo procedimiento, a diferencia del nuestro, genera en una misma iteración tantos hijos
como individuos de prueba se extraigan de la población actual; el mismo opera como se indica a
continuación:
Paso 6: Recombinación o cruce. Para el individuo de prueba Rh se determina el centroide Gh
(dimensión [1, n]) de los otros n individuos restantes como
1 n+1
Ghj =
X
Rk,j , j = 1, n (5)
n k=1,k6=h
7
El punto Rn+1 se adopta arbitrariamente como el polo del conjunto R y el individuo hijo Ph se
define como el punto imagen del polo con respecto al centroide Gh de los restantes n puntos.
De esta forma
Pjh = 2 Ghj − Rn+1,j , j = 1, n (6)
Paso 7: Si la posición del punto P h es consistente con las restricciones impuestas por los lı́mites
del dominio de búsqueda V , se evalúa la función objetivo para el punto P h , fP h . Si en cambio
P h no es consistente con las restricciones, se vuelve al Paso 6 incrementando en 1 el valor de h.
Paso 8: Si fP h < fM , lo cual significa que el algoritmo ha tenido éxito al generar el individuo
hijo, entonces se reemplaza en el conjunto A la posición del punto M por la correspondiente
a P h (esto es, el individuo M se descarta de la población y se sustituye por el individuo hijo
P h ) y a continuación se determina el individuo M que tiene el más alto valor de la función
objetivo en la población, fM . Si en cambio no se ha producido un éxito, se vuelve al Paso 6
incrementando en 1 el valor de h.
Los Pasos 6, 7 y 8 se efectúan para cada uno de los n + 1 individuos de prueba (h = 1, n + 1).
Cabe destacar que, a fin de incrementar la velocidad del proceso de optimización, Milano [7] im-
plementó en su trabajo una versión en paralelo del GA, simplemente efectuando el cálculo de los
individuos hijos (Pasos 6 y 7 de su algoritmo) en paralelo sobre n + 1 procesadores distintos.
En estudios de convergencia efectuados por Milano et al. [15] empleando el GA descripto reciente-
mente se ha encontrado que los parámetros α y β no tienen influencia significativa en las propiedades
de convergencia del GA cuando fueron variados en el rango [0.1,0.9]. En cambio, se determinó que el
parámetro γ juega un rol de mayor importancia al permitir un escape del mı́nimo local. Una regla
empı́rica para el establecimiento del parámetro γ consiste en fijarlo inicialmente como γ = 1/N ,
de modo que la máxima probabilidad de mutación para un miembro de la población equivale a la
probabilidad de elegir en forma aleatoria un miembro de la población. Si el GA no logra alcanzar el
valor deseado y aparece estancado en un mı́nimo local, entonces el parámetro γ puede incrementarse,
aumentando la probabilidad de mutación y por consiguiente las capacidades de exploración del GA.
2.3. Validación del algoritmo y Estimación de parámetros
A fin de evaluar las caracterı́sticas operativas del GA propuesto en nuestro trabajo, consideramos
la siguiente función de prueba de 2 parámetros (que corresponde a una función de Rosenbrock
modificada) como nuestra función de adaptación:
2 (x1 +1)2 +(x2 +1)2
f (x1 , x2 ) = 74 + 1000 · x2 − x21 + (1 − x1 )2 − 400 · e− 0,1 (7)
donde el dominio de búsqueda V se define por x1 , x2 ∈ [−2, 2]. Esta función de prueba tiene un
mı́nimo local cercano a (1, 1) y el mı́nimo global es cercano a (−0,91, −0,94); siendo f (1, 1) = 74,
f (−0,91, −0,94) = 34,43. El mı́nimo global es más agudo que el mı́nimo local, y presenta una región
de depresión más pequeña.
Para el proceso de minimización empleamos una población de N = 50 individuos. Los parámetros
8
α y β se fijaron en 0,25. El valor deseado fT se fijó en 50. El número máximo de evaluaciones de la
función de adaptación a efectuar en el proceso es EV = 4000.
En una primera instancia, el parámetro γ se estableció como 1/N = 0,02. En la Figura 3 se muestran
las curvas de nivel de la función de prueba junto con la población en 4 diferentes etapas de la
minimización. Al cabo de un pequeño número de iteraciones, la población se encuentra concentrada
en la región de depresión superior y el algoritmo no logra explorar otras áreas del espacio de búsqueda;
en consecuencia el GA no converge al valor deseado y se alcanza el lı́mite de 4000 evaluaciones de la
función (equivalentes a 1779 iteraciones del proceso) sin observar mejoras significativas en la función
de adaptación correspondiente al peor individuo de la población (fM ).
Figura 3: Minimización de la función de Rosenbrock modificada empleando el presente GA con
γ = 0,02. Curvas de nivel de la función. Los individuos de la población se indican por (·). Se
muestran algunos mapas de la población obtenidos durante el proceso de minimización.
En una segunda instancia, el parámetro γ se fijó en 0,6. En la Figura 4 se muestran las curvas de
nivel de la función de prueba junto con la población en 4 diferentes etapas de la minimización. Al cabo
de un pequeño número de iteraciones (150 aproximadamente), la población se distribuye de manera
uniforme en ambas regiones de depresión; a medida que aumenta la probabilidad de mutación como
se observa en la Figura 5, tiene lugar una exploración más minuciosa del volumen de búsqueda la
cual produce que el GA identifique la región de depresión inferior (la cual contiene al mı́nimo global),
9
mejorando la adaptación de los individuos de la población al valor deseado, reduciendo entonces su
distancia F y probabilidad de mutación más allá de las 300 iteraciones aproximadamente. Cuando la
función de adaptación del peor individuo de la población cae por debajo del valor deseado se declara
la convergencia del algoritmo, requiriendo esto unas 370 iteraciones.
Figura 4: Minimización de la función de Rosenbrock modificada empleando el presente GA con
γ = 0,6. Curvas de nivel de la función. Los individuos de la población se indican por (·). Se muestran
algunos mapas de la población obtenidos durante el proceso de minimización.
A raı́z de la disparidad observada en estos resultados y a fin de establecer un valor apropiado
para el parámetro γ a ser utilizado en futuros trabajos cuando acoplemos el código DNS al presente
GA, se ha efectuado un estudio de convergencia sobre una muestra de 300 corridas del GA para cada
valor de γ. Definimos las siguientes variables:
< eval >: número promedio de evaluaciones de la función de adaptación requeridas para alcan-
zar la convergencia; la cantidad 1/ < eval > es una medida de la velocidad de convergencia.
Pconv : porcentaje de veces sobre la muestra total de experiencias en las cuales se ha alcanzado
la convergencia; esta cantidad representa la probabilidad de encontrar el mı́nimo global.
Como muestran los resultados obtenidos en la Figura 6, las mejoras que introduce un aumento
de γ en cuanto al incremento de la capacidad de exploración del GA (y por lo tanto al aumento
10
Figura 5: Minimización de la función de Rosenbrock modificada empleando el presente GA con
γ = 0,6. Se muestran las siguientes variables del GA en función de las iteraciones del proceso de
optimización: (a) Valores de la función de adaptación en la población (fM , fav ) y el valor deseado
fT ; (b) Probabilidad de mutación promediada sobre el conjunto R (< P m >).
de la probabilidad de encontrar el mı́nimo global), se ganan a expensas de reducir drásticamente la
velocidad de convergencia del algoritmo.
Figura 6: Minimización de la función de Rosenbrock modificada empleando el presente GA sobre una
muestra de 300 corridas del algoritmo para varios valores de γ. (a) Número promedio de evaluaciones
de la función de adaptación requeridas para alcanzar la convergencia (< eval >); (b) Porcentaje de
veces sobre la muestra en las cuales se ha alcanzado la convergencia (Pconv ).
Asumiendo que priorizamos en el desempeño del GA la minuciosidad de la búsqueda por sobre
la velocidad de convergencia, adoptaremos en lo que sigue el valor de γ = 0,6.
11
3. Conclusiones
En este trabajo hemos efectuado una descripción y posterior validación de un algoritmo genético
(GA) cuyo empleo en un futuro próximo nos permitirá estudiar la disminución de la fuerza de arras-
tre que se produce al controlar el campo de velocidades en la superficie de un obstáculo empleando
una velocidad de deslizamiento localizada en algunas regiones sobre la frontera.
El GA propuesto evoluciona hasta alcanzar una población óptima de individuos (en lugar de un con-
junto óptimo de parámetros); el conocimiento de la forma que adopte tal población nos permitirá por
una parte obtener conclusiones acerca de las caracterı́sticas de la configuración óptima de actuación,
y por otra parte examinar correlaciones entre los parámetros de control las cuales constituyen una
medida del grado de sensibilidad de la función objetivo a los valores que adopten los parámetros de
actuación. Esta propiedad del GA nos permitirá identificar en un futuro trabajo aquellos actuadores
que resulten de fundamental importancia en el mecanismo de reducción de la fuerza de arrastre.
12
Referencias
[1] Gad-el-Hak M 2000 Flow Control: Passive, Active, and Reactive Flow Management (Cambridge
University Press, London, United Kingdom).
[2] Goldberg E E 1989 Genetic Algorithms in Search, Optimization and Machine Learning (Addison-
Wesley, Reading, MA).
[3] Fan H Y 1998 Inverse design method of diffuser blades by genetic algorithms J. Power Energy
212, No. 4.
[4] Fanjoy D W and Crossley W A 1998 Aerodynamic shape design for rotor airfoils via genetic
algorithm J. Am. Helicopter Soc. 43, No. 3.
[5] Simpson M T and Colin H H 1996 Use of genetic algorithms to optimize vibration actuator
placement for active control of harmonic interior noise in a cylinder with floor structure Noise
Control Eng. J. 44, 169.
[6] Shigeru O, Yoshihiro Y and Takashi N 1997 Multiobjective genetic algorithm for multidisciplinary
design of transonic wing planform J. Aircraft 34, No. 5, 690.
[7] Milano M and Koumoutsakos P 2002 A Clustering Genetic Algorithm for cylinder drag optimiza-
tion J. Comput. Phys. 175, 79-107.
[8] Darwin C 1859 On the Origin of Species by Means of Natural Selection Murray, London.
[9] Davis L 1991 Handbook of Genetic Algorithms (Van Nostrand Reinhold, New York).
[10] Holland J 1975 Adaptation in Natural and Artificial Systems University of Michigan Press, Ann
Arbor.
[11] Michalewicz Z 1992 Genetic Algorithms + Data Structures = Evolution Programs (Springer-
Verlag, Berlin Heidelberg).
[12] Price W 1976 A controlled random search procedure for global optimization The Computer
Journal 20(4).
[13] Alander J T 1992 On optimal population size of genetic algorithms Proceedings CompEuro 1992,
Computer Systems and Software Engineering, 6th Annual European Computer Conference, 65-70.
[14] Glielmo L, Milano M and Santini S 2000 A Machine Learning Approach to Modeling and Identifi-
cation of Automotive Three-Way Catalytic Converters IEEE/ASME Transactions on Mechatronics
5, No 2.
[15] Milano M, Barone F and Tagliaferri R 1999 A Real Coded Genetic Algorithm performing Au-
tomatic Sensitivity Analysis IEEE Trans. on Systems, Man and Cybernetics, submitted.
13