Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
LABORATORIO NACIONAL DE INFORMÁTICA AVANZADA CENTRO DE ENSEÑANZA LANIA Control de Parámetros del Algoritmo Evolución Diferencial con Variantes Combinadas para la Solución de Problemas de Optimización en Mecatrónica T E S I S Que presenta: I.S.C. Maury Faney Zapata Zapata Para obtener el grado de: Maestro en Computación Aplicada Dirigida por: Dr. Efrén Mezura Montes Dr. Edgar Alfredo Portilla Flores Dra. Cora Breatriz Excelente Toledo Xalapa, Veracruz, México Agosto 2017 Agradecimientos Realizar esta tesis fue una tarea que requirió de mucho esfuerzo y dedicación, marcando una etapa importante en mi vida y siendo uno de los logros más satis- factorios que he tenido en mi preparación profesional. Sin embargo, alcanzar esta meta no hubiera sido posible sin el apoyo de aquellas personas que creyeron en mı́ y me impulsaron a lograrlo a través de su ayuda, est́ımulo y confianza. Es por ello que quiero agradecerles de manera muy especial el haberme acompañado en este trayecto. Agradezco a mi familia, por el cariño y apoyo que me han brindado en todo este tiempo, principalmente por esa motivación que siempre me han transmitido para salir adelante. A mis amigos, compañeros de la MCA y demás personas queridas que le dieron un toque divertido, lleno de buenos momentos y sobre todo grato, a esta experiencia. También a mis asesores, el Dr. Efrén, el Dr. Edgar y la Dra. Cora, quienes siem- pre me orientaron, me compartieron su conocimiento y estuvieron al pendiente de mi avance en todo momento. Sin ellos no habŕıa sido posible realizar un buen trabajo. Agradezco al Consejo Nacional de Ciencia y Tecnoloǵıa (CONACyT) por la beca otorgada para realizar estudios de posgrado, bajo el marco del Programa Nacional de Posgrados de Calidad con número de becario 581786. Finalmente, quiero agradecer al personal de LANIA, por las facilidades y enseñan- zas que me brindaron durante la maestŕıa. iii Resumen En este trabajo de investigación se realiza un estudio de control de parámetros sobre un algoritmo bioinspirado basado en Evolución Diferencial, con el fin de mejorar su desempeño en la solución de tres problemas mecatrónicos de optimi- zación; el primer problema, consiste en optimizar la trayectoria y el movimiento de un mecanismo de cuatro barras en tres casos de estudio; en el segundo se op- timiza el agarre esférico de dos casos de estudio de un efector final de tres dedos; y finalmente, en el tercero, se optimiza el despacho económico de enerǵıa en una microrred aislada comúnmente conocida como Smart Grid. El algoritmo base em- pleado es conocido como DECV (Differential Evolution with Combined Variants) El diseño experimental de este estudio se divide en dos fases: 1) experimentos preliminares y 2) experimentos finales. Durante los experimentos preliminares se prueban diversos mecanismos de control de parámetros en DECV y se selecciona aquel con mejor desempeño al compararse contra la versión original de dicho algo- ritmo. La técnica de control seleccionada consiste en añadir una memoria histórica de parámetros para configurar de manera automática el Factor de Escala (F ) y la Probabilidad de Cruzamiento (CR), además de una función lineal para reducir de manera dinámica la Población de Individuos (NP ). A esta versión de DECV se le otorga el nombre de LSHADE-CV. En los experimentos finales, el desempeño de LSHADE-CV se compara contra los algoritmos DE/rand/1/bin y C-LSHADE, una versión del algoritmo L-SHADE propuesta en este trabajo. Los resultados finales sugieren que tanto LSHADE-CV como C-LSHADE son capaces de encontrar mejores o iguales soluciones que DE/rand/1/bin empleando menos recursos computacionales. Estas dos propuestas liberan al usuario final de los inconvenientes que implica la tarea de calibrar manualmente los parámetros de la Evolución Diferencial. iv Índice general Agradecimientos III Resumen IV Índice de figuras VIII Índice de tablas IX Índice de algoritmos XII 1. Introducción 1 1.1. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . 2 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2. Objetivos Expećıficos . . . . . . . . . . . . . . . . . . . . . 4 1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5. Organización del Documento . . . . . . . . . . . . . . . . . . . . . 6 1.6. Publicaciones Derivadas de esta Tesis . . . . . . . . . . . . . . . . 6 1.7. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 7 2. Optimización 8 2.1. Concepto de Optimización . . . . . . . . . . . . . . . . . . . . . . 8 2.2. Variables de Diseño . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3. Restricciones de Diseño . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4. Función Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5. Optimos Locales y Globales . . . . . . . . . . . . . . . . . . . . . 11 2.6. Clasificación de Problemas de Optimización . . . . . . . . . . . . 13 2.7. Algoritmos de Optimización . . . . . . . . . . . . . . . . . . . . . 14 2.8. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 15 3. Computación Evolutiva 16 3.1. Introducción a la Computación Evolutiva . . . . . . . . . . . . . . 16 3.2. Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . 17 v ÍNDICE GENERAL vi 3.3. Evolución Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.1. Inicialización . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.2. Mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.3. Recombinación . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.4. Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.5. Algoritmo DE clásico . . . . . . . . . . . . . . . . . . . . . 21 3.3.6. Variantes de DE . . . . . . . . . . . . . . . . . . . . . . . 22 3.4. Algoritmo DECV . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 24 4. Formulación de Problemas Mecatrónicos 26 4.1. Diseño de un Mecanismo de Cuatro Barras . . . . . . . . . . . . . 26 4.1.1. Cinemática del Mecanismo de Cuatro Barras . . . . . . . . 27 4.1.2. Declaración de Problemas de Optimización para Casos de Estudio del Mecanismo . . . . . . . . . . . . . . . . . . . . 29 4.2. Diseño de un Efector Final de Tres Dedos . . . . . . . . . . . . . 34 4.2.1. Cinemática del Efector Final de Tres Dedos . . . . . . . . 35 4.2.2. Declaración de Problemas de Optimización para Casos de Estudio del Efector . . . . . . . . . . . . . . . . . . . . . . 41 4.3. Despacho Económico de Enerǵıa en una Microrred Aislada - SCE1 45 4.3.1. Microrred Remota no Interconectable . . . . . . . . . . . . 46 4.3.2. Declaración del Problema de Optimización . . . . . . . . . 47 4.4. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 50 5. Configuración de Parámetros 51 5.1. Calibración de Parámetros . . . . . . . . . . . . . . . . . . . . . . 52 5.2. Control de Parámetros . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3. Propuesta de Control de Parámetros . . . . . . . . . . . . . . . . 53 5.3.1. Algoritmo L-SHADE . . . . . . . . . . . . . . . . . . . . . 53 5.3.2. Enfoque Propuesto: LSHADE-CV . . . . . . . . . . . . . . 56 5.3.3. Enfoque Propuesto: C-LSHADE . . . . . . . . . . . . . . . 56 5.4. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 59 6. Experimentos y Resultados 60 6.1. Diseño Experimental . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.2. Estad́ıstica no Paramétrica . . . . . . . . . . . . . . . . . . . . . . 61 6.3. Experimentos Preliminares . . . . . . . . . . . . . . . . . . . . . . 63 6.3.1. Experimento A: DECVSenoidal vs DECV . . . . . . . . . 63 6.3.2. Experimento B: DECV con Memoria de Parámetros vs DECV Senoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.4. Experimentos Finales . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.4.1. Experimento C: LSHADE-CV vs DE/rand/1/bin . . . . . 72 6.4.2. Experimento D: C-LSHADE vs DE/rand/1/bin . . . . . . 77 ÍNDICE GENERAL vii 6.4.3. Experimento E: C-LSHADE vs LSHADE-CV . . . . . . . 81 6.5. Visualización de Resultados . . . . . . . . . . . . . . . . . . . . . 84 6.5.1. Mecanismo de Cuatro Barras . . . . . . . . . . . . . . . . 85 6.5.2. Efector Final de Tres Dedos . . . . . . . . . . . . . . . . . 86 6.5.3. Microrred Aislada . . . . . . . . . . . . . . . . . . . . . . . 88 6.6. Conclusiones del Caṕıtulo . . . . . . . . . . . . . . . . . . . . . . 89 7. Conclusiones y Trabajo Futuro 90 7.1. Observaciones Finales . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2. Objetivos Cumplidos . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.3. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.4. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Apéndices 93 Apéndice A. Implementación de C-LSHADE en Matlab 94 A.1. Función C-LSHADE . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.2. Codificación de C-LSHADE . . . . . . . . . . . . . . . . . . . . . 96 Bibliograf́ıa 102 Índice de figuras 1.1. Mecanismo plano de cuatro barras. Adaptada de [6]. . . . . . . . 3 2.1. Representación de puntos óptimos. Gráfica creada con información de [16]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1. Mecanismo de cuatro barras. Adaptada de [23]. . . . . . . . . . . 27 4.2. Mecanismo de seis barras para el diseño de un dedo. Adaptada de [18]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3. Mecanismo manivela-biela-corredera. Adaptada de [18]. . . . . . . 35 4.4. Mecanismo MBC para el caso r4 > 0. Adaptada de [18]. . . . . . . 36 4.5. Mecanismo MBC para el caso r4 < 0. Adaptada de [18]. . . . . . . 37 4.6. Mecanismo MBC para el caso r4 = 0. Adaptada de [18]. . . . . . . 38 4.7. Mecanismo de cuatro barras de un dedo. Adaptada de [18]. . . . . 39 4.8. Acoplador del mecanismo de cuatro barras. Adaptada de [18]. . . 41 5.1. Taxonomı́a global de configuración de parámetros en Algoritmos Evolutivos. Adaptada de [7]. . . . . . . . . . . . . . . . . . . . . . 51 6.1. Gráficas de convergencia de LSHADE-CV y DE/rand/1/bin en los seis problemas de optimización. . . . . . . . . . . . . . . . . . . . 76 6.2. Gráficas de convergencia de C-LSHADE y DE/rand/1/bin en los seis problemas de optimización. . . . . . . . . . . . . . . . . . . . 80 6.3. Gráficas de convergencia de C-LSHADE y LSHADE-CV en los seis problemas de optimización. . . . . . . . . . . . . . . . . . . . . . . 83 6.4. Mejores soluciones encontradas por el algoritmo C-LSHADE en las tres instancias de mecanismos de cuatro barras. . . . . . . . . . . 86 6.5. Mejores soluciones encontradas por el algoritmo C-LSHADE en las dos instancias del dedo del efector final siguiendo una trayectoria esférica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.6. Visualización del suministro de enerǵıa durante las 24 horas del d́ıa para el funcionamiento de la microrred aislada, obtenido por el algoritmo LSHADE-CV. . . . . . . . . . . . . . . . . . . . . . . . 89 viii Índice de tablas 3.1. Metáfora básica de la computación evolutiva que relaciona la evo- lución natural con la resolución de problemas. . . . . . . . . . . . 17 4.1. Signo del radical según el tipo de mecanismo. . . . . . . . . . . . 29 4.2. Pares de puntos de precisión - CE3 . . . . . . . . . . . . . . . . . 34 4.3. Parámetros del ESS. . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.1. Memoria Histórica MCR, MF . Adaptada de [36]. . . . . . . . . . . 54 6.1. Nombre abreviado de los seis problemas mecatrónicos resueltos. . 61 6.2. Número máximo de generaciones para cada problema de optimiza- ción en DECV y DECV Senoidal. . . . . . . . . . . . . . . . . . . 64 6.3. Comparación de DECV y DECV Senoidal en los seis problemas de optimización mecatrónica. Los śımbolos +, − y ≈ señalan que el algoritmo indicado obtuvo un desempeño significativamente mejor (+), significativamente peor (−) o no significativamente diferente (≈) comparado contra DECV usando la prueba de suma de rangos de Wilcoxon con un 95 % de confianza. . . . . . . . . . . . . . . . 65 6.4. Resultados de DECV-Sen1 y DECV en los seis problemas de opti- mización mecatrónica. Cada columna muestra el mejor resultado, el peor, la mediana, el promedio y la desviación estándar de los valores de la función objetivo encontrados en 31 ejecuciones. . . . 66 6.5. Configuración de parámetros en SHADE-CV, LSHADE-CV e iLSHADE- CV. D corresponde a la dimensión del problema de optimización. 69 6.6. Número máximo de evaluaciones de la función objetivo para cada problema de optimización en LSHADE-CV e iLSHADE-CV. . . . 70 6.7. Comparación de DECV con memoria de parámetros y DECV-Sen1 en los seis problemas de optimización mecatrónica. Los śımbolos +, − y ≈ señalan que el algoritmo indicado obtuvo un desem- peño significativamente mejor (+), significativamente peor (−) o no significativamente diferente (≈) comparado contra DECV-Sen1 usando la prueba de suma de rangos de Wilcoxon con un 95 % de confianza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ix ÍNDICE DE TABLAS x 6.8. Resultados de LSHADE-CV y DECV-Sen1 en los seis problemas de optimización mecatrónica. Cada columna muestra el mejor re- sultado, el peor, la mediana, el promedio y la desviación estándar de los valores de la función objetivo encontrados en 31 ejecuciones. 71 6.9. Calibración de parámetros del algoritmo DE/rand/1/bin basada en el enfoque de [38]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.10. Comparación de LSHADE-CV y DE/rand/1/bin en los seis proble- mas de optimización mecatrónica. Los śımbolos +, − y ≈ señalan que LSHADE-CV obtuvo un desempeño significativamente mejor (+), significativamente peor (−) o no significativamente diferente (≈) comparado contra DE/rand/1/bin usando la prueba de suma de rangos de Wilcoxon con un 95 % de confianza. . . . . . . . . . 73 6.11. Resultados estad́ısticos obtenidos por LSHADE-CV y DE/rand/1/bin en los seis problemas de optimización mecatrónica. Se marcan en negritas los mejores valores de cada medida. . . . . . . . . . . . . 75 6.12. Configuración de parámetros de C-LSHADE basada en [36]. D co- rresponde a la dimensión del problema de optimización. . . . . . . 77 6.13. Comparación de C-LSHADE y DE/rand/1/bin en los seis proble- mas de optimización mecatrónica. Los śımbolos +, − y ≈ señalan que C-LSHADE obtuvo un desempeño significativamente mejor (+), significativamente peor (−) o no significativamente diferente (≈) comparado contra DE/rand/1/bin usando la prueba de suma de rangos de Wilcoxon con un 95 % de confianza. . . . . . . . . . 78 6.14. Resultados estad́ısticos obtenidos por C-LSHADE y DE/rand/1/bin en los seis problemas de optimización mecatrónica. Se marcan en negritas los mejores valores de cada medida. . . . . . . . . . . . . 79 6.15. Comparación de C-LSHADE y LSHADE-CV en los seis problemas de optimización mecatrónica. Los śımbolos +, − y ≈ señalan que C-LSHADE obtuvo un desempeño significativamente mejor (+), significativamente peor (−) o no significativamente diferente (≈) comparado contra LSHADE-CV usando la prueba de suma de ran- gos de Wilcoxon con un 95 % de confianza. . . . . . . . . . . . . 81 6.16. Resultados estad́ısticos obtenidos por C-LSHADE y LSHADE-CV en los seis problemas de optimización mecatrónica. Se marcan en negritas los mejores valores de cada medida. . . . . . . . . . . . . 82 6.17. Valores encontrados por C-LSHADE para las variables de diseño en los trescasos de estudio del mecanismo de cuatro barras, corres- pondientes al mejor valor de la función objetivo. . . . . . . . . . . 85 6.18. Valores encontrados por C-LSHADE para las variables de diseño en los dos casos de estudio del efector final de tres dedos, corres- pondientes al mejor valor de la función objetivo. . . . . . . . . . . 87 ÍNDICE DE TABLAS xi 6.19. Valores encontrados por LSHADE-CV para las variables de diseño de la microrred aislada en las 24 horas del d́ıa, correspondientes al mejor valor de la función objetivo. . . . . . . . . . . . . . . . . . . 88 Índice de algoritmos 3.1. Algoritmo Evolutivo . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2. DE/rand/1/bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3. DECV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.4. Actualización de memoria en L-SHADE . . . . . . . . . . . . . . . 55 5.5. LSHADE-CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.6. C-LSHADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.7. Restricción de parámetros CR y F en iL-SHADE . . . . . . . . . 69 xii CAPÍTULO 1 Introducción La optimización es una tarea que se puede entender como un procedimiento me- diante el cual se ajustarán ciertos valores o parámetros, para evaluar un número finito de soluciones que cumplan con las caracteŕısticas que un contexto deter- minado requiere, con el fin de hallar el resultado que implique menor costo para resolver el problema. Con el fin de solucionar problemas de optimización se ha re- currido al cómputo inteligente, incorporando a través de los últimos años técnicas no tradicionales llamadas metaheuŕısticas, las cuales son un conjunto de concep- tos que sirven para realizar procesos de búsqueda y debido a su diseño genérico, pueden ser aplicadas a este tipo de problemas [1]. Un conjunto de técnicas metaheuŕısticas que se basan en metáforas biológicas son los algoritmos bioinspirados. Dentro de éstos, espećıficamente en el grupo de aquellos que pertenecen a los algoritmos evolutivos, se encuentra la Evolución Di- ferencial (DE por sus siglas en inglés). Este algoritmo emula la evolución natural al trabajar con un conjunto de individuos, también llamados vectores, que repre- sentan soluciones potenciales para el problema de optimización [2]. En la actualidad, la mecatrónica es ampliamente aceptada como la metodoloǵıa de diseño y optimización de nuevos productos, equipos y procesos, que integrados simultáneamente combinan las técnicas de ingenieŕıa mecánica, ingenieŕıa eléctri- ca, electrónica, automatización, microinformática y análisis de sistemas. Es un campo interdisciplinario de ingenieŕıa en el que los nuevos productos diseñados se caracterizan por tener un mejor desempeño comparado con el que ofrecen las soluciones tradicionales [3]. 1 CAPÍTULO 1. INTRODUCCIÓN 2 En este trabajo de investigación se formularon tres problemas de optimización mecatrónica; el primero, consiste en optimizar la trayectoria y movimiento de un mecanismo de cuatro barras; en el segundo, se optimiza el agarre esférico de un efector final 1 de tres dedos con un grado de libertad (GDL)2; y finalmente, en el tercero, se optimiza el despacho económico de enerǵıa en una microrred aislada comúnmente conocida como Smart Grid. Los tres problemas fueron abordados a través de un estudio del control de parámetros del algoritmo DECV (Differential Evolution with Combined Variants) [4], el cual es una variante del algoritmo DE. Esta investigación tuvo como fin ampliar el dominio de aplicación del algorit- mo DECV en problemas de optimización mecatrónica, además de proponer una técnica de control de parámetros que permitiera convertirlo en un algoritmo más robusto, eficiente y menos dependiente del usuario. 1.1. Planteamiento del Problema Actualmente en el Centro de Innovación y Desarrollo Tecnológico en Cómputo (CIDETEC) del Instituto Politécnico Nacional (IPN), se encuentran solucionan- do problemas de diseño de sistemas basados en mecanismos planos y de despacho económico de enerǵıa. El diseño de sistemas se basa en mecanismos planos de cuatro barras como el que se muestra en la Figura 1.1, en donde se pretende opti- mizar el seguimiento de una trayectoria espećıfica. Por otra parte, se encuentra el despacho económico de enerǵıa que consiste en suministrar la enerǵıa demandada por una red eléctrica, de tal manera que se logren beneficios importantes, tales como la disminución de costos, el ahorro energético y el aumento de la vida útil de la infraestructura [5]. 1En mecatrónica, se conoce como efector final o gripper al dispositivo que se encuentra en el extremo de un brazo robótico, con el cual se manipulan los objetos. 2Los GDL determinan el número de parámetros necesarios para definir la posición de los miembros de un mecanismo en cada instante. CAPÍTULO 1. INTRODUCCIÓN 3 Figura 1.1: Mecanismo plano de cuatro barras. Adaptada de [6]. La nomenclatura de la Figura 1.1 es la siguiente [6]: 1. El eslabón 1, MN , de longitud a1, se conoce como bastidor o eslabón fijo. 2. El eslabón 2, MA, de longitud a2, se conoce como manivela o eslabón de entrada. 3. El eslabón 3, AB, de longitud a3, se conoce como eslabón acoplador. 4. El eslabón 4, NB, de longitud a4, se conoce como seguidor o eslabón de salida. 5. θi (i = 1, 2, 3, 4) denota los ángulos de las cuatro barras con respecto al eje de referencia X. En CIDETEC, tanto los problemas de optimización de trayectoria como los de despacho económico de enerǵıa, se resuelven a través de algoritmos inspirados en la naturaleza, los cuales permiten encontrar soluciones más competitivas a las que encuentran los métodos clásicos. Sin embargo, a pesar de la eficacia que proveen los algoritmos bioinspirados, existe la dificultad de hallar una combinación ade- cuada de los parámetros que intervienen en ellos; es decir, aquella combinación que permitirá hallar una solución altamente competitiva en el menor tiempo. De acuerdo a [7], la clasificación de técnicas de configuración de parámetros se divide en: Calibración de parámetros: Se da en la etapa previa a la ejecución del algoritmo, mediante diferentes métodos se identifica aquella combinación que brinda mejores resultados. Al ejecutar el algoritmo se mantienen estos valores constantes. CAPÍTULO 1. INTRODUCCIÓN 4 Control de parámetros: Este método se presenta durante la ejecución, utilizando diversas técnicas que permitirán ajustar los parámetros a partir de la retroalimentación de la búsqueda, o del simple paso de los ciclos del algoritmo. En el CIDETEC se emplea la calibración de parámetros para obtener una com- binación de valores que produzca una solución aceptable, sin embargo, se deben realizar múltiples ejecuciones previas a la ejecución final del algoritmo. Conside- rando que cada una de ellas podŕıa demorar desde varios minutos hasta varias horas, la calibración requiere de mucho tiempo y en la mayoŕıa de las veces el número de evaluaciones empleadas en el algoritmo pudiera resultar excesivo. Con base en el rendimiento que presenta el algoritmo DECV, y en que se ha demostrado que las técnicas de control de parámetros son más eficientes que la calibración al encontrar la solución al problema [8] [9] [10], se propuso incorporar un mecanismo de control a dicho algoritmo que permitiera configurar automáti- camente los parámetros relacionados con la Evolución Diferencial, con el fin de mejorar el proceso de búsqueda de la solución en problemas de optimización me- catrónica. 1.2. Objetivos 1.2.1. Objetivo General Aplicar el algoritmo DECV en la solución de problemas de optimización me- catrónica, empleando una técnica de control en los parámetros relacionados con la Evolución Diferencial que permita disminuir los recursos computacionales que se consumen, medidos por el número de evaluacionesde soluciones. 1.2.2. Objetivos Expećıficos Aplicar el algoritmo DECV a los problemas de optimización. Comparar los resultados obtenidos con DECV contra los resultados de los algoritmos empleados por CIDETEC. Establecer una técnica de control de parámetros que mejore el rendimiento del algoritmo, ya sea disminuyendo las evaluaciones requeridas o mejorando el resultado final obtenido. CAPÍTULO 1. INTRODUCCIÓN 5 1.3. Hipótesis Es posible aplicar una técnica de control de parámetros al algoritmo DECV, que permita mejorar los resultados finales obtenidos y/o disminuir los recursos compu- tacionales empleados actualmente, medidos por el número de evaluaciones de so- luciones, al resolver los problemas de optimización mecatrónica planteados. 1.4. Justificación El desempeño de un algoritmo de búsqueda depende de varios aspectos propios del problema a solucionar. Dentro de estos aspectos se pueden mencionar las variables y restricciones que intervienen, pero uno de los factores que suele determinar la calidad de la búsqueda es la configuración de los parámetros del algoritmo [11]. Como ya se mencionó, optar por la calibración implica realizar un gran número de pruebas con diferentes valores, pruebas que requieren un tiempo considerable. Por otra parte, el control de parámetros involucra técnicas que se encargan de ajustar los valores durante la ejecución del algoritmo, lo cual permite explorar y explotar a mayor escala el espacio de búsqueda además de que pueden promover la obtención de la solución en un tiempo menor. En el art́ıculo [11], Caspitrán y Mezura mencionan lo siguiente: En los últimos años se han realizado trabajos de investigación para desarrollar métodos que contribuyan a la configuración de parámetros, sin embargo ninguna de esas técnicas ha sido posicionada como domi- nante en la literatura especializada. . . los métodos desarrollados para la optimización de parámetros, se fundamentan en el hecho de que los algoritmos bioinspirados son muy sensibles a los valores paramétricos y en la influencia correlativa entre cada uno de éstos. Tales métodos de ajuste suelen mejorar el desempeño del algoritmo y aproximan la búsqueda a mejores resultados. Partiendo de lo anterior, realizar un trabajo de investigación proponiendo una técnica de control que ajustara automáticamente los parámetros en DECV, me- joraŕıa el desempeño del algoritmo y contribuiŕıa a entender la relevancia de los cambios que sufren dichos parámetros en las iteraciones del proceso. Además, sig- nificaŕıa aportar un mecanismo que permita abordar problemas de optimización similares con un algoritmo basado en Evolución Diferencial, sin la dificultad y los recursos computacionales que implica configurarlos a través de la calibración. CAPÍTULO 1. INTRODUCCIÓN 6 1.5. Organización del Documento A continuación se describe el resto de las secciones que conforman este documento: Caṕıtulo 2. Optimización. En este caṕıtulo se introduce el concepto de optimización, se describen los componentes principales de un problema de optimización, su clasificación y algunos tipos de técnicas utilizadas para resolverlos. Caṕıtulo 3. Computación Evolutiva. En este apartado se realiza una breve introducción a la computación evolutiva, haciendo énfasis en el algo- ritmo Evolución Diferencial del cual se detallan sus parámetros, el proceso de selección y algunas de sus variantes, especialmente el funcionamiento de la variante DECV. Caṕıtulo 4. Formulación de Problemas Mecatrónicos. En este caṕıtu- lo se plantea la formulación de los problemas del mecanismo de cuatro ba- rras, el efector final de tres dedos y el despacho económico de enerǵıa en una microrred aislada. Caṕıtulo 5. Configuración de Parámetros. En este caṕıtulo se introdu- ce brevemente el concepto de configuración de parámetros y se presenta el mecanismo añadido para controlar los parámetros evolutivos en el algoritmo DECV. Caṕıtulo 6. Experimentos y Resultados. Este caṕıtulo muestra cómo se llevó a cabo la experimentación y cuáles fueron los resultados obtenidos al incorporar un mecanismo de control. También, se comparan dichos resul- tados con los del algoritmo DE/rand/1/bin y la versión original de DECV. Caṕıtulo 7. Conclusiones y Trabajo Futuro. Finalmente, en este caṕıtu- lo se presentan las conclusiones derivadas de los resultados obtenidos aśı como los futuros trabajos a realizar. 1.6. Publicaciones Derivadas de esta Tesis Zapata-Zapata Maury-Faney, Mezura-Montes Efrén y Portilla-Flores Edgar- Alfredo; Evolución diferencial con memoria de parámetros para la optimiza- ción de mecanismos de cuatro barras, En: Congreso Mexicano de Inteligencia Artificial (COMIA 2017). Research in Computer Science (2017) (En impre- sión). CAPÍTULO 1. INTRODUCCIÓN 7 1.7. Conclusiones del Caṕıtulo El objetivo principal del caṕıtulo de introducción fue mostrar la importancia de realizar el estudio presentado, la cual radica en incorporar una técnica de control de parámetros a un algoritmo basado en Evolución Diferencial, que permita a la comunidad mecatrónica resolver problemas de optimización evitando los inconve- nientes que implica calibrar el algoritmo manualmente. CAPÍTULO 2 Optimización 2.1. Concepto de Optimización La optimización es una herramienta importante para la toma de decisiones y el análisis de sistemas f́ısicos. Para hacer uso de esta herramienta, inicialmente se de- be identificar algún objetivo, el cual es una medida cuantitativa del desempeño del sistema bajo estudio. Este objetivo podŕıa ser ganancia, tiempo, enerǵıa potencial, o cualquier cantidad o combinación de cantidades que pueda ser representada por un sólo número. El objetivo depende de ciertas caracteŕısticas del sistema, llama- das variables. La finalidad, es encontrar los valores de las variables que optimicen el objetivo. A menudo las variables son restringidas de alguna manera, por ejem- plo, la tasa de interés en algún prestamo no puede ser negativa [12]. Otra definición propuesta por Baquela y Redchuk [13], desde el punto de vista de la Investigación de Operaciones (IO), establece que: Las técnicas de optimización se enfocan en determinar la poĺıtica a seguir para maximizar o minimizar la respuesta del sistema. Dicha respuesta, en general, es un indicador del tipo ‘Costo’, ‘Producción’, ‘Ganancia’, etc., la cual es una función de la poĺıtica seleccionada. Dicha respuesta se denomina objetivo, y la función asociada se llama función objetivo. En donde poĺıtica se refiere a las variables independientes de la función de res- puesta. 8 CAPÍTULO 2. OPTIMIZACIÓN 9 Matemáticamente hablando, para el caso de la optimización numérica, pues existe también la optimización combinatoria que no es tema de esta tesis, la optimización es el proceso de [14]: (i) la formulación y (ii) la solución de un problema de optimización restringido de la forma ma- temática general: min f(x), x = [x1, x2, ..., xn]T ε Rn (2.1) sujeto a las restricciones: gj(x) ≤ 0, j = 1, 2, ...,m hk(x) = 0, k = 1, 2, ..., r (2.2) En donde f(x), gj(x) y hk(x) son funciones escalares del vector columna real x. Los componentes continuos xi de x = [x1, x2, ..., xn]T son llamados variables de diseño, f(x) es la función objetivo, gj(x) denota las respectivas funciones de restricciones de desigualdad y hk(x) las funciones de restricciones de igualdad. La Optimización Matemática también es conocida como Optimización Numéri- ca, Programación No Lineal o Programación Matemática. En términos más ge- nerales, la Optimización Matemática puede ser descrita como la ciencia para de- terminar las mejores soluciones a los problemas matemáticamente definidos, que pueden ser modelos de realidad f́ısica o de sistemas de fabricación y gestión [14]. 2.2. Variables de Diseño Cualquier sistema o componente de ingenieŕıa está definido por un conjunto de cantidades, algunasde las cuales son vistas como variables durante el proceso de diseño. Estas cantidades que se tratan como variables, son llamadas variables de decisión o de diseño. Las variables de diseño se representan como un vector de diseño x = [x1, x2, ..., xn]. Si se considera un espacio cartesiano de n dimensiones, en donde cada eje de coordenadas representa una variable de diseño xi (i = 1, 2, .., n), el espacio recibe el nombre de espacio variable de diseño o simplemente espacio de diseño. Cada punto en el espacio de diseño n-dimensional se denomina punto de diseño y representa una solución posible o imposible al problema [15]. Para formular un problema de optimización, el primer paso es identificar sus variables de diseño [1]. CAPÍTULO 2. OPTIMIZACIÓN 10 2.3. Restricciones de Diseño En muchos problemas prácticos, las variables de diseño no se pueden elegir arbi- trariamente, sino que tienen que satisfacer ciertos requisitos funcionales especifi- cados. Las restricciones que deben cumplirse para producir un diseño aceptable comúnmente se denominan restricciones de diseño. Las restricciones que represen- tan limitaciones en el comportamiento o rendimiento del sistema se denominan restricciones de comportamiento o funcionales. Las restricciones que representan limitaciones f́ısicas en variables de diseño, tales como disponibilidad, factibilidad de producción y transportabilidad, se conocen como restricciones geométricas [15]. Después de haber determinado cuáles serán las variables de diseño, la siguien- te tarea es identificar las restricciones asociadas con el problema de optimización. Sin embargo, no existe una forma única para formular una restricción en todos los problemas. La naturaleza y el número de restricciones que serán incluidas en la formulación dependen del usuario [1]. Generalmente hay dos tipos de restricciones que surgen de la mayoŕıa de las consideraciones; restricciones de desigualdad y de igualdad. Las restricciones de desigualdad establecen que las relaciones funcionales entre las variables de diseño sean mayores que (>) o menores que (<) un valor de recurso. Mientras que las restricciones de igualdad establecen que las relaciones funcionales deben coincidir exactamente con el valor de recurso, es decir, iguales a (=). Debido a que las restricciones de igualdad son más dif́ıciles de manejar, deben ser evitadas tanto como sea posible [1]. 2.4. Función Objetivo La tercera tarea en el proceso de formulación, es encontrar la función objetivo en términos de las variables de diseño y demás parámetros del problema [1]. Esta función nos permitirá hallar los valores de las variables de diseño, que optimicen el objetivo cuantitativo del caso de estudio. Cuando se busca el valor mı́nimo en el objetivo se dice que la función objeti- vo es una función de costo, en el caso espećıfico en donde el mı́nimo que se está buscando es cero, algunas veces es conocida como función de error. En contraste, aquellas funciones que describen propiedades a ser maximizadas, comúnmente se conocen como funciones de aptitud. Sin embargo, dado que el cambio de signo en la función convierte sus máximos en mı́nimos, no se pierde generalidad refiriendose a la discusión únicamente como minimización de la función [2]. CAPÍTULO 2. OPTIMIZACIÓN 11 La función objetivo posee varios atributos que pueden afectar el rendimiento de un optimizador. A continuación se mencionan dichos atributos [2]. Cuantificación de parámetros: que se refiere a qué tipo de variables se mane- jan en la función objetivo (continuas, discretas o si pertenecen a un conjunto finito), y cuántas de ellas son de cada tipo. Dependencia de parámetros: especifica si los parámetros pueden ser optimi- zados de forma independiente o el valor de uno o más parámetros depende de otros. Dimensionalidad: el número de variables que definen la función objetivo. Modalidad: indica si la función objetivo tiene sólo un valor mı́nimo local o más de uno, es decir, si es uni-modal o multi-modal. Dependencia de tiempo: señala si la ubicación del valor óptimo es dinámica o estática. Ruido: si cada vez que se evalúa el mismo vector se obtiene un valor diferente, entonces existe el ruido. Restricciones: indica si la función objetivo se encuentra sujeta a restricciones de igualdad y/o desigualdad o no cuenta con restricciones Diferenciabilidad: cuando se puede diferenciar la función objetivo en todos sus puntos de interés. 2.5. Optimos Locales y Globales Como se mencionó en la Sección 2.2, el espacio de diseño dependerá del número de variables de decisión que existan en el problema de optimización. Si existen n variables, entonces el espacio de diseño será de n dimensiones. Una vez que se ha formulado el problema de optimización, se procede con la búsqueda de la mejor solución dentro del espacio de diseño. En un problema de optimización restringido, las restricciones: Reducen la cantidad de alternativas posibles, definiendo un espacio acotado de soluciones factibles (y complicando, de paso, la resolución del problema)...en optimización, cualquier vector con componentes apareadas a las variables independientes que satisfaga las restriccio- nes, es una solución factible, es decir, una poĺıtica que es posible de implementar en el sistema. [13]. CAPÍTULO 2. OPTIMIZACIÓN 12 En un problema sin restricciones todas las soluciones son factibles. La sección del espacio de diseño en la que se encuentran las soluciones factibles, es conocida como región o espacio factible. Dentro del espacio factible se pueden encontrar diferentes tipos de puntos (soluciones) óptimos, es decir, soluciones que además de cumplir las restricciones minimizan o maximizan, según sea el caso, el objetivo. Estos puntos son [1]: Punto óptimo local: un punto o solución x∗ es llamado punto local óptimo, si no existe un punto en el vecindario de x∗ que sea mejor que x∗. En el caso de problemas de minimización, un punto x∗ es un punto mı́nimo local si no hay algún punto en el vecindario que tenga un valor de función menor que f(x∗). Punto óptimo global: un punto o solución x∗∗ es llamado punto global ópti- mo, si no existe un punto en todo el espacio de búsqueda que sea mejor que el punto x∗∗. De forma similar, un punto x∗∗ es un punto mı́nimo global si no hay algún punto en todo el espacio de búsqueda que tenga un valor de función menor que f(x∗∗). En la Figura 2.1 se aprecian de forma más clara los conceptos anteriores. Figura 2.1: Representación de puntos óptimos. Gráfica creada con información de [16]. CAPÍTULO 2. OPTIMIZACIÓN 13 2.6. Clasificación de Problemas de Optimización Los problemas de optimización pueden ser clasificados de acuerdo a las siguientes caracteŕısticas [15]: Existencia de restricciones: el problema puede ser clasificado como restrin- gido o no restringido, dependiendo de si existen o no restricciones. Número de funciones objetivo: de acuerdo al número de funciones objeti- vo que serán minimizadas, un problema puede ser mono-objetivo o multi- objetivo. Naturaleza de las variables de diseño: con base en esta caracteŕıstica, los problemas de optimización puede ser clasificados en dos grandes categoŕıas; En la primera categoŕıa, el problema es encontrar valores a un conjunto de parámetros de diseño que hacen que una determinada función sea mı́nima, sujeto a ciertas restricciones. Estos problemas son llamados problemas de optimización estática o de parámetros.; En la segunda categoŕıa, el objetivo es encontrar un conjunto de parámetros de diseño, los cuales son funciones continuas de algún otro parámetro que minimice una función objetivo sujeta a un conjunto de restricciones. Este tipo de problema, es conocido como problema de optimización dinámica o de trayectoria. Estructura f́ısica del problema: de acuerdo a este criterio, el problema puede ser un problema de control óptimo (OC por las siglas de OptimalControl) o de control no óptimo. Un problema de control óptimo es un problema de programación matemática que implica varias etapas, en donde cada etapa evoluciona desde la etapa anterior de una manera prescrita. Generalmen- te se describe por dos tipos de variables: las variables de control (diseño) y las de estado. Las variables de control definen el sistema y rigen la evo- lución del mismo a la siguiente etapa y las variables de estado describen el comportamiento o estado del sistema en cualquier etapa. Por definición, aquellos problemas que no manejan ambas variables son llamados problemas de control no óptimo. Naturaleza de las ecuaciones implicadas: otra clasificación importante de los problemas de optimización se basa en la naturaleza de las expresiones para la función objetivo y las restricciones. De acuerdo con esta clasificación, los problemas de optimización pueden ser lineales, no lineales, geométricos o cuadráticos. Valores permitidos de las variables de diseño: según esta caracteŕıstica los problemas de optimización pueden ser enteros o reales. CAPÍTULO 2. OPTIMIZACIÓN 14 Naturaleza determinista de las variables: los problemas pueden ser proble- mas de programación determinista o estocástica. Un problema de progra- mación estocástica es aquél en donde algunos o todos los parámetros son probabiĺısticos. Separabilidad de las funciones: en donde un problema puede ser separable o no separable según la separabilidad de la función objetivo y las funciones de restricción. 2.7. Algoritmos de Optimización La formulación de problemas de diseño en ingenieŕıa vaŕıa de acuerdo al problema. Ciertos problemas involucran términos lineales para las restricciones y la función objetivo, pero otros incluyen términos no lineales. Desafortunadamente, no existe un algoritmo de optimización que resuelva todo tipo de problemas con el mismo nivel de eficiencia. Algunos algoritmos pueden funcionar bien en algunos problemas pero mal en otros. Es por eso que la literatura de optimización contiene un gran número de algoritmos, cada uno adecuado para resolver un tipo particular de problema. Los algoritmos de optimización pueden ser clasificados en los siguientes grupos [1]: Algoritmos de optimización uni-variable: proporcionan una buena compren- sión de las propiedades de los puntos mı́nimos y máximos en una función, y de cómo los algoritmos de optimización trabajan iterativamente para encon- trar el punto óptimo en un problema. Se dividen en dos grandes categoŕıas: métodos directos y métodos basados en gradiente. Los métodos directos no utilizan información derivada de la función objetivo; Sólo utilizan valores de la función objetivo para guiar el proceso de búsqueda. Sin embargo, los métodos basados en gradiente utilizan información derivada de primer y/o segundo orden para guiar dicho proceso. Algoritmos de optimización multi-variable: demuestran cómo progresa la búsqueda del punto óptimo en múltiples dimensiones. Dependiendo de si la información del gradiente se utiliza o no, estos algoritmos también se clasifican en técnicas directas y basadas en gradiente. Algoritmos de optimización restringidos: estos algoritmos utilizan los al- goritmos de optimización uni-variable y multi-variable de forma repetida y simultánea, conservando el esfuerzo de búsqueda dentro de la región factible. CAPÍTULO 2. OPTIMIZACIÓN 15 Algoritmos de optimización especializados: existe una serie de algoritmos estructurados que son ideales sólo para una cierta clase de problemas de op- timización. Dos de estos algoritmos son la programación entera y la progra- mación geométrica, los cuales se utilizan a menudo en problemas de diseño en ingenieŕıa. Algoritmos de optimización no tradicionales [15]: en años recientes, se han desarrollado algunos métodos de optimización que difieren de las técnicas tradicionales de programación matemática. La mayoŕıa de estos métodos se basan en ciertas caracteŕısticas y comportamiento de los sistemas biológi- cos, moleculares, de insectos y neurobiológicos. Dentro de estos algoritmos podemos encontrar los siguientes: - Algoritmos Evolutivos - Recocido simulado - Optimización de cúmulo de part́ıculas - Optimización de colonia de hormigas - Optimización difusa - Métodos basados en redes neuronales 2.8. Conclusiones del Caṕıtulo En este caṕıtulo se definieron los conceptos principales de la optimización, que es una herramienta importante para el análisis de sistemas f́ısicos como lo son los sistemas mecatrónicos. El uso de esta herramienta involucra seguir los siguientes pasos en la formulación del problema: 1) definir el objetivo que desea optimizar- se; 2) identificar las variables de diseño que definen al sistema; 3) identificar las restricciones de diseño que deben cumplir las variables para producir un diseño aceptable; y 4) encontrar la función objetivo que permitirá medir qué tan buena es la solución encontrada. Una vez que se ha formulado el problema de optimización, éste puede resolverse a través de distintas técnicas, entre las cuales se encuentran los Algoritmos Evolutivos. CAPÍTULO 3 Computación Evolutiva 3.1. Introducción a la Computación Evolutiva La computación evolutiva es un área de investigación dentro de las Ciencias de la Computación. Como su nombre sugiere, es una caracteŕıstica especial de la compu- tación que se inspira en el proceso de la evolución natural. No es sorprendente que algunos cient́ıficos en computación hayan elegido la evolución natural como fuente de inspiración: el poder de la evolución en la naturaleza es evidente en la variedad de especies que conforman el mundo, cada una adaptada para sobrevivir en su propio entorno. La metáfora fundamental de la computación evolutiva relaciona esta evolución natural con un estilo particular de resolución de problemas: el de prueba y error [17]. Para comprender la metáfora anterior, se debe considerar la evolución natural de la siguiente forma: existe un entorno lleno de una población de individuos que luchan por la supervivencia y la reproducción. La aptitud de dichos individuos está determinada por el medio ambiente, y se relaciona con la forma en que tienen éxito en el logro de sus objetivos. Es decir, representa la posibilidad que tienen para sobrevivir y reproducirse. Mientras tanto, en el contexto de un proceso estocástico de prueba y error, se tiene una colección de soluciones candidatas. Su calidad (qué tan bien resuelven el problema) determina la posibilidad de que se mantengan y se utilicen como base para construir nuevas soluciones candidatas [17]. La analoǵıa entre ambos escenarios se puede observar en la Tabla 3.1, adaptada de [17]. 16 CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 17 Evolución Resolución de problema Entorno ↔ Problema Individuo ↔ Solución candidata Aptitud ↔ Calidad Tabla 3.1: Metáfora básica de la computación evolutiva que relaciona la evolución natural con la resolución de problemas. 3.2. Algoritmos Evolutivos Con el paso de los años han surgido diversas variantes de los algoritmos evoluti- vos para resolver problemas de optimización. Sin embargo, la idea detrás de todos ellos es la misma: dada una población de individuos dentro de un entorno con re- cursos limitados, la competencia por dichos recursos provoca la selección natural (supervivencia del más apto). Esto a su vez provoca un aumento en la aptitud de la población [17]. Dada una función de calidad para ser minimizada, el proceso que sigue un algo- ritmo evolutivo es el siguiente [17]: 1. Crear aleatoriamente un conjunto de soluciones candidatas, es decir, ele- mentos del dominio de la función. 2. Posteriormente se debe aplicar la función de calidad a las soluciones como una medida de aptitud abstracta (cuanto más alta mejor). 3. A continuación, tomando como base los valores de aptitud, algunos de los mejores candidatos son elegidos para crear la poblaciónde la siguiente gene- ración. Esto se hace aplicando recombinación y/o mutación a ellos. Recom- binación es un operador que se aplica a dos o más candidatos seleccionados (los llamados padres), produciendo de uno o más candidatos nuevos (los hi- jos). La mutación se aplica a un candidato y da lugar a un nuevo miembro. Por lo tanto, la ejecución de las operaciones de recombinación y mutación en los padres conduce a la creación de un conjunto de nuevos candidatos (la descendencia). Éstos tienen su aptitud evaluada y después compiten con los viejos para ganar un lugar en la generación siguiente. Este proceso puede ser iterado hasta que se encuentre un candidato con suficiente calidad (una solución) o hasta que se haya alcanzada un ĺımite computacional establecido previamente [17]. En el Algoritmo 3.1 se puede apreciar el esquema general de un algoritmo evolutivo en seudocódigo. CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 18 Algoritmo 3.1 Algoritmo Evolutivo 1: Inicio 2: INICIALIZAR la población con soluciones candidatas aleatorias; 3: EVALUAR cada candidato; 4: while no se cumpla la condición de paro do 5: SELECCIONAR padres; 6: RECOMBINAR parejas de padres; 7: MUTAR la descendencia resultante; 8: SELECCIONAR individuos para la siguiente generación 9: end while 10: Fin 3.3. Evolución Diferencial El algoritmo Evolución Diferencial (DE por sus siglas en inglés) fue desarrollado por Price y Storn en 1995 para ser un optimizador de funciones confiable, versátil y fácil de usar. Desde entonces, DE ha sido probado en competencias como el ICEO (International Contest on Evolutionary Optimization) de la IEEE y en el mundo real en una amplia variedad de aplicaciones [2]. DE es un algoritmo aproximado de optimización basado en población, que ataca el problema mediante el muestreo de la función objetivo en múltiples pun- tos seleccionados al azar. Los ĺımites preestablecidos de los parámetros definen el dominio del cual se eligen los NP vectores de la población inicial. Cada vector se indiza con un número de 1 a NP , y representa una solución candidata. Por cada vector en la población, DE genera nuevos vectores que son perturbaciones (mutaciones) de vectores existentes, esos vectores son producidos a partir de una diferencia escalada de dos vectores de la población seleccionados aleatoriamente. Posteriormente el vector diferencia obtenido se suma a un tercer vector aleatorio seleccionado, obteniendo aśı el vector mutante (v) que será el que se recombi- ne con el vector padre para dar origen al vector trial (u), que a su vez será el que compita con el vector padre. Aquel que posea el menor valor de la función objetivo (asumiendo minimización) será marcado como miembro de la siguiente generación. El proceso se repite hasta que todos los NP vectores de la población hayan competido con un vector trial generado mediante el proceso antes descrito. Cuando se ha probado el último vector trial, aquellos vectores que hayan ganado serán los nuevos padres de la siguiente generación en el ciclo evolutivo [2]. 3.3.1. Inicialización El algoritmo DE parte de una población Px conformada por NP vectores xi,g, D-dimensionales: CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 19 Px,g = {xi,g}, i = 1, 2, ..., NP, g = 1, 2, ..., gmax xi,g = {xj,i,g}, j = 1, 2, ..., D (3.1) El ı́ndice g = 1, 2, ..., gmax, indica la generación a la cual pertenece un vector. Asimismo, cada vector tiene asignado un ı́ndice de población i, el cual va desde 1 hasta NP . Los parámetros o variables que conforman el vector tienen asignado un ı́ndice j, que va desde 1 hasta D [2]. Antes de que la población pueda ser inicializada, tanto el ĺımite inferior (I) como el superior (S) de cada parámetro j, deben ser especificados. Teniendo los ĺımites de los parámetros, los vectores xi,g pueden ser creados con valores dentro del intervalo [Ij, Sj], es decir, Ij ≤ xj,i,g ≤ Sj. 3.3.2. Mutación La Evolución Diferencial muta y recombina a los individuos de la población para producir una población de NP vectores trial. En particular, la mutación dife- rencial añade una diferencia escalada de vectores, obtenidos al azar, a un tercer vector. La Ecuación 3.2 muestra cómo se combinan tres vectores diferentes elegidos aleatoriamente para crear un vector mutante vi,g: vi,g = xr0,g + F (xr1,g − xr2,g) (3.2) El factor de escala, F ∈ (0, 1+), es un número real positivo que escala el vector diferencia que determina la dirección de búsqueda. Aunque no exista ĺımite supe- rior de F, los valores efectivos rara vez son mayores a 1.0 [2]. El ı́ndice del vector base (r0) puede ser determinado de distintas formas. Sin embargo, en la versión clásica del algoritmo DE se obtiene de forma aleatoria al igual que los ı́ndices del vector diferencia, r1 y r2. Tanto el ı́ndice r0 como r1 y r2 deben ser diferentes entre śı y además diferentes al ı́ndice del vector target, i. Es decir: vi,g = xr0,g + F (xr1,g − xr2,g), r0 6= r1 6= r2 6= i (3.3) 3.3.3. Recombinación La recombinación intercambia o fusiona aleatoriamente los valores de dos o más vectores para crear vectores trial. La recombinación discreta, también conocida co- mo cruza, es una operación en la que los elementos del vector trial se conforman de los elementos del vector padre y del vector mutante seleccionados aleatoria- mente. Por el contrario, la recombinación continua o aritmética expresa vectores trial como combinaciones lineales de vectores. Tanto la recombinación discreta como la continua tienen varias formas de implementación [2]: CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 20 Cruza • Un punto • N-puntos • Exponencial • Uniforme (binomial) Recombinación Continua • Lineal • Intermedia • Intermedia extendida Para fines de este trabajo de investigación, a continuación se explica la cruza uniforme (binomial), ya que es el tipo de recombinación que se emplea en el algoritmo DECV. Para información adicional sobre los tipos de recombinación restantes, se puede consultar [2]. Cruza Uniforme (Binomial) La cruza es uniforme en el sentido de que cada elemento, independientemente de su ubicación en el vector trial, tiene la misma probabilidad (pCr) de heredar su valor de un vector dado [2]. En palabras más detalladas, Capistrán menciona en [18] lo siguiente: La recombinación binomial consiste en intercambiar información entre el vector padre (target) y el vector mutado, por medio de una pro- babilidad de recombinación CR ∈ [0, 1) y un valor entero aleatorio jrand ∈ [1...NP ]. CR vaŕıa el número de elementos del vector padre y del vector mutante que serán incluidos en el vector hijo. Con jrand aseguramos que el vector hijo (trial) sea diferente del vector target al incluir en él, por lo menos uno de los parámetros del vector mutado. La Ecuación 3.4 muestra el comportamiento descrito anteriormente. uj,i,g = { vj,i,g si (randj[0, 1)) < CR o j = jrand xj,i,g en caso contrario (3.4) CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 21 3.3.4. Selección Si el vector trial, ui,g, tiene un valor de función objetivo igual o inferior (asumiendo minimización) al de su vector target, xi,g, sustituye al vector target en la siguiente generación; de lo contrario, el target conservará su lugar en la población al menos durante una generación más (Ecuación 3.5). Una vez creada la nueva población, se repite el proceso de mutación, recombinación y selección hasta que se satisfaga un criterio de terminación preestablecido, por ejemplo, que el número de generaciones alcance un valor máximo gmax especificado previamente [2]. xi,g+1 = { ui,g si f(ui,g) ≤ f(xi,g) xi,g en caso contrario (3.5) 3.3.5. Algoritmo DE clásico En el Algoritmo 3.2 se puede observar la versión clásica de Evolución Diferencial [2], también conocida como variante DE/rand/1/bin, y la forma en la que se integran los procesos descritos en las secciones anteriores de este caṕıtulo. Algoritmo 3.2 DE/rand/1/bin 1: Inicio 2: Crear aleatoriamente la población inicialxi,0, donde i = 1, ..., NP 3: Evaluar la población f(xi,0), donde i = 1, ..., NP 4: for g = 1 hasta gmax do 5: for i = 1 hasta NP do 6: Seleccionar de forma aleatoria r0 6= r1 6= r2 6= i 7: jrand = randint[1, D] 8: for j = 1 hasta D do 9: if (randj[0, 1) < CR o j = jrand then 10: uj,i,g = xj,r0,g + F (xj,r1,g − xj,r2,g) 11: else 12: uj,i,g = xj,i,g 13: end if 14: end for 15: if f(ui,g) ≤ f(xi,g) then 16: xi,g+1 = ui,g 17: end if 18: end for 19: end for 20: Fin CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 22 3.3.6. Variantes de DE Existe un esquema de nomenclatura desarrollado para hacer referencia a las va- riantes del algoritmo DE. Dicho esquema utiliza la siguiente notación: DE/x/y/z, en donde “DE” se refiere al algoritmo Evolución Diferencial (Differential Evolu- tion),“x” especifica la forma en la que el vector base (r0) es seleccionado, puede ser de forma aleatoria (rand), el mejor individuo hasta el momento (best), o algún otro tipo de selección. La letra “y” indica el número de diferencias de vectores que contribuyen al diferencial. Finalmente el operador “z” representa el tipo de recombinación que se utiliza, en las versiones más comunes del algoritmo DE se utiliza recombinación binomial (bin) o exponencial (exp) [19] [2] [20]. Como se mencionó anteriormente, la variante DE/rand/1/bin es la versión clásica del algoritmo DE, sin embargo, desde el surgimiento del algoritmo muchas otras variantes han sido propuestas, las más populares se mencionan a continua- ción [18] [2] [20]: DE/rand/1/bin uj,i,g = { vj,i,g = xj,r0,g + F (xj,r1,g − xj,r2,g) si (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario DE/rand/1/exp uj,i,g = { vj,i,g = xj,r0,g + F (xj,r1,g − xj,r2,g) mientras (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario DE/best/1/bin uj,i,g = { vj,i,g = xj,best + F (xj,r1,g − xj,r2,g) si (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario DE/best/1/exp uj,i,g ={ vj,i,g = xj,best + F (xj,r1,g − xj,r2,g) mientras (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario DE/current-to-rand/1 uj,i,g = vj,i,g = xj,i,g + F (xj,r0,g − xj,i,g) + F (xj,r1,g − xj,r2,g) CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 23 DE/current-to-best/1 uj,i,g = vj,i,g = xj,i,g + F (xj,best − xj,i,g) + F (xj,r1,g − xj,r2,g) DE/current-to-rand/1/bin uj,i,g ={ vj,i,g = xj,i,g + F (xj,r0,g − xj,i,g) + F (xj,r1,g − xj,r2,g) si (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario DE/current-to-best/1/bin uj,i,g ={ vj,i,g = xj,i,g + F (xj,best − xj,i,g) + F (xj,r1,g − xj,r2,g) si (randj [0, 1)) < CR o j = jrand xi,i,g en caso contrario Existen aún más variantes del algoritmo DE [19] [2], pero este trabajo de in- vestigación se centra en el algoritmo DECV, el cual hace uso de las variantes DE/rand/1/bin y DE/best/1/bin y se explica en la siguiente sección. 3.4. Algoritmo DECV El algoritmo DECV (Evolución Diferencial con Variantes Combinadas) fue pre- sentado en [4], en donde se realizó una comparación del comportamiento de al- gunas variantes del algoritmo Evolución Diferencial en problemas de prueba que incorporaban restricciones. Después de observar que la variante DE/rand/1/bin teńıa la habilidad de generar un conjunto diverso de direcciones de búsqueda a partir de diferentes vectores base usando pequeñas poblaciones, y que la varian- te DE/best/1/bin requeŕıa poblaciones más grandes debido a que las direcciones de búsqueda se enfocan en la mejor solución, los autores decidieron combinarlas, usando en primera instancia DE/rand/1/bin para llegar a la zona factible del problema y posteriormente la variante DE/best/1/bin para buscar en dirección de la mejor solución conocida. A este enfoque se le otorgó el nombre de Evolución Diferencial con Variantes Combinadas y mostró un desempeño competitivo en el estudio realizado. DECV mantiene la simplicidad de la versión clásica de Evolución Diferen- cial mostrada en el Algoritmo 3.2, la diferencia radica en la incorporación de un mecanismo para cambiar de la variante DE/rand/1/bin a DE/best/1/bin. Este mecanismo consiste en calcular el porcentaje de soluciones factibles (pf) en ca- da generación (g), cuando tal porcentaje es mayor o igual (≥) al Porcentaje de CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 24 Cambio de Variante (PCV ) establecido por el usuario, se realiza el cambio en la variante del algoritmo DE. Adicionalmente, el algoritmo DECV incorpora un método de manejo de res- tricciones, propuesto por Deb en [21], que consiste en tres criterios; 1) cualquier solución factible es preferible sobre cualquier solución no factible; 2) entre dos soluciones factibles, se prefiere aquella que tenga el mejor valor de la función ob- jetivo; 3) entre dos soluciones no factibles, se prefiere aquella que tenga la menor cantidad de violación de restricciones. DECV es un algoritmo versátil y fácil de implementar, el orden en el que se aplican las variantes puede ser modificado según las necesidades del usuario [4], y además podŕıan utilizarse combinaciones de variantes diferentes a la propuesta. A continuación, en el Algoritmo 3.3, se muestra el seudocódigo correspondiente a DECV. 3.5. Conclusiones del Caṕıtulo Durante el desarrollo de este caṕıtulo se habló de los algoritmos evolutivos, técni- cas que se basan en la evolución natural de las especies en donde se parte de una población de individuos que representan las soluciones al problema, estos individuos pasan por ciertos procesos que los hacen mejorar con el paso de las generaciones hasta finalizar el ciclo evolutivo. De de manera general los algorit- mos evolutivos incluyen cuatro etapas; 1) inicialización, 2) mutación, 3) cruza o recombinación y 4) selección. La integración e iteración de dichos procesos per- mite hallar una solución competitiva al problema que se está resolviendo en un tiempo determinado. Evolución Diferencial es un algoritmo evolutivo que ha sido empleado para resolver distintos problemas de optimización. Desde el surgimiento de esta técnica han sido propuestas muchas variantes, una de ellas es el algoritmo DECV, en el cual se enfoca este trabajo de investigación. CAPÍTULO 3. COMPUTACIÓN EVOLUTIVA 25 Algoritmo 3.3 DECV 1: Inicio 2: Crear aleatoriamente la población inicial xi,0, donde i = 1, ..., NP 3: Evaluar la población f(xi,0), donde i = 1, ..., NP 4: xbest = x1,0 5: for i = 2 hasta NP (Se obtiene el mejor individuo de la población inicial) do 6: if f(xi,0) es mejor que f(xbest) (basado en criterios de Deb) then 7: xbest = xi,0 8: end if 9: end for 10: for g = 1 hasta gmax do 11: Se calcula el pf (porcentaje de soluciones factibles) 12: for i = 1 hasta NP do 13: if pf ≥ PCV then 14: Seleccionar aleatoriamente r1 6= r2 6= i 15: else 16: Seleccionar aleatoriamente r0 6= r1 6= r2 6= i 17: end if 18: jrand = randint[1, D] 19: for j = 1 hasta D do 20: if (randj[0, 1) < CR o j = jrand then 21: if pf ≥ PCV then 22: uj,i,g = xj,best + F (xj,r1,g − xj,r2,g) 23: else 24: uj,i,g = xj,r0,g + F (xj,r1,g − xj,r2,g) 25: end if 26: else 27: uj,i,g = xj,i,g 28: end if 29: end for 30: if f(ui,g) es mejor que f(xi,g) (basado en criterios de Deb) then 31: xi,g+1 = ui,g 32: end if 33: if f(xi,g+1) es mejor que f(xbest) (basado en criterios de Deb) then 34: xbest = xi,g+1 35: end if 36: end for 37: end for 38: Fin CAPÍTULO 4 Formulación de Problemas Mecatrónicos En este trabajo de tesis se formularon tres problemas de optimización mecatrónica para evaluar el desempeño del algoritmo DECV, incorporando estrategias de con- trol en los parámetros relacionados con Evolución Diferencial; el primer problema consistió en optimizar la trayectoria y movimiento de un mecanismo de cuatro ba- rras en tres casos de estudio diferentes; en el segundo, se optimizó el movimiento esférico de un efector final de tres dedos en dos casos de estudio; y finalmente, en el tercero, se optimizó el despacho de económico de energia en una microrred aislada. En el resto de este caṕıtulo se describe de forma detallada cadauno de los problemas mencionados. 4.1. Diseño de un Mecanismo de Cuatro Barras En el contexto de ingenieŕıa mecánica, un mecanismo es un dispositivo que tie- ne como fin transferir movimiento de una fuente de entrada a una de salida. Su estructura está conformada por barras, también llamadas eslabones, que se en- cuentran conectadas por pasadores formando cadenas abiertas o cerradas. Sólo se considera como mecanismo, si en tales cadenas existe al menos un eslabón fijo y otros dos que retengan movilidad [22]. La cinemática se encarga de estudiar el movimiento de los mecanismos y los métodos para construirlos. Para el estudio de movimiento se lleva a cabo el análisis cinématico, en donde se especifican las dimensiones del mecanismo, sus interco- nexiones y el movimiento de entrada. Con respecto al estudio de los métodos, se utiliza la śıntesis cinemática, que se encarga de diseñar un mecanismo que realice un movimiento espećıfico. Cuando se busca crear un mecanismo para cumplir con un rendimiento dado se le llama śıntesis de tipo, y cuando se tiene un tipo de me- canismo y un rendimiento predefinidos pero se busca determinar las dimensiones y la posición inicial del mecanismo, se conoce como sintesis dimensional [22]. 26 CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 27 De acuerdo con [22] existen varios tipos de śıntesis dimensional, sin embargo, en este problema se realiza la śıntesis dimensional de generación de trayectoria, en donde el punto de un eslabonamiento (unión de dos barras) flotante debe seguir una trayectoria previamente definida. 4.1.1. Cinemática del Mecanismo de Cuatro Barras En la Figura 4.1 se muestra un mecanismo de cuatro barras conformado por: barra de referencia (r̄1), barra de entrada (r̄2), acoplador (r̄3) y barra de salida o balanćın (r̄4). Para efectos del análisis, se utilizan dos sistemas de coordenadas; el primero, se encuentra fijo al mundo real (OXY ) y el segundo es para referencia (O2XrYr). En donde (x0, y0), es la distancia entre los puntos de origen de ambos sistemas, θ0 es el ángulo de rotación del segundo sistema con respecto del primero, θi (i = 1, 2, 3, 4) denota los ángulos de las cuatro barras, y el par de coordenadas (rcx, rcy) definen la posición del acoplador C [23]. Figura 4.1: Mecanismo de cuatro barras. Adaptada de [23]. Para el análisis del mecanismo se inicia con la ecuación de lazo cerrado, la cual se define como: ~r1 + ~r4 = ~r2 + ~r3 (4.1) Empleando notación polar para cada término en la Ecuación 4.1 se obtiene: r1e jθ1 + r4e jθ1 = r2e jθ2 + r3e jθ3 (4.2) Aplicando la ecuación de Euler en la Ecuación 4.2 y separando término reales e imaginarios: CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 28 r1cosθ1 + r4cosθ4 = r2cosθ2 + r3cosθ3 r1senθ1 + r4senθ4 = r2senθ2 + r3senθ3 (4.3) Se expresa el sistema de ecuaciones 4.3 en términos de θ4: r4cosθ4 = r2cosθ2 + r3cosθ3 − r1cosθ1 r4senθ4 = r2senθ2 + r3senθ3 − r1senθ1 (4.4) Se obtiene la ecuación compacta de Freudenstein elevando al cuadrado los términos del sistema de ecuaciones 4.4 y sumando sus terminos: A1cosθ3 +B1senθ3 + C1 = 0 (4.5) en donde: A1 = 2r3(r2cosθ2 − r1cosθ1) (4.6) B1 = 2r3(r2senθ2 − r1senθ1) (4.7) C1 = r2 1 + r2 2 + r2 3 − r2 4 − 2r1r2cos(θ1 − θ2) (4.8) El ángulo θ3 se puede obtener como función de A1, B1, C1 y θ2, si senθ3 y cosθ3 se expresan en términos de tan( θ3 2 ): senθ3 = 2tan( θ3 2 ) 1 + tan2( θ3 2 ) , cosθ3 = 1− tan2( θ3 2 ) 1 + tan2( θ3 2 ) (4.9) Una ecuación lineal de segundo orden se obtiene al sustituir en la Ecuación 4.5: [C1 − A1] = tan2 ( θ3 2 ) + [2B1]tan ( θ3 2 ) + A1 + C1 = 0 (4.10) A partir de la Ecuación 4.10, el ángulo θ3 está dado por: θ2 = 2arctan [ −B1 ± √ B2 1 + A2 1 − C2 1 C1 − A1 ] (4.11) Para calcular el ángulo θ4 se sigue un proceso similar; el signo del radical para los ángulos θ3 y θ4 se seleccionan de acuerdo a la configuración del mecanismo según la Tabla 4.1. Como el punto de interés del acoplador es C, para determinar su posición en el sistema O2XrYr se establece que: Cxr = r2cosθ2 + rcxcosθ3 − rcysenθ3 Cyr = r2senθ2 + rcxsenθ3 + rcycosθ3 (4.12) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 29 En el sistema global de coordenadas, este punto puede expresarse como:[ Cx Cy ] = [ cosθ0 −senθ0 senθ0 cosθ0 ] [ Cxr Cyr ] + [ x0 y0 ] (4.13) Como puede notarse, las Ecuaciones 4.12 y 4.13, además de las expresiones de la cinemática del mecanismo, son todo lo que se necesita para calcular la posición de C a través de una trayectoria. Tabla 4.1: Signo del radical según el tipo de mecanismo. Configuración θ3 θ4 abierta + √ −√ cerrada −√ + √ 4.1.2. Declaración de Problemas de Optimización para Ca- sos de Estudio del Mecanismo Después de realizar la cinemática del mecanismo, el siguiente paso es definir el problema de diseño como un caso de optimización numérica, por lo tanto, es nece- sario especificar los parámetros y las operaciones matemáticas para la evaluación del sistema. Restricciones de diseño Al trabajar con mecanismos de cuatro barras se deben tener en cuenta las restric- ciones que se imponen a su funcionamiento, las cuales están relacionadas con la movilidad y el dimensionamiento. Ley de Grashof: establece el criterio para lograr que al menos una barra del mecanismo se pueda mover completamente. La Ley de Grashof dice que para un eslabonamiento plano de cuatro barras, la suma de las longitudes más corta y más larga de los eslabones no puede ser mayor que la suma de las longitudes de los dos eslabones restantes, si se desea que exista una rotación relativa continua entre dos elementos [24]. Si la longitud del eslabón más corto es o, la del más largo es l y las longitudes de las barras restantes son m y n, entonces: l + o < m+ n (4.14) Para el caso del mecanismo de cuatro barras, la ley de Grashof está dada por: r1 + r2 < r3 + r4 (4.15) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 30 Adicionalmente, para asegurar que el mecanismo cumpla con la ley de Gras- hof, se añaden las siguientes restricciones: r2 < r3, r3 < r4, r4 < r1 (4.16) Secuencia de ángulos de entrada: Cuando el problema de śıntesis es de gene- ración de trayectoria sin sincronización prescrita, los valores que toman los ángulos de la manivela deben estar ordenados secuencialmente. Si el ángulo del punto de precisión i se denota como θi2, se debe cumplir que: θ1 2 < θ2 2 < ... < θN2 (4.17) en donde N se refiere al número de puntos de precisión Función Objetivo La śıntesis dimensional del mecanismo de cuatro barras se lleva a cabo para calcu- lar la longitud de sus barras, el ángulo de rotación con respecto al sistema OXY , la distancia entre los dos sistemas de coordenadas y el conjunto de ángulos para la barra de entrada que permitirán generar la trayectoria deseada. En el sistema global de coordenadas el punto de precisión i está dado por: Ci d = [Ci xd, C i yd] (4.18) El conjunto de N puntos de precisión se describe como: Ω = {Ci d|i ∈ N} (4.19) Además, dado un conjunto de valores de las barras del mecanismo y sus parámetros x0, y0, θ0, cada punto del acoplador puede ser expresado como una función de la posición de la barra de entrada: Ci = [Cx(θ i 2), Cy(θ i 2)] (4.20) Entonces, se desea minimizar la distancia de los puntos de precisión Ci d y los puntos calculados Ci. La función propuesta para dicho cálculo es: f(θi2) = N∑ i=1 [(Ci xd − Ci x) 2 − (Ci yd − Ci y) 2] (4.21) Tanto el análisis del mecanismo, como las restricciones de diseño y la función ob- jetivo fueron tomadas de [23]. Para este problema se obtuvo la śıntesis dimensional de tres casos de estudio distintos, en donde el punto C del mecanismo debe seguir una trayectoria de puntos cartesianos previamente definidos. A continuación, se describe cada caso de estudio. CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 31 Caso de estudio 1: seguimiento de una trayectoria linealvertical, sin sincronización previa - MCE1 En el primer caso de estudio, tomado de [25], el acoplador debe pasar por los seis puntos de precisión indicados en la Ecuación 4.22, los cuales se encuentran alineados verticalmente. Ω = {(20, 20), (20, 25), (20, 30), (20, 35), (20, 40), (20, 45)} (4.22) El vector de variables de diseño es: ~p = [p1, p2, p3, ..., p15]T (4.23) = [r1, r2, r3, r4, rcx, rcy, θ0, x0, y0, θ 1 2, θ 2 2, θ 3 2, θ 4 2, θ 5 2, θ 6 2]T (4.24) en donde las primeras cuatro variables corresponden a las barras del mecanismo, las dos siguientes definen la posición del acoplador, θ0, x0 y y0 indican la orienta- ción del sistema O2XrYr con respecto al sistema OXY , y las variables restantes corresponden a la secuencia de ángulos de la barra de entrada (r̄2). Los ĺımites superior e inferior de las variables de diseño se encuentran definidos por: r1, r2, r3, r4 ∈ [0, 60] (4.25) rcx, rcy, x0, y0 ∈ [−60, 60] (4.26) θ0, θ 1 2, θ 2 2, θ 3 2, θ 4 2, θ 5 2, θ 6 2 ∈ [0, 2π] (4.27) Se considera el problema de optimización mono-objetivo descrito de la Ecuación 4.28 a la 4.37. min f(~p) = N∑ i=1 [(Ci xd − Ci x) 2 − (Ci yd − Ci y) 2] ~p ∈ R15 (4.28) Sujeto a: g1(~p) = r1 + r2 − r3 − r4 ≤ 0 (4.29) g2(~p) = r2 − r3 ≤ 0 (4.30) g3(~p) = r3 − r4 ≤ 0 (4.31) g4(~p) = r4 − r1 ≤ 0 (4.32) g5(~p) = θ1 2 − θ2 2 ≤ 0 (4.33) g6(~p) = θ2 2 − θ3 2 ≤ 0 (4.34) g7(~p) = θ3 2 − θ4 2 ≤ 0 (4.35) g8(~p) = θ4 2 − θ5 2 ≤ 0 (4.36) g9(~p) = θ5 2 − θ6 2 ≤ 0 (4.37) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 32 Caso de estudio 2: seguimiento de una trayectoria no alineada, con sincronización previa - MCE2 En este caso de estudio se realiza una sincronización prescrita y la trayectoria es no alineada, la cual consta de los siguientes puntos: Ω = {(3, 3), (2.759, 3.363), (2.372, 3.663), (1.890, 3.862), (1, 355, 3.943)} (4.38) El vector de variables de diseño es: ~p = [p1, p2, p3, p4, p5, p6]T (4.39) = [r1, r2, r3, r4, rcx, rcy] T (4.40) Las variables x0, y0, θ0 = 0, y la sincronización prescrita está dada por la siguiente secuencia de ángulos: θi2 = { 2π 12 , 3π 12 , 4π 12 , 5π 12 , 6π 12 } (4.41) Los ĺımites superior e inferior de las variables de diseño se encuentran definidos por: r1, r2, r3, r4 ∈ [0, 50] (4.42) rcx, rcy ∈ [−50, 50] (4.43) En este caso, el problema de optimización mono-objetivo se describe de la Ecua- ción 4.44 a la 4.48. min f(~p) = N∑ i=1 [(Ci xd − Ci x) 2 − (Ci yd − Ci y) 2] ~p ∈ R6 (4.44) Sujeto a: g1(~p) = r1 + r2 − r3 − r4 ≤ 0 (4.45) g2(~p) = r2 − r3 ≤ 0 (4.46) g3(~p) = r3 − r4 ≤ 0 (4.47) g4(~p) = r4 − r1 ≤ 0 (4.48) Caso de estudio 3: generación de movimiento delimitado por un con- junto de pares de puntos - MCE3 Finalmente se tiene el tercer caso de estudio, tomado de [23], en donde se consi- deran diez pares de puntos de precisión (K = 10), dados por las coordenadas de la Tabla 4.2. El vector de variables de diseño es: ~p = [p1, p2, p3, ..., p18, p19]T (4.49) = [r1, r2, r3, r4, rcx, rcy, θ0, x0, y0, θ 1 2, ..., θ 10 2 ]T (4.50) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 33 con los ĺımites superior e inferior definidos como: r1, r2, r3, r4 ∈ [0, 60] (4.51) rcx, rcy, x0, y0 ∈ [−60, 60] (4.52) θ0, θ 1 2, ..., θ 10 2 ∈ [0, 2π] (4.53) La función de este caso es diferente a la de los problemas anteriores, ya que considera la distancia del acoplador a los dos puntos de cada par de coordenadas. El problema de optimización mono-objetivo se describe de la Ecuación 4.54 a la 4.67 min f(~p) = K∑ i=1 [(Ci 1xd − Ci x) 2 − (Ci 1yd − Ci y) 2] + K∑ i=1 [(Ci 2xd − Ci x) 2 − (Ci 2yd − Ci y) 2] ~p ∈ R19 (4.54) Sujeto a: g1(~p) = r1 + r2 − r3 − r4 ≤ 0 (4.55) g2(~p) = r2 − r3 ≤ 0 (4.56) g3(~p) = r3 − r4 ≤ 0 (4.57) g4(~p) = r4 − r1 ≤ 0 (4.58) g5(~p) = θ1 2 − θ2 2 ≤ 0 (4.59) g6(~p) = θ2 2 − θ3 2 ≤ 0 (4.60) g7(~p) = θ3 2 − θ4 2 ≤ 0 (4.61) g8(~p) = θ4 2 − θ5 2 ≤ 0 (4.62) g9(~p) = θ5 2 − θ6 2 ≤ 0 (4.63) g10(~p) = θ6 2 − θ7 2 ≤ 0 (4.64) g11(~p) = θ7 2 − θ8 2 ≤ 0 (4.65) g12(~p) = θ8 2 − θ9 2 ≤ 0 (4.66) g13(~p) = θ9 2 − θ10 2 ≤ 0 (4.67) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 34 Tabla 4.2: Pares de puntos de precisión - CE3 Par C1d C2d 1 (1.768, 2.3311) (1.9592, 2.44973) 2 (1.947, 2.6271) (2.168, 2.675) 3 (1.595, 2.7951) (1.821, 2.804) 4 (1.019, 2.7241) (1.244, 2.720) 5 (0.479, 2.4281) (0.705, 2.437) 6 (0.126, 2.0521) (0.346, 2.104) 7 (-0.001, 1.720) (0.195, 1.833) 8 (0.103, 1.514) (0.356, 1.680) 9 (0.442, 1.549) (0.558, 1.742) 10 (1.055, 1.905) (1.186, 2.088) 4.2. Diseño de un Efector Final de Tres Dedos Al igual que en el problema del mecanismo de cuatro barras, en este problema se deb́ıa obtener la śıntesis dimensional de generación de trayectoria pero ahora de un efector final, también llamado gripper, compuesto de tres dedos. Cada dedo está diseñado con un mecanismo de seis barras (Figura 4.2) cuya configuración permite un agarre esférico. Debido a la simetŕıa de los dedos, basta realizar el análisis de uno de ellos para lograr construir el efector final. Figura 4.2: Mecanismo de seis barras para el diseño de un dedo. Adaptada de [18]. CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 35 Como se puede observar en la Figura 4.2, el diseño de un dedo está conformado por dos sub-sistemas que simulan sus falanges. El primer sub-sistema corresponde a un mecanismo manivela-biela-corredera (MBC) que se usa en la entrada (r2, r3, r4), y el segundo es un mecanismo de cuatro barras en la salida (r0, r′2, r5, r6). Ambos mecanismos conforman el sistema completo, en donde el impulsor es la corredera y el punto E en el acoplador es la salida. El análisis de este problema fue tomado del trabajo realizado por Capistrán en [18] y se presenta en la siguiente sección. 4.2.1. Cinemática del Efector Final de Tres Dedos Para plantear de forma eficaz el problema, se deb́ıa realizar el análisis de los dos sub-sitemas por separado y posteriormente unirlos en un problema de optimiza- ción. Primeramente se analizó el mecanismo MBC (Figura 4.3) respecto al eje x según la posición de la corredera r4, en donde existen tres casos: r4 > 0, r4 < 0 y r4 = 0, en todos ellos la variable de interés que describe al sub-sistema es θ3. A continuación se presenta el modelo de cada caso [18]: Figura 4.3: Mecanismo manivela-biela-corredera. Adaptada de [18]. a) Si r4 > 0, entonces: Se calcula el valor del ángulo θ3 que es la suma de los ángulos θ2, ϕ y π (igual a 180◦). En la Figura 4.4 se muestran los ángulos requeridos para efectuar los cálculos necesarios en este caso. CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 36 Figura 4.4: Mecanismo MBC para el caso r4 > 0. Adaptada de [18]. Con base en el análisis del sistema, para calcular θ2 se tiene que: θ2 = β + γ (4.68) Para obtener γ se debe calcular l mediante el teorema de pitágoras: l = √ r2 1 + r2 4 (4.69) Utilizando ley de cosenos y despejando γ se obtiene la Ecuación 4.70. γ = cos−1 [ r2 2 + l2 − r2 3 2r2l ] (4.70) Para el ángulo β se tiene: β = tan−1 ( |r4| r1 ) (4.71) Sustituyendo las Ecuaciones 4.70 y 4.71 en la Ecuación 4.68: θ2 = tan−1 ( |r4| r1 ) + cos−1 [ r2 2 + l2 − r2 3 2r2l ] (4.72) Para calcular ϕ se aplica ley de cosenos y se despeja: ϕ = cos−1 [ r2 2 + r2 3 − l2 2r2r3 ] (4.73) CAPÍTULO 4. FORMULACIÓN DE PROBLEMAS MECATRÓNICOS 37 Finalmente, se puede calcular θ3 con la Ecuación 4.74. θ3 = θ2 + ϕ+ π (4.74) b) Si r4 < 0, entonces: Figura 4.5: Mecanismo MBC para el caso r4 < 0. Adaptada de [18]. Este caso se ilustra en la Figura 4.5 y su análisis matemático es similar al del caso anterior, se debe calcular el valor del ángulo θ3 con la distinción de que ahora el angulo θ2 corresponde a la diferencia entre los ángulos γ y β (Ecuación 4.75). θ2 = γ − β (4.75) Sustituyendo las Ecuaciones 4.70 y 4.71 en la Ecuación 4.75, se tiene que: θ2 = cos−1 [ r2 2 + l2 − r2 3 2r2l ] − tan−1 ( |r4| r1 ) (4.76) Ya
Compartir