laboratorio nacional de inform atica avanzada, a.c. centro...

69
Laboratorio Nacional de Inform´ atica Avanzada, A.C. Centro de ense˜ nanza LANIA omputo inspirado en la naturaleza para la optimizaci´on mono-objetivo de un efector final de tres dedos TESIS Que presenta: L.S.C.A. Edith Capistran Gumersindo Para obtener el grado de: Maestra en Computaci´ on Aplicada Directores de tesis: Dr. Efr´ en Mezura Montes Dr. Edgar Alfredo Portilla Flores del CIDETEC-IPN Dra. Cora Beatriz Excelente Toledo Xalapa, Veracruz, M´ exico. Diciembre 2015

Upload: vukhue

Post on 18-Oct-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Laboratorio Nacional de Informatica Avanzada, A.C.Centro de ensenanza LANIA

Computo inspirado en la naturaleza para laoptimizacion mono-objetivo de un efector

final de tres dedos

TESIS

Que presenta:L.S.C.A. Edith Capistran Gumersindo

Para obtener el grado de:Maestra en Computacion Aplicada

Directores de tesis:Dr. Efren Mezura Montes

Dr. Edgar Alfredo Portilla Flores del CIDETEC-IPNDra. Cora Beatriz Excelente Toledo

Xalapa, Veracruz, Mexico.

Diciembre 2015

Agradecimientos

A mis padres, por su carino, esfuerzo y sacrificios en todos estos anos, quie-nes depositaron en mı su confianza y me han impulsado a prepararme en micamino profesional.

Le agradezco a mis asesores: el Dr. Efren Mezura Montes, el Dr. Edgar A.Portilla Flores y la Dra. Cora Excelente Toledo por la confianza, el apoyo,la motivacion y los conocimientos que me transmitieron a lo largo de esteproyecto.

Agradezco al Consejo Nacional de Ciencia y Tecnologıa (CONACYT) el pa-trocinio otorgado para la realizacion de este proyecto de tesis, en el marco delPrograma Nacional de Postgrados de Calidad con numero de becario 566100.

Asimismo, agradezco la beca terminal de Tesis de Maestrıa derivada del pro-yecto CONACyT No. 220522, titulado: “Dinamismo y Modelos Subrogadosen Algoritmos Bio-Inspirados para Optimizacion con Restricciones”.

II

Resumen

En esta investigacion se presenta un estudio de configuracion de parametrospara un algoritmo inspirado en la naturaleza con el objetivo de mejorar sudesempeno al resolver un problema de optimizacion referente a la sıntesis ydiseno de un efector final de tres dedos con un grado de libertad en cadauno, formados por la union de un mecanismo manibela-biela-corredera y unmecanismo de cuatro barras. El objetivo del mecanismo es trazar una tra-yectoria para efectuar la accion de sujecion de objetos con forma esferica.El algoritmo base de este estudio es llamado DECV (Differential EvolutionCombinated Variants).

Como primer paso de mejora, se estudia el desempeno del algoritmo DECVcalibrando sus parametros principales, para posteriormente agregar un me-canismo de control para el parametro asociado a la mutacion, de manera quesu desempeno destaque sobre los proporcionados por algoritmos del estadodel arte.

Los resultados sugieren que, derivado del uso del mecanismo de control deparametros, el algoritmo DECV es capaz de proveer resultados altamentecompetitivos con un costo computacional menor, medido por el numero deevaluaciones de soluciones potenciales realizadas en dos instancias del pro-blema de interes.

III

Indice general

Agradecimientos II

Resumen III

1. Introduccion 21.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . 31.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . 41.2.2. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . 4

1.3. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . 5

1.5.1. Algoritmo POEMA . . . . . . . . . . . . . . . . . . . . 51.5.2. Algoritmo NSGA . . . . . . . . . . . . . . . . . . . . . 61.5.3. Algoritmo genetico . . . . . . . . . . . . . . . . . . . . 61.5.4. Algoritmo Harmony Search . . . . . . . . . . . . . . . 71.5.5. Algoritmo Evolutivo . . . . . . . . . . . . . . . . . . . 7

1.6. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . 81.7. Organizacion del documento . . . . . . . . . . . . . . . . . . . 81.8. Publicaciones derivadas de esta tesis . . . . . . . . . . . . . . 8

2. Optimizacion 92.1. Concepto de optimizacion . . . . . . . . . . . . . . . . . . . . 92.2. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . 112.3. Optimizacion mono-objetivo . . . . . . . . . . . . . . . . . . . 122.4. Variables de diseno . . . . . . . . . . . . . . . . . . . . . . . . 122.5. Restricciones de diseno . . . . . . . . . . . . . . . . . . . . . . 122.6. Optimos globales y optimos locales . . . . . . . . . . . . . . . 12

IV

INDICE GENERAL V

3. Evolucion Diferencial 153.1. Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . 153.2. Evolucion Diferencial . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1. Mutacion . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.2. Cruza . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.2.1. Cruza binomial (uniforme) . . . . . . . . . . . 183.2.2.2. Cruza exponencial . . . . . . . . . . . . . . . 18

3.2.3. Seleccion . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.4. Variantes de ED . . . . . . . . . . . . . . . . . . . . . 20

4. Sıntesis del efector final de tres dedos 224.1. Sıntesis cinematica del mecanismo manivela-biela-corredera . . 244.2. Sıntesis cinematica del mecanismo de cuatro barras . . . . . . 284.3. Declaracion del problema de optimizacion . . . . . . . . . . . 31

4.3.1. Primer problema de optimizacion . . . . . . . . . . . . 344.3.2. Segundo problema de optimizacion . . . . . . . . . . . 35

5. Algoritmo DECV 365.1. Evolucion Diferencial con Variantes Combinadas . . . . . . . . 365.2. Configuracion de parametros en algoritmos evolutivos . . . . . 395.3. Calibracion de parametros . . . . . . . . . . . . . . . . . . . . 405.4. Control de parametros . . . . . . . . . . . . . . . . . . . . . . 405.5. Propuesta para control de parametros . . . . . . . . . . . . . . 41

6. Experimentos y resultados 436.1. Diseno experimental . . . . . . . . . . . . . . . . . . . . . . . 436.2. Estadıstica no parametrica . . . . . . . . . . . . . . . . . . . . 44

6.2.1. Prueba no parametrica suma de rangos de Wilcoxon . . 446.3. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.3.1. Experimento A: DECV-S vs DECV . . . . . . . . . . . 466.3.1.1. Configuracion de parametros . . . . . . . . . 466.3.1.2. Resultados DECV-S vs DECV . . . . . . . . 48

6.3.2. Experimento B: DECV-S vs ED . . . . . . . . . . . . . 496.3.2.1. Configuracion de parametros . . . . . . . . . 496.3.2.2. Resultados DECV-S vs ED . . . . . . . . . . 50

6.3.3. Visualizacion de resultados . . . . . . . . . . . . . . . . 52

7. Conclusiones finales y trabajo futuro 547.1. Observaciones finales . . . . . . . . . . . . . . . . . . . . . . . 557.2. Objetivos cumplidos . . . . . . . . . . . . . . . . . . . . . . . 557.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . 56

INDICE GENERAL VI

Bibliografıa 57

Indice de figuras

2.1. Representacion de optimos globales y optimos locales. Graficagenerada con informacion de [23] . . . . . . . . . . . . . . . . 14

3.1. Algoritmo de Evolucion Diferencial, variante ED/rand/1/bin . 19

4.1. Mecanismo de 6 barras. . . . . . . . . . . . . . . . . . . . . . . 234.2. Mecanismo manivela biela corredera (MBC). . . . . . . . . . 244.3. Mecanismo MBC. Caso r4 > 0. . . . . . . . . . . . . . . . . . 244.4. Mecanismo manivela biela corredera. Caso r < 0 . . . . . . . . 264.5. Mecanismo manivela biela corredera. Caso r = 0 . . . . . . . . 274.6. Mecanismo de cuatro barras . . . . . . . . . . . . . . . . . . . 284.7. Acoplador ubicado en el mecanismo de cuatro barras. . . . . . 314.8. Representacion de la trayectoria esferica marcada por los pun-

tos de precision Ω. . . . . . . . . . . . . . . . . . . . . . . . . 32

5.1. Algoritmo DECV . . . . . . . . . . . . . . . . . . . . . . . . . 385.2. Taxonomıa del control de parametros en Algoritmos Evoluti-

vos (AE). Figura adaptada de [10]. . . . . . . . . . . . . . . . 395.3. Flujo de informacion de irace. Figura adaptada de [21]. . . . . 405.4. Control dinamico parametrico adoptado en el factor de escala

(F) [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.5. Algoritmo DECV-S. En negritas se resalta lo agregado para el

control dinamico de parametros. . . . . . . . . . . . . . . . . . 42

6.1. Grafica de convergencia de DECV y DECV-S. a) Problema 1,b) Problema 2. . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.2. Diagrama de caja de DECV y DECV-S. a) Problema 1, b)Problema 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

VII

INDICE DE FIGURAS VIII

6.3. Grafica de convergencia de DECV-S y ED. a) Problema 1, b)Problema 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.4. Diagrama de caja de DECV-S y ED. a) Problema 1, b) Pro-blema 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.5. Representacion de un dedo del efector final a traves de unmecanismo seis barras que sigue una trayectoria esferica. a)Primer problema de diseno. b) Segundo problema de diseno. . 53

Indice de tablas

1.1. Especificaciones del efector final de tres dedos . . . . . . . . . 4

4.1. Configuracion del signo para el mecanismo de cuatro barras . 30

6.1. Calibracion de parametros del algoritmo DECV para ambosproblemas del efector final. . . . . . . . . . . . . . . . . . . . . 47

6.2. Calibracion de parametros del algoritmo DECV-S para ambosproblemas del efector final. . . . . . . . . . . . . . . . . . . . . 47

6.3. Resultados estadısticos obtenidos por DECV-S y DECV . . . 486.4. Calibracion de parametros del algoritmo ED basado en el en-

foque [25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.5. Resultados estadısticos obtenidos por DECV-S y por ED ba-

sado en [25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.6. Valores encontrados por el algoritmo DECV-S, correspondien-

tes al mejor valor en la funcion objetivo (F.O.) de cada problema. 52

1

Capıtulo 1Introduccion

La mecatronica es una disciplina que surge a mediados de los anos 70 paraatender problemas de mayor complejidad, principalmente aquellos que in-volucran procesos electronicos y mecanicos en la industria. Segun Rietdijk,la mecatronica es el resultado de la “combinacion sinergica de la ingenierıamecanica de precision, de la electronica, del control automatico y de los siste-mas para el diseno de productos y procesos”[37] electromecanicos inteligentes.

Como resultado de esta combinacion se han obtenido modelos de sistemasmecatronicos que integran un flujo de procesos que van desde una configura-cion basica que recibe senales, las procesa y emite una respuesta generandofuerzas y movimientos, hasta una configuracion mas compleja. A su vez,la construccion de un sistema mecatronico inicia con la formulacion de unmodelo matematico que persigue la optimizacion de determinada funcion re-lacionada con el sistema u objeto en cuestion.

Con frecuencia, este tipo de planteamientos mecatronicos tienen caracterısti-cas que los hacen particularmente difıciles para las tecnicas clasicas de opti-mizacion. Sin embargo, los algoritmos de busqueda inspirados en la natura-leza representan una buena opcion para resolver esta clase de problemas deoptimizacion. Ademas, la aplicacion de estas metodologıas se puede genera-lizar a diversos problemas. Un caso especifıco es el algoritmo de EvolucionDiferencial utilizado con exito en problemas de optimizacion numerica [32].

2

CAPITULO 1. INTRODUCCION 3

El planteamiento de optimizacion que se formula en esta investigacion estadirigido a optimizar el movimiento esferico producido por un efector final1

de tres dedos con un grado de libertad (GDL)2 por dedo, a traves del estudiode configuracion de parametros de un algoritmo basado en Evolucion Dife-rencial denominado DECV (Differential Evolution with Combined Variants).El objetivo puntual de esta investigacion es extender el dominio de aplica-cion de este algoritmo en problemas mecatronicos, ya que solo se ha probadoexitosamente en funciones artificiales. Aunado a este objetivo, se analiza sudesempeno y se proponen algunas adaptaciones que lo perfeccionan; parti-cularmente se trabajara con una herramienta de calibracion de parametrosy de un mecanismo de control dinamico para el parametro asociado con lamutacion diferencial.

1.1. Planteamiento del problema

El problema de interes en este trabajo de tesis es una instancia particulardel problema de optimizacion numerica con restricciones (constrained nume-rical optimization problem, CNOPs, por sus siglas en ingles), conocido comoproblema general de programacion no lineal, que matematicamente se definede la siguiente forma [24]:

Encontrar ~x ∈ Rn que minimice:

f(~x)

y que satisfaga las restricciones:

gi(~x) ≤ 0, i = 1, ...,m hj(~x) = 0, j = 1, ..., p

donde ~x representa un vector de variables de decision ~x = [x1, x2, ..., xn]T ,m es el numero de restricciones de desigualdad, y p el numero de restriccio-nes de igualdad del problema. Cada xi, i = 1, ..., n delimitado por los lımitesinferior y superior Li ≤ xi ≤ Ui, define el espacio de busqueda S. Al con-junto de soluciones que satisfacen todas las restricciones del problema se le

1En terminos mecatronicos, el concepto efector final o gripper se utiliza para describirla extension final de un robot o una herramienta que le permitira manipular objetos einteractuar con su entorno.

2Los grados de libertad (GDL) determinan el numero mınimo de parametros que re-presentan la movilidad de un mecanismo o sistema mecanico.

CAPITULO 1. INTRODUCCION 4

llama region factible. Ambas, la funcion objetivo y las restricciones, puedenser lineales o no lineales. La instancia particular del presente tema de tesis,en su definicion del problema de optimizacion, solo se considera una funcionobjetivo (mono-objetivo).

Dicha instancia del problema tiene como objetivo disenar el seguimiento deuna trayectoria no-lineal para el agarre esferico de objetos que realizara elefector final de tres dedos.

Las especificaciones del efector final para fines de este trabajo de investigacionse resumen en la Tabla 1.1:

Dispositivo de manipulacion Dedos tipo antropomorficosNumero de dedos 3Numero de GDL 1Tipo de actuador Motorreductor

Tipo de sensor de fuerza Flexiforce/sensor flexo resistivo

Tabla 1.1: Especificaciones del efector final de tres dedos

1.2. Objetivos

1.2.1. Objetivo General

Implementar el algoritmo de Evolucion Diferencial con Variantes Combinadas(DECV) y configurar sus parametros de manera que minimice la desviacionde una trayectoria no-lineal predefinida para el agarre esferico de objetosrealizado por el efector final de tres dedos con un GDL por dedo.

1.2.2. Objetivos Especıficos

Definir la herramienta de calibracion de parametros y el mecanismo decontrol de parametros mas adecuados para el algoritmo DECV con laintencion de optimizar el diseno del efector final y promover cambiosque mejoren su desempeno.

Realizar pruebas estadısticas para evaluar el rendimiento del algoritmopropuesto y comprobar si los resultados obtenidos son mejores contraotros algoritmos del estado del arte con respecto al numero de evalua-ciones.

CAPITULO 1. INTRODUCCION 5

Visualizar las soluciones obtenidas por el algoritmo.

1.3. Hipotesis

El algoritmo de Evolucion Diferencial con Variantes Combinadas sera capazde encontrar configuraciones que le permitan al efector final de tres dedosseguir una trayectoria no-lineal predefinida para el agarre esferico de objetoscon un bajo costo computacional medido por el numero de evaluaciones desoluciones, todo ello derivado de la aplicacion de una tecnica de configuracionde parametros.

1.4. Justificacion

Dentro del departamento de Mecatronica del Centro de Innovacion y Desa-rrollo Tecnologico en Computo (CIDETEC) se cuenta con trabajos relacio-nados con el diseno de manipuladores roboticos que desempenan funcionessimilares a la mano humana. La intencion de este trabajo de investigaciones incrementar las opciones de algoritmos inspirados en la naturaleza pararesolver este tipo de problemas, estudiando la configuracion de parametrosde un algoritmo basado en evolucion diferencial, pero que combina de manerasimple dos de sus variantes mas conocidas, y que ha demostrado ser efectivoal resolver problemas artificiales de optimizacion restringida. Es del interesahora conocer su desempeno en un problema real de diseno mecatronico alcalibrar sus parametros o controlarlos de manera dinamica.

1.5. Trabajos relacionados

En las siguientes subsecciones se presentan algunos algoritmos inspiradosen la naturaleza que son utilizadas para resolver problemas de optimizacionvinculados al diseno de manipuladores roboticos y mecanismos basados eneslabones (o barras).

1.5.1. Algoritmo POEMA

El algoritmo POEMA (Pareto Optimum Evolutionary Multiobjective Algo-rithm) presentado por Cabrera en [4], es una version modificada del algoritmode Evolucion Diferencial tradicional en la que se anaden elementos para laoptimizacion multi-objetivo, un enfoque basado en Pareto, una funcion quecontrola el numero de individuos no-dominados de la poblacion y una tecnica

CAPITULO 1. INTRODUCCION 6

para manejar las restricciones en problemas multi-objetivo.

El algoritmo POEMA se utiliza para resolver dos instancias relacionados conel diseno de una mano robotica de un grado de libertad con base en lascaracterısticas geometricas, mecanicas y cinematicas. La primera instanciaestablece una funcion multi-objetivo definida por las funciones que minimizanel ındice de agarre, la aceleracion en el punto de contacto, el grosor de lasbarras y la longitud de las barras o vınculos del mecanismo. La segundainstancia considera el mecanismo anterior en un ambiente donde el punto decontacto del mecanismo sigue una trayectoria determinada.

1.5.2. Algoritmo NSGA

El algoritmo NSGA (Non-dominated Sorting Genetic Algorithm) fue disenadopara resolver problemas de optimizacion multi-objetivo basado en la estruc-tura del algoritmo genetico simple. NSGA mantiene los mecanismos de re-combinacion y mutacion, pero varıa la forma en que el operador de selecciontrabaja, ya que se inspira en el metodo de seleccion no-dominada de Gold-berg “para enfatizar los puntos buenos, y utiliza un metodo de nicho paramantener una subpoblacion estable de puntos buenos” [39].

En este orden de ideas, la investigacion realizada en [31] sugiere la evaluaciondel algoritmo NSGA para determinar la posicion de agarre con el mınimo defuerza que realizara un efector final de tres dedos con dos grados de libertadpor cada dedo al entrar en contacto con un objeto. Para ello se especificala cinematica y dinamica del gripper, el espacio de trabajo que representa elconjunto de puntos de contacto sobre los cuales el algoritmo NSGA ha deexplorar y se formulan el vector de funciones a minimizar para obtener lamagnitud de la fuerza que ejecutara el mecanismo en cuestion.

1.5.3. Algoritmo genetico

En el artıculo presentado en [33] se utiliza un Algoritmo Genetico (AG) parala generacion de trayectorias de un manipulador robotico. El planteamientode esta investigacion conlleva a proponer tres casos para el seguimiento detrayectorias: lineal, elıptica y la ultima es generada por medio de una funcionaleatoria.

El autor de este artıculo no realiza ninguna modificacion al algoritmo geneti-co, pero sı estudia el desempeno que tiene el algoritmo al controlar los valoresiniciales de los parametros que utiliza el AG en los tres casos mencionados.

CAPITULO 1. INTRODUCCION 7

1.5.4. Algoritmo Harmony Search

Harmony Search (o busqueda armonica) es un algoritmo inspirado en el pro-ceso de composicion e improvisacion musical y en este caso es utilizado en eldiseno de un mecanismo de cuatro barras impulsado por un motor de corrien-te directa (C.D.) propuesto en [30]. De acuerdo con este trabajo, la velocidadangular de entrada del mecanismo no siempre es constante, por lo que el di-seno conlleva a un problema de optimizacion dinamico mono-objetivo parael control de velocidad del motor de C.D. Por tanto, la funcion objetivo mi-nimiza la variacion de la senal de entrada a fin de que sea constante.

Para efectos de este estudio, Harmony Search demostro tener un mejor desem-peno al resolver el problema de control de velocidad del motor de C.D. encomparacion a resultados previos alcanzados por el algoritmo Evolucion Dife-rencial. Asimismo, el trabajo concluye expresando el potencial del algoritmoHarmony Search para resolver problemas de diseno en ingenierıa y sobre sufutura aplicacion en trabajos relacionados al area.

1.5.5. Algoritmo Evolutivo

El Algoritmo Evolutivo tratado en [25] para la optimizacion de un problemamecatronico, esta basado en la version tradicional de Evolucion Diferencial(ED/rand/1/bin).

Los elementos anadidos a esta version se han llevado a cabo con la finalidadde adecuarlo a un problema multi-objetivo que busca obtener el diseno opti-mo de un sistema pinon-cremallera de transmision continuamente variable(CVT, por sus siglas en ingles).

De acuerdo con los autores, los elementos implementados en el algoritmoadaptan: (1) el criterio de seleccion entre padres y descendientes con base enel principio de dominancia de Pareto, combinado con (2) las reglas de factibi-lidad de Deb [6], y (3) un archivo externo en el que se guardan las solucionesno dominadas del proceso evolutivo que forman parte de los resultados finalesobtenidos por el algoritmo [25].

Todos los parametros del algoritmo son definidos por el usuario y permanecenfijos durante la ejecucion, sin embargo, los valores de la mutacion y cruza songenerados aleatoriamente entre los intervalos F = [0,3, 0,9] y CR = [0,8, 1]respectivamente.

CAPITULO 1. INTRODUCCION 8

La version mencionada fue considerada en este trabajo para realizar un anali-sis comparativo con la version modificada del algoritmo DECV. Para ello, solose tuvo en cuenta el mecanismo que anade las reglas de factibilidad de Deben el criterio de seleccion y los valores asignados a F y CR.

1.6. Contribuciones

La principal contribucion de este trabajo es la de obtener la primera adapta-cion del algoritmo DECV para resolver de manera competitiva, basada en unestudio de configuracion de parametros, una instancia real de un problemade diseno mecatronico.

1.7. Organizacion del documento

En el Capıtulo 2 se presentan los conceptos basicos de un problema de op-timizacion. En el Capıtulo 3 se trata el tema de la Evolucion Diferencial,donde se describen sus operadores, el proceso de seleccion y se incluyen algu-nas de sus variantes. El Capıtulo 4 expone el proceso de sıntesis dimensionalreferente al mecanismo utilizado en el diseno del efector final. De lo anterior,derivan dos problemas de optimizacion para el agarre esferico de objetos. ElCapıtulo 5 explica el funcionamiento de la version original de DECV y el me-canismo anadido para un control dinamico sobre el parametro de mutacion.El Capıtulo 6 expone como se llevo a cabo el experimento y los resultadosobtenidos con los algoritmos comparados. Finalmente, el Capıtulo 7 abordalas conclusiones y el trabajo futuro que deriva de este trabajo de tesis.

1.8. Publicaciones derivadas de esta tesis

Efren Mezura-Montes, Edgar-Alfredo Portilla-Flores and Edith Capistran-Gumersindo, Dynamic Parameter Control in Differential Evolution withCombined Variants to Optimize a Three-Finger End Effector, in Pro-ceedings of the 2015 IEEE International Autumn Meeting on Power,Electronics and Computing (ROPEC 2015), IEEE Press, 2015 (en im-presion) Premiado como mejor artıculo del area de Computacion.

Edith Capistran-Gumersindo y Efren Mezura-Montes, ¿Como ajustarlos parametros de un algoritmio bio-inspirado?, Revista Iztatl, 2016 (enimpresion).

Capıtulo 2Optimizacion

2.1. Concepto de optimizacion

Optimizar consiste en encontrar una solucion o conjunto de soluciones querepresenten el valor maximo o mınimo de una funcion objetivo. Dicho va-lor puede ser un indicador del tipo “costo”, “produccion”, “ganancia”, etc.,segun el caso que plantee el problema de optimizacion. Ası pues, el valor quese busca es llamado objetivo, y la ecuacion asociada corresponde a la funcionobjetivo [12].

Otra definicion acerca del concepto optimizacion, propuesta por Barrios [2],establece que la “optimizacion es cualquier proceso generico por el cual seproduce la mejor solucion a un problema dado (optimo viene del latın, opti-mus, que significa mejor)” [2].

Desde el punto de vista de la Investigacion de Operaciones (IO), la optimiza-cion es un proceso util para la toma de decisiones. A traves de la optimizacionse resuelven situaciones conflictivas de tal forma que la solucion encontradaes la mas adecuada. Su resolucion depende de la formulacion de un modelomatematico que interprete la realidad lo mejor posible, y ası definir un meto-do que resuelva el problema de optimizacion. Por consiguiente, los metodosempleados en la resolucion de los problemas de optimizacion son divididosen tres grupos [12]:

9

CAPITULO 2. OPTIMIZACION 10

1. Calculo: este metodo se refiere a la resolucion a traves del calculo de deri-vadas para determinar el maximo o mınimo de una funcion. Pese a que es unmetodo robusto, en la practica requiere de un esfuerzo mayor y no es eficientecuando el problema tiene muchas variables, lo que lo hace poco util, sobretodo en problemas complejos de la ingenierıa.

2. Tecnicas de busqueda: involucran (1) a las tecnicas exactas, que garantizanla convergencia al valor optimo de una solucion cuando las caracterısticas deun problema son afines a la tecnica, y (2) las tecnicas de busqueda apro-ximadas que se pueden aplicar a diferentes problemas sin requerir que suscaracterısticas sean afines a la tecnica, sin embargo no garantizan encontrarel optimo para un problema dado.

3. Tecnicas de convergencia de soluciones: a diferencia de la clase anterior,este ultimo grupo esta compuesto totalmente de tecnicas metaheurısticas, lascuales parten de generar un conjunto inicial de soluciones, selecciona a lasmejores soluciones, y a partir de estas, genera un nuevo conjunto de solucio-nes, proceso que se repite iterativamente hasta que las soluciones generadasconvergen en una sola. Versiones mas conocidas de este grupo son los algorit-mos Swarm Intelligence (basados en inteligencia colectiva o de enjambre)[11]y los Algoritmos Evolutivos (basados en poblaciones) [9].

Por otra parte, atendiendo a una serie de caracterısticas principales de losproblemas de optimizacion, estos se clasifican en [35]:

Segun el numero de objetivos a resolver, los problemas de optimizacionpueden ser de dos tipos: mono-objetivo y multi-objetivo

Problemas con restricciones y sin restricciones

Segun el tipo de ecuaciones involucradas, los problemas pueden ser:lineales, no lineales, de programacion geometrica y de programacioncuadratica

Segun la naturaleza determinista de sus variables, se definen como es-tocasticos o deterministas

CAPITULO 2. OPTIMIZACION 11

Adicionalmente, los problemas de optimizacion pueden ser de tipo numericoo combinatorio. En los del primer tipo, “se busca un conjunto de valores paralas variables del problema de manera que al sustituirse en la funcion objetivose maximice o minimice el valor de esta funcion. En el segundo caso se buscaencontrar el ordenamiento de un conjunto de elementos de manera que semaximice o minimice el valor de la funcion objetivo” [38].

2.2. Funcion objetivo

La funcion objetivo define las propiedades que se desean optimizar de unsistema u objeto de interes. Obtiene el mejor valor para un problema, ya seamaximo o mınimo, al evaluar los elementos del vector de variables [29].

Adicionalmente, una funcion objetivo posee atributos que pueden afectar eldesempeno de un optimizador [32]:

Parametros de cuantificacion. Especifica el tipo de variables que per-tenecen a la funcion objetivo, es decir, si son continuas, discretas o sipertenecen a un conjunto finito.

Parametros de dependencia. Senala si los parametros de la funcion ob-jetivo pueden ser optimizados independientemente o si el valor de unode ellos depende de otros.

Dimensionalidad. Se refiere al numero de variables que definen la fun-cion objetivo.

Modalidad. Indica si en la funcion objetivo tiene solo un mınimo local(uni-modal) o mas de uno (multi-modal).

Tiempo de dependencia. Cuando la ubicacion del optimo es estatica odinamica.

Ruido. Se habla de ruido si cada vez que se evalua al mismo vector seobtiene un valor inestable.

Restricciones. Indica si la funcion objetivo esta sujeta a restriccionesde igualdad y/o desigualdad.

Diferenciabilidad. Cuando la funcion objetivo es diferenciable en todoslos puntos de interes.

CAPITULO 2. OPTIMIZACION 12

2.3. Optimizacion mono-objetivo

La optimizacion mono-objetivo consiste en la resolucion de problemas quecontemplan un unico objetivo, dichos problemas pueden ser con restriccionesy sin restricciones. Su actividad se acota a la busqueda del valor optimo deuna funcion, ya sea que la minimice o maximice [5].

2.4. Variables de diseno

La formulacion de un problema de optimizacion comienza con la identifica-cion de los parametros de diseno. Estos parametros son llamados variablesde diseno y especifican lo que es controlable dentro del sistema u objeto deinteres a fin de obtener un diseno optimo. A menudo, estas variables son limi-tadas por el disenador en la etapa de analisis con valores maximos y mınimos.Sin embargo, dependiendo del metodo de solucion, algunos de estos lımitespueden ser tratados como restricciones.

2.5. Restricciones de diseno

Tras haber identificado a las variables de diseno, lo siguiente sera identifi-car las restricciones asociadas al problema de optimizacion en cuestion. Larestricciones representan los limites que se deben cumplir para obtener undiseno adecuado del sistema tratado [29]. Con la presencia de restriccionesse reduce el espacio de busqueda debido a que delimitan los valores posiblesa tomar por las variables. En consecuencia, aumenta la dificultad para en-contrar una solucion optima al problema que se este resolviendo, ya que conello se pierden algunos criterios de optimalidad.

Las restricciones pueden ser del tipo: menor o igual (≤), mayor o igual (≥) yde igualdad (=). Ademas, “las restricciones son estaticas cuando unicamentedependen de la evaluacion del conjunto de parametros del sistema. Cuando seinvolucran aspectos dinamicos o cuando se evaluan en un periodo de tiempo,las restricciones son dinamicas” [29].

2.6. Optimos globales y optimos locales

De manera general, una solucion potencial a un problema puede ser confor-mada por cualquier valor valido para cada una de sus variables. Sin embargo,cuando algunas de estas soluciones no satisfacen todas las restricciones del

CAPITULO 2. OPTIMIZACION 13

problema, nos referimos a ellas como soluciones no factibles. En caso con-trario, estas son conocidas como soluciones factibles (en un problema deoptimizacion sin restricciones, todas las soluciones son factibles) [19].

Ahora bien, si la funcion objetivo se esta maximizando, entonces el maximoglobal es aquella solucion factible que adquiere un valor mayor o igual (≥) queen cualquier otra de las soluciones factibles del problema. Sera un maximoglobal estricto si para la solucion encontrada, su valor de funcion objetivo esmayor (>) que los correspondientes valores de todas las soluciones factiblesencontradas [19].

Por otra parte, si la funcion objetivo se esta minimizando, entonces el mıni-mo global es aquella solucion factible que adquiere un valor menor o igual(≤) que en cualquier otra de las soluciones factibles del problema. Sera unmınimo global estricto si la solucion encontrada por dicha funcion objetivoes menor (<) que todas las soluciones factibles encontradas [19].

Por consiguiente, un optimo global o solucion optima de un problema de op-timizacion es definido en funcion de su maximo global, si el problema se vaa maximizar, o en funcion de su mınimo global, si el problema se va a mini-mizar.

Por el lado opuesto, un optimo local de un problema de optimizacion es aque-lla solucion optima (maxima o mınima) que se localiza dentro de un conjuntovecino de soluciones candidatas.

En el espacio de busqueda de un problema real suele haber diferentes optimoslocales (maximos o mınimos), entre los cuales solo uno de ellos representa eloptimo global que destaca de todos los conjuntos vecinos [28]. La Figura 2.1ilustra a detalle estos conceptos.

CAPITULO 2. OPTIMIZACION 14

Figura 2.1: Representacion de optimos globales y optimos locales. Graficagenerada con informacion de [23]

Capıtulo 3Evolucion Diferencial

El termino heurıstica proviene del vocablo griego heuriskein que podrıa inter-pretarse como encontrar, descubrir o hallar [27]. Las heurısticas proporcio-nan tecnicas busqueda basadas en reglas empıricas para resolver problemasde complejidad exponencial. Los algoritmos heurısticos estan disenados pa-ra explorar el espacio de busqueda, pero tienen como limitante su disenoparticular para un tipo determinado de problema, lo que dificulta su genera-lizacion.

En respuesta a este problema, han surgido algoritmos de busqueda llama-dos meta-heurısticos. Su proposito es proveer de mecanismos de busquedagenerales (conocidos como cajas negras) que pueden utilizarse en diferentestipos de problemas. Entre ellos, destacan aquellos inspirados en la naturaleza,como los algoritmos evolutivos.

3.1. Algoritmos Evolutivos

El Computo Evolutivo (CE) se presenta como una alternativa a los proce-sos de optimizacion y busqueda que supera las limitantes de los metodosde optimizacion tradicionales. Este tipo de algoritmos toma como fuente deinspiracion los mecanismos propuestos en la teorıa de la evolucion biologicade Darwin para imitar el proceso natural de seleccion en una metodologıa debusqueda [11].

Los algoritmos evolutivos utilizan esta alegorıa evolutiva del proceso naturalde seleccion como metodologıa en el proceso de optimizacion y busqueda.Esta metodologıa hace referencia al ciclo evolutivo que parte de una pobla-

15

CAPITULO 3. EVOLUCION DIFERENCIAL 16

cion inicial de individuos generados de manera aleatoria, dicha poblacion esevaluada para obtener el valor de aptitud maximo o mınimo, segun sea elcaso. Los individuos que mejor se adapten, seran sometidos a un proceso derecombinacion y mutacion para generar nuevos descendientes, quienes parti-ciparan en el siguiente ciclo evolutivo hasta que el valor de la aptitud hayamejorado significativamente. La Figura 1, adaptada de [11], presenta a detalleel seudocodigo de un algoritmo evolutivo.

Algorithm 1 Seudocodigo de un algoritmo evolutivo.

1: Inicio2: g = 03: Inicializar poblacion Pg de N individuos:= ~Pg,n|n = 1, ..., N .4: while no se cumpla la condicion de paro do5: Evaluar la aptitud f(~Pg,n) de cada individuo en la poblacion Pg6: Seleccionar progenitores.7: Combinar progenitores para generar descendientes.8: Realizar mutacion sobre los descendientes.9: Seleccionar a la nueva generacion Pg+1.

10: Incrementar generacion g = g + 1.11: end while12: Fin

Esta secuencia de pasos del algoritmo evolutivo resalta en los principales pa-radigmas que dieron origen al CE y cuyo comun denominador es la metaforaevolutiva: la Programacion Evolutiva (PE) [14], los Algoritmos Geneticos(GA) [17] y las Estrategias Evolutivas [1]. Adicionalmente, la combinacionde caracterısticas provenientes de estos paradigmas junto con otros meca-nismos que incorporan nuevas funcionalidades, han dado como resultado lacreacion de otros algoritmos evolutivos tales como: la programacion genetica[20], los algoritmos memeticos [18], los algoritmos culturales [36] y la Evolu-cion Diferencial [32].

En este trabajo de tesis el interes es la Evolucion Diferencial dado que elalgoritmo de estudio parte de los fundamentos de este paradigma.

3.2. Evolucion Diferencial

Evolucion Diferencial (ED) es un algoritmo de optimizacion estocastico pro-puesto por Storn y Price en 1995 para resolver problemas de optimizacionnumerica[32]. Se trata de un algoritmo evolutivo, altamente competitivo en

CAPITULO 3. EVOLUCION DIFERENCIAL 17

problemas de optimizacion global, que basa su estrategia en la busquedapoblacional. De este modo, ED parte de una poblacion de NP individuos,tambien llamados vectores, que representan las soluciones candidatas al pro-blema en cuestion:

xg,i = (xg,i,j), j = 1..., D, i = 1, ..., NP (3.1)

Cada xg,i,j es una variable de decision del problema; los parametros de cadavector son indizados con la variable j, que se extiende desde 1 hasta D. Losvectores son identificados a traves de un ındice de poblacion, i, mientras quela g corresponde al numero de la generacion actual, g = 1, ..., ggmax [32].

Los individuos de la poblacion son inicializados aleatoriamente dentro de suslımites inferiores y superiores Lj ≤ xj ≥ Uj. Tales individuos seran sometidosa operaciones de mutacion, recombinacion y seleccion para producir nuevosdescendientes que participaran en la siguiente generacion reemplazando a laanterior.

3.2.1. Mutacion

La Evolucion Diferencial enfatiza la direccion de busqueda en el operadorde mutacion, dado que este controla la magnitud con la que los vectores sedesplazan en el espacio de busqueda y la velocidad de convergencia hacia lasolucion optima.

En la version tradicional de ED, la mutacion diferencial anade una diferenciade dos vectores ponderada por un factor escala, a un tercer vector, todosellos seleccionados aleatoriamente.

vg,i = xg,r1 + F (xg,r2 − xg,r3), r1 6= r2 6= r3 6= i (3.2)

El parametro F ∈ [0, 1) controla el rango en que la poblacion evoluciona [32].

3.2.2. Cruza

La cruza o recombinacion es un proceso complementario a la mutacion conla cual se logra el intercambio de informacion entre dos o mas vectores paracrear uno o mas vectores hijo. Existen dos tipos de recombinacion: discretay continua. En la recombinacion discreta, el vector hijo obtiene los parame-tros del vector padre o del vector mutante. En la recombinacion continua o

CAPITULO 3. EVOLUCION DIFERENCIAL 18

aritmetica el vector hijo hereda sus parametros por medio de una combina-cion lineal de vectores. Cada una de estas recombinaciones tienen diferentesimplementaciones [32]:

Discreta

• Binomial

• Exponencial

• Un punto

• Multi-puntos

Continua o aritmetica

• Lineal

• Intermedia

• Intermedia extendida

A continuacion se explican las cruzas mas comunes, utilizadas en la Evolu-cion Diferencial. Para mayor detalle de las cruzas restantes, el lector puedeconsultarlas en [32].

3.2.2.1. Cruza binomial (uniforme)

La recombinacion binomial consiste en intercambiar informacion entre el vec-tor padre (target) y el vector mutado, por medio de una probabilidad derecombinacion CR ∈ [0, 1) y un valor entero aleatorio jrand ∈ [1...NP ]. CRvarıa el numero de elementos del vector padre y del vector mutante queseran incluidos en el vector hijo [34]. Con jrand aseguramos que el vector hijo(trial) sea diferente del vector target al incluir en el, por lo menos uno de losparametros del vector mutado.

Para ilustrar este caso, la Ec. 3.3 resume el proceso de cruza binomial:

ug,i,j =

vg,i,j si (randj[0, 1) < CR) o j = jrand

xg,i,j de otro modo(3.3)

3.2.2.2. Cruza exponencial

El primer paso de la cruza exponencial consiste en seleccionar aleatoriamen-te un numero entero jrand = 1...D, donde ‘D’ es la dimension del vector. Apartir de la posicion jrand, el vector trial ug,i,j heredara los valores del vectormutante vg,i,j mientras randj ≤ CR. En caso contrario, cuando randj > CR,las variables restantes son heredadas del vector target xg,i,j [32].

ug,i,j =

vg,i,j mientras (randj(0, 1) < CR)

xg,i,j de otro modo(3.4)

CAPITULO 3. EVOLUCION DIFERENCIAL 19

3.2.3. Seleccion

Finalmente, con el mecanismo de seleccion se evalua si el valor de la funcionobjetivo del vector trial ug,i es menor (asumiendo minimizacion) que el vectortarget xg,i, de ser ası, reemplazara su posicion en la siguiente generacion, deotro modo, el target se mantiene (ver Ec. 3.5).

xg+1,i =

ug,i si f(ug,i) ≤ f(xg,i)

xg,i de otro modo(3.5)

En la Figura 3.1 se presenta la estructura base de un algoritmo de Evolu-cion Diferencial (ED/rand/1/bin), cuyo proceso integra los operadores demutacion, recombinacion y seleccion antes mencionados.

1: Inicio2: Crear una poblacion inicial aleatoriamente x0,i i = 1, ..., NP3: Evaluar poblacion f(x0,i) i = 1, ..., NP4: for g=0 to MAX GEN do5: for i=1 to NP do6: Seleccionar aleatoriamente r1 6= r2 6= r3 6= i7: jrand = randint[1, D]8: for j=1 to D do9: if (randj [0,1) < CR or j = jrand) then

10: ug,i,j = xg,r1,j + F (xg,r2,j − xg,r3,j)11: else12: ug,i,j = xg,i,j13: end if14: end for15: if f(ug,i) ≤ f(xg,i) then16: xg+1,i = ug,i17: else18: xg+1,i = xg,i19: end if20: end for21: end for22: Fin

Figura 3.1: Algoritmo de Evolucion Diferencial, variante ED/rand/1/bin

CAPITULO 3. EVOLUCION DIFERENCIAL 203.2

.4.

Vari

ante

sd

eE

D

La

nom

encl

atura

uti

liza

da

enE

volu

cion

Dif

eren

cial

esE

D/l

/m/n

,don

de

‘ED

’in

dic

ael

nom

bre

Evo

luci

onD

ifer

en-

cial

o‘D

E’

(Diff

eret

ial

Evo

luti

on),

‘l’

repre

senta

lafo

rma

enla

que

sese

lecc

iona

elve

ctor

bas

epar

auti

liza

rlo

enla

muta

cion

,‘m

’se

nal

ael

num

ero

de

dif

eren

cias

real

izad

asen

lam

uta

cion

y‘n

’se

refier

eal

tip

ode

reco

mbin

acio

nuti

liza

da

[26]

.

La

vers

ion

clas

ica

de

ED

esel

algo

ritm

oden

omin

ado

ED

/ran

d/1

/bin

,si

nem

bar

goex

iste

not

ras

vari

ante

sde

esta

estr

ateg

iaque

aco

nti

nuac

ion

sem

enci

onan

[34]

:

a)E

D/ra

nd/1/bin

:

ug,i,j

=

v g,i,j

=xg,r1,j

+F

(xg,r2,j−xg,r3,j

)si

(randj[0,1

)<

CR

)oj

=j rand

xg,i,j

deotromodo

b)

ED

/ra

nd/1/exp:

ug,i,j

=

v g,i,j

=xg,r1,j

+F

(xg,r2,j−xg,r3,j

)mientras

(randj[0,1

)<

CR

)oj

=j rand

xg,i,j

deotromodo

c)E

D/b

est

/1/bin

:

ug,i,j

=

v g,i,j

=xg,best,j

+F

(xg,r2,j−xg,r3,j

)si

(randj[0,1

)<

CR

)oj

=j rand

xg,i,j

deotromodo

d)

ED

/b

est

/1/exp:

ug,i,j

=

v g,i,j

=xg,best,j

+F

(xg,r2,j−xg,r3,j

)mientras

(randj[0,1

)<

CR

)oj

=j rand

xg,i,j

deotromodo

CAPITULO 3. EVOLUCION DIFERENCIAL 21e)

ED

/cu

rrent-

to-r

and/1:

ug,i,j

=xg,i,j

+F

(xg,r1,j−xg,i,j

)+F

(xg,r2,j−xg,r3)

f)E

D/cu

rrent-

to-b

est

/1:

ug,i,j

=xg,i,j

+F

(xg,best,j−xg,i,j

)+F

(xg,r2,j−xg,r3,j

)

g)E

D/cu

rrent-

to-r

and/1/bin

:

ug,i,j

=

v g,i,j

=xg,i,j

+F

(xg,r1,j−xg,i,j

)+F

(xg,r2,j−xg,r3,j

)si

(randj[0,1

)<

CR

)

oj

=j rand

xg,i,j

deotromodo

h)

ED

/cu

rrent-

to-b

est

/1/bin

:

ug,i,j

=

g,i,j

=xg,i,j

+F

(xg,best,j−xg,i,j

)+F

(xg,r2,j−xg,r3,j

)si

(randj[0,1

)<

CR

)

oj

=j rand

xg,i,j

deotromodo

Bas

icam

ente

esto

sm

odel

osse

cara

cter

izan

por

elti

po

de

reco

mbin

acio

nque

uti

liza

n.

En

las

vari

ante

sde

los

inci

sos

a),b),

c)y

d),

lare

com

bin

acio

nes

dis

cret

a,en

e)y

f)la

reco

mbin

acio

nes

arit

met

ica

yen

g)y

h)

esuna

com

bin

acio

nde

las

reco

mbin

acio

nes

arit

met

ica

ydis

cret

a.

El

algo

ritm

outi

liza

do

enes

tees

tudio

oper

aco

nla

sva

rian

tes:

ED

/ran

d/1

/bin

yE

D/b

est/

1/bin

deb

ido

aque

mas

adel

ante

,en

elC

apıt

ulo

5se

des

crib

eel

funci

onam

iento

del

algo

ritm

oD

EC

Vy

eles

tudio

de

configu

raci

onde

par

amet

ros

par

am

ejor

arsu

des

emp

eno

enlo

spro

ble

mas

que

sepla

nte

anen

este

trab

ajo

de

tesi

s.

Capıtulo 4Sıntesis del efector final de tres dedos

Un mecanismo es un dispositivo mecanico que tiene la capacidad de generarmovimiento y/o transferir fuerza desde un punto de entrada hacia un puntode salida. Su estructura esta compuesta de eslabones (o barras) que se co-nectan entre sı por medio de juntas para formar cadenas. Estas conexionesle dan la flexibilidad para transmitir movimiento ya sea en un espacio bidi-mensional (donde las trayectorias son rectas, curvilıneas paralelas) o en unespacio tridimensional (trayectorias esfericas, cilındricas, etc.) [13].

La cinematica es la ciencia que se encarga del estudio del movimiento. Alproceso de identificar las propiedades particulares de un mecanismo sobre labase de su geometrıa se le conoce como analisis cinematico. En cambio, alproceso de disenar un mecanismo para que realice un movimiento particu-lar se le llama sıntesis cinematica. Cuando se busca definir una combinaciontopologica que se adecue al mecanismo para que realice una tarea de movi-miento, la sıntesis cinematica es llamada tipo sıntesis. De otro modo, cuandose parte de una topologıa definida, es decir, que se conoce el tipo y numerode eslabones que se utilizaran en el mecanismo, la sıntesis cinematica es di-mensional [13].

Segun la tarea de movimiento que lleven a cabo los mecanismos, la sıntesisdimensional se clasifican en [13]:

Generacion de funcion: los movimientos de entrada y salida (rotaciony traslacion) de un mecanismo son acoplados con relacion a un eje.

Generacion de trayectoria: el elemento impulsor de la entrada transfor-ma el movimiento en una trayectoria seguida por un punto ubicado enel acoplador del mecanismo.

22

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 23

Generacion de movimiento: cuando un cuerpo rıgido requiere de unafuente de entrada para ser dirigido por medio de un conjunto de posi-ciones y orientaciones establecidos.

En este trabajo de tesis se lleva a cabo el analisis dimensional del tipo gene-racion de trayectoria sobre el sistema del efector final que esta compuesto detres dedos, donde cada dedo se construye con un mecanismo de seis barras(ver Figura 4.1) cuya configuracion habilita el agarre esferico. El analisis deuno de los dedos es suficiente para la construccion del efector final.

Figura 4.1: Mecanismo de 6 barras.

El diseno del dedo de la Figura 4.1 esta estructurado por dos mecanismosque operan conjuntamente, los cuales representan las falanges de un dedopara brindar un estructura antropomorfa. El primero es un mecanismo demanivela-biela-corredera (MBC) usado en la entrada (r2, r3, r4), y el segun-do es un mecanismo de cuatro barras para la salida (r0, r

′2, r5, r6). El elemento

impulsor es la corredera y el punto ‘E’ en el acoplador es la salida del sistema.Cada uno de estos mecanismos es analizado de manera independiente en lassiguientes secciones.

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 24

4.1. Sıntesis cinematica del mecanismo manivela-

biela-corredera

A continuacion se realiza el analisis de posicion de los elementos del meca-nismo MBC de la Figura 4.2, segun la ubicacion de la corredera ~r4 respectoal eje de referencia x: r4 > 0, r4 < 0, y r4 = 0.

Figura 4.2: Mecanismo manivela biela corredera (MBC).

a) Si la corredera r4 > 0, entonces:

Figura 4.3: Mecanismo MBC. Caso r4 > 0.

En este caso, interesa calcular el valor del angulo θ3 correspondiente a lasuma de los angulos ϕ, θ2 (segun la propiedad de los angulos opuestos por elvertice) y π (equivalente a 180).

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 25

Con base en lo anterior, el presente esquema de ecuaciones muestra el se-guimiento para calcular el valor del angulo θ2 por medio de la suma de losangulos β y γ ilustrados en la Figura 4.3:

θ2 = β + γ (4.1)

Primero se obtiene la formula de la variable l que representa la hipotenusadel triangulo que se forma entre las variables r1 y r4, la cual se obtiene atraves del Teorema de Pitagoras asumiendo que se conocen r1 y r4.

l =√r21 + r24 (4.2)

Por medio de la ley de cosenos, se obtiene el angulo γ en la Ec. 4.3:

r23 = r22 + l2 − 2r2 l Cos γ (4.3)

Con lo anterior se despeja γ y se obtiene la Ec. 4.4:

γ = Cos−1[r22 + l2 − r23

2 r2 l

](4.4)

La variable l es reemplazada por la Ec. 4.2.

El segundo paso, sera calular el angulo β por medio de una funcion inversa dela tangente que es igual al arcotangente de la division entre su lado opuestor4 y su lado adyacente r1.

β = tg−1(|r4|r1

)(4.5)

En la Ec. 4.1 se sustituye γ y β por las ecuaciones 4.4 y 4.5 respectivamente:

θ2 = Cos−1[r22 + l2 − r23

2r2l

]+ tg−1

(r4r1

)Lo siguiente sera calcular el angulo ϕ aplicando la ley de cosenos en la si-guiente formula:

l2 = r22 + r23 − 2r2r3Cosϕ (4.6)

Despejamos ϕ de la Ec. 4.6:

ϕ = Cos−1[r22 + r23 − l2

2r2r3

](4.7)

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 26

Finalmente, dado que ya se tienen las ecuaciones para θ2 y ϕ, se puede calularel angulo de transmision θ3 con la siguiente ecuacion:

θ3 = π + θ2 + ϕ (4.8)

b) Si la corredera ~r4 < 0 entonces:

Figura 4.4: Mecanismo manivela biela corredera. Caso r < 0

El procedimiento matematico para el caso b) es igual al anterior en las ecua-ciones 4.10, 4.11, 4.12, 4.13, con la distincion que en la Ec. 4.1 se debe calcularla diferencia de los angulos γ y β para θ2.

θ2 = γ − β (4.9)

l =√r21 + r24 (4.10)

r23 = r22 + l2 − 2r2lCosγ (4.11)

γ = Cos−1[r22 + l2 − r23

2r2l

](4.12)

β = tg−1(|r4|r1

)(4.13)

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 27

Se sustituyen las ecuaciones 4.12 y 4.13 en la Ec. 4.1:

θ2 = Cos−1[r22 + l2 − r23

2r2l

]− tg−1

(|r4|r1

)Asimismo, se aplica la ley de cosenos en la Ec. 4.14 donde se despeja ϕ parallegar a la Ec. 4.15:

l2 = r22 + r23 − 2r2r3Cosϕ (4.14)

ϕ = Cos−1[r22 + r23 − l2

2r2r3

](4.15)

Por ultimo, nuevamente se sustituyen las ecuaciones formuladas para θ2 y ϕen la Ec. 4.16 de θ3:

θ3 = π + θ2 + ϕ (4.16)

c) Un ultimo caso se presenta cuando la corredera esta alineada con el eje x,donde r4 = 0, por consiguiente:

Figura 4.5: Mecanismo manivela biela corredera. Caso r = 0.

El angulo de θ3 esta dado por la suma de π, θ2 y ϕ, como se muestra en laEc. 4.17. Por ello, se deben formular las ecuaciones para tales variables.

θ3 = π + θ2 + ϕ (4.17)

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 28

Aplicando la ley de cosenos en 4.18, al despejar θ2 se obtiene la Ec. 4.19:

r23 = r21 + r22 − 2r1r2Cosθ2 (4.18)

θ2 = Cos−1[r21 + r22 − r23

2r1r2

](4.19)

De la misma forma, utilizando la ley de cosenos en la Ec. 4.20, al despejar lavariable ϕ, se obtiene la Ec. 4.21 para este angulo.

r21 = r22 + r23 − 2r2r3 Cos ϕ (4.20)

ϕ = Cos−1

[r22 + r23 − r21

2r2r3

](4.21)

4.2. Sıntesis cinematica del mecanismo de cua-

tro barras

Sea el mecanismo presentado en la Figura 4.6, donde no se muestra el aco-plador para mayor claridad en la obtencion de la cinematica.

Figura 4.6: Mecanismo de cuatro barras

Es importante observar que la manivela (r2) del mecanismo de entrada (Fi-gura 4.2) es el elemento impulsor del segundo mecanismo (Figura 4.6), sinembargo las dimensiones son diferentes para cada caso particular.

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 29

La ecuacion de cierre de circuito para el mecanismo es:

~r′2 + ~r5 = ~r0 + ~r6 (4.22)

En forma polar:

r′2eiθ′2 + r5e

iθ5 = r0eiθ0 + r6e

iθ6 (4.23)

Aplicando la Ley de Euler y separando parte real e imaginaria:

r′2Cosθ′2 + r5Cosθ5 = r0Cosθ0 + r6Cosθ6 (4.24)

r′2Senθ′2 + r5Senθ5 = r0Senθ0 + r6Senθ6

donde:

θ′2 = θ2 + α (4.25)

Para el caso de θ2, fue obtenido a partir del mecanismo de entrada (Figura4.2).

Para calcular θ5, el procedimiento esta dado por el siguiente conjunto deformulaciones.Reordenando las ecuaciones de 4.24, se obtiene que:

r6Cosθ6 = r′2Cosθ′2 + r5Cosθ5 − r0Cosθ0 (4.26)

r6Senθ6 = r′2Senθ′2 + r5Senθ5 − r0Senθ0

Sumando los cuadrados de las ecuaciones anteriores, la ecuacion de Freudens-tein en forma compacta es la siguiente:

ACosθ5 +BSenθ5 + C = 0 (4.27)

donde:A = 2r5(r

′2Cosθ

′2 − r0Cosθ0)

B = 2r5(r′2Senθ

′2 − r0Senθ0))

C = r20 + r′2 + r25 − r26 − 2r0r′2Cos(θ0 − θ′2)

Sustituyendo las igualdades trigonometricas siguientes en (3):

Senθ5 =

2tg

(θ52

)1+tg2

(θ52

) Cosθ5 =

1− tg2(θ52

)1+tg2

(θ52

)

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 30

Se obtiene que θ5 es:

θ5 = arctg

[−B ±

√B2 + A2 − C2

C − A

](4.28)

Un procedimiento similar se lleva a cabo para obtener la funcion matematicapara θ6. La ecuacion de Freudenstein en forma compacta es:

DCosθ6 + ESenθ6 + F = 0 (4.29)

donde:D = 2r6(r0Cosθ0 − r′2Cosθ′2)E = 2r6(r0Senθ0 − r′2Senθ′2)F = r20 + r′22 + r26 − r25 − 2r0r

′2Cos(θ0 − θ′2)

Por lo que se obtiene que:

θ6 = 2arctg

[−E ±

√E2 +D2 − F 2

F −D

](4.30)

Las ecuaciones 4.28 y 4.30 determinan los angulos de la biela y el balancın delmecanismo de cuatro barras para la seleccion adecuada del signo del radical.En este caso, se utilizo una configuracion abierta.

Tabla 4.1: Configuracion del signo para el mecanismo de cuatro barrasConfiguracion θ5 θ6

Abierta −√ +√

Cruzada +√ −√

Finalmente, se debe determinar la posicion del punto E del acoplador.

El punto de interes en el acoplador es el punto ~E, para el cual se estableceel analisis de posicion de la siguiente forma. Se tiene que:

E = r′2 + rEX + rEY (4.31)

en terminos de componentes:

Ex = r′2Cosθ′2 + rEXCosθ5 + rEYCosθEY (4.32)

Ey = r′2Senθ′2 + rEXSenθ5 + rEY SenθEY

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 31

Figura 4.7: Acoplador ubicado en el mecanismo de cuatro barras.

donde:θ2′ = θ2 + αθEY = θ5 − 90

Por otro lado, para la manivela de ambos mecanismos dados r2 y r2′, asıcomo α, se puede obtener el lado restante.

r2 = r22 + r′22 − 2r2r′2Cosα (4.33)

r =√r22 + r′22 − 2r2r′2Cosα

4.3. Declaracion del problema de optimiza-

cion

Para el diseno optimo del mecanismo se tiene el siguiente vector de variablesde diseno generico correspondiente a cada uno de los elementos del mecanismode seis barras de la Figura 4.1:

~p = [r1, r2, r3, r14, r

24, r

34, r0, r

′2, r5, r6, rEX , rEY , α, θ0]

T

Cada variable de diseno es definida en este trabajo como:

~p = [p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14]T

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 32

Asimismo, de forma experimental se ha definido el conjunto de puntos deprecision Ω con la finalidad de que el punto ‘E’ del mecanismo de seis barrasefectue el seguimiento de una trayectoria no-lineal similar a la trazada en laFigura 4.8.

Ω = (−10, 160), (10, 170), (40, 165)

Figura 4.8: Representacion de la trayectoria esferica marcada por los puntosde precision Ω.

La funcion objetivo se establece como:

f(ri4) =N∑i=1

(Cid − Ci)2 =

N∑i=1

[(Cixd − Ci

x)2 + (Ci

xd − Cy)2]

donde, Cid es el punto deseado y Ci el punto encontrado en las coordenadas

(x, y). Con ello se plantea minimizar la distancia representada por el errorcuadratico de un punto encontrado con respecto al punto deseado (puntoprecision).

Para un correcto funcionamiento del mecanismo deben cumplirse las siguien-tes restricciones de diseno:

a) Ley de Grashof

La ley de Grashof se aplica a un mecanismo de cuatro barras para analizary efectuar un movimiento de rotacion esperado. Dicho criterio establece quela suma de la barra mas larga lmax y la barra mas corta lmin debe ser menora la suma de las barras restantes l′, l′′ [22].

lmax + lmin < l′ + l′′

En el caso particular del mecanismo de cuatro barras con doble balancın dela Figura 4.6, debe cumplirse la restriccion de Grashof de la siguiente forma:

r6 + r5 < r0 + r′2

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 33

Adicionalmente las barras:

r0 < r6r′2 < r6r5 < r6

b) Secuencia en la posicion de la corredera

Esta restriccion obedece al orden secuencial del desplazamiento de la co-rredera r4 del mecanismo MBC de la Figura 4.2 a traves de las diferentesposiciones.

ri4 < ri+14 i = 1, 2, ..., N − 1

c) Que rEX sea lo mas igual a r5

rEX − r5 ≤ 0

Sumado a los tres restricciones anteriores, en el mecanismo de entrada serecomienda que la relacion de la biela y la manivela este entre 1

3y 1

5, esto es:

1

5≤ r

l≤ 1

3

donde, r es la manivela, y l la biela. En el caso particular del mecanismoMBC se tiene lo siguiente:

1

5≤ r2r3≤ 1

3

es decir:

r2 −r33≤ 0

r35− r2 ≤ 0

A continuacion se presentan dos problemas de optimizacion derivados delanalisis dimensional del efector final de tres dedos para la generacion detrayectoria con tres puntos de precision.

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 34

4.3.1. Primer problema de optimizacion

Minimizar f(~p) =3∑i=1

[(Cixd − Ci

x)2 + (Ci

yd + Ciy)

2]

p ∈ R14

Retomando lo anteriormente expuesto, las variables Cxd, Cyd son las posicio-nes deseadas y Cx, Cy las posiciones encontradas.

Se deben cumplir las restricciones:

Grashof:p10 + p9 − p8 − p7 ≤ 0p7 − p10 ≤ 0p8 − p10 ≤ 0p9 − p10 ≤ 0

Restriccion sobre rEXp11 − p9 ≤ 0Secuencia:|p4| − |p5| ≤ 0|p5| − |p6| ≤ 0

Cada variable (pi) del mecanismo de seis barras esta limitado por los rangos:

0 ≤ pi ≤ 100 i = 1, 2, 3

−50 ≤ pi ≤ 100 i = 4, 5, 6

0 ≤ pi ≤ 150 i = 7, 8, 9, 10, 11, 12

π

12≤ pi ≤ π i = 13

4≤ pi ≤ 5π

4i = 14

CAPITULO 4. SINTESIS DEL EFECTOR FINAL DE TRES DEDOS 35

4.3.2. Segundo problema de optimizacion

El segundo planteamiento es similar al anterior, con la diferencia de que anadeuna funcion de normalizacion (F.N.) mostrada en la Ec. 4.34 para obtenerun diseno mas estetico y antropomorfo en las falanges del mecanismo de seisbarras.

Minimizar f(~p) =3∑i=1

[(Cixd − Ci

x)2 + (Ci

yd + Ciy)

2] + F.N.

p ∈ R14

Se deben cumplir las restricciones:

Grashof:p10 + p9 − p8 − p7 ≤ 0p7 − p10 ≤ 0p8 − p10 ≤ 0p9 − p10 ≤ 0

Restriccion sobre rEXp11 − p9 ≤ 0Secuencia:|p4| − |p5| ≤ 0|p5| − |p6| ≤ 0

Las cotas de cada variable (pi) del mecanismo de seis barras son:

0 ≤ pi ≤ 100 i = 1, 2, 3

−50 ≤ pi ≤ 100 i = 4, 5, 6

0 ≤ pi ≤ 150 i = 7, 8, 9, 10, 11, 12

π

12≤ pi ≤ π i = 13

4≤ pi ≤ 5π

4i = 14

Funcion Normalizada:

F.N. =

√6∑i=1

∑j=i

(xj − xi)2√6∑i=1

x2i

(4.34)

Capıtulo 5Algoritmo DECV

5.1. Evolucion Diferencial con Variantes Com-

binadas

Anteriormente, en el Capıtulo 3 se dieron los conceptos basicos de EvolucionDiferencial y las diferentes variantes existentes, que de manera general in-volucran cambios en la seleccion del vector base, en el numero de vectoresdiferencia y en la cruza.

El algoritmo DECV utiliza una combinacion de dos variantes de EvolucionDiferencial a fin de ampliar las direcciones de busqueda y explotar los di-ferentes comportamientos de cada una de las variantes en un solo enfoque.Inicialmente este algoritmo es presentado en el estudio publicado en [24], cuyotrabajo destaca la capacidad de Evolucion Diferencial para resolver proble-mas de optimizacion numericos en espacios restringidos.

DECV mantiene la estructura general de un algoritmo de Evolucion Dife-rencial, como el presentado en la Figura 3.1 del Capıtulo 3, al cual se anadeun mecanismo para combinar las variantes ED/rand/1/bin en primer lugary ED/best/1/bin en segundo lugar, cuya principal diferencia radica en laseleccion del vector base.

El cambio de variante se lleva a cabo tras obtener un porcentaje de solucio-nes factibles en la poblacion (porcentajeFactibles) durante las N generaciones.Este valor es comparado contra el valor de un porcentaje para el cambio devariante (PCV) definido por el usuario.

36

CAPITULO 5. ALGORITMO DECV 37

Adicionalmente, se incorporaron como criterios de seleccion las tres reglas deDeb [6] que establecen las siguientes condiciones: (1) si dos vectores violanlas restricciones, se toma en cuenta para la siguiente generacion el que tienemenor valor en la suma de violacion de restricciones, (2) si ninguno de losvectores violan las restricciones, se selecciona el que tiene mejor valor en lafuncion de aptitud y (3) si solo uno de los vectores viola las restricciones delproblema, se omite y se toma en cuenta el vector factible. A continuacion, eldetalle del algoritmo DECV es presentado en la Figura 5.1.

DECV es un algoritmo muy versatil ya que se puede cambiar el orden de iniciode las variantes e incluso incorporar otras variantes de Evolucion Diferencial.Una fuente de mejora para este algoritmo es la que se aborda en la presenteinvestigacion, la cual se basa en la calibracion y el control de parametros.

CAPITULO 5. ALGORITMO DECV 38

1: Inicio2: Crear una poblacion inicial aleatoreamente x0,i i = 1, ..., NP3: Evaluar poblacion f(x0,i) i = 1, ..., NP4: for g=0 to MAX GEN do5: Calcular porcentajeFactibles6: for For i=1 to NP do7: if porcentajeFactibles ≥ PCV then8: Seleccionar r2 6= r3 6= i9: else

10: Seleccionar de manera aleatoria r1 6= r2 6= r3 6= i11: end if12: jrand = randint[1, D]13: for j=1 to D do14: if (randj [0,1) < CR or j = jrand) then15: if porcentajeFactibles ≥ PCV then16: ug,i,j = xg,best,j + F (xg,r2,j − xg,r3,j)17: else18: ug,i,j = xg,r1,j + F (xg,r2,j − xg,r3,j)19: end if20: else21: ug,i,j = xg,i,j22: end if23: end for24: if f(ug,i) es mejor (basado en las 3 reglas de factibilidad) que f(xg,i)

then25: xg+1,i = ug,i26: else27: xg+1,i = xg,i28: end if29: end for30: end for31: Fin

Figura 5.1: Algoritmo DECV

CAPITULO 5. ALGORITMO DECV 39

5.2. Configuracion de parametros en algorit-

mos evolutivos

Al tratar con Algoritmos Evolutivos (AE), no se puede dejar a un lado lafuerte dependencia de sus parametros de entrada con respecto al comporta-miento del algoritmo, ya que estos juegan un papel importante en la busquedade mejores soluciones; de ahı que realizar una configuracion adecuada de susparametros sea crucial para obtener un correcto desempeno del algoritmo.

Una practica muy comun en la configuracion de parametros, suele hacerse sinuna clara justificacion del valor asignado, ya sea a prueba y error, entre unrango de valores aleatorios o con herramientas que automatizan el proceso decalibracion. De acuerdo con Eiben y Schut [10], existen dos tipos de metodosde configuracion de parametros (1) calibracion y control. En la calibracion deparametros, valores adecuados para ellos son obtenidos mediante un procesoprevio donde se ejecuta el algoritmo muchas veces con diferentes valores deparametros, y mediante validacion estadıstica o busqueda, se proveen aque-llos valores que proporcionen buenos resultados. Para el caso del control, losvalores de los parametros presentan variaciones en sus valores derivadas demecanismos agregados al algoritmo. A su vez, el control es clasificado en trescategorıas: (1) dinamico, (2) adaptativo y (3) auto-adaptativo. En la Figura5.2 se presenta esta clasificacion de manera grafica.

Figura 5.2: Taxonomıa del control de parametros en Algoritmos Evolutivos(AE). Figura adaptada de [10].

CAPITULO 5. ALGORITMO DECV 40

5.3. Calibracion de parametros

Los algoritmos evolutivos mantienen una fuerte relacion con sus parametros,ya que estos influyen en el desempeno del algoritmo al resolver un problemade optimizacion. Por tanto, este tipo de algoritmos dependen de una correctaconfiguracion de sus parametros para obtener buenos resultados.

El paquete irace, desarrollado por Lopez-Ibanez et al., es una herramientaque configura automaticamente los parametros de un algoritmo. Su imple-mentacion requiere de tres entradas principales: (1) la definicion del espaciode parametros: tipo de datos, rangos y restricciones; (2) un conjunto de ins-tancias de afinacion I1, I2...In con ejemplos representativos; y (3) ajustar lasopciones de configuracion de irace para su ejecucion [21].

Una vez que la ejecucion se inicia en un proceso cıclico, irace invoca una fun-cion auxiliar hookRun, cuyo proposito es aplicar una configuracion especıficaa una instancia, y que finalmente, retornara la configuracion adecuada paralos parametros.

Figura 5.3: Flujo de informacion de irace. Figura adaptada de [21].

5.4. Control de parametros

La asignacion de parametros mediante el control dinamico ocurre durante laejecucion del algoritmo en el momento en que se lanza una regla deterministaque genera cambios preestablecidos sin la necesidad de recibir retroalimen-tacion desde el proceso de busqueda [10].

CAPITULO 5. ALGORITMO DECV 41

El control adaptativo utiliza un mecanismo que obtiene informacion de en-trada desde la busqueda en tiempo de ejecucion para variar la magnitud odireccion de busqueda [10].

Finalmente, en el control auto-adaptativo los parametros del algoritmo evo-lucionan junto con las soluciones del problema; esto se conoce como auto-adaptacion de parametros, un ejemplo son las estrategias evolutivas [10].

5.5. Propuesta para control de parametros

El mecanismo de control de parametros que se propone anadir al algoritmode Evolucion Diferencial con Variantes Combinadas (DECV), utiliza unatecnica de control dinamico que dirige el cambio de direccion del parametrofactor de escala (F), basada en una adaptacion senoidal propuesta en [8],cuya configuracion es presentada en la Ec. 5.1, donde freq es la frecuenciade la funcion senoidal, itMax es el numero maximo de generaciones e it es lageneracion actual. El comportamiento esperado de este ajuste es mostrado enla grafica de la Figura 5.4. En lo sucesivo, el algoritmo sera llamado DECV-S.

Fit =1

2∗(

sin(2π ∗ freq ∗ it) ∗ it

itMax+ 1

)(5.1)

Los valores de F comienzan con valores cercanos a (0.5). Sin embargo, amedida que incrementan las generaciones, los valores de F oscilan en unrango mas amplio que gradualmente varıa entre 0 y 1. A traves de esteajuste, se espera que el algoritmo mejore su eficiencia, al encontrar solucionescompetitivas pero usando un menor numero de evaluaciones. Finalmente, elalgoritmo DECV-S es presentado en la Figura 5.5.

Figura 5.4: Control dinamico parametrico adoptado en el factor de escala (F)[10].

CAPITULO 5. ALGORITMO DECV 42

1: Inicio2: Crear una poblacion inicial aleatoriamente x0,i i = 1, ..., NP3: Evaluar poblacion f(x0,i) i = 1, ..., NP4: for g=0 to MAX GEN do5: Obtener F basado en la Ec. 5.16: Calcular porcentajeFactibles7: for For i=1 to NP do8: if porcentajeFactibles ≥ PCV then9: Seleccionar r2 6= r3 6= i

10: else11: Seleccionar de manera aleatoria r1 6= r2 6= r3 6= i12: end if13: jrand = randint[1, D]14: for j=1 to D do15: if (randj [0,1) < CR or j = jrand) then16: if porcentajeFactibles ≥ PCV then17: ug,i,j = xg,best,j + F (xg,r2,j − xg,r3,j)18: else19: ug,i,j = xg,r1,j + F (xg,r2,j − xg,r3,j)20: end if21: else22: ug,i,j = xg,i,j23: end if24: end for25: if f(ug,i) es mejor (basado en las 3 reglas de factibilidad) que f(xg,i)

then26: xg+1,i = ug,i27: else28: xg+1,i = xg,i29: end if30: end for31: end for32: Fin

Figura 5.5: Algoritmo DECV-S. En negritas se resalta lo agregado para elcontrol dinamico de parametros.

Capıtulo 6Experimentos y resultados

6.1. Diseno experimental

El diseno experimental realizado en este trabajo de tesis tiene como objetivoconocer los efectos en el algoritmo DECV con la calibracion de parametrosutilizando iRace, ası como aquellos derivados del control dinamico menciona-do en el capıtulo anterior, ambos al resolver las dos instancias del problemade optimizacion detalladas en el Capıtulo 4. Por ende, el algoritmo DECV-Ses confrontado contra dos algoritmos del estado del arte, (1) DECV [24] ensu version original y calibrado con la herramienta iRace, y (2) ED [25] unaversion disenada para resolver problemas de ingenierıa mecanica. Para vali-dar los resultados obtenidos en conjuntos de 30 ejecuciones independientespor cada algoritmo, se aplicara la prueba no parametrica de suma de rangosde Wilcoxon con 95 % de confianza. Las medidas de desempeno seran los re-sultados finales (soluciones al problema de optimizacion), ası como el numerode evaluaciones de soluciones como medida de costo computacional, y que esbien aceptada en el area del computo evolutivo.

Los experimentos se realizaron en un equipo con procesador Intel Core i5-2410M 2.30GHz, memoria RAM de 6 GB y con un sistema operativo Win-dows 8.1 sobre una arquitectura de 64 bits. Asimismo, se utilizo MatLabR2011b para llevar a cabo la ejecucion de los algoritmos, obtener las graficasde convergencia y ejecutar el test no-parametrico suma de rangos de Wilco-xon.

43

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 44

Para la calibracion de parametros con iRace [21], se utilizo tambien el len-guaje R [15]. Finalmente, con la ayuda del software GeoGebra [16], se realizola representacion dinamica del dedo del efector final llevando a cabo el se-guimiento de trayectoria por cada problema.

6.2. Estadıstica no parametrica

La estadıstica no parametrica con frecuencia es utilizada para confrontar me-diante un proceso inferencial diferentes muestras poblacionales cuya carac-terıstica en comun es que sus valores no se ajustan a una distribucion Normal.Tal y como ocurre en los resultados que se obtienen con los algoritmos decomputo inteligente, donde el uso de pruebas estadısticas no parametricas esmuy recurrente debido a la naturaleza estocastica de estos algoritmos.

Una prueba estadıstica no parametrica se compone de una hipotesis nula (H0)en la que se asume una distribucion identica entre las muestras poblacionales,una hipotesis alternativa (H1) que representa la hipotesis de investigacion yplantea la existencia de diferencias poblacionales en el ajuste de su distribu-cion, un nivel de significancia α para determinar el rechazo de una hipotesisy un valor significativo p-value, el cual proporciona informacion con relaciona si una hipotesis es diferente o no, de tal modo que [40][7]:

Si p-value ≤ α; aceptar H1.

Si p-value > α; aceptar H0.

En este trabajo se utilizo un nivel de significancia α = 0,05 y la prueba noparametrica suma de rangos de Wilcoxon para una comparacion estadısticapor pares, misma que a continuacion se explica.

6.2.1. Prueba no parametrica suma de rangos de Wil-coxon

La prueba estadıstica de suma de rangos de Wilcoxon, ayuda a diferenciar sidos conjuntos de muestras (A, B) con (m1 y m2) observaciones respectiva-mente, proceden de una misma distribucion. De acuerdo con [3], esta pruebase realiza llevando a cabo los siguientes pasos:

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 45

1. Combinar y ordenar de manera ascedente las observaciones de ambasmuestras y asignar un rango n, donde n = 1...nmax. El valor nmax seasigna a la observacion mas grande, n − 1 a la siguiente observacionde menor valor y ası sucesivamente. Si dos observaciones son de igualvalor, se les asigna el promedio de los rangos.

2. Identificar las observaciones de cada muestra.

3. Realizar el estadıstico de suma de rangos Wm, que consiste en obtenerla suma de los rangos de una de las muestras. Si las muestras son dediferente longitud, se elige la de menor tamano.

4. Para la validar el proceso de asignacion de rangos, se obtiene el es-tadıstico de suma de rangos de la muestra restante y se calcula la Ec.(6.1).

Wm1 +Wm2 =nmax(nmax + 1)

2(6.1)

5. Para probar la hipotesis alternativa se define un nivel de significanciaα = 0,05, que le corresponde un valor crıtico de ±1,96, cuyo valor escomparado contra Z de la Ec. (6.2), donde Wm es la muestra seleccio-nada en el paso 3, m es la longitud de la muestra seleccionada y nmaxel valor del rango mas grande.

Z =Wm − m(nmax+1)

2√m1m2(nmax+1)

12

(6.2)

Segun [3], se acepta la hipotesis alternativa H1, si Z > +1,96 o si Z < −1,96,en cualquier otro caso, se acepta la hipotesis nula H0.

6.3. Experimentos

A fin de analizar el desempeno proporcionado por DECV-S y evaluar los efec-tos del control dinamico contra la calibracion parametrica, la ejecucion de losexperimentos se llevo a cabo en dos etapas: en la primera etapa DECV-S esconfrontado con respecto al algoritmo original DECV calibrado con la herra-mienta iRace, y en la segunda etapa, DECV-S es comparado con una versionadaptada de ED (ED/rand/1/bin) propuesta en [25]. El objetivo del primerexperimento es el valorar las mejoras en calidad de resultados y ahorro deevaluaciones derivadas del mecanismo de control sobre la version original delalgoritmo previamente calibrada. El segundo experimento busca evaluar el

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 46

desempeno en calidad de resultados y costo computacional del algoritmo pro-puesto, ahora contra un algoritmo del estado del arte disenado para resolverproblemas de ingenierıa mecanica.

Se aplico la prueba estadıstica suma de rangos de Wilcoxon con un inter-valo de confianza del 95 % para comparar DECV-S vs DECV y DECV-S vsED en cada problema. El resultado arrojo el rechazo de la hipotesis nula entodos los casos comparados, y por consiguiente, la existencia de diferenciassignificativas en los algoritmos.

Adicionalmente, se calculo el valor rho con un millon de soluciones aleatoriaspara estimar el tamano de la zona factible con respecto al espacio de busquedade cada problema. El resultado de la prueba fue rho = 0,0313 % para elproblema 1 y rho = 0,0307 % para el problema 2, lo cual representa una zonafactible muy pequena del espacio de busqueda, y por consiguiente, incrementala dificultad de busqueda.

6.3.1. Experimento A: DECV-S vs DECV

6.3.1.1. Configuracion de parametros

La calibracion de parametros del algoritmo DECV en su version originalque se presenta en la Tabla 6.1, donde NP es el tamano de la poblacion,MAX GEN el numero maximo de generaciones, F el factor escala, CR laprobabilidad de cruza y PCV el porcentaje para realizar el cambio de varian-te, fue realizada con ayuda de la herramienta iRace. Para ello, fue necesarioimplementar una calibracion individual por cada problema del efector finalcon un orden diferente en la ejecucion de las variantes de DECV, comenzan-do por ED/rand/1/bin, seguido por ED/best/1/bin para el primer problema(P1), mientras que el lado opuesto de este orden (ED/best/1/bin seguido porED/rand/1/bin), se utilizo en el segundo problema (P2).

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 47

Tabla 6.1: Calibracion de parametros del algoritmo DECV para ambos pro-blemas del efector final.

Algoritmo DECV

Parametros Problema 1 Problema 2

NP 145 153

MAX GEN 6,897 8,497

F 0.22 0.61

CR 0.66 0.93

PCV 66 % 40 %

En la Tabla 6.1 se observa que los valores del factor escala calculados coniRace, son menores a 0.50 y mayores 0.50 en el primer y segundo problemarespectivamente. Esta asignacion, brinda una perspectiva general del com-portamiento del algoritmo con respecto a las dos instancias del problema delefector final; misma que ha sido considerada en la eleccion del mecanismoanadido al algoritmo DECV mencionado en el Capıtulo 5.

Por otra parte, al emplear el control dinamico sobre el factor de escala delalgoritmo DECV-S, el cual incrementa gradualmente sus valores en direccionascendente y descendente como se ilustro en la grafica de la Figura 5.4, lacalibracion de los parametros restantes fue mas sencilla, puesto que DECV-Srequirio un unico conjunto de valores de los parametros para los dos proble-mas y utilizo unicamente un orden de variantes (primero ED/rand/1/bin ydespues ED/best/1/bin). En este caso, la calibracion mostrada en la Tabla6.2 fue hecha de manera manual. Los parametros itMax es el numero maximode generaciones y Freq la frecuencia de la funcion senoidal.

Tabla 6.2: Calibracion de parametros del algoritmo DECV-S para ambosproblemas del efector final.

Parametros

DECV-S

NP itMax Freq PCV CR

150 5,000 0.50 70 % 0.9

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 48

6.3.1.2. Resultados DECV-S vs DECV

La Tabla 6.3 proporciona un resumen de los resultados estadısticos obtenidoscon cada algoritmo. Es notable que tanto DECV-S como DECV aportanresultados competitivos en ambos problemas. Sin embargo, con el controldinamico del parametro F, DECV-S disminuyo el numero de evaluacionesen un 25 % y 42.31 % en el problema 1 y 2 recıprocamente, con relacion alnumero de evaluaciones requeridas por el algoritmo DECV.

Tabla 6.3: Resultados estadısticos obtenidos por DECV-S y DECV

Problema 1 Problema 2

DECV-S DECV DECV-S DECV

Mejor 0 0 1.89E-02 1.89E-02

Peor 7.67E-21 1.97E+02 1.36E-01 1.89E-02

Promedio 2.56E-22 6.55E+00 3.33E-02 1.89E-02

Mediana 0 1.26E-29 1.89E-02 1.89E-02

Desv. estandar 1.38E-21 3.53E+01 3.68E-02 1.46E-13

Total factibles 30/30 30/30 30/30 30/30

Evaluaciones 750,000 1,000,000 750,000 1,300,000

a) b)

Figura 6.1: Grafica de convergencia de DECV y DECV-S. a) Problema 1, b)Problema 2.

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 49

De acuerdo con los valores de la mediana, DECV-S acierta con el mejorvalor encontrado de la funcion objetivo de ambos problemas, lo que significaque el ındice de coincidencias sobre el mejor valor es ≥ 15. Asimismo, elcomportamiento de convergencia es mejorado por el algoritmo DECV-S, talcomo se observa en la Figura 6.1, que muestra la grafica de convergenciacorrespondiente a la ejecucion mediana del experimento.

a) b)

Figura 6.2: Diagrama de caja de DECV y DECV-S. a) Problema 1, b) Pro-blema 2.

El diagrama de caja de la Figura 6.2 confirma lo anteriormente senalado so-bre el comportamiento de la mediana con respecto al mejor valor encontradoen la funcion objetivo. La distribucion de los datos permanecen cercanos acero en el problema 1, con un valor atıpico en DECV, y cercanos 1.89E-2 enel problema 2, con pocos valores atıpicos en DECV-S.

En resumen, con los resultados presentados en esta primera etapa se confirmauna parte de la hipotesis de trabajo, que es disminuir el numero de evaluacio-nes a la funcion objetivo y con ello el costo computacional, tras implementarlas adaptaciones necesarias al algoritmo DECV para mejorar su desempeno.Mas adelante, se presentara el trazo de trayectoria no-lineal seguido por eldedo del efector final para la validacion de resultados y el cumplimiento totalde la hipotesis de trabajo.

6.3.2. Experimento B: DECV-S vs ED

6.3.2.1. Configuracion de parametros

La configuracion de parametros del algoritmo ED fue hecha de acuerdo a laliteratura especializada, adoptando valores aleatorios en F y CR, tal y comolo sugieren los autores en [25] (ver Tabla 6.4). Una vez mas, se requieren

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 50

calibraciones diferentes por problema, lo que no sucede en DECV-S, dondese retoma la configuracion parametrica de la Tabla 6.2 para esta segundacomparacion.

Tabla 6.4: Calibracion de parametros del algoritmo ED basado en el enfoque[25].

Algoritmo ED

Parametros Problema 1 Problema 2

NP 200 200

MAX GEN 15,000 20,000

F (0.3, 0.9) (0.3, 0.9)

CR (0.8, 1) (0.8, 1)

6.3.2.2. Resultados DECV-S vs ED

En esta segunda fase experimental, una vez mas DECV-S disminuye el nume-ro de evaluaciones a las soluciones en un 75 % para el problema 1 y un 81.25 %para el problema 2, en contraste con el numero de evaluaciones registradaspor ED en ambos problemas.

Tabla 6.5: Resultados estadısticos obtenidos por DECV-S y por ED basadoen [25].

Problema 1 Problema 2

DECV-S ED DECV-S ED

Mejor 0 0 1.89E-02 1.89E-02

Peor 7.67E-21 6.96E-06 1.36E-01 5.48E-02

Promedio 2.56E-22 2.52E-07 3.33E-02 2.30E-02

Mediana 0 5.05E-29 1.89E-02 1.89E-02

Desv. estandar 1.38E-21 1.25E-06 3.68E-02 9.73E-03

Total factibles 30/30 30/30 30/30 30/30

Evaluaciones 750,000 3,000,000 750,000 4,000,000

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 51

La periodicidad o ındice de coincidencias con el mejor valor en la funcionobjetivo, segun los datos de la mediana estadıstica, es ≥ 15 al igual que enel experimento anterior. En la Figura 6.4 se puede observar la distribucionde los datos con respecto al valor de la mediana.

El efecto de utilizar valores aleatorios en los parametros F y CR de ED,produce que el algoritmo requiera una poblacion 25 % mayor que en DECV-S y un mayor numero de generaciones para llegar a converger (ver Figura6.3). Es ası que la labor de implementar una tecnica de control de parametrosadecuada, beneficia el comportamiento y desempeno del algoritmo propuestoen el presente trabajo de tesis.

a) b)

Figura 6.3: Grafica de convergencia de DECV-S y ED. a) Problema 1, b)Problema 2.

a) b)

Figura 6.4: Diagrama de caja de DECV-S y ED. a) Problema 1, b) Problema2.

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 52

6.3.3. Visualizacion de resultados

Como se presento anteriormente, los tres algoritmos analizados coincidieronque el mejor valor de la funcion objetivo para el problema 1 es 0 y parael problema 2 es 1.89E-02. En esta seccion se toman en cuenta los valoresencontrados por DECV-S en las variables de diseno del mecanismo de seisbarras mostradas en la Tabla 6.6, para representar en la Figura 6.5 el segui-miento de trayectoria esferica que realiza el punto acoplador del mecanismo.

La representacion muestra que en ambos problemas se obtienen disenos dife-rentes. Es ası que en la Figura 6.5.a, el diseno resultante es un dedo con lasfalanges distal, medial y proximal desproporcionadas, puesto que el primerproblema de optimizacion presentado en la seccion 4.3.1 no tipifica la longi-tud de las barras, ya que el proposito de este primer problema consistio enprobar que era posible realizar el diseno de un dedo con un mecanismo deseis barras.

Tabla 6.6: Valores encontrados por el algoritmo DECV-S, correspondientesal mejor valor en la funcion objetivo (F.O.) de cada problema.

Variables Problema 1 Problema 2

p1 95.97133991 71.63364673p2 85.07091057 71.63364719p3 94.29894985 71.63364643p4 92.18913002 51.82790015p5 16.39939151 4.648268313p6 -19.15762546 -27.09396491p7 81.71626217 72.47943257p8 110.3025373 71.53149121p9 56.42142694 70.90537042p10 126.2633135 73.10555336p11 22.4849302 63.77484304p12 56.87842034 76.73232583p13 0.350826365 0.529646764p14 2.906833035 2.35619449

F.O. 0 1.89E-02

Por otra parte, la estetica del mecanismo de seis barras de la Figura 6.5.bes mas antropomorfa en el segundo problema de optimizacion debido a queeste incluye una funcion de normalizacion (ver Ec. 4.34) que se aplica a losvalores de las barras para homogeneizar sus longitudes. En la Tabla 6.6 se

CAPITULO 6. EXPERIMENTOS Y RESULTADOS 53

a) b)

Figura 6.5: Representacion de un dedo del efector final a traves de un meca-nismo seis barras que sigue una trayectoria esferica. a) Primer problema dediseno. b) Segundo problema de diseno.

observa el resultado de aplicar la funcion de normalizacion, donde los valo-res de las variables de las barras p2, p3, p7, p8, p9, p10, son muy parecidos. Porconsiguiente, los disenos de las falanges distal, medial y proximal del dedoson mas uniformes.

No obstante, la busqueda de un diseno antropomorfo del efector final, implicopara el algoritmo DECV-S una mayor dificultad en la busqueda de solucionesde acuerdo con los resultados estadısticos del problema 2 mostrados en lasTablas 6.3 y 6.5; ello porque el espacio de busqueda es mas restringido cuan-do se aplica la funcion de normalizacion, y porque la barra de la correderap3, debe seguir un orden secuencial en su desplazamiento.

Capıtulo 7Conclusiones finales y trabajo futuro

El diseno del efector final de tres dedos con un grado de libertad por dedo, seorigina en funcion del interes por fortalecer las lıneas de investigacion en elcampo de la mecatronica para el desarrollo y perfeccionamiento de sistemasque emulan la sujecion de objetos; y en el campo del computo inteligente alenfocar este trabajo hacia el control de parametros en algoritmos evolutivos(AE), especıficamente en Evolucion Diferencial.

El proceso de diseno del efector final implementado en este trabajo se haejecutado en dos etapas: la etapa de analisis y sıntesis cinematica del me-canismo de seis barras que representa la estructura de un dedo, y la etapade optimizacion, en la cual se han desarrollado dos problemas de optimiza-cion relacionados con la sıntesis cinematica para la generacion de trayectoriacon tres puntos de precision que permite efectuar el agarre esferico de objetos.

El planteamiento de optimizacion consistio en calcular y minimizar la distan-cia Euclidiana representada por el error cuadratico de un punto hallado conrespecto a un punto deseado que conviene satisfacer por el punto acopladordel mecanismo.

El algoritmo base utilizado en este trabajo fue Evolucion Diferencial conVariantes Combinadas (DECV), cuya adaptacion consistio en anadir unatecnica de control dinamico para el parametro factor de escala medianteuna funcion senoidal tratada en el Capıtulo 5. El desempeno de esta nuevaversion, llamada DECV-S, fue comparada con el algoritmo original DECVcalibrado con la herramienta irace y el algoritmo ED para la optimizacion eningenierıa mecanica. Un resumen de este contraste y de las mejorıas obteni-das con DECV-S es presentado a continuacion.

54

CAPITULO 7. CONCLUSIONES FINALES Y TRABAJO FUTURO 55

7.1. Observaciones finales

DECV-S utilizo solo una configuracion de parametros para ambos pro-blemas, a diferencia de los algoritmos DECV y ED donde la calibraciontuvo que realizarse por problema para obtener un desempeno competi-tivo.

DECV requirio un orden de variantes diferente por cada problema, entanto que DECV-S se ejecuto con el orden: ED/rand/1/bin seguido porED/best/1/bin, para ambos problemas.

Al implementar el control dinamico en el parametro factor de escala,DECV-S mejoro el numero de evaluaciones a la funcion objetivo encontraste con los algoritmos comparados, lo que representa una dismi-nucion en el costo computacional.

La version con control dinamico de parametros se comporta mejor enel problema 1, donde no se restringe la homogeneidad de los eslabones.Ello implica que el algoritmo tenga mas soltura para seguir explorandoen el espacio de busqueda y que se obtenga un diseno deforme deldedo. No obstante, sirvio para comprobar que el diseno del dedo fuesefactible.

El problema 2 plantea obtener un diseno antropomorfo de los dedosdel efector final en el que se anade una funcion de normalizacion pararestringir el tamano de los eslabones del mecanismo y que estos sean ho-mogeneos, con lo cual aumenta la complejidad del problema y dificultael proceso de busqueda para los algoritmos.

7.2. Objetivos cumplidos

El objetivo principal de este trabajo fue aplicar tecnicas de calibracion ycontrol de los parametros del algoritmo DECV para minimizar la desviacionde una trayectoria no-lineal para el agarre esferico de objetos por parte delefector final, el cual pudo ser cumplido tal como se presento anteriormente.Adicionalmente se cumplieron los objetivos especıficos:

Definicion de parametros a adaptar e implementar en el algoritmoDECV para optimar el diseno del efector final y promover su desem-peno.

CAPITULO 7. CONCLUSIONES FINALES Y TRABAJO FUTURO 56

Ejecucion de pruebas estadısticas para evaluar el rendimiento del algo-ritmo.

Representacion dinamica de las soluciones obtenidas por el algoritmode optimizacion propuesto.

7.3. Trabajo futuro

Los futuros trabajos de investigacion derivados de esta tesis, contemplan elanadir un mecanismo para el control del parametro CR (cruza) y tambienprobar DECV-S en otros problemas de diseno mecatronico. Finalmente, seestudiaran mecanismos de control de parametros para el tamano de la po-blacion en DECV.

Bibliografıa

[1] T. Back, C. Foussette, and P. Krause. Contemporary Evolution Strate-gies. Springer Science & Business Media, 2013.

[2] J. A. Barios Garcıa. Analisis de funciones en economıa y empresa: unenfoque interdisciplinar. Diaz de Santos, 2005.

[3] M. L. Berenson and D. M. Levine. Estadıstica basica en administracion:conceptos y aplicaciones. Pearson Educacion, 1996.

[4] J. Cabrera, F. Nadal, J. Munoz, and A. Simon. Multiobjective constrai-ned optimal synthesis of planar mechanisms using a new evolutionaryalgorithm. Mechanism and machine theory, 42(7):791–806, 2007.

[5] M. L. C. Cagnina. Optimizacion mono y multiobjetivo a traves de unaheurıstica de inteligencia colectiva. PhD thesis, Universidad Nacionalde San Luis, San Luis, Argentina, abril 2010.

[6] K. Deb. An efficient constraint handling method for genetic algorithms.Computer methods in applied mechanics and engineering, 186(2):311–338, 2000.

[7] J. Derrac, S. Garcıa, D. Molina, and F. Herrera. A practical tutorial onthe use of nonparametric statistical tests as a methodology for compa-ring evolutionary and swarm intelligence algorithms. Swarm and Evo-lutionary Computation, 1(1):3–18, 2011.

[8] A. Draa, S. Bouzoubia, and I. Boukhalfa. A sinusoidal differential evo-lution algorithm for numerical optimisation. Applied Soft Computing,27:99–126, 2015.

[9] A. E. Eiben and J. E. Smith. Introduction to evolutionary computing.Springer Science & Business Media, 2003.

57

BIBLIOGRAFIA 58

[10] G. Eiben and M. Schut. New ways to calibrate evolutionary algorithms.In Heildelberg, editor, Advances in metaheuristics for hard optimization,Natural Computing, pages 153–177. Springer, Germany, 2008.

[11] A. P. Engelbrecht. Fundamentals of computational swarm intelligence,volume 1. Wiley Chichester, 2005.

[12] B. Enrique Gabriel and A. Redchunck. Optimizacion matematica con R.Volumen I: Introduccion al modelado y resolucion de problemas. BubokPublishing S.A., 2013.

[13] A. G. Erdman, G. N. Sandor, J. de la Cera, and R. Escalona. Disenode mecanismos: analisis y sıntesis. Prentice Hall, 1998.

[14] L. J. Fogel. Intelligence through simulated evolution: forty years of evo-lutionary programming. John Wiley & Sons, Inc., 1999.

[15] R. Foundation. The R project for statistical computing. https://www.r-project.org. Accedido 17-08-2015.

[16] I. GeoGebra Institute. Geogebra. https://www.geogebra.org. Accedido17-08-2015.

[17] D. E. Goldberg. Genetic algorithms. Pearson Education India, 2006.

[18] W. E. Hart, N. Krasnogor, and J. E. Smith. Recent advances in memeticalgorithms. Springer Science & Business Media, 2010.

[19] C. Ivorra. Matematicas II. Apuntes de teorıa.http://www.uv.es/ivorra/docencia/MatII.pdf. Accedido 9-02-2015.

[20] J. R. Koza. Genetic programming: on the programming of computers bymeans of natural selection, volume 1. MIT press, 1992.

[21] M. Lopez-Ibanez, J. Dubois-Lacoste, T. Stutzle, and M. Birattari. Theirace package, iterated race for automatic algorithm configuration. Tech-nical report, Citeseer, 2011.

[22] A. K. Mallik, A. Ghosh, and G. Dittrich. Kinematic analysis and synt-hesis of mechanisms. CRC Press, 1994.

[23] MathWorks. Creating 3-D plots. http://www.mathworks.com/help/matlab/examples/creating-3-d-plots.html.

BIBLIOGRAFIA 59

[24] E. Mezura-Montes, M. E. Miranda-Varela, and R. del Carmen Gomez-Ramon. Differential evolution in constrained numerical optimization: anempirical study. Information Sciences, 180(22):4223–4262, 2010.

[25] E. Mezura-Montes, E. A. Portilla-Flores, C. A. C. Coello, J. Alvarez-Gallegos, and C. A. Cruz-Villar. An evolutionary approach to solve anovel mechatronic multiobjective optimization problem. In Advances inMetaheuristics for Hard Optimization, pages 329–351. Springer, 2008.

[26] E. Mezura-Montes, M. Reyes-Sierra, and C. A. C. Coello. Multi-objective optimization using differential evolution: a survey of the state-of-the-art. In Advances in differential evolution, pages 173–196. Sprin-ger, 2008.

[27] A. D. Munoz. Metaheurısticas, volume 22. Librerıa-Editorial Dykinson,2007.

[28] R. B. Navarro. Meta-heurısticas Hıbridas para Optimizacion Mono-objetivo y Multi-objetivo. Paralelizacion y Aplicaciones. PhD thesis,Departamento de Arquitectura de Computadores y Electronica, Univer-sidad de Almerıa, Espana, diciembre 2006.

[29] B. H. Ocana, E. M. Montes, and E. A. P. Flores. Diseno mecatronicousando optimizacion basada en bacterias. Master’s thesis, Centro deEnsenanza LANIA, 2011.

[30] E. A. Portilla Flores, A. Sanchez Marquez, P. A. Nino Suarez, L. Flo-res Pulido, and E. Vega Alvarado. Algoritmo de busqueda armonicaaplicada al diseno de un control de velocidad para un mecanismo im-pulsado por un motor C.D. Technical Report 2, Instituto PolitecnicoNacional, 7 2014.

[31] V. Prada, O. Aviles, and M. Mauledoux. Design of a three-finger endeffector for optimal grip. Dyna, 81(184):93–101, 2014.

[32] K. Price, R. M. Storn, and J. A. Lampinen. Differential evolution: apractical approach to global optimization. Springer Science & BusinessMedia, 2006.

[33] J. Ramırez-Gordillo and E. M. Cruz. Generacion de trayectorias paramanipulador robotico de revolucion. Ingenierıa Electronica, Automaticay Comunicaciones, 30(3):21–32, 2009.

BIBLIOGRAFIA 60

[34] R. D. C. G. Ramon. Estudio empırico de variantes de evolucion di-ferencial en optimizacion con restricciones. Master’s thesis, Centro deEnsenanza LANIA, Xalapa, Veracruz, 12 2007.

[35] S. S. Rao. Engineering optimization: theory and practice. John Wiley& Sons, United States of America, 4 edition, 2009.

[36] R. G. Reynolds and B. Peng. Cultural algorithms: computational mo-deling of how cultures learn to solve problems: an engineering exam-ple. Cybernetics and Systems: An International Journal, 36(8):753–771,2005.

[37] J. Rietdijk. Ten propositions on mechatronics. In Mechatronics in Pro-ducts and Manufacturing Conference. Inglaterra: Lancenter, 1989.

[38] R. Silva-Ortigoza, E. A. Portilla-Flores, and M. A. Molina-Vilchis. Me-catronica. Instituto Politecnio Nacional, Mexico, D.F., primera edition,2010.

[39] N. Srinivas and K. Deb. Multiobjective optimization using nondomina-ted sorting in genetic algorithms. Evolutionary Computation, 2:221–248,1994.

[40] D. D. Wackerly, W. Mendenhall, R. L. Scheaffer, J. H. R. Munoz, andA. E. G. Hernandez. Estadıstica matematica con aplicaciones. CengageLearning Editores, 2010.