Laboratorio Nacional de Informática Avanzada
Diseño Mecatrónico usando optimización basada
en bacterias
TESIS
Que presenta:
Betania Hernández Ocaña
Para obtener el grado de:
Maestra en Computación Aplicada
Directores de Tesis:
Dr. Efrén Mezura Montes
Dr. Edgar Alfredo Portilla Flores
Agradecimientos
A mi Dios por estar conmigo en todo momento, por su amor incomparable, bondad innita y bendiciones.
A mis padres el Sr. Pablo y la Sra. Nelly por conar en mí, por su apoyo incondicional y sobre todo por ese gran amor para conmigo.
A mis hermanos, Yenni Cristel y Pablo, por amarme a pesar de la distancia y el tiempo, por apoyarme y ser el motivo de mi superación.
Al Dr. Efrén Mezura-Montes por su apoyo, amistad, tiempo, dirección y consejos en la realización de esta tesis.
Al Dr.Edgar A. Portilla Flores por su apoyo, amistad y dirección en la rea-lización de esta tesis.
A mis amigas y amigos, por su comprensión y apoyo en cualquier circunstan-cia y sobre todo por compartir esta amistad.
Resumen
Contenido
Lista de guras viii
Lista de tablas x
1. Introducción 1
1.1. Antecedentes . . . 1
1.2. Planteamiento del problema . . . 4
1.3. Objetivo general y especícos . . . 5
1.4. Justicación . . . 6 1.5. Alcances y limitaciones . . . 7 1.5.1. Alcances . . . 7 1.5.2. Limitaciones . . . 8 1.6. Organización de la tesis . . . 8 2. Optimización 10 2.1. Concepto de optimización . . . 10 2.2. Función objetivo . . . 12 2.3. Variables de diseño . . . 12 2.4. Restricciones de diseño . . . 13 2.5. Optimización Multi-objetivo . . . 13 2.6. Dominancia de Pareto . . . 15 2.7. Óptimo de Pareto . . . 16 2.8. Frente de Pareto . . . 17 3. Diseño Mecatrónico 19 3.1. Diseño óptimo en Ingeniería . . . 19
3.2. Diseño Paramétrico Cinemático . . . 21
3.3. Caso de estudio . . . 23
3.4. Técnicas de solución al problema del TVC . . . 29
4. Algoritmos de Inteligencia Colectiva 31 4.1. Introducción a la Inteligencia colectiva . . . 31
4.2. Elementos generales de un algoritmo de Inteligencia Colectiva 32 4.3. Estado del arte . . . 33
4.3.1. Algoritmos básicos . . . 33
4.3.2. Algoritmos derivados del forrajeo de bacterias . . . 39
4.3.3. Estudio a los procesos del BFOA . . . 48
4.3.4. Híbridos con el BFOA . . . 51
4.3.5. Aplicaciones usando algoritmos basados en bacterias . 55 5. Algoritmo de Optimización del Forrajeo de Bacterias Modi-cado para problemas Multi-Objetivo (MOMBFOA) 57 5.1. Modied-Bacterial Foraging Optimization Algorithm (MBFOA) 57 5.1.1. Pseudocódigo del MBFOA . . . 59
5.1.2. Descripción del pseudocódigo del MBFOA . . . 60
5.2. Algoritmo de Optimización del Forrajeo de Bacterias Modi-cado para problemas Multi-Objetivo (MOMBFOA) . . . 62
5.2.1. Implementación de mecanismos al MBFOA para re-solver problemas multi-objetivos . . . 63
5.2.2. Versiones del MBFOA . . . 64
5.2.3. Adaptaciones a los mecanismos propios del MBFOA . . 72
5.2.4. Pseudocódigo del MOMBFOA . . . 73
5.2.5. Descripción del pseudocódigo MOMBFOA . . . 73
6. Resultados 77 6.1. Diseño experimental . . . 77
6.2. Análisis de comportamiento del MOMBFOA para satisfacer a la restricción dinámica y generar soluciones factibles y no dominadas . . . 79
6.3. Resultados comparados con la métrica Two set coverage . . . . 82
6.4. Resultados comparados con la métrica Hypervolume . . . 84
6.5. Calidad de los resultados . . . 85
6.6. Consistencia de los resultados . . . 86
7. Conclusiones 91
8. Anexo 94
Lista de guras
2.1. Representación de dominancia de Pareto . . . 16
2.2. Frente de Pareto . . . 17
3.1. Transmisión de Variación Continua . . . 24
3.2. Mecanismo de cuatro barras del TVC . . . 24
5.1. Frente de Pareto obtenido del experimento 2 etapa 1 . . . 67
5.2. Frente de Pareto obtenido del experimento 2 etapa 2 . . . 68
5.3. Número promedio de soluciones factibles por generación sobre 10 corridas independientes en la etapa 2 del experimento 2 de la adaptación del algoritmo MBFOA . . . 69
5.4. Frente de Pareto obtenido del experimento 3 . . . 70
5.5. Número promedio de soluciones factibles por generación sobre 10 corridas independientes del experimento 3 de la adaptación del algoritmo MBFOA . . . 70
5.6. Frente de Pareto obtenido del experimento 4 . . . 71
6.1. Frente de Pareto de cada uno de los algoritmos . . . 79
6.2. Número promedio de soluciones que satisfacen la restricción dinámica por generación sobre 10 corridas independientes . . . 80
6.3. Número promedio de soluciones factibles por generación sobre 10 corridas independientes . . . 81
6.4. Número promedio de soluciones factibles no dominadas por generación sobre 10 corridas independientes . . . 82
6.5. Localizando al mejor espacio objetivo . . . 87
6.7. Diseño Asistido por Computadora del TVC . . . 90
8.1. Soluciones del frente ltrado de MOMBFOA . . . 95
8.2. Soluciones del frente ltrado de ED parte 1 . . . 96
8.3. Soluciones del frente ltrado de ED parte 2 . . . 97
8.4. Soluciones del frente ltrado de NSGA-II parte 1 . . . 98
8.5. Soluciones del frente ltrado de NSGA-II parte 2 . . . 99
8.6. Soluciones del frente ltrado de NSGA-II parte 3 . . . 100
8.7. Soluciones del frente ltrado de NSGA-II parte 4 . . . 101
8.8. Soluciones del frente ltrado de NSGA-II parte 5 . . . 102
Lista de tablas
4.1. Algoritmos básicos de inteligencia colectiva . . . 34
4.2. Pasos del algoritmo QB-OA. . . 36
4.3. BFOA original. Los parámetros de entrada son el número de bacterias Sb, límite del paso quimiotáctico Nc, límite del pa-so de nado Ns, límite del ciclo de reproducción Nre, número de bacterias a reproducir Sr, límite del ciclo de eliminación-dispersión Ned, tamaño de paso Ci(y probabilidad de eliminación-dispersión Ped. . . 37
4.4. Descripción de los parámetros del BFOA . . . 40
4.5. Parte 1 de las propuestas derivadas de lo algoritmos básicos . 41 4.6. Parte 2 de las propuestas derivadas de lo algoritmos básicos . 42 4.7. Estudio de los procesos del BFOA . . . 49
4.8. Híbridos con el BFOA . . . 52
4.9. Aplicaciones usando BFOA . . . 56
5.1. Descripción de los parámetros del MBFOA . . . 60
5.2. MBFOA. Los parámetros de entrada son el número de bacte-rias Sb, límite del paso quimiotáctico Nc, número de bacterias a reproducirse Sre, factor de escalamiento F, porcentaje del tamaño de paso R y el número de generaciones GMAX. . . 61
5.3. Pseudocódigo para calcular la distancia de aglomeramiento. A[1] es el valor máximo de la t-ésima función y A[a] es su valor mínimo. Size() es una función de Matlab que devuelve el tamaño de las y columnas de una matriz. . . 64
5.4. Parámetros para el experimento 2 . . . 66
5.5. Parámetros para el experimento 3 . . . 69
5.7. MOMBFOA. Los parámetros de entrada son el número de bacterias Sb, límite del paso quimiotáctico Nc, factor de
es-calamiento F, porcentaje del tamaño de paso R y el número de generaciones GMAX. Donde Fo corresponde al numero de
funciones objetivo. Size() es una función de Matlab que de-vuelve el tamaño de las y columnas de una matriz. . . 74 6.1. Estadísticas de la métrica Two set coverage. Desv. Est.: Desviación
estándar. El signo√: Si existe diferencia signicativa. El signo =: No existe diferencia signicativa. . . 83 6.2. Estadísticas de la métrica Hypervolume. Desv. Est.:Desviación
estándar . . . 84 6.3. Identicando al mejor algoritmo con la prueba U Mann de
Whitney con muestra de la métrica Hypervolume. El signo √: Si existe una diferencia signicativa. El signo =: No existe una diferencia signicativa. El signo + identica al mejor algorit-mo, el signo - identica al peor algoritmo de la comparación.
. . . 85 6.4. Soluciones de cada algoritmo dentro del rango que favorece la
Capítulo 1
Introducción
1.1. Antecedentes
Los problemas de optimización son la interpretación de los problemas com-plejos o difíciles de resolver del mundo real, donde se busca encontrar una solución o conjunto de soluciones que maximice o minimice una cierta medida de calidad, conocida como función objetivo. Los problemas de optimización debido a su complejidad requieren de técnicas y estrategias especícas para resolverlos y éstos se clasican de acuerdo a las características que presentan, por lo general, radican en la clasicación que corresponden a la optimización basada en la existencia de restricciones y en el número de funciones objetivos, aunque pueden componerse de dos o más de las clasicaciones [22].
El diseño de máquinas como carros, aviones, aparatos electrodomésticos, retroexcavadoras, cámaras fotográcas automáticas, entre muchos más se pueden considerar como problemas complejos debido a lo difícil que es re-solverlos ya que involucran muchos objetivos o compromisos que generalmen-te se encuentran en conicto. Para lograr el diseño óptimo de estás máquinas se requiere de tiempo, conocimiento y experiencia. En el área de ingeniería las máquinas que realizan ciertas funciones o tareas especícas son vistos como sistemas [55].
tanto, un problema de diseño concurrente es propuesto para obtener todo el sistema. El segundo enfoque es el Diseño Paramétrico Cinemático (DPC) el cual consiste en asignar la mejor combinación de valores a los parámetros que describen el sistema a diseñar. Los parámetros son el resultado de un análisis y síntesis Cinemático que cumplen con las posiciones, velocidades, dimen-siones, formas de las piezas, entre otras, del sistema a diseñar. Con estos parámetros el diseñador puede proponer el conjunto de funciones y restric-ciones para cuanticar el rendimiento del sistema y obtener el diseño óptimo de este. Cada una de las funciones y restricciones propuestas son probadas hasta lograr obtener un diseño óptimo, de no lograrlo se tiene que rehacer el análisis y síntesis Cinemático del sistema a diseñar. Esto signica la creación de soluciones potenciales en la ausencia de un algoritmo bien denido o pre-decir la conguración de la solución [53]. Una alternativa para resolver el problema de diseño de sistemas es modelar al DPC como un problema de optimización (PO) [52], [58].
Actualmente, los ingenieros se asisten con herramientas computacionales para diseñar los sistemas lo cual es conocido como Diseño Asistido por Computa-doras (CAD), ésto implica tener experiencia y conocimiento de las herrami-entas computacionales ya que no son fáciles de congurar.
En estos días, existen técnicas que buscan soluciones buenas en tiempos ra-zonables conocidas como metaheurísticas. Algunas de estas técnicas emulan o simulan procesos naturales o evolutivos que se agrupan en los llamados al-goritmos bio-inspirados, que pueden ser usadas para resolver DPC que gene-ralmente cuentan con más de una función objetivo y restricciones que usual-mente entran en conicto ya que éstas cuantican el desempeño del sistema y la estructura mecánica del mismo que los hacen aún más complejos. Por lo general, un DPC se modela como un Problema de Optimización Multi-objetivo con restricciones (POMR) por la presencia de estas características. Cabe mencionar, que el DPC en algunos casos puede ser dinámico debido a que por lo menos una función objetivo y/o restricción es dinámica. Sin em-bargo, este tipo de DPC dinámico puede resolverse como un POMR estático aunque para el área de optimización puede considerarse dinámico si la fun-ción objetivo y/o la restricfun-ción del problema al ser evaluada con los mismos parámetros en diferentes tiempos su valor cambia [7].
útiles para el diseño de sistemas en Mecatrónica pero la decisión de cual solución usar depende del diseñador ya que entran en juego aspectos como el costo y el tiempo de fabricación del diseño. Existen métodos de progra-mación matemáticas que resuelven POMR [49], pero a veces es complicado utilizarlos por la complejidad de los problemas, por lo que se opta por la transformación del problema original, en algunos casos las funciones obje-tivo del problema pasan hacer restricciones [33], lo cual requiere de mucho conocimiento matemático y de tiempo para encontrar una solución al proble-ma, además de que se opta por separar a las funciones objetivos del problema y resolverlas por separado para encontrar un punto inicial de búsqueda para el problema. Puede existir el caso de que la tranformación a un problema perjudique la obtención de resultados correctos y esto es porque algunos pro-blemas son muy sensibles a las condiciones iníciales del problema con respecto al punto inicial de búsqueda [57]. Por último, la programación matemática sólo proporcionan una solución para el diseñador [11]. Estas son algunas de las razones por las que diseñadores optan por utilizar otras técnicas que les permita reducir tiempo para resolver estos problemas sin esfuerzos ni compli-caciones matemáticas, y es por ello que en esta tesis se propone un algoritmo bio-inspirado de inteligencia colectiva para resolver este tipo de problemas, área que a continuación se describe.
En los años 1990's surge un conjunto de algoritmos que emulan los compor-tamientos colaborativos hallados en animales muy simples como insectos o aves. A este conjunto de nuevos algoritmos se les agrupó en el área de la Inteligencia Colectiva (Swarm Intelligence en inglés).
Los algoritmos que dieron origen a esta área fueron el de Optimización me-diante Cúmulos de Partículas (PSO) [36] y el algoritmo de Colonia de Hormi-gas (Ant Colony)[28]. PSO está basado en las coreografías que siguen algunas aves al buscar alimento o refugio y está diseñado para resolver problemas de optimización numérica. El algoritmo de Colonia de Hormigas modela di-ferentes comportamientos encontrados en los hormigueros y se ha utilizado principalmente para resolver problemas combinatorios. Uno de los algoritmos más novedosos del área de inteligencia colectiva es el algoritmo que emula el comportamiento de forrajeo a nivel de bacterias.
entrenamiento de una red neuronal [9]. Del modelo inicial llamado, Bacte-ria Chemotaxis (BC), se emula la reacción de los atractores químicos de las bacterias, y se han reportado estudios de aplicación en problemas de opti-mización numérica no restringida [51], [2]. Sin embargo, el algoritmo más conocido es el propuesto por Passino [56] llamado algoritmo de bacterias en búsqueda de alimento (BFOA) que, a diferencia del modelo BC, tiene en cuenta el proceso completo de forrajeo de las bacterias E.Coli: Chemotaxis (movimientos de giro y nado), agrupamiento, reproducción y eliminación-dispersión.
Mezura-Montes y Hernández-Ocaña [47] proponen el algoritmo MBFOA de-rivado del BFOA, que implementa mecanismos que reducen el número de parámetros que eran requeridos para la funcionalidad del BFOA. Asimismo, se emplea un mecanismo que permita resolver problemas de optimización con restricciones, logrando con ésto un algoritmo robusto con un costo computa-cional moderado con respecto a los algoritmos encontrados en la literatura especializada.
En esta tesis se propone al MBFOA para resolver un POMR (donde una restricción es dinámica) derivado del diseño paramétrico de un sistema Me-catrónico llamado Transmisión de Variación Continua (TVC). Ésto con los objetivos de adaptar al MBFOA para resolver este tipo de problemas, pro-mover el uso de heurísticas de Inteligencia Colectiva en el área de Ingeniería y proponer al MBFOA como un algoritmo que permita ahorrar tiempo, es-fuerzo y costo en el proceso de diseño de sistemas mecatrónicos.
1.2. Planteamiento del problema
Un POMR se dene matemáticamente de la siguiente forma: Minimizar ó maximizar:
Φm(~x), m = 1, 2, ..., M ; (1.1)
gj(~x) ≥ 0, j = 1, 2, ..., J ; (1.2)
hk(~x) = 0, k = 1, 2, ..., K; (1.3)
Donde Φ representa el conjunto de funciones objetivo, g el conjunto de res-tricciones de desigualdad y h el conjunto de resres-tricciones de igualdad del problema.
Donde ~x ∈ <n y n ≥1, es el vector de variables de decisión ~x=[x
1, x2,...,xn
]T, y cada x
i, i=1,...,n está delimitada por límites inferior y superior Li ≤
xi ≤ Ui que denen al espacio de búsqueda S; M es el número de funciones
objetivo, J el número de restricciones de desigualdad y K el número de res-tricciones de igualdad. Donde se búsca encontrar los vectores óptimos para las funciones objetivo M que satisface al conjunto de restricciones del pro-blema encontrados en F que es la región factible de S, por lo tanto, F ⊆ S [24]. En esta tesis se resolverá el TVC el cual es un POMR donde una de sus restricciones es dinámica desde el punto de vista del área de optimización [7], por lo tanto, llamaremos al POMR como un Problema de Optimización Dinámico Multi-Objetivo con Restricciones (PODMR).
Aunque existen trabajos en el estado del arte que dan una solución compe-tente y robusta para resolver el problema del TVC con algoritmos evolutivos como, evolución diferencial (ED) [57], [48], no se encuentra en la literatura especializada evidencia de uso de algoritmos basados en bacterias en este tipo de PODMR.
1.3. Objetivo general y especícos
El objetivo de este trabajo es optimizar un sistema mecatrónico complejo, modelado como un PODMR usando el algoritmo modicado del forrajeo de bacterias para resolver problemas de optimización con restricciones (MB-FOA) propuesto en [46].
Es posible adaptar el algoritmo modicado del forrajeo de bacterias para resolver un problema de optimización dinámica multi-objetivo con restric-ciones y obtener resultados competitivos con respeto a algoritmos del estado del arte.
Objetivos especícos
Proponer modicaciones al MBFOA para el manejo de funciones multi-objetivo.
Implementar el algoritmo modicado para resolver el problema del TVC.
Realizar pruebas estadísticas para medir el rendimiento del algoritmo propuesto y compararlo con otros algoritmos del estado del arte.
1.4. Justicación
Los primeras propuestas de heurísticas para resolver problemas como el TVC (que es un problema PODMR), se hicieron a partir de algoritmos evolutivos, en especíco el algoritmo de Evolución Diferencial (ED). Por tal motivo, es importante explorar y explotar nuevas metaheurísticas que resuelvan este tipo de problemas y ofrecer al área de Ingeniería mayor diversidad de estrate-gias para la solución de sus presentes y futuras problemáticas al momento de diseñar piezas mecánicas.
En este trabajo se presenta una metaheurística de inteligencia colectiva para resolver problemas PODMR, tomando coma base al algoritmo propuesto por [46], llamado MBFOA y se realizarán los estudios pertinentes para desarro-llar un algoritmo capaz de resolver PODMR, promoviendo con ello el uso de los algoritmos de inteligencia colectiva, y obtener un algoritmo robusto y útil por los diseñadores de sistemas mecánicos.
El impacto de este trabajo además se reejará en el diseño óptimo de sis-temas mecatrónicos que pueden ser aplicados para la construcción de ve-hículos verdes que no requieren de combustibles fósiles sino combustibles no contaminantes (energía eléctrica, solar). Por ende, el benecio es directa-mente para el medio ambiente, conando que el apoyo y la construcción del estos vehículos contribuya en la reducción de contaminación a la atmosfera y disminuir el uso de recursos no renovables como el petróleo.
1.5. Alcances y limitaciones
1.5.1. Alcances
El algoritmo resolverá únicamente una instancia real y compleja de un problema de optimización dinámico multi-objetivo con restricciones. El algoritmo devolverá un conjunto de soluciones factibles en su expe-rimentos, pero no se atacará el problema de la selección de la solución más conveniente, pues esa labor la realizará el diseñador experto en este caso.
co-verage [34]). Principalmente se utilizarán métricas unarias y binarias donde no se requiere conocer la solución óptima del problema a resolver, ya que no se conocen soluciones al problema debido a que es un pro-blema real de reciente aparición en el área de Ingeniería Mecatrónica del CIDETEC-IPN.
La solución producida por el algoritmo deberá ser competitiva con res-pecto a las reportadas por algoritmos del estado del arte.
1.5.2. Limitaciones
Se generará el diseño óptimo del TVC pero no se construirá sicamente.
1.6. Organización de la tesis
La tesis esta organizada de la siguiente manera:
Capitulo 2. Optimización. En este capítulo se dene el concepto de optimización, se describen los elementos que conforman un problema de optimización y se incluye la descripción de optimización multi-objetivo. Capitulo 3. Diseño Mecatrónico. En este capítulo se describe la im-portancia de diseño óptimo en Ingeniería, se menciona en qué consiste el diseño paramétrico, y se describe el problema de Diseño Paramétri-co CinemátiParamétri-co a resolver en esta tesis, el cual es modelado Paramétri-como un problema de optimización dinámico multi-objetivo con restricciones (PODMR). Finalmente se incluyen los trabajos encontrados en la li-teratura especializada que dan una solución a este problema.
revisión de la literatura especializada de los algoritmo de IC, en parti-cular de los algoritmos basado en el forrajeo de bacterias.
Capitulo 5. Algoritmo de Optimización del Forrajeo de Bac-terias Modicado para problemas Multi-Objetivo (MOMB-FOA). En este capítulo se describe el algoritmo Modied-Bacterial Foraging Optimization (MBFOA), su pseudocódigo y la descripción de su funcionamiento. Además se presentan las modicaciones al MBFOA para resolver un problema multi-objetivo, asimismo las adaptaciones a los procesos del algoritmo resultado de diversos experimentos para mejorar el desempeño de búsqueda.
Capitulo 6. Resultados. En este capítulo se presentan los resultados obtenidos por MOMBFOA para el PODMR y la comparación de sus resultados con los algoritmos Evolución Diferencial y NSGA-II.
Capítulo 2
Optimización
2.1. Concepto de optimización
La optimización es un proceso que pretende encontrar una solución o con-junto de soluciones que maximice o minimice una cierta medida de calidad, conocida como función objetivo. Dentro de los conceptos más destacados para el término optimización se encuentran:
Proceso de buscar la mejor solución posible a un problema, bajo ciertas circunstancias [60].
Método matemático para determinar los valores de las variables que hacen máximo el rendimiento de un proceso o sistema [30].
Los métodos de optimización son conocidos como técnicas de programación matemática, las cuales son aplicables a problemas de toma de decisiones, así como al establecimiento de las mejores soluciones posibles. Los problemas de optimización pueden clasicarse de acuerdo a las siguientes características [22]:
1. Basándose en la existencia de restricciones Con restricciones
2. Basándose en la naturaleza de las variables de decisión Problemas estáticos o paramétricos
Problemas dinámicos o de trayectorias (las variables son función de un parámetro determinado)
3. Basándose en la naturaleza de las ecuaciones involucradas Problemas lineales
Problemas no lineales
Problemas de programación geométrica Problemas de programación cuadrática
4. Basándose en los valores permisibles de las variables de diseño Problemas de programación entera
Problemas de programación con valores reales
Problema donde se busca un orden óptimo de elementos, (proble-ma de optimización combinatoria).
5. Basándose en la naturaleza determinista de las variables Problemas estocásticos
Problemas deterministas
6. Basándose en la separabilidad de las funciones Problemas separables
Problemas no separables
7. Basándose en el número de funciones objetivo Mono-objetivo
Los problemas de optimización en su forma matemática presentan caracterís-ticas especiales como: función objetivo lineal o no lineal, con restricciones de igualdad (lineal o no lineal) o desigualdad (lineal o no lineal), con restric-ciones activas y diferente número de variables en el problema. El modelado para el problema de optimización numérica con restricciones que representa un problema paramétrico es el siguiente:
Minimizar o maximizar f(~x) sujeto a las restricciones:
gi(~x)≤ 0
hj(~x)= 0
i=1,2,...,p j=1,2,...,q
donde ~x es el vector de variables de dimensiones n, f(~x) es la función objetivo, gi(~x) es el conjunto de p restricciones de desigualdad que debe ser menor que
n porque si es igual se tiene un conjunto de ecuaciones simultaneas y si es mayor, el problema está sobre descrito, y nalmente hj(~x) es el conjunto de
q restricciones de igualdad.
2.2. Función objetivo
La función objetivo representa la relación matemática que permite cuanticar el desempeño del sistema u objeto de interés, la cual es determinada después de un profundo análisis del problema. En la función objetivo es donde se evalua el conjunto de valores del vector de variables de diseño para determi-nar si éstos son los valores óptimos que maximizan o minimizan el problema, según sea el caso.
2.3. Variables de diseño
información mínima que en conjunto permiten describir el sistema u objeto para ser diseñado de manera óptima. Las variables de diseño las establece el diseñador cuando hace el análisis del sistema u objeto y determina el rango de valores factibles que puede tomar cada una de las variables, ésto con el n de que al momento de encontrar los valores óptimos, el diseño sea factible de construir.
Cuando el diseño del sistema u objeto se lleva a cabo tomando en cuenta el conjunto de variables de diseño, se denomina diseño paramétrico.
2.4. Restricciones de diseño
Las restricciones de diseño son el conjunto de limitaciones del sistema que se deben satisfacer para producir un diseño aceptable. Las restricciones de comportamiento o desempeño del sistema son denominadas restricciones fun-cionales o de comportamiento, mientras que las restricciones que representan limitaciones físicas tales como disponibilidad, facilidad de fabricación y trans-portabilidad son denominadas restricciones geométricas.
Las restricciones son estáticas cuando únicamente dependen de la evalu-ación del conjunto de parámetros del sistema. Cuando se involucran aspectos dinámicos (control o estados del sistema) o cuando se evalúan en un periodo de tiempo (intervalo de tiempo durante el que se optimiza el sistema), las restricciones son dinámicas.
2.5. Optimización Multi-objetivo
Un ejemplo de un problema multi-objetivo en la vida real puede ser el de una empresa productora de artículos de limpieza (cloro, jabones, aromatizantes, entre otros) que busca producir un desinfectante con las proporciones ade-cuadas de químicos que hagan de este producto no solo una novedad en el mercado si no que se produzca con el mínimo costo y al mismo tiempo que no reduzca la eciencia del producto, es decir, que sea un producto de calidad. Como podemos observar el problema presenta dos objetivos en conicto, el costo de producción y la eciencia del producto, además podrían entrar en juego otros objetivos, como por ejemplo, si se deseará dar un color al líquido desinfectante, cuál sería el color más adecuado que no impacte en el costo de producción. Es así como en la vida diaria las empresas, áreas de investi-gación y las personas se enfrentan a la toma de desiciones de problemas que envuelven muchos objetivos.
2.6. Dominancia de Pareto
Al resolver un POM se utiliza el concepto de dominancia, es decir, para los POM se obtiene un conjunto de soluciones que satisfacen a las funciones objetivo, durante la búsqueda de estas soluciones, es necesario identicar aquellas soluciones que sean dominadas por otras para eliminarlas del con-junto de soluciones, a partir de las cuales el tomador de decisiones podrá escoger según sus necesidades y metas. El concepto de dominancia aplica de la siguiente manera [24]:
Una solución ~x1 domina a otra solución ~x2 si:
La solución ~x1 es mejor que la solución ~x2 en todos sus objetivos
La solución ~x1 es mejor que la solución ~x2 en al menos un objetivo y
tiene valores similares a los restantes objetivos
Si alguna de las condiciones es violada, entonces la solución ~x1 no domina a
la solución ~x2. A partir de dos soluciones ~x1 y ~x2 existen tres posibilidades:
1. ~x1 domina a ~x2
2. ~x1 es dominada por ~x2
3. ~x1 y ~x2 son no dominadas entre sí.
Para ejemplicar gracamente lo anterior, observe la gura 2.1, donde se muestra un problema de dos objetivos ambos a minimizar, el eje x represen-ta la función objetivo f1, y y represenrepresen-ta a la función objetivo f2.
Figura 2.1: Representación de dominancia de Pareto
2.7. Óptimo de Pareto
En un POM es posible obtener un conjunto de soluciones factibles no domi-nadas, para determinar el óptimo de Pareto. De acuerdo a estas soluciones se sigue la siguiente denición [16]:
Sea I∗ el conjunto de funciones objetivos y Ω el conjunto de soluciones
factibles, se dice que un vector de variables de decisión ~x∗ ∈ Ω es un
óp-timo de Pareto, si para toda ~x ∈ Ω se cumple: 1. ∀i ∈ I∗: f
i( ~x∗) ≤ fi(~x)
2. ∃ j ∈ I∗: f
j( ~x∗) < fj(~x)
Al conjunto de soluciones que conforman el óptimo de Pareto se denomina Conjunto de óptimos de Pareto (P∗), denida como:
donde ~x∗ es un vector de variables de decisión que conforman una solución
factible no dominada y por lo tanto, pertenece al óptimo de Pareto.
2.8. Frente de Pareto
El frente de Pareto (F ) representa el conjunto de óptimos de Pareto. For-malmente, F es el conjunto:
F=f(~x) ∈ <I | ~x in P∗
La gura 2.2, presenta el frente de Pareto de un conjunto de óptimos de Pareto, el cual es tomado del ejemplo de la gura 2.1, donde el frente de Pareto lo conforman 3 puntos, las tres soluciones (1,4), (2,3) y (4,1).
Figura 2.2: Frente de Pareto
Capítulo 3
Diseño Mecatrónico
En este capítulo se describe la importancia del diseño óptimo en Ingeniería, en qué consiste el diseño parámetrico y se detalla el caso de estudio a resolver en esta tesis, dando a conocer su modelado como problema de optimización. Además se presentan dos trabajos encontrados en la literatura especializada que abordan este problema.
3.1. Diseño óptimo en Ingeniería
Como parte de las actividades de Ingeniería se realiza el diseño de objetos o productos como los sistemas mecatrónicos. Estos diseños deben ser óptimos, lo cual implica un reto para los ingenieros en diseño. El diseño ingenieril se dice que es óptimo cuando el proceso de diseñar un producto u objeto cumple con todas las restricciones que implique su funcionamiento y comportamien-to, optimizando costo y tiempo de construcción. El diseño debe cumplir con la integración y optimización de los elementos que conforman un sistema los cuales son el sistema mecánico, el sistema eléctrico y el control. Ejemplo de estos objetos son aparatos electrodomésticos, carros, computadoras, celu-lares, aviones o procesos industriales complejos.
En Ingeniería es de mucha importancia cuidar aspectos como [31]: Que el diseño sea fácil de reconguración.
avanzados.
Que el costo-rendimiento y calidad al construir el diseño sea lo más favorable para todos los elementos involucrados.
De acuerdo a estos aspectos los elementos que conforman un sistema y a los diversos objetos que se diseñan hacen que el proceso de diseño sea complejo, ya que se debe cuidar cada detalle para obtener un objeto de calidad, con el funcionamiento y desempeño deseado.
Los sistemas a diseñar por los ingenieros se traducen como un problema paramétrico, ya que el sistema es descrito por un conjunto de funciones matemáticas, donde el reto es encontrar el mejor conjunto de valores para el diseño del sistema. Al proceso de búsqueda de los mejores valores se le conoce como optimización del diseño, donde el ingeniero de diseño obtiene esos valores óptimos. Dicho conjunto de valores óptimos se obtiene de mi-nimizar o maximizar la función matemática que describe el funcionamiento del sistema, cuidando satisfacer el conjunto de restricciones de igualdad y/o desigualdad al que está sujeto el sistema. Dichas restricciones también son presentadas como funciones matemáticas. Cabe mencionar, que es común que los sistemas al ser diseñados se involucren funciones objetivos dinamicas y/o que al menos una de las restricciones lo sea [31] .
Por otra parte, debido a la complejidad de los sistemas actuales, la mayo-ría de las veces las funciones matemáticas que cuantican el desempeño del sistema están en conicto, dando de forma natural un problema de diseño multi-objetivo. Para la obtención de la solución de este tipo de problemas, se ha seguido el enfoque de optimización estática y el uso de técnicas de progra-mación matemática, ambas son las bases del Diseño Paramétrico Cinemático (DPC).
Actualmente, el enfoque de optimización dinámica resulta interesante para el área de Ingeniería, ya que permite considerar en forma concurrente los aspectos estructurales y dinámicos del sistema en cuestión.
se produzca un funcionamiento correcto de ambos comportamientos.
Es importante destacar que el traducir el sistema como un problema paramétri-co facilita la búsqueda de los valores óptimos para el paramétri-conjunto de parámetros del sistema, ya que, permite modelar el diseño como un problema de opti-mización y por lo tanto, se puede hacer uso de herramientas computacionales para agilizar el proceso de diseño.
Actualmente, la implementación de metaheurísticas inspiradas en la natu-raleza y la evolución de las especies, permite a los ingenieros diseñadores encontrar esas soluciones potenciales para el sistema [57], [48].
Los dos enfoques principales de diseño ingenieríl son, el enfoque de Diseño Concurrente, que consiste en encontrar la conguración apropiada de com-portamiento del sistema dependiendo de la conguración estructural y de control del sistema de forma dinámica. Por otra parte, el Diseño Paramétrico Cinemático (basado en el enfoque estático) consiste en determinar el conjun-to de valores óptimos a los parámetros que describen el sistema en diseño, dichos parámetros denidos en el análisis y síntesis realizada previamente en el DPC. El caso de uso a resolver en esta tesis se describe con el enfoque DPC [31].
3.2. Diseño Paramétrico Cinemático
El DPC consiste en encontrar y asignar la mejor combinación de valores al conjunto de parámetros que describe el sistema a diseñar, para ello es nece-sario primero realizar el análisis y síntesis del sistema o mecanismo. El análisis permite determinar si el mecanismo es adecuado para desarrollar cierta tarea o trabajo, y en la síntesis se determinan tamaños, formas, composiciones y disposiciones de las piezas del sistema para que desempeñen una tarea de movimiento particular. Aunque se dedique mucho esfuerzo en la etapa de análisis, el objetivo fundamental es la síntesis, es decir, el diseño de una máquina, un mecanismo o un sistema. Los tipos de síntesis son detallados en la sección 3.2.1.
Asistido por Computadoras (DAC), donde se diseña en 2D y 3D, lo que permite la simulación de lo diseñado, genera diseños con cierta facilidad y rapidez, aunque el diseñador debe tener conocimiento del manejo de herrami-entas computacionales para poder obtener diseños de calidad. Sin embargo la desventaja de utilizar DAC es que el ingeníero de diseño debe tener amplio conocimiento y experiencia en el manejo de la herramienta computacional ya que los DAC no son necesariamente fáciles de congurar, ni de usar.
3.2.1. Síntesis cinemática
Existen dos tipos de síntesis, la dimensional que busca encontrar los valo-res de un conjunto de parámetros que describen al sistema, y la síntesis de tipo que dene la topología del sistema, es decir, el conjunto de elementos mecánicos más apropiados para llevar a cabo una tarea especíca. Para la síntesis dimensional existen tres casos [53]:
Generación de función Generación de trayectoria Generación de movimiento
En la generación de función, un movimiento de entrada está correlacionado con un movimiento de salida de un mecanismo. El problema de generación de trayectoria se relaciona con el control de un punto en un plano, de tal forma que éste pueda seguir una trayectoria previamente establecida. Finalmente, el problema de generación de movimiento se dene como el control de una línea en el plano, de forma tal que un conjunto de posiciones secuenciales se alcanzan. El problema de generación de movimiento es más general que el problema de generación de trayectoria [53].
3.3. Caso de estudio
El caso de estudio de esta tesis es el Sistema de Transmisión de Variación Continua (TVC) el cual es un sistema completo de transmisión unilateral para pedaleo basculante con sistema de cambio de velocidades. La función principal del sistema es convertir el pedaleo batiente de entrada (tipo escala-dora ja) en movimiento rotatorio sobre la rueda motriz o de impulsión del vehículo o sistema en el cual se instala. El TVC de tipo basculante, fue prop-uesto originalmente para la creación de vehículos para discapacitados, donde la fuerza de impulso se obtiene de las extremidades superiores del individuo. Así mismo, este modelo permite una posible implementación de la trans-misión en vehículos con baja capacidad de carga, como vehículos híbridos de exploración con impulsión de motor de movimiento continuo. A continuación se presentan las funciones objetivo y restricciones del sistema aunque su de-tallada descripción se encuentra en el informe que describe el diseño del TVC matemáticamente [32].
Para efectos del análisis del sistema, se puede dividir en tres subsistemas: 1. Sistema de impulsión (Motor de entrada o sistema de pedaleo). 2. Mecanismo de entrada (Eje pedalier).
3. Mecanismo manivela-biela-corredora (MBC).
La gura 3.1 muestra al TVC que utiliza un mecanismo de cuatro barras con el objetivo de convertir el movimiento continuo de un motor de entrada, en movimiento basculante.
En la gura 3.2 se muestra el diagrama de cuerpo libre del mecanimo de cuatro barras. La conguración de dicho mecanismo es la manivela-balancín. Donde:
r1 es la longitud del eslabón jo o de tierra.
Figura 3.1: Transmisión de Variación Continua
r3 es la longitud del acoplador.
r4 es la longitud del balancín.
θ1 es el ángulo del eslabón jo.
θ2 es el ángulo de la manivela.
θ3 es el ángulo del acoplador.
θ4 es el ángulo del balancín.
µ(x, t) es el ángulo entre el eslabón de salida y el acoplador. El problema del TVC consiste en Optimizar:
φ = [φ1(x), φ2(x)]x ∈ R5 (3.1)
Con 2 funciones objetivos (φ1 y φ2):
φ1 corresponde a la síntesis cuantitativa para generación de
movimien-to (desplazamienmovimien-to del balancín):
φ1(x) = (θ4max− θ4min)2 (3.2)
Para φ1 se requiere que su valor sea lo más grande posible para maximizar
la transferencia de energía del motor de entrada hacia el mecanismo de manivela-biela-corredora del TVC.
φ2 corresponde a la calidad de funcionamiento del mecanismo de
barras (ángulo de transmisión): φ2(x) = (γmax− π 2) 2+ (γ min− π 2) 2 (3.3)
El valor óptimo para φ2es cero y se alcanza cuando el valor máximo o mínimo
del ángulo de transmisión es de 90 ◦en toda la trayectoria que describa el
Dichas funciones objetivo están sujetas a las siguientes restricciones: g1(x) = x2+ x3− x1− x4 ≤ 0 g2(x) = x1− x3 ≤ 0 g3(x) = x4− x3 ≤ 0 g4(x) = x1− 0,5 ≤ 0 g5(x) = 0,05 − x1 ≤ 0 g6(x) = x2− 0,5 ≤ 0 g7(x) = 0,05 − x2 ≤ 0 g8(x) = x3− 0,5 ≤ 0 g9(x) = 0,05 − x3 ≤ 0 g10(x) = x4− 0,5 ≤ 0 g11(x) = 0,05 − x4 ≤ 0 g12(x) = x5− π4 ≤ 0 g13(x) = −π4 − x5 ≤ 0 g14(x, t) = π4 − µ(x, t) ≤ 0 h1(x) = π − θ4max − θ4min= 0
Donde 0.05 ≤ x1, x2, x3, x4 ≤ 0.5 y −45◦ ≤ x5 ≤ 45◦. Las cuales son las
Para φ1, θ4maxy θ4minse calculan de acuerdo a la conguración del mecanismo
de cuatro barras. Caso a) θ1 <0:
θ4max= π-[abs(θ1)+ arccos( r2
1+r24−(r3−r2)2
2r1r4 )]
θ4min= π-[abs(θ1)+ arccos( r2 1+r24−(r3+r2)2 2r1r4 )] Caso b) θ1 = 0: θ4max= π- arccos( r2 1+r24−(r3−r2)2 2r1r4 ) θ4min= π- arccos( r2 1+r24−(r3+r2)2 2r1r4 ) Caso c) θ1 >0:
θ4max= π+[abs(θ1)+ arccos( r2
1+r24−(r3−r2)2
2r1r4 )]
θ4min= π+[abs(θ1)+ arccos( r2
1+r24−(r3+r2)2
2r1r4 )]
Para φ2, γmax y γmin se calculan de acuerdo al ángulo de transmisión cuando
la manivela está alineada con el eslabón de referencia. γmax= arccos[ r2 3+r42−(r1+r2)2 2r3r4 ] γmin= arccos[ r2 3+r 2 4−(r1−r2) 2 2r3r4 ]
La restricción g14, es dinámica ya que se evalua a lo largo de la trayectoria
Donde el ángulo de transmisión se calcula utilizando la denición del mismo, es decir µ(., t) =|θ3− θ4|.
θ3 es una posición angular que esta dada por:
θ3 = 2arctan[ −B1+ q B2 1 + A21− C12 C1− A1 ] (3.4) θ4 = 2arctan[ −E1+ q D2 1 + E12− F12 F1 − D1 ] (3.5) donde: A1= 2r3(r2cosθ2− r1cosθ1) B1= 2r3(r2sinθ2− r1sinθ1) C1= r12+ r22+ r23− r42− 2r1r2cos(θ1− θ2) D1= 2r4(r1cosθ1− r2cosθ2) E1= 2r4(r1sinθ1 − r2sinθ2) F1= r12+ r22+ r42− r23− 2r1r2cos(θ1 − θ2)
Por último, θ2 que es el ángulo de la manivela y su posición angular está
dada por:
θ2 = Wint
donde Win es la rapidez angular de entrada en la manivela. Para el caso del
TVC, Win = 6,9rad/s, por lo que a partir de este valor, se debe calcular
el tiempo(t) necesario para completar una vuelta completa por parte de la manivela.
El problema del TVC es modelado como un PODMR desde el punto de vista computacional debido a que la restricción g14(x)al ser evaluada con los
mis-mos parámetros x1, x2, x3, x4 y x5 en diferentes tiempos su valor cambia.
3.4. Técnicas de solución al problema del TVC
En la literatura especializada se encuentran dos trabajos que resuelven el pro-blema del TVC [57] y [48], el primero presenta una metodología de diseño con-currente para formular el problema de diseño mecatrónico. La metodología propone interpretar al problema de diseño mecatrónico como un problema de optimización multi-objetivo dinámico. Para explicar esta metodología, el problema del TVC se resuelve a través de dos técnicas de optimización una basada en un método de programación matemática (programación por metas); y el otro basado en el algoritmo de Evolución Diferencial (ED). Derivado de los resultados de ambas técnicas se obtienen un conjunto de conclusiones donde hacen ver las desventajas de la programación matemáti-ca y las ventajas del algoritmo ED con respecto al problema del TVC. Por ejemplo, una de las desventajas de la programación matemática es que se requiere mucho conocimiento y experiencia matemática ya que en algunos casos se necesita la transformación del problema original debido a su com-plejidad trayendo con esto una desventaja más que sería obtener una solución errónea del problema debido a la perdida de datos en la transformación del problema. Otra desventaja es que la programación matemática requiere un punto inicial de búsqueda, esto puede ser obtenido al resolver por separado las funciones objetivo del problema o por experiencia del diseñador Meca-trónico, aunque esto no siempre de resultados satisfactorios, caso que en el ED no es necesario ya que éste inicia su búsqueda aleatoriamente. Por últi-mo, la programación matemática sólo proporciona una solución al problema mientras que ED da un conjunto de soluciones óptimas al problema por ca-da ejecución. ED obtuvo mejores resultados que el método de programación matemática aunque el costo computacional es mayor que la técnica de pro-gramación matemática.[57].Capítulo 4
Algoritmos de Inteligencia
Colectiva
En este capítulo se da una breve introducción a la Inteligencia Colectiva (IC), se describen los elementos generales de un algoritmo de IC y la revisión de la literatura especializada de los algoritmo de IC, en particular de los algo-ritmos basado en el forrajeo de bacterias.
4.1. Introducción a la Inteligencia colectiva
La inteligencia colectiva es parte de los algoritmo metaheurísticos inspirados en la naturaleza. La IC descubre y analiza el comportamiento colaborativo y asociativo de animales como una parvada de aves, un conjunto de peces, una colonia de hormigas, de abejas y de bacterias en búsqueda de alimento y/o refugio. Es importante observar, que en los grupos de animales mencionados sobreviven la mayoria de sus integrantes y que todo el grupo sigue por instin-to a un lider, dicho elemeninstin-to es el que tiene la mejor orientación o posición para encontrar alimento o refugio o simplemente para dirigir al grupo de un lugar a otro [37], [29].del grupo identican al lider, que en su caso es el ave que va a la cabeza de la parvada y deciden seguirlo, ya que su velocidad de vuelo debido a la posición en la que va es rápida o satisfactoria; los peces también tienen su mecanismo de comunicación parecido al de parvada de aves pero es con el n de nadar rápido; las hormigas son un caso excepcional, se conoce que son muy trabajadoras y que la comunicación para encontrar alimento y dirigirse hacia el camino más corto es a través de la feromona que van depositando al recorrerlo. Las abejas tienen distintos tipos de comunicación, por ejemplo, la danza o reboloteo de alas y contacto de antenas o manos que utilizan para indicar la dirección de vuelo y distancia del lugar donde se encuentra el ali-mento e indicar la calidad del néctar. Por último, las bacterias, las cuales al hacer la búsqueda de nutrientes utilizan sus químicos atrayentes para comu-nicarse e indicar qué lugares son promisorios.
Debido al análisis del comportamiento de estos grupos colaborativos, surge la IC, la cual hace referencia a la solución de problemas de comportamiento que surgen de la interación de los integrantes del grupo; y la IC computacional, se reere a los algoritmos que emulan dichos comportamientos. Los primeros algoritmos de IC que surgieron fueron PSO [36] que emula el comportamiento de parvada de aves, y el ACO [28] que emula el comportamiento de colonias de hormigas.
4.2. Elementos generales de un algoritmo de
Inteligencia Colectiva
Los algoritmos de IC trabajan de la siguiente manera:
1. Generan un conjunto (población) de soluciones (individuos) al proble-ma.
2. Evaluan cada solución en la función objetivo a optimizar.
4. Generan nuevas soluciones a partir de las mejores soluciones utilizando operadores de variación.
5. Evaluan las nuevas soluciones.
6. Escogen las soluciones que formarán parte de la siguiente iteración (ge-neración).
Para la representación de las soluciones se utilizan números reales, la selección de mejores soluciones se basa en escoger aquellos individuos sobresalientes de los cuales se puedan generar mejores individuos en la población y ésto se obtiene al evaluar la función objetivo. Los operadores de variación en los algoritmos de IC emulan procesos de comportamientos como reproducción, variaciones aleatorias y movimientos cooperativos, y por último, el reempla-zo consiste en seleccionar a los mejores individuos que pasarán a la siguiente generación de acuerdo con el valor de función objetivo o tomando en cuenta aspectos estocásticos. Una característica de los algoritmos de IC es que el tamaño de la población permanece constante en cada generación.
En esta tesis se aborda un novedoso algoritmo de IC que es el BFOA, del cual se describe un estudio sobre el estado del arte en la siguiente sección.
4.3. Estado del arte
4.3.1. Algoritmos básicos
Entre los algoritmos más conocidos de inteligencia colectiva se encuentran: la optimización mediante cúmulos de partículas (PSO), la optimización basa-do en colonias de hormigas (Ant Colony, ACO), la optimización basabasa-do en el comportamiento quimiotáctico de bacterias (QB-OA) y la optimización basado en la simulación del forrajeo de bacterias (BFOA), presentados en la Tabla 4.1.
Algoritmos básicos Nombre Referencia Descripción
PSO Kennedy et al. [36] Su funcionamiento es basado en el com-portamiento psico-social emergente en las parvadas de aves o bancos de peces. Resuelve problemas de optimización no lineales.
Ant Colony Dorigo et al. [28] Simula el comportamiento de una colo-nia de hormigas en búsqueda de alimen-to. Resuelve problemas de optimización no lineales con restricciones.
QB-OA Bremermann [8] Simula el comportamiento quimiotácti-co de bacterias E. Coli. Resuelve problemas de optimización no lineales. BFOA Passino [56] Emula el comportamiento grupal de
bacteria o animales cuando buscan alimento o refugio. Resuelve problemas de optimización no lineales con
restricciones.
Tabla 4.1: Algoritmos básicos de inteligencia colectiva
de búsqueda denido por la dimensionalidad del problema a resolver y por el rango de las variables. Sin embargo, tiene la característica de converger muy rápidamente hacia óptimos locales, es decir, todos los individuos se colocan rápidamente en la vecindad del líder o mejor solución del cúmulo.
Colonia de Hormigas (Ant Colony)
está cargado de feromonas, mientras que el camino más largo no contiene grandes concentraciones de feromonas. Ésto ocurre debido a la evaporación de la feromona con el paso del tiempo, así las hormigas vendrán sobre el camino más corto de su nido a la fuente de alimentación.
Algoritmo de optimización basado en el comportamiento quimiotác-tico de bacterias (QB-OA)
El comportamiento quimiotáctico de bacterias puede modelarse como un pro-ceso de optimización. Este algoritmo de optimización propuesto por Hans Bremermann [8], llega a la conclusión de que una concentración de nutri-entes se encuentra en una supercie no homogénea de atraynutri-entes, por lo que estos organismos tienen que seguir los siguientes pasos:
Las bacterias giran y salen nadando en línea recta con una dirección aleato-ria. Si la dirección apunta hacia una concentración creciente, las bacterias continúan en esa dirección hasta que la concentración disminuye o se llega al máximo (o mínimo si el problema de optimización lo indica). Antes de que las bacterias detecten la disminución de concentración, éstas giran y toman una nueva dirección aleatoria.
Si la dirección apunta hacia una concentración disminuida, entonces las bac-terias detienen su nado o recorrido, giran y toman una nueva dirección aleato-ria.
Las direcciones aleatorias son independientes y uniformemente distribuidas. El resultado del proceso de búsqueda de concentración u optimización de-pende de la forma de la supercie donde se encuentra la concentración. Bre-mermann propone el algoritmo de optimización basado en el análisis de una supercie elipsoidal con varios ejes, es decir, supercies de equiconcentración cilíndricas y esféricas.
está localizada la bacteria y el centro (concentración óptima) y el ángulo entre el rayo aleatorio de la posición de la bacterias y el ángulo normal de la misma. Inician entonces los ciclos en los que la bacteria se dirige hacia la dirección correcta y continua en esa misma o gira si la dirección es errónea, generando un nuevo ángulo aleatorio. En el análisis de supercies esféricas, se complementa el algoritmo con la determinación de que la bacteria sigue en la misma dirección con el mismo ángulo siempre y cuando la concentración aumente. Cabe mencionar que en este algoritmo la distancia recorrida de la bacteria en cada iteración es recortada a la mitad y que el perl radial es independiente de la concentración. Los pasos del algoritmo de optimización se muestran en la Tabla 4.2.
Pasos del algoritmo QB-OA 1. Generar una población S aleatoria inicial de bacterias.
2. Determinar la distancia entre cada bacteria en S y el centro del círculo. 3. Generar ángulos aleatorios para cada bacteria S.
4. Evaluar la medida de concentración para cada bacteria en S. 5. Repetir para cada bacteria en S:
5.1 Si la medida de concentración se acerca a un punto creciente de nutrientes: 5.1.1 Si será la nueva dirección de la bacteria en S y seguirá con la misma trayectoria cortado a la mitad.
5.2 Si la medida de concentración se dirige a un punto decreciente de nutrientes: 5.2.1 La bacteria en S gira y genera un nuevo ángulo aleatorio.
Tabla 4.2: Pasos del algoritmo QB-OA.
Algoritmo de optimización basado en bacterias en búsqueda de alimento (BFOA)
Basados en estos pasos, Passino propuso el algoritmo de optimización de bac-terias en búsqueda de alimento, el Pseudocódigo es resumido en la Tabla 4.3.
Pseudocódigo del BFOA Begin
Inicialización de parámetros
Generar una población inicial aleatoria θi(j, k, l)
∀i, i = 1, . . . , Sb Evaluar f(θi(j, k, l)) ∀i, i = 1, . . . , S b For l=1 to Ned Do For k=1 to Nre Do For j=1 to Nc Do For i=1 to Sb Do
Realizar el paso quimiotáctico (giro-nado o giro-giro) para la bacteria θi(j, k, l), los nados
son limitados por Ns
End For End For
Realizar el paso de reproducción para la
eliminación de Sr bacterias y duplicar la otra mitad
End For
Realizar el paso de eliminación-dispersión
para todas las bacterias θi(j, k, l) ∀i, i = 1, . . . , S b
con probabilidad 0 ≤ Ped ≤ 1
End For End
Tabla 4.3: BFOA original. Los parámetros de entrada son el número de bac-terias Sb, límite del paso quimiotáctico Nc, límite del paso de nado Ns, límite
del ciclo de reproducción Nre, número de bacterias a reproducir Sr, límite
del ciclo de eliminación-dispersión Ned, tamaño de paso Ci (y probabilidad
de eliminación-dispersión Ped.
φ(i) = q ∆(i)
∆(i)T∆(i) (4.1)
Donde ∆T
(i) es un vector aleatorio generado con elementos dentro de un
intervalo:[−1, 1]. Después de esto, cada bacteria θi(j, k, l)en su ciclo (j), en su
ciclo de reproducción (k) y en su ciclo de eliminación-dispersión (l) modica su posición como se indica en la ecuación 4.2.
θi(j + 1, k, l) = θi(j, k, l) + C(i)φ(i) (4.2) La ecuación 4.1 representa un giro (busca dirección) y la ecuación 4.2 repre-senta un nado con tamaño de paso (Ci). El nado será repetido Ns veces si la
nueva posición es mejor que la previa: f(θi(j + 1, k, l)) < f (θi(j, k, l)).
El paso de reproducción consiste en ordenar la población de bacterias θi(j, k, l)
∀i, i = 1,. . . ,Sb basado en el valor de su función objetivo f(θi(j, k, l)) y
elimi-nar la mitad de aquellas con el peor valor Sr. La otra mitad será duplicada
para mantener un tamaño de población constante.
El paso de eliminación-dispersión consiste en eliminar cada bacteria θi(j, k, l)
∀i, i = 1,...Sb con probabilidad 0 ≤ Ped ≤ 1.
Descripción del pseudocódigo del BFOA
Siguiendo los pasos mostrados en el pseudocódigo del BFOA de la Tabla 4.3, se describe el proceso que se realiza durante su ejecución con un problema de optimización.
1. Como primer paso se inicializan los parámetros, número de bacterias Sb, límite del paso quimiotáctico Nc, límite del paso de nado Ns, del
paso de reproducción Nre, número de bacterias a reproducir Sr, límite
del paso de eliminación-dispersión Ned, tamaño de paso Ci, (depende
de la dimensión del problema) y probabilidad de eliminación-dispersión Ped.
2. Se procede a generar una población aleatoria de bacterias θi(j, k, l) ∀i,
i = 1,. . . ,Sb, el tamano de la población debe ser constante durante todo
3. Posteriormente se evalúan cada una de las bacterias f(θi(j, k, l)) ∀i,
i = 1, . . . , Sb , es decir se sustituye en la función objetivo del problema
a resolver los valores de las variables de la bacteria en proceso, ésto se realiza para toda la población de bacterias.
4. Se incrementa en 1 el ciclo de eliminación-dispersión, reproducción y quimiotáctico, Ned+1, Nre+1, Nc+1 hasta el número máximo
estable-cido en la iniciación de parámetros.
5. Posteriormente cada una de las bacterias realizan su primer ciclo quimio-táctico, es decir, realizan su búsqueda, nadando y avanzando hacia una nueva posición, los nados de cada una de las bacterias son sólo el número permitido por Nsla elección de un nado se da cuando se mejoró el valor
de la función objetivo en la nueva posición. De otra manera se realizará un giro.
6. A continuación se realiza el proceso de reproducción, en el cual se re-producen a Sr (mitad) de las mejores bacterias y se elimina a la otra
mitad.
7. Finalmente se realiza el proceso de eliminación-dispersión de bacterias de acuerdo a la probabilidad determinada por Ped.
8. Se incrementan los ciclos, eliminación-dispersión, reproducción y quimio-táctico y se vuelven a realizar lo descrito en los puntos 5, 6 y 7 hasta cumplir con el número máximo de ciclos establecidos en la iniciación de parámetros.
Como podemos observar los parámetros que utiliza el BFOA son numerosos y los ciclos que intervienen en él hacen que sea un algoritmo demasiado ex-tenso, produciendo en primera instancia un número elevado de evaluaciones y por consiguiente un algoritmo lento. Además, la calibración de parámetros puede ser complicado para los usuarios. En la Tabla 4.4 se muestran los pa-rámetros utilizados por el BFOA.
4.3.2. Algoritmos derivados del forrajeo de bacterias
Nombre Símbolo Descripción
Bacterias Sb Número de soluciones en la población
(bacterias).
Paso quimiotáctico Nc Número de veces que la población de
bacterias podrá nadar o girar.
Nado Ns Número exacto en que la bacteria en
procedimiento podrá nadar.
Reproducción Nre Número de veces que la población de
bacterias se reproducirá.
Reproducir bacterias Sr Número de bacterias que se
reproduci-rán de toda la población.
Eliminación-dispersión Ned Número de veces en que se aplicará
eliminación-dispersión en la población de bacterias.
Tamaño de paso Ci Es el paso que la bacteria en proceso
podrá avanzar de un punto a otro en su búsqueda, limitado por las
dimensiones del problema. Probabilidad de
eliminación-dispersión Ped Determina qué bacterias de la
Propuestas derivadas de los algoritmos básicos Nombre Referencia Descripción
BCA Alvarez [2] Basado en la quimiotáxis de las bacterias E.Coli que busca evitar el extremo local en la optimización de funciones no lineales.
Resuelve PO no lineales como con-trol de robots.
BC Algorithm Müller et al.[51] Funciona de manera similar a las estrategias de evolución típicas, las bacterias guardan información de valores de concentración. Resu-elve PO multimodales como diseño de plano aerodinámico inverso. SIA Ramos et al. [59] Quimiotáxis computacional en
hor-migas y bacterias en ambientes dinámicos. Resuelve PO dinámicos complejos.
BSA Tang et al. [62] Basa su comportamiento en cúmu-lo de bacterias para optimización global. Resuelve PO no lineal. ACBEA Das et al. [17] Basado en la mutación bacterial
y la transferencia de genes. Resuelve PO no lineal.
Tabla 4.5: Parte 1 de las propuestas derivadas de lo algoritmos básicos Estrategias para evitar el extremo local en la optimización de fun-ción a través de quimiotáxis, algoritmo básico de bacterias quimio-táxicas (Basic BC)
Propuestas derivadas de lo algoritmos básicos Nombre Referencia Descripción
Micro-BFOA Dasgupta et al.[20] Basado en el BFOA donde las bac-terias son reinicializadas de
acuerdo a la mejor bacteria de la posición. ResuelvePO no lineal. SW-BFOA Ying et al. [15] Algoritmo de rápido nado bacterial
para optimización de funciones de altas dimensiones. Resuelve PO uni-modales y multi-modales sin restricciones.
PBFOA Bakwad [3] Basado en el BFOA que hace de manera paralela el proceso quimio-táctico de las bacterias. Resuelve PO no lineales, como comprensión de video en tiempo real.
SBFOA Bakwad[40] Basado en el BFOA en el que sólo se lleva a cabo el proceso quimio-táctico y los pasos de nados y giros Resuelve PO multi-objetivo y no lineales.
MC-BFOA Chen et al.[13] Basado en el BFOA y BCA, donde se tienen varias poblaciones de bacterias en el espacio de búsqueda y se comunican entre ellas. Resuelve PO multi-objetivo usados para pla-nicación de redes RFID.
Optimización basada en bacterias Quimiotáxicas (BC Algorithm) Este algoritmo funciona de manera similar a las estrategias de evolución típicas, aunque se han añadido características tomadas de los resultados de la evaluación de un grupo de pruebas estándares, usando conceptos evolu-tivos y así obtener una estrategia de optimización mejorada [51]. Estas prue-bas fueron realizadas para la optimización global y local de funciones en el dominio de problemas de diseño de plano aerodinámico inverso. Las carac-terísticas añadidas son las siguientes: las bacterias guardan información de valores de concentración, no siguen corriendo en la misma dirección si se in-crementa la concentración de quimioatrayentes. Los resultados obtenidos de los experimentos con este nuevo algoritmo basado en bacterias Quimiotáxicas aplicado a los problemas de diseño de plano aerodinámico inverso, muestran que el rendimiento es peor si añadimos propiedades de convergencia mejo-radas (funciones cuadráticas), aunque sí tiene la posibilidad de encontrar un óptimo global de una función multimodal [51].
Quimiotáxis computacional en hormigas y bacterias en ambientes dinámicos, algoritmo inteligente de cúmulos (SIA)
Este algoritmo toma como referencia las características de un BFOA, en términos de que las bacterias nadan hacia la concentración más alta en nu-trientes y huyen de las sustancias nocivas. Este modelo enfrenta la adaptación colectiva de un cúmulo asociado basado en el comportamiento real de una colonia de hormigas (SSA) para caminos extremos en ambientes dinámicos y funciones multimodales complejas. Al comparar este nuevo algoritmo (algo-ritmo inteligente de cúmulos) con SSA, los resultados indican que la inteligen-cia colectiva de SSA es viable para adaptarse rápidamente a situaciones im-previstas, incluso en periodos de búsqueda cooperativa de alimento, superan-do al algoritmo inteligente de cúmulos en la velocidad de adaptación, aunque este nuevo algoritmo trata problemas de optimización dinámicos complejos [59].
búsqueda global y local de este algoritmo (BSA). También se introduce la duración de los pasos de las acciones (caídas y corridas), que es independiente de los problemas de optimización pero puede acelerar el proceso de conver-gencia de BSA. Estas acciones son seleccionadas con base en su probabilidad, las cuales son actualizadas durante el proceso de búsqueda. BSA posee un gran potencial para resolver problemas de optimización global. En los resul-tados de la simulación de este algoritmo (BSA), puede tener un rendimiento superior al AG y PSO en optimizar algunas funciones de benchmark, en par-ticular, en relación con los ritmos de convergencia y robustez. [62]
Automatic Clustering con BEA (ACBEA)
El ACBEA, es derivado del BEA [17]. BEA implementa dos operaciones espe-ciales para desarrollar una población de cromosomas. La primera operación es la mutación bacterial, esta mutación imita un proceso ocurrido a nivel de la genética de bacterias y tiene por objetivo mejorar partes dentro de los cro-mosomas. La segunda operación, llamada transferencia de genes es empleada para intercambiar información entre los cromosomas de la población, esto se puede lograr debido a que las bacterias pueden difundir su información genética rápidamente a otras células.
ACBEA, codica una completa partición de los datos de un cromosoma, tal que cada parte o gen en el cromosoma representa un grupo. En este algorit-mo se incorpora un nuevo operador llamado reparación de croalgorit-mosomas, se modicó la mutación y la transferencia de genes ligeramente para manejar las variables de tamaño de cromosoma. ACBEA inicia con una población de cromosomas de longitud variable, cada una codica una agrupación entera de los datos. Después, la mutación de bacteria es aplicada para cada cromosoma. La mutación del ACBEA diere de algunas extensiones del BEA clásico, estas son especícamente diseñadas para permitir que una longitud de cromosomas pueda ser cambiada dinámicamente como un proceso de aprendizaje evolu-tivo avanzado. En la mutación bacterial, el primer cromosoma es escogido y entonces éste es reproducido en un clon. Cada clon es tomado probabilís-ticamente con uno de los tres operadores: remplazo aleatorio, escisión-gene, fusión-gene.
selec-cionado para mantenerse en la población, los demás son eliminados. Después del proceso de mutación, se lleva a cabo la reparación de genes, este proce-so consiste en escanear las mutaciones de los cromoproce-somas para remover las etiquetas duplicadas. Las etiquetas que no han sido atribuidas a algún gen después de la reparación, son asignadas a un gen tomado al azar pero no puede asignarse a uno de los genes de los que fue retirado. Y por último, se realiza la transferencia de genes, el cual divide en dos a la población, mitad superior (mejores individuos) y mitad inferior (peores individuos); una parte de un gen de la mitad superior se transere a un gen de la mitad inferior. Micro-Bacterial Foraging Optimization
El Micro-BFOA es una modicación del BFOA, las características princi-pales de este algoritmo son su pequeña población (solo tres bacterias), la mejor bacteria de la población conserva su posición y los demás miembros de la población son reinicializadas bajo algunos criterios. Este algoritmo es modelado especialmente para problemas de alta dimensión, donde el costo computacional ha sido un obstáculo [20].
El proceso de reproducción no es llevado a cabo en este algoritmo para evitar la saturación y convergencia prematura. El paso de eliminación-dispersión se realiza exactamente como en el BFOA. Después de un ciclo completo del paso quimiotáctico, la población de bacterias se mueve a un nuevo espacio de búsqueda. En este momento, la población es clasicada de acuerdo con los valores de la función objetivo. La mejor bacteria de la población conserva su posición, la segunda mejor bacteria es llevada a una posición muy cerca de la mejor bacteria y la peor bacteria es inicializada en una posición aleatoria. Algoritmo de rápido nado bacterial para optimización de funciones de altas dimensiones
capacidad de la búsqueda local. El tamaño de paso 'C' toma el valor de la división del tamaño de paso inicial 'Lred'determinada por el usuario entre
ñ' que es la constante de control de tasa decreciente que varía dependiendo el ciclo de reproducción y eliminación en los que se encuentre el algoritmo. Estos mecanismos implementados buscan una convergencia no prematura y disminuir el costo computacional. Esta propuesta es probada en problemas con funciones unimodales y multimodales sin restricciones de benchmark[15]. Forrajeo en paralelo de bacterias para comprensión de video (PB-FO)
El PBFO es una propuesta para la compresión de video en tiempo real. En este algoritmo el mejor valor es actualizado después de la evaluación de la función objetivo de todas las bacterias de la población. El PBFO es utilizado para reducir el tiempo computacional de la estimación de movimiento en la comprensión de video. El elemento fundamental de este algoritmo es que realiza el paso de evaluación de la función de cada bacteria en el proceso quimiotáctico de manera paralela, asegurando la convergencia más rápida hacia una solución competitiva. El tamaño de paso es adaptado mediante el vector de movimiento cero y una topología de vecindad de Von Neumann, asegurando un mejor bloque de combinaciones para la adaptación del tamaño de paso. El paso quimiotáctico y el paso de nado pueden ser variados para ahorrar tiempo computacional y mejorar la señal en proporción del ruido.[3] Simultáneo Bacterial Foraging Optimization para funciones multi-modales y de altas dimensiones (SBFO)
El SBFO es usado para resolver funciones multimodales y de alta dimen-siones. En este algoritmo se llevan a cabo el proceso quimiotáctico compuesto por nados y giros, además del paso de reproducción. El mejor valor obtenido es actualizado simultáneamente después de la evaluación de la función objeti-vo de todas las bacterias. Este proceso puede resolverse de manera secuencial o paralelamente.