Sie sind auf Seite 1von 40

SDMAG

SNTESIS DIMENSIONAL DE MECANISMOS MEDIANTE ALGORITMO GENTICO


MEMORIA DEL PFC Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

NDICE 1. INTRODUCCIN
1.1 1.2 1.3 SNTESIS DIMENSIONAL DE MECANISMOS . . . . . . OPTIMIZACIN. MTODOS HEURSTICOS . . . . . . EL ALGORITMO GENTICO . . . . . . . . . . . . . . Pg. 3 4 5

2. TRABAJO PREVIO
2.1 2.2 MTODOS COMPUTACIONALES . . . . . . . . . . . . COMPUTACIN EVOLUTIVA . . . . . . . . . . . . . . 8 9

3. FORMULACIN DEL PROBLEMA


3.1 3.2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . 11 DESARROLLO DEL AG APLICADO . . . . . . . . . . . 12

4. METODOLOGA EMPLEADA
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 COORDENADAS NATURALES . . . . . . . . . . . . . TIPOS DE BARRA Y ECUACIONES DE RESTRICCIN . CODIFICACIN . . . . . . . . . . . . . . . . . . . . MONTAJE DE LAS ECUACIONES DE RESTRICCIN . . EL PROBLEMA DE ENSAMBLAJE . . . . . . . . . . . CORRELACIN TEMPORAL Y REAJUSTE . . . . . . . . DIMENSIONES DEPENDIENTES . . . . . . . . . . . . ANLISIS FINO. . . . . . . . . . . . . . . . . . . . REDONDEO DE LAS DIMENSIONES FINALES . . . . . 15 16 19 21 22 23 24 24 25

5. SDMAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6. RESULTADOS Y CONCLUSIONES


6.1 6.2 6.3 6.4 EJEMPLO 1 . . . EJEMPLO 2 . . . EJEMPLO 3 . . . CONCLUSIONES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 31 35 37

7. PLANTEAMIENTOS FUTUROS . . . . . . . . . . . . . . . . . 39 8. REFERENCIAS. . . . . . . . . . . . . . . . . . . . . . . . . 40

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1. INTRODUCCIN 1.1. SNTESIS DIMENSIONAL DE MECANISMOS


El inters por la Cinemtica o Ciencia del Movimiento tiene su origen en mquinas tan antiguas como la civilizacin humana. Sin embargo, el inters por el estudio de los mecanismos tiene su mayor impulso en el siglo XVIII, tras la invencin de la mquina de vapor y comienzo de la Era Industrial. Si bien, al principio, los mecanismos eran fabricados y estudiados de manera particular e individualizada, pronto se vio la necesidad de sistematizar su desarrollo. As surgieron mtodos generales de anlisis geomtrico y de clasificacin de diversos tipos de mecanismos. Muchas de esas ideas forman la parte fundamental de la moderna teora cinemtica de hoy. No obstante, la sntesis cinemtica sigue siendo, en la actualidad, un reto importante. Tanto es as, que, frente al gran desarrollo experimentado en el anlisis de mecanismos, no se tiene an ningn mtodo racional y sistemtico para la sntesis. Apenas existen unos pocos mtodos analticos de sntesis para algunos casos particulares. Otros estudios se han centrado en algo menos prctico, pero necesario como punto de partida: demostrar la existencia de ciertos tipos de mecanismos capaces de desarrollar ciertas tareas. Encontrar el tipo de mecanismo que mejor realiza una tarea determinada es el objetivo de la Sntesis de Tipo. Materializar el mismo, dando para ello sus dimensiones, es tarea de la Sntesis Dimensional. La primera de ellas, se alimenta en gran medida de la experiencia y creatividad del diseador. La segunda requiere de la anterior y del clculo matemtico para dar resultados. Es en el clculo donde se encuentra la mayor traba. Si bien algunos casos sencillos pueden resolverse mediante unas pocas ecuaciones [1] o haciendo uso de mtodos grficos [2], un problema ms complejo se convierte en algo casi inabordable. Recientemente, y tras el fantstico desarrollo de la computacin, el diseador encuentra la ayuda necesaria para afrontar el reto de disear mecanismos ms complejos, o de agilizar el desarrollo de otros ms sencillos bajo la fuerte exigencia que el mercado le demanda. Surge as la aplicacin de mtodos de optimizacin a la Sntesis Dimensional.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1.2. OPTIMIZACIN. MTODOS HEURSTICOS


Se han venido usando tcnicas analticas y grficas para el problema de la sntesis dimensional de mecanismos (Freudenstein [3], 1955; Suh y Radcliffe [4], 1978; Erdman y Sandor [5], 1991). El uso de mtodos grficos se ha limitado a problemas sencillos, mientras que los mtodos analticos recurren a expresiones algebraicas que requieren una resolucin compleja. En general, la sntesis dimensional es un problema complicado, al ser multidimensional, no lineal y tener, en algunos casos, un espacio solucin discontinuo. Cuando se plantea su resolucin numrica, sta se convierte en un problema de optimizacin con una funcin objetivo multimodal (posee ms de un ptimo dentro del espacio solucin). Debido a estas caractersticas, se hacen recomendables mtodos heursticos (de bsqueda). Los mtodos heursticos se pueden dividir en mtodos de bsqueda directa y mtodos de bsqueda basada en el gradiente de la funcin objetivo. En los primeros, se propone una posible solucin factible y se va perturbando ligeramente hasta que se obtiene una mejor solucin. En los basados en el gradiente, el valor de ste es encontrado mediante tcnicas de diferencias finitas. Estos mtodos arrojan buenos resultados, pero emplean un gran tiempo computacional. Ambos son deterministas y encuentran una solucin concreta dentro del espacio de las soluciones factibles. Una alternativa a los mtodos deterministas son los mtodos probabilsticos, que van evaluando soluciones, aceptando incluso algunas relativamente malas en funcin de una cierta probabilidad. Tambin se conocen como mtodos de escalada, por tener la capacidad de ir escapando de ptimos locales hasta alcanzar un ptimo global. Pertenecen a este grupo el Recocido Simulado (Kirkpatrick et al. [6], 1983) y el Algoritmo Gentico (Holland [7], 1975). El origen del Recocido Simulado (del ingls, Simulated Annealing) est en la Fsica Estadstica. Los procedimientos fsicos de solidificacin controlada consisten en calentar un slido hasta que se funde, y seguidamente, ir enfrindolo de forma que cristalice en una estructura perfecta, sin malformaciones locales. En el Recocido Simulado se parte de una solucin vlida a la que se le provocan pequeas mutaciones aleatorias. A medida que avanza el algoritmo, ste cada vez ser ms exigente en cuanto a las soluciones aceptadas. En la analoga con la solidificacin fsica, se trata de tener un cuerpo (problema) a alta temperatura (admitiendo soluciones muy diversas a pesar de ofrecer malos resultados) e ir disminuyendo la temperatura (aumentando la exigencia del algoritmo) de forma que termine por solidificarse segn la forma deseada (ofreciendo el mejor resultado).

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

1.3. EL ALGORITMO GENTICO


Es un algoritmo de bsqueda probabilstica, basado en la mecnica de la gentica y la evolucin natural. Un algoritmo gentico puede resolver problemas que an no estn completamente caracterizados o son demasiado complejos para permitir una completa caracterizacin. Es decir, problemas para los cuales no necesariamente conocemos cmo llegar a una buena solucin, pero s podemos evaluar por alguna medida cuantificable el valor relativo de una solucin (o al menos el valor relativo de una posible solucin respecto a otra). El concepto bsico de un AG es la codificacin de una solucin posible como una serie de parmetros. Tal conjunto de valores, es tratado como el genoma o material gentico de una solucin individual. Se crea al azar una poblacin (conjunto de soluciones candidatas). Los elementos de dicha poblacin evolucionan, generacin tras generacin, bajo el principio de supervivencia del ms apto. Los mecanismos de interrelacin entre los individuos son el cruce y la mutacin. El AG explota eficientemente la informacin histrica para especular sobre nuevos puntos de bsqueda del ptimo. Adems no est limitado por suposiciones restrictivas acerca del espacio de bsqueda (suposiciones acerca de continuidad, existencia de derivadas, unimodalidad de la funcin objetivo, etc.). Los aspectos fundamentales que caracterizan a un AG respecto a otros mtodos de bsqueda se listan a continuacin: -Trabaja con la codificacin del conjunto de parmetros, no con los parmetros. -La bsqueda se realiza a partir de un conjunto de soluciones, no a partir de una solucin. -Se sirven de la funcin objetivo, no de sus derivadas u otro conocimiento adicional. -Sus reglas de transicin son probabilsticas, no deterministas. La principal aptitud de los algoritmos genticos es el paralelismo en la bsqueda. Mientras que otros mtodos buscan una solucin, el AG busca simultneamente muchas soluciones, tantas como soluciones factibles evolucionen dentro de la poblacin considerada. Esta es la manera en la que explora el espacio de bsqueda, pasando por varios ptimos locales. La eficiencia con la que se explote esta cualidad del AG ser la que determine la eficacia del mismo. Los siguientes aspectos son fundamentales a la hora de comprender el funcionamiento de un algoritmo gentico: Codificacin del Dominio: para un algoritmo gentico lo primero que se requiere es determinar en qu espacio se encuentran las posibles soluciones al problema que se pretende resolver. Seguidamente, habr que determinar cmo se forma el cdigo gentico de los individuos de la poblacin, as como su codificacin. As habr codificaciones binarias (los cromosomas sern 0s y 1s, nmeros reales, etc.). En definitiva, ser necesario establecer un alfabeto de codificacin de los posibles valores cromosmicos, que al combinarse ordenadamente, formen la informacin gentica del individuo.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Evaluacin de la Poblacin: en la naturaleza hay individuos ms hbiles que otros para sobrevivir. El grado de adaptacin (o fitness) informa de la aptitud de un individuo en el contexto de la poblacin en la que se halla. La medida del fitness es tarea de la funcin de evaluacin particular de cada problema de optimizacin. Encontrar dicha funcin y el modo de evaluarla implican un cierto conocimiento del problema a tratar. Su evaluacin puede no ser sencilla (puede incluso cambiar en cada generacin) y es, de hecho, lo que en la mayora de los casos consume ms tiempo en la ejecucin de un algoritmo gentico. Seleccin: una vez calificados todos los individuos de una generacin, el algoritmo debe, al igual que lo hace la naturaleza, seleccionar a los individuos mejor calificados, mejor adaptados al medio. De cmo se realice la seleccin, depender del tipo de AG que estemos considerando. Algunos de los tipos ms comunes son: -AGS: AG Simple, en el que los individuos son seleccionados con probabilidad proporcional a su calificacin. -AGE: AG Elitista. Cierto nmero de los mejores individuos es mantenido en la poblacin. -AG de Seleccin Determinista: Se intenta enfatizar la variedad gentica reforzando el cruzamiento entre individuos predefinidos. La estrategia particular de cruce determina el modelo. As se tienen por ejemplo, los modelos de Nietzsche y de Vasconcelos [8] En cualquier caso, se debe cuidar la seleccin para no caer en una convergencia prematura del algoritmo. Cruzamiento: en la naturaleza el cdigo gentico de los padres de un individuo se mezcla para producir gametos, cuyo contenido gentico es hbrido, es decir, una mezcla. De esta manera es posible que un individuo legue a sus descendientes las caractersticas mezcladas de sus propios padres. Dentro del algoritmo, si estas caractersticas heredadas le confirieron a sus ancestros una alta aptitud de supervivencia, entonces este individuo ser, con alta probabilidad, un individuo exitoso en su poblacin. En un AG, el cruzamiento slo es una forma de intercambiar la informacin contenida en los cromosomas de los individuos a hibridar. Dependiendo del modo de efectuar dicho intercambio se hablar de cruzamiento en un punto, en dos puntos y de cruzamiento uniforme. Mutacin: Algunas veces, muy pocas de hecho, la ADN-polimerasa (la enzima encargada de replicar el cdigo gentico), se equivoca y produce una mutacin, una alteracin accidental en el cdigo gentico de los seres vivos. En un AG, el proceso de mutacin es necesario para generar nuevos individuos, que exploren regiones del dominio del problema que probablemente no se han visitado an. Una vez conocidos algunos aspectos comunes de todo AG, puede concluirse que el problema a resolver slo determina la funcin de evaluacin y la manera de codificar las soluciones posibles (la semntica de los cdigos genticos de los individuos). El resto de los subprocesos que constituyen el algoritmo son independientes y universalmente aplicables.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Para fijar conceptos, se expone a continuacin el esquema del Algoritmo Gentico Simple (AGS) propuesto por Holland [7] y retomado posteriormente por Goldberg [9]. Se ha supuesto, por sencillez un alfabeto binario para los cromosomas: 1. Decidir cmo codificar el dominio del problema. 2. Generar un conjunto aleatorio (poblacin inicial) de N posibles soluciones codificadas del problema. A sta se le llamar la poblacin actual. 3. Calificar cada posible solucin (individuo) de la poblacin actual. 4. Seleccionar dos individuos de la poblacin actual con una probabilidad proporcional a su calificacin. 5. Lanzar una moneda al aire (con probabilidad Pc cae cara). 6. Si cay cara, mezclar los cdigos de los dos individuos seleccionados para formar dos hbridos, a los que llamaremos nuevos individuos. 7. Si cay cruz, llamamos a los individuos seleccionados nuevos individuos. 8. Por cada bit de cada nuevo individuo lanzar otra moneda al aire (con probabilidad Pm cae cara). 9. Si cae cara, cambiar el bit correspondiente por su complemento. 10. Si cae cruz, el bit permanece inalterado. 11. Incluir a los dos nuevos individuos en la poblacin futura. 12. Si la poblacin futura tiene ya N individuos, llamarla poblacin actual y regresar al paso 3, a menos que se cumpla alguna condicin de terminacin. 13. Si no, regresar al paso 4. El trmino lanzar una moneda al aire se usa para nombrar un experimento de Bernoulli (aquel en el que pueden ocurrir exclusivamente dos eventos: uno con probabilidad p y otro con probabilidad 1-p). Es decir, el lanzamiento de una moneda extraa en la que no necesariamente ambas caras son equiprobables. Al tipo de seleccin proporcional usado en el paso 4 se le conoce tambin como mtodo de seleccin por ruleta. Se suman las calificaciones de todos los individuos de la poblacin y se hace corresponder la longitud de la circunferencia a dicha suma. Luego se asignan longitudes parciales en funcin de cada calificacin individual. De esta forma al girar dicha ruleta imaginaria, la lengeta se parar con mayor probabilidad en las zonas correspondientes a los individuos ms aptos.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2. TRABAJO PREVIO 2.1 MTODOS COMPUTACIONALES


Existe una gran variedad de mtodos de optimizacin que, implementados computacionalmente, permiten resolver infinidad de problemas de ingeniera. Para cada caso se han propuesto varios mtodos y cada mtodo se ha usado para resolver ms de un problema. La idoneidad de un mtodo de optimizacin aplicado a algn tipo de problema, es a menudo contestable, viniendo a ser el diseador el que subjetivamente, se decante por uno u otro de los que se le ofrecen. Frente a los mtodos tradicionales de optimizacin se vienen estudiando recientemente los llamados Bio-inspirados, por nacer del estudio de la naturaleza. En stos trata de crearse un sistema matemtico que copie, en cierta medida, los mecanismos presentes en la naturaleza. As surgen varios mtodos: Mtodo Redes Neuronales (RN) Algoritmos Genticos (AG) Lgica Difusa o Fuzzy Logic (FL) Sistemas Expertos (SE) Inspiracin Neuronas biolgicas Evolucin Natural Proceso Lingstico Mecanismos de Inferencia

En lo referente a la Sntesis Dimensional de Mecanismos se han usado con xito RN y AG, no disponindose de ninguna informacin relativa a trabajos realizados usando FL y SE. Los trabajos realizados con RN se han encaminado a aprovechar la capacidad de interpolacin de una red neuronal. Se han aplicado al tipo Sntesis de Trayectoria. Para ello se ha entrenado una RN para un mecanismo concreto (4 barras), usando una batera apropiada de casos resueltos. La red obtenida se usa posteriormente de manera inversa. As, se le suministra la curva deseada y sta encuentra las relaciones que deben tener las dimensiones del mecanismo que mejor describe la trayectoria prescrita. Se usan Descriptores de Fourier para extraer la informacin de la trayectoria (que debe ser cerrada). Para ms informacin consltese [10]. En cuanto al uso de AG aplicados al problema que nos ocupa aqu, los trabajos conocidos se han centrado en el estudio del mecanismo de 4 barras. Se han propuesto tcnicas de Evolucin Diferencial (ED), que introducen mtodos de seleccin ms novedosos que los de los AG tradicionales. Los trabajos previos realizados mediante la aplicacin de estas tcnicas evolutivas (AG y ED) se detallan con mayor profusin en el siguiente apartado.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2.2 COMPUTACIN EVOLUTIVA


Se resean aqu algunos trabajos basados en algoritmos de inspiracin evolutiva, como son los Algoritmos Genticos y la Evolucin Diferencial, introducida por Storn y Price [11]. J. A. Cabrera, A. Simn y M. Prado, del Departamento de Ingeniera Mecnica de la Universidad de Mlaga [12], completaron un proyecto de implementacin de un AG aplicado a la Sntesis ptima de Mecanismos. Los autores estudiaron el caso de sntesis de trayectoria para el cuadriltero articulado mostrado en la figura, donde C es el punto trazador:

Y C rcy rcx r3 r4

x1

r2

r1

y1 X
Para ello, usaron los 9 valores cromosmicos mostrados (x1, y1, 1, r1, r2, r3, r4, rcx, rcy), codificados como nmeros reales. Para la mayora de los ejemplos ilustrados, se us una poblacin de 100 individuos. Se utiliz una estrategia de evolucin diferencial como medio de seleccin y cruzamiento. Cada nuevo individuo propuesto (V) se calcul de la forma: V = Xbest + F(Xr1 Xr2) donde Xbest es el mejor individuo, Xr1 y Xr2 dos individuos elegidos al azar y F un nmero real entre 0.4 y 0.6 que controla la perturbacin introducida. El nuevo individuo se acepta si resulta ser mejor que los individuos que lo generaron.

Memoria del PFC - Jos Hidalgo Daz

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

La mutacin se realiza barriendo toda la poblacin y eligiendo cromosomas a mutar en funcin de una cierta probabilidad especificada. El nuevo cromosoma mutado es el resultado de sumar o restar una cantidad aleatoriamente elegida dentro del rango de variacin correspondiente a dicho cromosoma. Basndose en el trabajo iniciado por J. A. Cabrera, A. Simn y M. Prado, se implementan sus resultados en un programa informtico desarrollado dentro de su mismo departamento. Se trata del programa WinMecC* (uso bajo licencia remunerada), que en su versin 4.0 inclua un mdulo para la sntesis de generacin de trayectorias y funciones. Los responsables del mencionado programa son F. Nadal, A. Bataller y A. Simn. Otros trabajos se han centrado en problemas ms especficos de sntesis, como el realizado por Kerr-Jia Lu y Sridhar Kota, del Departamento de Ingeniera Mecnica de la Universidad de Mchigan. Bajo el ttulo Compliant Mechanism Synthesis for Shape-Change Applications, sus autores han planteado la sntesis de estructuras deformables adaptativas. Ms concretamente buscaron optimizar el perfil de las alas de un avin para minimizar el consumo de combustible, conjugando el uso de estrategias evolutivas junto con otras tcnicas diversas.

(*) WinMecC es un programa de simulacin de mecanismos planos con un grado de libertad, que ha sido desarrollado por el rea de Ingeniera Mecnica de la Universidad de Mlaga con las ltimas herramientas de programacin orientadas a objetos y con un objetivo fundamentalmente docente. La aplicacin realiza el anlisis cinemtico y dinmico de mecanismos planos con cualquier nmero de eslabones. La versin actual (4.3) no incluye el mdulo de sntesis mencionado.

Memoria del PFC - Jos Hidalgo Daz

10

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

3. FORMULACIN DEL PROBLEMA 3.1. OBJETIVOS


Se quiere utilizar un algoritmo gentico para la sntesis dimensional ptima de mecanismos planos de un grado de libertad con cualquier nmero de barras y que cumplan ciertos objetivos. Ms concretamente, se busca conseguir los siguientes tipos de sntesis: -Generacin de Trayectoria -Generacin de Movimiento -Generacin de Funcin Se describen a continuacin la definicin de los tres problemas anteriores: Generacin de Trayectoria: se busca que un punto del mecanismo describa una trayectoria lo ms prxima posible a la deseada, siendo definida sta a travs de una serie de puntos de precisin asociados a otras tantas posiciones de la barra motora. Generacin de Movimiento: se quiere que un punto del mecanismo describa una trayectoria lo ms prxima posible a la deseada. Adems se pretende que el elemento al que pertenece el mencionado punto, mantenga unas orientaciones concretas. Se deben especificar los puntos de la trayectoria y las rotaciones requeridas a travs de una serie de puntos de precisin asociados a otras tantas posiciones de la barra motora. Generacin de Funcin: se desea que la barra de salida del mecanismo alcance una serie de posiciones especificadas para otras tantas posiciones prescritas para la barra motora. Se pretende implementar lo anterior mediante una aplicacin informtica multiplataforma. sta partir de unos datos de entrada (topologa del mecanismo a sintetizar y tarea prescrita, bsicamente) y mediante un AG ser capaz de encontrar el mecanismo sintetizado. Como resultado, el programa dar las dimensiones del mecanismo solucin, la aptitud del mismo y la desviacin de la tarea desarrollada por ste respecto a la originalmente prescrita.

Memoria del PFC - Jos Hidalgo Daz

11

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

3.2. DESARROLLO DEL AG APLICADO


Se va a utilizar un algoritmo gentico simple con elitismo parcial. El diagrama bsico de flujo para el mismo se muestra a continuacin:

POBLACIN INICIAL

EVALUACIN
CRITERIO DE PARO

ELITISMO

FIN

CRUCE Y MUTACIN

POBLACIN FUTURA
Conocida la topologa del mecanismo podemos caracterizar a ste mediante sus dimensiones caractersticas (xi). Sea Dim la cantidad total de las mismas. De esta forma es posible representar un mecanismo concreto mediante un vector formado por sus dimensiones: X = {x1, x2, ..., xDim} Del total de dimensiones del mecanismo (Dim) puede haber algunas cuyos valores sean conocidos, y por tanto no deberan ser considerados al construir un conjunto de soluciones factibles. Por contra, habr otras cuyos valores sern precisamente los que queremos optimizar mediante el proceso evolutivo. Sea Evol (EvolDim) el total de dichas dimensiones, a las cuales llamaremos dimensiones evolutivas. Definimos unos rangos de variacin (Ri) para cada una de las variables evolutivas, obtenindose as un subespacio de bsqueda apropiado para el problema: Ri = {mni, mxi}, 1<i<Evol A continuacin se genera una poblacin inicial de N mecanismos de forma aleatoria. Para ello se eligen al azar los valores de cada dimensin evolutiva dentro de sus rangos establecidos.

Memoria del PFC - Jos Hidalgo Daz

12

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

La poblacin inicial (j=0) estar constituida por N vectores de dimensin Evol cada uno: MecActij=0 = {c1i, c2i, ..., cEvoli},donde 1<i<N, mnk<ck i<mxk, 1<k<Evol Llamamos poblacin actual a dicha poblacin. Evaluamos la poblacin actual. Para ello se ensambla cada mecanismo de la poblacin en cada una de las posiciones prescritas. A cada mecanismo se le asigna un valor de aptitud o fitness: Fi, 1<i<N El valor de F depender del tipo de sntesis elegido: -Generacin de Trayectoria: F ser la suma de las distancias eucldeas entre las posiciones prescritas y las posiciones alcanzadas para todos los puntos de precisin. -Generacin de Movimiento: F ser la suma de las distancias eucldeas entre los puntos prescritos y alcanzados de la trayectoria ms las desviaciones angulares corregidas: distancia entre los extremos de los vectores que representan al segmento de rotacin prescrita en sus posiciones prescrita y alcanzada (suponiendo sus orgenes coincidentes). -Generacin de Funcin: si la barra de salida es una corredera, F es la suma de las distancias eucldeas entre posiciones prescritas y alcanzadas. Si la barra de salida no es una corredera, F ser la suma de las desviaciones angulares de las posiciones alcanzadas respecto de las prescritas. Los mecanismos que resultasen rotos obtendrn una penalizacin en funcin de su grado de rotura (nmero de posiciones prescritas no ensamblables). La obtencin de F se realiza como sigue: 1. Se calcula un Fip (provisional) para cada mecanismo, considerando slo sus posiciones NO rotas. 2. Se determina el mximo de los valores anteriores entre la poblacin (FMAX) 3. Se asigna un fitness definitivo (Fi, 1<i<N) a cada mecanismo. Si Pos es el nmero de posiciones prescritas y NROTi es el nmero de roturas: Si NROTi =0: Fi = Fip Si NROTi < Pos: Fi = Fip + NROTi FMAX Si NROTi = Pos: Fi = FMAX + NROTi FMAX Se ordena la poblacin de acuerdo a su aptitud (de menor a mayor valor de Fi). A continuacin se construye la Poblacin Futura: primero se almacenan en sta los mejores mecanismos (en un nmero igual a lite individuos). Despus se completa la poblacin con los hbridos resultantes tras el proceso de cruce y mutacin. Ntese que N debe ser tal que (Nlite) sea par.

Memoria del PFC - Jos Hidalgo Daz

13

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

El cruzamiento consiste en seleccionar 2 individuos procreadores entre la poblacin actual. stos darn lugar a 2 hbridos: 1. Seleccionar 2 progenitores (MecActP1 y MecActP2) mediante el mtodo de la ruleta. 2. Dichos individuos sern cruzados con probabilidad Pc (probabilidad de cruce). Si resulta que deben cruzarse, se obtendrn 2 hbridos (Hibr1 e Hibr2). Cada cromosoma k de cada hbrido ser: ck1=ckP2 con probabilidad p=0.5 (ck1=ckP1 en caso contrario), para el Hibr1 ck2=ckP1 con probabilidad p=0.5 (ck2=ckP2 en caso contrario), para el Hibr2 con 1<k<Evol En el caso de que no deban cruzarse: Hibr1=MecActP1 e Hibr2=MecActP2 La mutacin consiste en alterar los hbridos anteriores, tras lo que resultan los individuos mutados Mut1 y Mut2: 1. Se eligen 2 mecanismos al azar entre la poblacin actual (MA y MB). stos sern la fuente de ruido para la mutacin. 2. Cada cromosoma cki=1,2 de los hbridos cambiar su valor a c ki=1,2 con probabilidad Pm (probabilidad de mutacin) y conservar su valor con probabilidad 1-Pm: c ki=1,2= ckA + K(ckB - ckA), 1<k<Evol donde K (constante de mutacin) es un valor aleatorio entre 0 y Km En el caso de que algn c ki=1,2 no perteneciera Rk, esto es, estuviera fuera de rango, se tomar c ki=1,2= ckA como resultado de la mutacin. Los mecanismos resultantes tras la mutacin se introducen en la poblacin futura. Se realizan los procesos de cruce y mutacin hasta que se completa la llamada poblacin futura, tras lo cual se llama a sta poblacin actual, volvindose a repetir los pasos desde la evaluacin. Se incrementa el contador de generaciones transcurridas. Se repiten los pasos anteriores hasta que se completan el nmero de generaciones programadas, o mientras que no se cumpla el criterio de paro. El criterio de paro elegido consiste en comparar la diferencia entre el ajuste medio poblacional (FM) y el del mejor individuo (F0) de cada generacin con una determinada cota, o bien el propio ajuste del mejor individuo. Si llamamos FitCota a dicho valor, el algoritmo se detendr en uno de los siguientes casos: FM-F0<FitCota, o bien F0<FitCota El mejor individuo al trmino del algoritmo ser la solucin propuesta como ptima. La manera de implementar lo anterior, sobre todo en cmo se evalan los individuos de la poblacin, se expone en el siguiente apartado.

Memoria del PFC - Jos Hidalgo Daz

14

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4. METODOLOGA EMPLEADA
Se detalla a continuacin cmo se ha implementado el AG de manera concreta. Puede que el lector califique algunas tcnicas o tratamientos utilizados como particularmente enrevesados o poco comunes. Se intentarn explicar stos con detalle, justificndolos en la medida de lo posible.

4.1. COORDENADAS NATURALES


Se usan Coordenadas Naturales [1] para tratar los mecanismos. Las principales ventajas de estas coordenadas son: definicin simple y sistemtica; ecuaciones de restriccin fciles de establecer y sencillas; sitan a cada elemento con independencia de los dems; nmero de coordenadas reducido, generalmente intermedio al empleado por las coordenadas relativas y las de punto de referencia; inmediata interpretacin geomtrica de los resultados, ms sencilla que en otras coordenadas. En el plano, las coordenadas naturales son coordenadas cartesianas de puntos de slidos del mecanismo, que se denominarn puntos bsicos (en adelante PB). Existen ciertas normas que deben respetarse a la hora de modelar un mecanismo plano en coordenadas naturales. Estas normas son: Cada slido rgido debe contener, al menos, dos PBs, ya que en caso contrario no queda su posicin definida. En cada articulacin debe situarse un PB. De esta forma, los dos slidos que se unen en ella comparten un punto, quedando as automticamente impuesta la condicin de par de rotacin. En pares prismticos deben existir dos PBs alineados con el eje del par, que sirvan para definir su recta de deslizamiento. Pueden utilizarse ms PBs por conveniencia: definicin de ngulos o distancias, puntos concretos de inters, etc.

Podemos clasificar los PBs por su carcter: PBs Fijos: sern aquellos cuya posicin no vara en el movimiento del mecanismo. PBs Incgnita: aquellos cuyas posiciones son desconocidas a priori, necesitndose resolver las ecuaciones de restriccin del mecanismo para fijarlos en el plano. PBs Prescritos: aquellos cuyas posiciones estn prescritas en el movimiento, por pertenecer a la barra motora.

Tambin podemos hablar de PBs Libres: aquellos que no se conectan con ninguna otra barra distinta a la que pertenecen. Dichos puntos sern los habitualmente conocidos como Puntos de Inters o Puntos Trazadores en un problema de generacin de trayectoria o de movimiento.

Memoria del PFC - Jos Hidalgo Daz

15

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.2. TIPOS DE BARRA Y ECUACIONES DE RESTRICCIN


Los tipos de barra que van a considerarse son: barras articuladas y correderas. Las primeras se caracterizan porque sus puntos bsicos slo permiten la articulacin con otras barras del mecanismo. En cuanto a las correderas se van a considerar correderas articuladas y correderas rgidas. Una barra articulada puede tener 2,3,... puntos bsicos. Para definir una barra articulada es necesario conocer una serie de distancias entre sus puntos bsicos. As, una barra biarticulada necesita una longitud, una triarticulada necesita 3 longitudes. En general, se puede definir un criterio que asigne un segmento orientado para cada longitud necesaria. Una barra articulada con NPB puntos bsicos necesitar 2(NPB-2) + 1 longitudes para su construccin: L1: Distancia entre PB1 y PB2 L2: Distancia entre PB2 y PB3 ... LNPB: Distancia entre PBNPB y PB1 LNPB+1: Distancia entre PB1 y PB3 LNPB+2: Distancia entre PB1 y PB4 ... L2(NPB-2)+1: Distancia entre PB1 y PBNPB-1 En adelante, nos referiremos a las barras articuladas por la abreviatura BArt. En cuanto a la manera de incorporar los puntos trazadores dentro de una barra articulada, stos se tratarn como un PB Libre adicional. As, por ejemplo, si queremos disponer de un punto trazador montado sobre una barra biarticulada, deberemos disponer de una barra triarticulada. Dos de sus PBs permitirn la articulacin ordinaria de la barra, el tercero de ellos ser el punto trazador. Una corredera articulada (en adelante CArt) es una barra que tiene un nico punto bsico. ste permite la conexin de la corredera con otras dos barras del mecanismo: una con la que se articula y otra sobre la que desliza. Si el deslizamiento se realiza sobre la barra fija, denominaremos a este tipo de barras correderas articuladas fijas (en adelante CArtF) y si el deslizamiento se produce sobre cualquier otra barra, correderas articuladas mviles (en adelante CArtM) Una corredera rgida (en adelante CRig) es una barra que tiene un nico punto bsico. ste permite la conexin de la corredera con otras dos barras del mecanismo: una sobre la que desliza y otra a la que est unida rgidamente. Su direccin de deslizamiento define un cierto ngulo con la barra a la que se une. Dicho ngulo es caracterstico de la CRig considerada. Si la corredera desliza sobre la barra fija, denominaremos a este tipo de barras correderas rgidas fijas (en adelante CRigF) y si el deslizamiento se produce sobre cualquier otra barra, correderas rgidas mviles (en adelante CRigM). Como puede verse, el tratamiento expuesto para una CRig difiere del tradicional, en el que se trata como un tipo de conexin entre barras. Aqu una CRig se eleva a la categora de barra.

Memoria del PFC - Jos Hidalgo Daz

16

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

A continuacin se muestra una figura aclaratoria con diversos ejemplos de tipos de barra, as como los convencionalismos adoptados.

TIPOS DE BARRA. EJEMPLOS


33 22 32
L5,4

54

L5,3

53
L5,2

3 2
21 31

5
L5,6 L5,1

55
L5,5

L5,7

52

51

BARRA 2 BIARTICULADA. EL PB21 ES FIJO Y EL PB22 SE CONECTA A OTRA BARRA. SE MUESTRA LA MANERA DE MEDIR SU NGULO ()

BARRA 3 TRIARTICULADA. EL PB33 ES UN PB LIBRE

SE MUESTRAN LOS SEGMENTOS ORIENTADOS DE LA BARRA ARTICULADA 5 CON 5 PBs.

52

22=31

5 2

6
22=61

53

3 2
P1,4 32=41 P2,4

51

4
S 21

21

CORREDERA ARTICULADA MVIL 6. SE ARTICULA EN EL PB22 Y DESLIZA SOBRE EL SEGMENTO DE ORDEN 3 DE LA BARRA 5 (EL QUE VA DEL PB53 AL PB51)

CORREDERA ARTICULADA FIJA 4. SE ARTICULA EN EL PB32 Y DESLIZA SOBRE LA LNEA FIJA DEFINIDA POR P1,4 Y P2,4. SE MUESTRA CMO SE MIDE SU COORDENADA DE AVANCE "S"

DIR. DEL SEGMENTO DE UNIN

DIR. DEL SEGMENTO DE DESLIZAMIENTO

43

23=51

42

5
41

2
21

22

CORREDERA RGIDA MVIL 5. SE UNE EN EL PB23 Y DESLIZA SOBRE EL SEGMENTO DE ORDEN 1 DE LA BARRA 4. SE MUESTRA LA MANERA DE MEDIR SU NGULO (), EL QUE VA DEL SEGMENTO DE MENOR ORDEN AL QUE PERTENECE EL PUNTO DE UNIN (L2,2) HASTA EL SEGMENTO DE DESLIZAMIENTO (L4,1)

22=31

32=41

4 2
P1,5 42=51 P2,5

DIR. DEL SEGMENTO DE DESLIZAMIENTO CORREDERA RGIDA MVIL 5. SE UNE EN EL PB42 Y DESLIZA SOBRE LA LNEA FIJA DEFINIDA POR P1,5 Y P2,5. SE MUESTRA LA MANERA DE MEDIR SU NGULO (), EL QUE VA DEL SEGMENTO DE MENOR ORDEN AL QUE PERTENECE EL PUNTO DE UNIN (L4,1) HASTA EL SEGMENTO DE DESLIZAMIENTO (EL QUE VA DEL P1,5 AL P2,5). SE MUESTRA TAMBIN CMO SE MIDE SU COORDENADA DE AVANCE "S"

5
S 21 DIR. DEL SEGMENTO DE UNIN

Memoria del PFC - Jos Hidalgo Daz

17

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

En cuanto a las ecuaciones de restriccin que se construyen para cada barra, se detallan a continuacin sus expresiones: Para cada barra articulada, se montarn tantas ecuaciones de restriccin como segmentos tenga. Las ecuaciones son del tipo longitud constante. Si el segmento k (de longitud Lk) va del punto bsico a al punto bsico b: (xb-xa)2+(yb-ya)2-Lk2=0 Para cada corredera articulada se ha de plantear una ecuacin que garantice que el punto bsico en el que se articula la misma (punto r) est sobre su recta de deslizamiento (definida por los puntos a y b): (xr-xa)(yb-ya)-(yr-ya)(xb-xa)=0 Para cada corredera rgida han de montarse dos ecuaciones, la primera (1) destinada a garantizar que el punto de unin de la corredera (punto u) est sobre su recta de deslizamiento. La segunda expresa la constancia del ngulo () entre el segmento de la barra articulada a la que se une (puntos ua y ub, de longitud Lu) y la lnea de deslizamiento (puntos da y db, de longitud Ld). La forma de plantear esta ltima depende del ngulo mencionado. Para ngulos en torno a 0 180 se plantear la ecuacin de la constancia de la componente z del producto vectorial (2PV) de los vectores que representan al segmento de unin y a la recta de deslizamiento. Para el resto de ngulos se plantear la ecuacin del producto escalar (2PE) entre los vectores mencionados. La razn de este planteamiento est en que dos vectores que formen un ngulo prximo a 0 180 no varan la proyeccin del uno sobre el otro si dicho ngulo vara una cantidad infinitesimal. Por lo tanto el producto escalar no se aplica en estos casos. Anlogamente, para un ngulo prximo a 90, si ste vara una pequea cantidad, la componente z del producto vectorial permanece constante, de ah que no se aplique el producto vectorial a estos casos. Ms concretamente el planteamiento seguido aqu es: si el coseno del ngulo pertenece a (0.99,0.99), esto es, para ngulos pertenecientes a (-8.11, 8.11)U(171.89, 188.11) aproximadamente, se plantea la ecuacin (2PV). En el resto de casos se formula la (2PE). Obviamente el valor 0.99 se ha tomado arbitrariamente. (xu-xda)(ydb-yda)-(yu-yda)(xdb-xda)=0 (xdb-xda)(xub-xua)+(ydb-yda)(yub-yua)-LdLucos()=0 (xub-xua)(ydb-yda)-(xdb-xda)(yub-yua)-LdLusen()=0 (1) (2PE) (2PV)

Segn sea el tipo de la barra motora, se realizan las siguientes consideraciones. Si la barra motora es una: BArt: la ecuacin correspondiente a su segmento de movimiento prescrito se deja sin montar. CArtF: su ecuacin no se monta. CRigF o CRigM: slo se monta la ecuacin de la constancia del ngulo de unin.

Memoria del PFC - Jos Hidalgo Daz

18

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

En cuanto a la manera de especificar la posicin de la barra motora, podra preguntarse por qu no se especifica sta mediante pares coordenados (como sera lgico pensar si se usan coordenadas naturales). La razn de usar ngulos en el caso de que la barra motora sea una barra articulada, y desplazamientos en el caso de que la barra motora sea una corredera, es la de facilitar la introduccin de los datos. El programa se encarga de calcular las coordenadas del punto prescrito en cada caso. De este modo, se ahorran clculos innecesarios al diseador.

4.3. CODIFICACIN
Ya se ha visto cmo se guardan los datos de una poblacin de mecanismos: slo se guardan las dimensiones evolutivas. Para determinar un mecanismo en una posicin concreta, es necesario especificar algo ms que sus dimensiones evolutivas. Primero, se va a dar cuenta de cules son las dimensiones de un mecanismo genrico como el de la figura, al que nos referiremos como mecanismo de ejemplo:

53 L52 L53

52=61

5 4
L6 ACR_4 (X_P1,7,Y_P1,7)

6
62=71

22=51

L51 32=41

(X_P2,7,Y_P2,7)

3
L2

L3

31 (X31,Y31)

21 (X21,Y21)

MECANISMO DE EJEMPLO

Se necesitan unas longitudes, unas coordenadas de los puntos fijos, unas coordenadas para los puntos de definicin de las rectas de deslizamiento de las correderas fijas, y los cosenos de los ngulos de unin de las correderas rgidas. En el ejemplo: Longitudes: L2 L3 L51 L52 L53 L6 Puntos Fijos: X21 Y21 X31 Y31 Puntos Rectas de Deslizamiento: X7P1 Y7P1 X7P2 Y7P2 Cosenos de Correderas Rgidas: cos(ACR4) Tambin se necesitar conocer la posicin de la barra motora, as como las posiciones de los PBs incgnita del problema. Si suponemos que la barra de entrada es la 2: Barra Motora: X22 Y22 Incgnitas: X32 Y32 X52 Y52 X53 Y53 X62 Y62

Memoria del PFC - Jos Hidalgo Daz

19

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Agrupando toda la informacin en un vector de datos:


{X22 Y22 X32 Y32 X52 Y52 X53 Y53 X62 Y62 L2 L3 L51 L52 L53 L6 X21 Y21 X31 Y31 X7P1 Y7P1 X7P2 Y7P2 cos(ACR4)}

Dichos datos sern, junto con la topologa del mecanismo, la informacin necesaria para representar un mecanismo en una posicin concreta. De manera general, la estructura del vector de datos ser: { Barra Motora | Incgnitas | Dimensiones } Ntese que las incgnitas aparecen con un orden definido (de menor a mayor nmero de barra y de menor a mayor PB). Igualmente las dimensiones tambin mantienen un orden lgico en el vector de datos. De esta forma, siempre se sabe a qu posicin del vector ha de accederse para extraer un dato concreto. Una vez explicado esto, podemos dar a conocer cmo se codifica la topologa del mecanismo. Bsicamente, la informacin acerca de la conexin entre barras se almacena en una lista de listas, esto es, cada elemento de la lista es otra lista. Si el mecanismo tiene n barras (incluida la barra fija) la lista de topologa tendr n-1 listas, que correspondern a la barra 2, 3,..., n. Para cada barra, dependiendo de si sta es una barra articulada o una corredera, los elementos de su lista de definicin sern diferentes. As, para una: Barra Articulada: lista de pares. Cada par corresponde a la conexin de cada PB de la barra. El primer elemento del par corresponde a la barra de conexin, el segundo al PB de conexin. Corredera: cuatro elementos. El primero indica la barra de conexin, el segundo el PB de conexin, el tercero la barra de deslizamiento, el cuarto el orden del segmento de la barra anterior sobre el que la corredera se desliza (ya que dicha barra podra tener varios posibles segmentos de deslizamiento) Notar que la barra fija dispone de un nico PB, el PB11, y un nico segmento de deslizamiento, el 1. Para dar claridad a lo anterior, se muestra aqu la topologa del mecanismo de ejemplo: BArt 2 BArt 3 CRigM 4 BArt 5 BArt 6 CArtF 7 1 1 3 2 5 6 1 1 2 2 2 2 5 4 5 6 7 1 1 1 1 1 1 1

Ntese cmo el PB53 se conecta consigo mismo. De esta forma se indica que se trata de un PB libre, que posteriormente puede ser usado como punto trazador.

Memoria del PFC - Jos Hidalgo Daz

20

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.4. MONTAJE DE LAS ECUACIONES DE RESTRICCIN


Dado que en la parte de evaluacin del AG es donde se consume el mayor tiempo de clculo, se ha desarrollado un mtodo que pretende aliviar la tarea del montaje de las ecuaciones, ya que ste es necesario para acometer el problema de ensamblaje. Baste tener en cuenta lo siguiente: si tenemos una poblacin de N mecanismos, pretendemos completar G generaciones, prescribimos P puntos de precisin y estimamos que cada problema de ensamblaje consumir I iteraciones como media, deberemos plantear NGPI veces el problema de montaje (calcular tanto el valor de las ecuaciones de restriccin como de la matriz jacobiana). Poniendo un ejemplo tpico: con un tamao poblacional de 100 mecanismos, previstas 100 generaciones, para 10 puntos de precisin y estimando unas 10 iteraciones de media para cada problema de ensamblado: tendremos del orden de un milln de montajes idnticos. Lo nico que variar ser los valores de los datos. En lugar de pasar todas esas veces por una rutina de decisin que, en funcin del tipo de barra monte un tipo de ecuacin y le ponga valor a las mismas, se usa un montaje de ecuaciones mediante listas de operaciones. Para ello se usa una metodologa inspirada en RPL (Reverse Polish Lisp*). Se montan las secuencias necesarias para construir las ecuaciones de restriccin y la matriz jacobiana. De esta forma, slo se requiere pasar una sola vez por la rutina de decisin, con lo que el nico trabajo ser ir rellenando datos segn indiquen las secuencias construidas. Lo primero que hay que desarrollar es un mtodo para caracterizar un PB, esto es, una funcin que tome como argumento un PB del mecanismo y que, conociendo la topologa del mismo, sea capaz de devolver su carcter (punto prescrito, incgnita o punto fijo) y segn el caso devolver su orden. De esta forma se consiguen extraer las coordenadas de un PB dentro del vector de datos del mecanismo. Una vez conocida la posicin de extraccin, podemos sustituir simblicamente el dato a montar por el orden que ocupa en el vector de datos. Despus, basta con recorrer secuencialmente las barras del mecanismo para, segn su tipo, plantear las ecuaciones de restriccin correspondientes. Este proceso se basa en la caracterizacin de PBs mencionada antes. Hecho esto, la construccin de las secuencias RPL que montan las ecuaciones de restriccin y la matriz jacobiana, parece algo trivial, slo hay que poner cuidado al escribir el cdigo del programa, para no cometer errores al pasar de expresiones algebraicas a secuencias de operadores y datos.

(*) Reverse Polish Lisp significa Lisp Polaco Inverso. Lisp es el acrnimo de List Proccesing (Procesado de Listas). Se trata de una tcnica para realizar operaciones en una pila y se basa en los trabajos del polaco Jan Lukasiewicz, quien cre la notacin de prefijo llamada Notacin Polaca

Memoria del PFC - Jos Hidalgo Daz

21

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.5. EL PROBLEMA DE ENSAMBLAJE


El problema de ensamblaje es lo nico que falta para cerrar definitivamente tarea de evaluar un mecanismo. Afortunadamente, se trata de un problema bien conocido. Se ha usado el algoritmo de Newton-Raphson para problemas multidimensionales [13]. Se detallan a continuacin los pasos a seguir. Conocidas las ecuaciones de restriccin en funcin de las incgnitas q, para cada posicin prescrita: (q) = 0 El mtodo de Newton-Raphson consiste en linealizar el sistema anterior, reemplazndolo por los dos primeros trminos de su desarrollo en serie de Taylor alrededor de un punto qi prximo a la solucin:

(q) (qi) + J(qi) (q - qi) = 0


donde J(qi) es la matriz jacobiana evaluada en qi. Haciendo iterativa la aproximacin anterior:

(qi) + J (qi) (qi+1 - qi) = 0


Multiplicando por la inversa de la matriz jacobiana en qi y despejando qi+1: qi+1 = qi - J -1(qi)(qi) Los mecanismos se van montando en cada una de las posiciones, resolviendo para ello un sistema como el anterior. Para la primera posicin prescrita se toma qi igual a una solucin inicial comn para todos los mecanismos. Para la segunda y posteriores, la solucin inicial considerada es la obtenida para la posicin prescrita previa. Como solucin inicial comn para todos los mecanismos se toma la correspondiente a la primera posicin prescrita para un mecanismo dado, de igual topologa que el mecanismo que se quiere sintetizar y al que denominaremos mecanismo prototipo. Ensamblar el mecanismo se reduce pues a calcular la solucin a q de manera iterativa. En cada iteracin han de calcularse el vector (qi) y J(qi). La inversin de la matriz jacobiana se realiza mediante el mtodo de Gauss-Jordan. Tras ensamblar un mecanismo en una posicin concreta, su evaluacin es inmediata. Basta con calcular la posicin alcanzada por elemento prescrito (dependiendo del tipo de sntesis) y compararla con su valor prescrito correspondiente.

Memoria del PFC - Jos Hidalgo Daz

22

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.6. CORRELACIN TEMPORAL Y REAJUSTE


La Generacin de Trayectoria y la Generacin de Movimiento, pueden realizarse con o sin temporizacin prescrita, esto es, con o sin correlacin temporal entre las posiciones prescritas y las correspondientes posiciones de la barra motora. Aunque formalmente una sntesis del tipo Generacin de Funcin requiere de correlacin temporal, operativamente nada impide poder prescindir de ella. Por esta razn no se ha limitado su uso en ninguno de los tres tipos de sntesis. Cuando no se establece correlacin temporal podemos buscar, partiendo de las posiciones originalmente prescritas para la barra motora, otro juego de posiciones para sta que conduzcan a un mejor ajuste respecto al original. Se intenta conseguir dicho propsito con la introduccin de un mtodo de reajuste apropiado. Dicho reajuste comienza a actuar a partir de una cierta generacin dada (GenReajuste). Si hemos prescrito P posiciones para nuestro mecanismo, podemos definir los siguientes valores para 1<i<P:

BMoti0: juego original de posiciones prescritas de la barra motora BMotij: posiciones de la barra motora en la generacin j IncBMot0: valor inicial del incremento de exploracin alrededor de la barra motora IncBMotij: incremento de exploracin en la generacin j (alrededor de la posicin BMotij) RedIncBMot: reduccin de IncBMotij
El reajuste tiene lugar segn los siguientes pasos, para la generacin j: 1. Se guardan copias de BMotij-1, IncBMotij-1, {MecAct} j-1, F j-1 con el propsito de restaurar las condiciones previas al intento de reajuste si ste no prosperara. 2. Se realizan, sobre el mejor mecanismo de la poblacin, dos evaluaciones adicionales a la BMotij-1 prescrita (las correspondientes a las posiciones "adelantada" y "retrasada" una j-1 j-1 cantidad IncBMoti en torno a BMoti ), guardndose las aproximaciones encontradas para cada una de ellas en cada uno de los Puntos de Precisin. Para cada Punto de j Precisin se comparan las 3 distancias observadas. Si hubo mejora se modifica BMoti j para dicho Punto de Precisin. En caso contrario se reduce el IncBMoti correspondiente. Ntese que estas mejoras parciales deben ser corroboradas en el total de la poblacin, ya que la aptitud es siempre relativa al contexto donde se determina, esto es, depende del resto de individuos coetneos. 3. Si hubo alguna posible mejora, se plantea si realmente son efectivas en el contexto del total de la poblacin. Para ello se evala y ordena la poblacin. Se compara el fitness del mejor mecanismo con el del mejor mecanismo antes de intentar el reajuste. Si fue mejor que ste ltimo, se abandona el reajuste sin restaurar nada. Sino, se va al paso 4. 4. No se produjo ninguna mejora global. Se restauran las copias guardadas en el paso 1, j j-1 salvo que IncBMoti = IncBMoti /RedIncBMot, persiguindose con esto una mayor finura en el reajuste de la siguiente generacin.

Memoria del PFC - Jos Hidalgo Daz

23

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.7. DIMENSIONES DEPENDIENTES


Definidos unos rangos de variacin para las dimensiones evolutivas, stas variarn sus valores de acuerdo a las leyes probabilsticas marcadas por el desarrollo del algoritmo. Sin embargo, en algunos diseos es necesario mantener el control sobre los valores que adoptan ciertas dimensiones. El caso ms comn donde se nos presenta esta necesidad es cuando se tiene una barra triarticulada con sus tres PBs alineados. Si dejamos que varen libre y aleatoriamente 2 de sus longitudes asociadas, la tercera deber ser combinacin lineal de las anteriores. Esto nos lleva a la necesidad de idear un sistema para poder revisar durante el transcurso del proceso algortmico, los valores de este tipo de dimensiones, a las cuales llamaremos dimensiones dependientes, al depender del valor de otras dimensiones del problema. El valor de las dimensiones dependientes es recalculado en cada generacin usando la misma tcnica mostrada anteriormente al montar las ecuaciones de restriccin, esto es, mediante secuencias RPL.

4.8. ANLISIS FINO


Introducimos aqu el concepto de mecanismo prototipo (MP). Se entiende por tal, a un mecanismo concreto del tipo y topologa del mecanismo que se quiere sintetizar, cuyas dimensiones no difieren mucho de los rangos de variacin propuestos para dichos valores. El motivo de introducir este concepto es doble: forzar al diseador a ser coherente a la hora de ofrecer un juego de valores iniciales al problema de ensamblaje y servir de referencia a los rangos de variacin de las dimensiones. En vista de lo anterior podra preguntarse por la necesidad de existencia de tal mecanismo. Realmente no sirve para nada. Para que todo funcione bastara con suministrar una topologa y un juego de valores iniciales para las incgnitas del problema. Sin embargo, se ha querido mantener ste para recordarnos la necesidad de ser coherentes a la hora de suministrar datos al programa. ste no es una caja negra mgica, y no valora de modo inteligente los datos de partida. Es una forma de mantenernos lejos de disear a ciegas, pero no la nica. Una vez comprendido el procedimiento de ensamblaje cabe preguntarse lo siguiente: si slo se montan mecanismos en las posiciones prescritas, qu ocurre en posiciones intermedias a las mismas? Pudiera ser que el mecanismo solucin estuviera roto en alguna de ellas. Tambin pudiera ser que el mecanismo pasara de un circuito solucin a otro. Todo esto podra pasar desapercibido por completo. Para intentar detectar estos cambios de circuito y puntos de rotura entre posiciones prescritas, se realizan dos anlisis finos: uno sobre el MP antes de iniciar el algoritmo gentico y otro sobre el mecanismo solucin. En ambos se ensambla el mecanismo correspondiente, adems de en las posiciones prescritas, en un nmero de puntos adicionales. Estos se distribuyen en funcin de la separacin entre las posiciones que alcanzan los PBs del mecanismo entre dos posiciones prescritas consecutivas.
Memoria del PFC - Jos Hidalgo Daz 24

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

4.9. REDONDEO DE LAS DIMENSIONES FINALES


Al resolver un problema numrico como el que nos ocupa, la precisin de los datos es algo importante. A mayor precisin durante el transcurso de las operaciones conducentes a la solucin es de esperar una mayor precisin en los resultados obtenidos. Sin embargo estamos ante un caso engaoso. En un problema multidimensional de la naturaleza del que nos proponemos aqu puede resultar conveniente efectuar un redondeo de las dimensiones finales del mecanismo solucin, ya que, de esta forma, ste se evala en el contexto de la poblacin con unas dimensiones reales, que podran ser sus dimensiones constructivas, y no con unas dimensiones que internamente pueden tener una precisin excesiva, y que podran darnos valores del ajuste magnficos, pero engaosos, y que nos decepcionaran a la hora de realizar el mecanismo de manera real, al tener que hacerlo con unas dimensiones realizables. Por esta razn se ha implementado la posibilidad de definir el uso y cuanta del redondeo mencionado. En la prctica, para comprobar la importancia del redondeo basta fijarse en cmo algunos mecanismos solucin pueden disminuir de manera significativa su ajuste tras realizar el redondeo de sus dimensiones. Por contra, si tras el redondeo, el ajuste disminuye, puede deberse a que el puesto de mejor mecanismo se ha cedido a otro que, sin redondeo, ocupaba peor puesto en la lista de calificaciones de la poblacin.

Memoria del PFC - Jos Hidalgo Daz

25

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

5. SDMAG
SDMAG es, como ya se habr podido adivinar, el acrnimo de Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico. Tambin es el nombre dado al programa informtico donde se implementa todo lo expuesto con anterioridad en este documento. Aqu slo se van a resumir las caractersticas del programa. Para un mayor detalle deber consultarse, fuera de esta memoria, el Documento de Ayuda de SDMAG. SDMAG es un programa informtico escrito en Lenguaje C [14], por lo que se puede compilar y ejecutar en cualquier plataforma. Se ejecuta en modo consola, no requirindose ninguna capacidad grfica especfica en la mquina. Adems, con ayuda de un visor de archivos DXF [15] se podr obtener una representacin grfica completa de la salida del programa. El programa permite la creacin de una serie de archivos con los datos necesarios para resolver una sntesis. Una vez creados stos, se pueden modificar posteriormente. Para resolver el problema, el programa hace uso de dichos archivos y se generan otros con los datos relativos a la solucin encontrada. Ms concretamente, SDMAG escribe dos archivos. El primero es un fichero de texto donde se recogen las incidencias de la resolucin, las dimensiones del mecanismo sintetizado, las posiciones alcanzadas por aquel, as como las desviaciones de stas respecto de las originalmente prescritas. El segundo es creado a voluntad del usuario y se trata de un archivo DXF ASCII con la representacin de la solucin obtenida. ste se puede ver con cualquier programa capaz de procesar dichos archivos. No obstante, se ha intentado optimizar la representacin para su visualizacin con AutoCad. SDMAG se acompaa, adems de por la documentacin de ayuda mencionada ms arriba, por una batera de ejemplos que intentan ilustrar el uso del programa. A continuacin se muestra el diagrama de flujo general de resolucin de un problema de sntesis por SDMAG, permitiendo completar el conocimiento de cmo se han implementado los distintos mtodos expuestos en el apartado anterior.

Memoria del PFC - Jos Hidalgo Daz

26

SDMAG

ALGORITMO GENTICO

DATOS POBLACIN INICIAL


DIMENSIONES DEPENDIENTES

REDONDEO

ELITISMO

Memoria del PFC - Jos Hidalgo Daz

COMPROBACIN EVALUACIN ORDENAMIENTO REAJUSTE


CRITERIO DE PARO

REPRESENTACIN GRFICA

CODIFICACIN

DIMENSIONES DEPENDIENTES

EVALUACIN DE LA SOLUCIN DIMENSIONES

CRUCE Y MUTACIN
DIMENSIONES DEPENDIENTES

EVALUACIN DEL PROTOTIPO

POBLACIN FUTURA

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

27

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6. RESULTADOS Y CONCLUSIONES
A continuacin se presentan una serie de ejemplos con el objeto de mostrar la capacidad del programa. En primer lugar se propone la sntesis de una trayectoria cerrada (con 8 puntos de precisin) mediante un mecanismo de biela-manivela. En segundo lugar, otra sntesis de una trayectoria cerrada (con 24 puntos) mediante un cuadriltero articulado. Finalmente un problema de generacin de movimiento con un mecanismo de mayor complejidad. Pueden consultarse los datos de los ejemplos en la carpeta ejemplos/ del programa. El nombre del proyecto asociado aparecer indicado entre corchetes. En el Documento de Ayuda de SDMAG pueden consultarse ms ejemplos.

6.1. EJEMPLO 1 [4bgt9pp3]


Se quiere sintetizar, con un mecanismo de biela-manivela como el mostrado, la trayectoria propuesta en la misma figura:

22=31 5 6 21 P1 7 4 3 2 33 1=9

4
32=41

P2

La barra motora es la 2, el punto trazador es el 33 y se pretende que ste pase por 8 puntos concretos. Para ello se definen las posiciones prescritas de la tabla siguiente (la posicin 9 cierra la trayectoria y es idntica a la 1). Las posiciones correspondientes a la barra motora se toman como estimacin y estn espaciadas en base a la separacin entre los distintos puntos prescritos. El programa reajustar dichas posiciones (se trata de una sntesis sin correlacin temporal).
Posicin 1 2 3 4 5 6 7 8 9 Barra motora 45 70 95 120 145 185 275 365 405 X33 26 23 20 17 14 10 20 30 26 Y33 16 16 16 16 16 13 7 13 16

Las dimensiones del prototipo (MP) y sus rangos de variacin se muestran a continuacin:
Punto Fijo X21 Y21 10 10 5 5 15 15 L2 10 10 20 Longitudes L31 L32 20 13 15 10 25 15 L33 9 10 15 XP1 0 0 0 Recta de Deslizamiento YP1 XP2 YP2 5 50 5 5 50 5 5 50 25

MP MN MX

Memoria del PFC - Jos Hidalgo Daz

28

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Ntese que los nicos valores no evolutivos son XP1, YP1 y XP2 El mecanismo prototipo se ha elegido atendiendo a que ste pasa muy cercano al punto 1 para una posicin de la barra motora de 45 y a que tiene unas dimensiones con valores sencillos (enteros). Como estimacin inicial de las posiciones de los puntos incgnita del problema de ensamblaje se toman X32 = 30, Y32 = 5, X33 = 26 e Y33 = 16 La solucin calculada por el programa se muestra a continuacin. Las dimensiones del mecanismo se han redondeado a 3 decimales:
X21 7.537 Y21 5.598 L2 10.558 DIMENSIONES DEL MECANISMO SINTETIZADO L31 L32 L33 XP1 22.212 11.711 13.430 0.000 POSICIONES ALCANZADAS Barra Motora X33 Y33 61.349 26.000 15.998 79.227 23.006 16.246 96.077 19.988 16.177 113.192 17.027 15.838 131.146 14.243 15.201 168.751 9.997 13.002 294.572 19.980 7.075 6.552 30.003 12.999 61.347 26.000 15.998 Desviacin Total YP1 5.000 XP2 50.000 YP2 7.822

Punto 1 2 3 4 5 6 7 8 9

Desv. 0.002 0.246 0.178 0.165 0.835 0.004 0.077 0.003 0.002 1.511

En la figura se muestran el mecanismo sintetizado en su posicin 1 y la trayectoria alcanzada:

Memoria del PFC - Jos Hidalgo Daz

29

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

A continuacin se muestran superpuestas, por claridad, slo las trayectorias prescrita y alcanzada:

4 5

1=9

6 8

7 POSICIONES ALCANZADAS POSICIONES PRESCRITAS

La evolucin del ajuste o fitness (F) y el ajuste medio poblacional (FM) se muestran en la siguiente grfica:

25

Evolucin del Ajuste

20
F
FM

15
Fitness

10

0 Generaciones

Memoria del PFC - Jos Hidalgo Daz

30

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.2. EJEMPLO 2 [4bgt25pp_p] [4bgt25pp]


Se quiere sintetizar un mecanismo de cuatro barras que pase por los puntos de la figura, los cuales forman una trayectoria cerrada.
11 12 13 14 1=25 24 23 22 21 18 20 19 17 16 15 2 3 4 5 6 7

10 9 8

Como mecanismo prototipo se va a usar uno obtenido de la siguiente forma: 1) Se parte de un mecanismo que genera una trayectoria en forma de lazo. La trayectoria generada por ste se muestra superpuesta con la de nuestro problema en la figura:

33

L32=30 L4=40 32=41 L31=30 PB21=(0,0) L2=20

L33=20 PB42=(30,10)

22=31

Memoria del PFC - Jos Hidalgo Daz

31

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

2) Transformamos el mecanismo anterior y su trayectoria, hasta que sta y la curva pretendida se parecen razonablemente. Para tal fin: se realiza una simetra con eje vertical que pasa por el origen. Se reduce, con punto base el origen, un factor de 0.75. Se gira respecto al origen un ngulo de 75 en sentido positivo de giro. Se realiza un desplazamiento relativo (+36.4, +26.4):
32=41

L32=22.5 L31=22.5 PB21=(36.400,26.400)

33

L2=15

L33=15 L4=30 22=31

PB42=(23.332, 6.608)

Basndonos en la posicin mostrada en la figura anterior y suponiendo una distribucin uniforme de las posiciones de la barra motora, la trayectoria prescrita queda:
Pos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 B. Mot. -105.000 -90.000 -75.000 -60.000 -45.000 -30.000 -15.000 0.000 15.000 30.000 45.000 60.000 75.000 90.000 105.000 120.000 135.000 150.000 165.000 180.000 195.000 210.000 225.000 240.000 255.000 X33 19.657 23.737 27.791 31.645 36.012 39.391 41.812 41.587 40.108 37.476 33.792 29.593 25.767 22.813 20.358 17.905 15.952 14.149 12.146 10.393 11.044 12.847 15.000 17.103 19.657 Y33 16.702 17.032 17.088 16.552 15.682 15.006 16.413 18.945 20.856 22.491 23.104 22.153 20.301 18.199 16.244 14.199 12.748 11.597 10.496 10.596 12.298 13.849 15.000 16.001 16.702

Memoria del PFC - Jos Hidalgo Daz

32

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Las dimensiones y posiciones de los elementos del mecanismo prototipo (MP), as como sus rangos de variacin (MN, MX) se muestran a continuacin:
MP MN MX X21 Y21 X42 Y42 36.400 26.400 23.332 6.608 -100.000 -100.000 -100.000 -100.000 100.000 100.000 100.000 100.000 L2 15.000 10.000 40.000 L31 22.500 20.000 50.000 L32 22.500 0.001 40.000 L33 15.000 0.001 40.000 L4 30.000 20.000 50.000

Se plantea una sntesis de trayectoria sin correlacin temporal en [4bgt25pp_p]. Tras el reajuste se resuelve un nuevo problema en [4bgt25pp] usando los valores reajustados de la barra motora pertenecientes al problema anterior. A su vez, se disminuyen los rangos de variacin y la intensidad del reajuste. Como resultado final se tiene:
X21 54.730 Y21 25.666 DIMENSIONES DEL MECANISMO SINTETIZADO X42 Y42 L2 L31 L32 23.714 7.310 15.627 41.950 27.147 L33 30.001 L4 36.431

Pos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

POSICIONES ALCANZADAS B. Mot. X33 Y33 248.909 19.646 16.761 263.571 23.698 16.668 278.482 27.613 16.079 294.530 31.481 15.426 316.271 36.022 15.114 335.442 39.151 15.639 354.879 41.211 16.907 16.783 41.888 18.908 41.170 40.390 21.165 61.295 37.482 22.422 79.617 33.819 22.678 97.552 29.669 21.903 113.790 25.766 20.303 127.159 22.653 18.433 138.771 20.127 16.525 150.933 17.724 14.417 160.941 15.958 12.769 171.173 14.366 11.361 190.708 12.091 10.285 200.612 11.572 10.885 209.866 11.738 12.104 220.292 12.857 13.846 230.294 14.794 15.362 239.271 17.019 16.290 248.909 19.646 16.761 Desviacin Total

Desv. 0.060 0.366 1.025 1.138 0.568 0.677 0.778 0.303 0.419 0.070 0.427 0.261 0.002 0.283 0.364 0.284 0.021 0.320 0.218 1.214 0.721 0.011 0.417 0.301 0.060 10.308

Memoria del PFC - Jos Hidalgo Daz

33

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Las trayectorias prescrita y alcanzada se muestran en la siguiente figura:

POSICIONES ALCANZADAS POSICIONES PRESCRITAS

Se observa una discrepancia acusada en algunos puntos, aunque en general, la curva alcanzada se ajusta bastante bien, para el nmero de posiciones considerado, a la prescrita.

Memoria del PFC - Jos Hidalgo Daz

34

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.3. EJEMPLO 3 [10bgm3pp]


A continuacin se va a plantear una generacin de movimiento con un mecanismo algo ms complicado, si bien la dificultad est en hallar una solucin vlida. Se trata de encontrar un mecanismo como el de la figura:
PUNTO PRESCRITO ROTACIN PRESCRITA

D=20

La barra motora es la 3 (cilindro hidrulico) y se establecen las siguientes posiciones prescritas:


Pos 1 2 3 B. Motora 10.000 39.057 68.114 X61 0.000 9.083 50.000 Y61 100.000 128.737 150.000 Rot63 180.000 170.000 160.000

Evidentemente las coordenadas del PB61 pertenecen a la circunferencia con centro en el punto fijo 52 y radio L5 y aunque formalmente las posiciones de dicho punto forman parte de la sntesis, lo que nos interesa aqu es la rotacin del segmento que va del punto 63 al punto 61 (Rot63). Las dimensiones del mecanismo prototipo (el de la figura anterior) son:
X21 0.000 0.000 0.000 Y21 0.000 0.000 0.000 Puntos Fijos X52 Y52 X102 50.000 100.000 257.129 50.000 100.000 230.000 50.000 100.000 280.000 Y102 17.816 0.000 40.000

AVA NCE B. M OTOR A

MP MN MX

MP MN MX

L2 90.000 90.000 90.000

L4 90.000 90.000 90.000

L5 50.000 50.000 50.000

Longitudes L61 L62* L63 L7 201.000 102.000 300.000 155.000 201.000 20.000 300.000 100.000 301.000 102.000 300.000 180.000

L10 20.000 10.000 40.000

(*) La longitud L62 se establece como dimensin dependiente (ver ms abajo)

Memoria del PFC - Jos Hidalgo Daz

35

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

MP MN MX

Recta Deslizamiento Corredera 8 XP1 YP1 XP2 YP2 0.000 0.000 350.000 -30.621 100.000 0.000 400.000 -25.000 100.000 0.000 400.000 25.000

ngulos Correderas Rgidas ACR3 ACR9 0.000 90.000 0.000 90.000 0.000 90.000

La longitud L62 es una dimensin dependiente, su valor es tal que la distancia D entre el punto 62 y el segmento de rotacin prescrita sea igual a 20. La expresin que determina su valor es: L62 = { 202 + [ L63 - L61( 1 - (20/L61)2 )1/2 ]2 }1/2 Se puede comprobar que el mecanismo prototipo est roto en la primera y segunda posiciones prescritas. La dificultad de ensamblar grficamente el mecanismo se pone de manifiesto observando lo siguiente: si las todas las dimensiones anteriores son dadas (excepto la longitud y punto fijo de la barra 10), podemos intentar buscar la circunferencia que es tangente a la barra 7 de manera simultnea en las 3 posiciones prescritas. El radio de dicha circunferencia sera la longitud L10 y las coordenadas de su centro el punto fijo para la barra 10. Encontrar tal circunferencia es complicado, pero lo verdaderamente difcil es que el resultado sea un mecanismo vlido, esto es, no presente ni roturas ni puntos fuera de circuito en posiciones intermedias a las prescritas. Tras resolver se obtuvo lo siguiente (se muestran slo las dimensiones evolutivas del ptimo):
L61 L62 L7 201.224 101.757 172.828 L10 36.174 X102 235.692 Y102 22.931 Y P2 6.334

y las rotaciones alcanzadas fueron:


Pos 1 2 3 Rot63 Desviacin 180.000 0.000 170.911 0.911 160.000 0.000 Desv. Ang. Total 0.911

Memoria del PFC - Jos Hidalgo Daz

36

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

6.4. CONCLUSIONES
Una vez decidido el tipo de mecanismo con el que se quiere realizar la tarea prescrita, la obtencin de una buena solucin (desde el punto de vista cualitativo) depende en gran medida del subespacio de bsqueda considerado, esto es, de una eleccin adecuada de los rangos de variacin de las dimensiones. Una buena solucin ser mejor que otra (cuantitativamente hablando) cuanto mejor sintonizados estn los parmetros que controlan el algoritmo gentico. Dar con la mejor combinacin paramtrica es tarea casi imposible, no por el nmero de parmetros que intervienen, sino por la dependencia mutua entre ellos y la evolucin de la poblacin, que cambia en cada generacin por obra y gracia del azaroso destino debido a la propia naturaleza aleatoria del algoritmo. Dicho esto, parece indicado plantear la siguiente estrategia de resolucin de problemas: primero se acotan los rangos de variacin hasta tener un conocimiento de la calidad de las soluciones y posteriormente se intentan sintonizar los parmetros del algoritmo para obtener una solucin cuantitativamente aceptable. A continuacin se dan una serie de ideas, basadas en la experiencia del autor, de cmo elegir cada parmetro del algoritmo (vase el Documento de Ayuda de SDMAG): Semilla: Definido un subespacio de bsqueda, la semilla elegida para crear la poblacin inicial decide los candidatos a generar la solucin final. Tamao de la Poblacin: A mayor nmero de individuos, se explorar con mayor profusin el subespacio de bsqueda, sin embargo el tiempo de clculo crece proporcionalmente con dicho nmero. Por lo tanto, es mejor comenzar probando con tamaos pequeos (de unos 100 individuos) y distintas semillas. Si se observa una gran discrepancia dimensional entre las soluciones obtenidas, esto indica que cabe esperar muchas buenas soluciones, con lo que sera apropiado aumentar el tamao de la poblacin para una mejor exploracin del dominio. En cambio, si las soluciones se parecen en cierta medida, no tiene sentido trabajar con un gran nmero de individuos que a la postre no van a generar un mayor nmero de alternativas. Generaciones: Como nmero de iteraciones programado para obtener una solucin, deberamos proponer un valor que permita a la poblacin inicial evolucionar adecuadamente. Si se observan las grficas de evolucin del ajuste, puede verse que ste obtiene prcticamente su valor final mucho antes de llegar a la mitad de las generaciones programadas. Por esta razn no tiene sentido establecer un nmero excesivo de generaciones. Como orientacin, podemos dar un valor de 100 a este parmetro. Probabilidades de Cruce (Pc) y Mutacin (Pm): Se podra decir que son los parmetros ms importantes del algoritmo. La Pc controla el intercambio de material gentico entre los individuos y la Pm la introduccin de pequeas perturbaciones en dicho material. Valores elevados de Pc tendrn como resultado una convergencia prematura poco recomendable. Por otro lado, valores muy altos de Pm podran estropear la convergencia del algoritmo. Para intentar remediar dichos problemas se proponen Pc y Pm variables con el nmero de generaciones: Pc decreciente y Pm creciente. De esta forma se intenta no incurrir en cruzamientos espurios en las ltimas generaciones del algoritmo, al existir entonces una gran correlacion entre las dimensiones de los mecanismos de la poblacin.
Memoria del PFC - Jos Hidalgo Daz 37

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

Como referencia, se sugieren las siguientes funciones cuadrticas: Pc(x) = Pcmax - Pcminx2 Pm(x) = Pmmin + Pmmaxx2

con x=Generacin/Generaciones

Una posible eleccin de los valores para los polinomios anteriores es, a ttulo orientativo:
Generaciones 100 200 300 Pcmax 0.7-0.65 0.65-0.60 0.60-0.50 Pcmin 0.2-0.4 ~0.2 0.1-0.2 Pmmin 0.01-0.3 Pmmax 0.6-1.0

lite: Como mnimo, debe valer 1. No obstante, se recomienda un valor mayor, con el objeto de no fomentar la predileccin en el cruce por un nico individuo. Mantener a ms de un individuo de lite es como mantener a los mejores individuos de varias castas de soluciones a la vez. Como referencia, se aconseja tomar como lite entorno un a 4% del total de la poblacin, disminuyendo este valor conforme se aumenta el tamao poblacional, por ejemplo: 4/100 (4 individuos de lite sobre 100 totales), 7/200, 10/300,... Error, Tolerancia y Maxiter: Realmente, stos no son parmetros del algoritmo gentico, pero son importantes porque controlan el problema de ensamblaje, que dota de valor numrico a la funcin de evaluacin del AG. Error, Tolerancia y Maxiter permiten controlar la precisin de la solucin obtenida en cada ensamblaje y no alargar el proceso iterativo, pero tambin marcan el criterio de rotura, esto es, una alta precisin (valores muy pequeos para Error y Tolerancia) y valores pequeos de Maxiter pueden calificar una posicin de ensamblaje como rota, cuando probablemente no sea as. Por otro lado, si se eligen valores altos de Maxiter, podramos estar alargando en exceso el tiempo de clculo debido a que realmente la posicin de ensamblaje est rota. Km: Valor mximo de la constante de mutacin. Se recomiendan valores en torno a 1.2. Valores demasiado altos podran estropear el proceso de mutacin, ya que los valores cromosmicos fuera de los rangos permitidos son invalidados automticamente. GenReajuste: Generacin de Reajuste. Depende de la incertidumbre sobre las posiciones de la barra motora. Un reajuste temprano deber hacerse cuando la incertidumbre sea grande y viceversa. Adems, el reajuste debe comenzar antes de que el cruzamiento pierda importancia frente a la mutacin, para que los reajustes introducidos tengan un efecto de realimentacin sobre las dimensiones de los mecanismos de la poblacin. IncBMot: Incremento de la BMot. Valor inicial del avance/retraso de las posiciones prescritas de la BMot en los que se tantea mejorar la aproximacin respecto al valor original de stas. Depende de la incertidumbre y separacin de los valores de la barra motora. RedIncBMot: Valor de reduccin (> 1) de IncBMot. Si al intentar el reajuste en una posicin prescrita no se encontr mejora, IncBMot pasar a valer IncBMot/RedIncBmot. De esta forma se consigue afinar en la bsqueda del mejor reajuste. Depende de los dos parmetros anteriores. Se busca conseguir una reduccin paulatina de IncBMot tal que se explote adecuadamente el mecanismo de reajuste.

Memoria del PFC - Jos Hidalgo Daz

38

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

7. PLANTEAMIENTOS FUTUROS
A continuacin se enumeran una serie de planteamientos conducentes a mejorar el programa: Ensayar otro tipo de seleccin distinto al planteado aqu. Por ejemplo usar Evolucin Diferencial. Estudiar la posibilidad de que el usuario pueda programar su propia tcnica evolutiva. Todo esto con el fin de mejorar la convergencia local. Con el propsito de simplificar la tarea de eleccin del subespacio de bsqueda, dotar al programa de algn mtodo de conocimiento basado en casos. Podra aadirse una librera de mecanismos predefinidos (al estilo de un atlas), o bien usar un conjunto de redes neuronales entrenadas para una seleccin de mecanismos-tipo de sntesis. Desarrollar una GUI (Graphic User Interface) o interfaz grfica de usuario para facilitar la introduccin, modificacin e interpretacin de datos.

Memoria del PFC - Jos Hidalgo Daz

39

SDMAG

Sntesis Dimensional de Mecanismos mediante Algoritmo Gentico

8. REFERENCIAS
[1] GARCA DE JALN, J. y BAYO, E. Kinematic and Dynamic Simulation of Multibody Systems. Springer-Verlag [2] NIETO J. Sntesis de Mecanismos. Ed. AC [3] FREUDENSTEIN, F. Approximate Synthesis of Four-bar Linkages. Trans. ASME, Vol. 77, pag. 853-859 [4] SUH, C.H. y RADCLIFFE, C.H. Kinematics and Mechanism Design. John-Wiley & Sons [5] ERDMAN, A. G. y SANDOR, G. N. Mechanism Design Analisis and Synthesis, Vol. 1. Prentice Hall [6] KIRKPATRICK, S., GELATT, C. D. y VECCHI, M. P. Optimization by Simulated Annealing. Science, Vol. 220, pag. 671-680 [7] HOLLAND, J. H. Adaptation in Natural and Artificial Systems. University of Michigan Press [8] KURI, A. y GALAVIZ, J. Algoritmos Genticos. IPN-CIC, UNAM, FCE [9] GOLDBERG, D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Publications [10] VASILIU, A. y YANNOU, B. Dimensional Synthesis of Planar Mechanisms using Neural Networks: Application to Path Generator Linkages. Mechanism and Machine Theory, Vol. 36 (2001), pag. 299-310 [11] STORN, R. y PRICE, K. Differential Evolution A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization 11, 1997, pag. 341-359 [12] CABRERA, J. A., SIMN A. y PRADO, M. Optimal Synthesis of Mechanisms with Genetic Algorithm. Mechanism and Machine Theory, Vol. 37 (2002), pag. 1165-1177 [13] TABERNERO, A. Anlisis Numrico (Apuntes de la Asignatura). Facultad de Informtica de la UPM [14] KERNIGHAN, B. W. y RITCHIE D. M. El Lenguaje de Programacin C. Prentice-Hall Hispanoamericana, S.A. [15] AUTODESK, INC. Manual de Referencia de DXF

Memoria del PFC - Jos Hidalgo Daz

40

Das könnte Ihnen auch gefallen