Está en la página 1de 32

Aproximación al Diseño Óptimo del Chasis de una

Motocicleta utilizando Análisis de Elementos Finitos y


Algoritmos Evolutivos

Trabajo de Tesis
presentado al
Departamento de Ingenierı́a Industrial

por

Jorge Enrique Rodrı́guez Cañón

Asesor: Andrés Medaglia, Ph.D.

Para optar al tı́tulo de


Ingeniero Industrial

Ingenierı́a Industrial
Universidad de Los Andes
December 2004
Aproximación al Diseño Óptimo del Chasis de una
Motocicleta utilizando Análisis de Elementos Finitos y
Algoritmos Evolutivos

Aprobado por:

Andrés Medaglia, Ph.D., Asesor

Fecha de Aprobación
II.04(02).107

Dedico este trabajo con infinito


aprecio a mis padres por su apoyo,
comprensión y esfuerzo durante todos
mis años de formación académica.
Igualmente por ser esos gigantes sobre
cuyos hombros he estado toda la vida,
lo cual me ha permitido aprender lo
que nunca hubiera aprendido y llegar
hasta donde nunca hubiera llegado
estando solo.
Gracias a todos mis profesores durante
mi pregrado y en especial a Andrés
Medaglia y Juan Pablo Casas por su
gran aporte durante el desarrollo es
este proyecto.

III
II.04(02).107

Tabla de Contenido

Dedicatoria III

Lista de Tablas VI

Lista de Figuras VII

I. Introducción 1

II. Simulación del Chasis 3


2.1. Creación de la Geometrı́a . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Enmallado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

III. El Algoritmo Evolutivo 9


3.1. Estructura de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Operador de Cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3. Operador de Mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4. Función Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5.1. JGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5.2. Interfase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

IV. Resultados Experimentales 17

V. Investigación Futura 20
5.1. Evaluación aproximada de la función objetivo . . . . . . . . . . . . . . 20
5.2. Otros algoritmos de optimización multi-objetivo . . . . . . . . . . . . . 20

VI. Conclusiones 21

IV
II.04(02).107

Apéndice A. — Hipótesis de Carga 22

Referencias 24

V
II.04(02).107

Lista de Tablas

1. Tipos de parámetros de la simulación. . . . . . . . . . . . . . . . . . . . 4


2. Pruebas de enmallado utilizando diferentes tipos y tamaños de elemento. 6
3. Resultados experimentales. . . . . . . . . . . . . . . . . . . . . . . . . . 18

VI
II.04(02).107

Lista de Figuras

1. Rutina de optimización propuesta. . . . . . . . . . . . . . . . . . . . . . 2


2. Simulación del chasis. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Tubos comerciales seleccionados para las diferentes partes del chasis. . . 5
4. Resultados de una simulación del chasis en ANSYS. . . . . . . . . . . . 8
5. Ejemplo de un caso de cruce de un punto. . . . . . . . . . . . . . . . . . 11
6. Ejemplo de un caso de mutación. . . . . . . . . . . . . . . . . . . . . . 12
7. Arquitectura de JGA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8. Arquitectura de la Interfase JGA-ANSYS. . . . . . . . . . . . . . . . . . 16
9. Gráfica de resultados e ilustración de dominancia. . . . . . . . . . . . . 18
10. Resultados de la Simulación del Chasis Óptimo B. . . . . . . . . . . . . 19
11. Diagrama de fuerzas de la hipótesis de carga. . . . . . . . . . . . . . . . 22

VII
II.04(02).107

Capı́tulo I

Introducción

Este proyecto busca aplicar el concepto de diseño óptimo [17] a la construcción del cha-
sis de una motocicleta, entendido éste como la pieza que usualmente rodea y guarnece
el motor y tanque de combustible, y sobre la cual encajan otros componentes del vehı́cu-
lo como el tenedor y la suspensión trasera. Lo anterior como parte del propósito más
extenso de construir una motocicleta de bajo costo liderado por J.P. Casas en el Depar-
tamento de Ingenierı́a Mecánica de la Universidad de los Andes. Inicialmente se cuenta
con un concepto previo realizado por Calderón [5], quien por medio de una metodologı́a
de diseño convencional, obtiene un primer prototipo. Es con base en este desarrollo que
se trabaja para lograr, por medio de la modificación de diversos parámetros geométricos,
caracterı́sticas que mejoren el desempeño del chasis.
El estudio utiliza como principal herramienta la teorı́a de FEA (en inglés, Finite Element
Analisis) [19], que para este caso permite hacer un análisis estructural bastante detallado
de la compleja geometrı́a involucrada en el problema. Algunos de los mejores paquetes
de FEA incluyen módulos de optimización que tratan de ayudar al usuario a encontrar las
geometrı́as de los elementos analizados que mejor responden a las condiciones de traba-
jo a las que son sometidas. Sin embargo, para ciertas aplicaciones como este caso, estos
módulos no son lo suficientemente flexibles respecto a los algoritmos que utilizan y a los
tipos de variables de decisión que pueden ser consideradas para mejorar el diseño. Un
ejemplo concreto de esta limitación es el módulo de optimización del paquete de FEA
ANSYS [1], el cual no provee métodos multi-objetivo y solo acepta variables continuas
con valores en un dominio real [2]. Por esta razón, es interesante complementar las her-
ramientas disponibles actualmente, tal que permitan generar mejores soluciones y en este

1
II.04(02).107

caso, produzcan un mejor diseño del chasis.


Este documento presenta un proceso de optimización basado en algoritmos evolutivos,
ilustrado brevemente en la Figura 1, con el cual se encuentra una combinación de parámet-
ros geométricos que mejoran el comportamiento del chasis, haciendo una sustancial con-
tribución al estado actual de desarrollo de la motocicleta. Más especı́ficamente, el capitulo
2 cubre la simulación del chasis, el capitulo 3 se ocupa de la descripción e implementación
del algoritmo evolutivo y la interfase, el capitulo 4 expone los resultados experimentales
y el capı́tulo 5 menciona posibles investigaciones futuras. Finalmente se dan las conclu-
siones de este trabajo.

Solución de Diseño
(Parámetros)

Algoritmo
FEA Evolutivo Aproximación al
Interfase Diseño Óptimo
Función(es) Población de (Algoritmo
Soluciones Converge)
Objetivo

Desempeño del Diseño

Figura 1: Rutina de optimización propuesta.

2
II.04(02).107

Capı́tulo II

Simulación del Chasis

El concepto presentado por Calderón [5] propone una estructura tubular para una moto
tipo “Chopper” que cumple con los requerimientos de costos del proyecto. Si bien se da
una propuesta inicial que podrı́a ser funcional, solo se estudia una sola configuración de
los multiples parámetros geométricos. La idea de simular el desempeño de la estructura
utilizando un paquete de FEA como una “caja negra” acoplada a un algoritmo de opti-
mización busca hacer un análisis programático de dichas configuraciones para mejorar
algunos criterios de diseño como masa y nivel de esfuerzos del material.

Parámetros de Entrada

Creación Geometrı́a
Enmallado
ANSYS
Aplicación Fuerzas
Solución

Desempeño del Diseño

Figura 2: Simulación del chasis.

El análisis que realiza la simulación consiste en someter el modelo a una hipótesis de carga
extrema (Apéndice A) para evaluar su respuesta según los criterios antes mencionados.
La totalidad de la simulación se realiza en ANSYS, utilizando su lenguaje de diseño
paramétrico APDL [2], y sigue la metodologı́a de un análisis estructural estático. Como
lo ilustra la Figura 2, se empieza creando una geometrı́a con base en unos parámetros de
entrada, se procede a enmallar dicha geometrı́a, luego se aplican las condiciones de carga

3
II.04(02).107

y por último se soluciona el modelo obteniendo como resultado el desempeño del diseño.
Para mayor información sobre un análisis de FEA se refiere al lector a [2].

2.1. Creación de la Geometrı́a


Antes de crear la geometrı́a del chasis en ANSYS se empieza por hacer un análisis del
diseño propuesto por Calderón [5] para identificar cuáles parámetros deben tener un valor
único, debido a que estos afectan aspectos del comportamiento de la motocicleta (como
estabilidad, maniobrabilidad y ergonomı́a) que no son contemplados en la simulación.
Algunos de estos son la distancia entre ejes: 1500 mm, la altura a la Silla: 640 mm, el
ángulo de Rake: 36o y el material: Acero Estructural ASTM-500 grado C.
Paralelamente, se identifican los parámetros que si deben ser analizados en la simulación
y se establecen los dominios de sus posibles valores. Tratando siempre de mantener lo más
flexible posible la geometrı́a del chasis y ası́ contemplar un mayor número de alternativas
de diseño, se llega a un total de 22 parámetros que se clasifican de la siguiente forma:

Discretos (10 parámetros) Continuos (12 parámetros)


- Platinas - Ángulos
- Tubos - Filetes
- Longitudes
- Posiciones
Relativas

Tabla 1: Tipos de parámetros de la simulación.

Los parámetros discretos se especifican como tal debido a que estos están estandariza-
dos, por lo que solo algunas dimensiones se encuentran comercialmente. Como posibles
alternativas en diferentes partes del chasis, para las platinas se seleccionan 8 referencias
(6mm, 8mm, 10mm, 12mm, 16mm, 20mm, 25mm y 30mm) [3], y para los tubos otras
8 referencias [3], ilustradas en la Figura 3 de acuerdo a su diámetro externo (OD) y a
su schedule (sch, medida estándar del espesor de la pared del tubo). Existe una relación
de vecindad en estos parámetros de acuerdo a su masa, longitud, momento de inercia y
momento polar de inercia, entre otros, que permite ordenamientos en diferentes escalas
numéricas de medición. Sin embargo, por lo general dos valores vecinos distintos no son

4
II.04(02).107

equidistantes (i.e., la distancia en masa entre la platina de 6mm y la de 8mm es menor


que la distancia entre la de 25mm y 30mm). Por estar razón, y como se evidenciará en la
Sección 3.1, es conveniente indexar las platinas y los tubos seleccionados, según la masa
y el momento de inercia respectivamente.
sch 10 sch 40 sch 80

3/4” OD

1” OD

1 1/4” OD

Figura 3: Tubos comerciales seleccionados para las diferentes partes del chasis.

Teniendo claro todos los parámetros que se van a considerar, se crea la geometrı́a del
chasis utilizando el software CAD de ANSYS [1]. Se toma ventaja de la simetrı́a del
chasis para reducir a la mitad el tamaño del modelo, produciendo ası́ un considerable
ahorro de tiempo de cómputo en la solución sin detrimento en el análisis (ver Figura 4).

2.2. Enmallado
Generar la malla de elementos finitos involucra principalmente la selección un tipo de
elemento y el grado de refinamiento de la malla. Debido a la complejidad de la geometrı́a
del modelo, el dominio se enmalla con tetraedros, utilizando una macro en APDL (divide
las lı́neas en tamaños adecuados) junto con la herramienta de enmallado automático de
ANSYS.
Se hacen pruebas utilizando el elemento SOLID45 (4 nodos) y su versión de mayor orden,
el elemento SOLID92 (10 nodos), con diferentes grados de refinamiento para encontrar
combinaciones que brinden respuestas convergentes, es decir, con niveles de exactitud

5
II.04(02).107

aceptables. La Tabla 2 resume los resultados de las pruebas realizadas, donde SPEC es el
error porcentual estructural [2] y DOFs el número de grados de libertad (proxy del tamaño
del problema de FEA) de cada alternativa. Se encuentra que la mejor aproximación para
lograr la convergencia del modelo es incrementar el orden del elemento en lugar de refinar
el enmallado, esto último requiriendo un mayor tiempo de cómputo. Adicionalmente, con
el SOLID92 se logran errores estimados menores que con el SOLID45 por lo que se
selecciona el primero para hacer la simulación.

Tipo Elemento No. de Elementos DOFs SEPC


SOLID45 ∼100,000 ∼90,000 ∼32 %
SOLID45 ∼300,000 ∼240,000 ∼27 %
SOLID92 ∼80,000 ∼450,000 ∼17 %
SOLID92 ∼100,000 ∼600,000 ∼13 %

Tabla 2: Pruebas de enmallado utilizando diferentes tipos y tamaños de elemento.

Una vez enmallada la geometrı́a se procede a aplicar las cargas y restricciones de movimien-
to, simulando una desaceleración brusca como la que se puede producir en una frenada
(Apéndice A). Para evitar grandes deformaciones localizadas inherentes a la aplicación
de cargas puntuales (principio de Saint-Venant [13]), que pueden conducir a resultados
equivocados , se utilizan siempre cargas distribuidas (presiones). Es importante aclarar
que esta hipótesis de carga somete al chasis a esfuerzos de flexión principalmente mas no
a esfuerzos de torsión por lo que el criterio de rigidez torsional queda fuera del alcance
de la simulación.

2.3. Solución
En general, la metodologı́a de FEA produce un sistema de ecuaciones lineales que se
resuelve para obtener una aproximación a la solución de las ecuaciones diferenciales par-
ciales que se presentan en el problema [19], siendo las más importantes de un análisis
estructural lineal las ecuaciones de esfuerzo-deformación (ver Ecuación 2.1) y las ecua-
ciones del principio de trabajo virtual (ver Ecuación 2.2).

6
II.04(02).107

~σ = D · ~ε (2.1)

Donde:

~σ : vector de esf uerzos = [σx , σy , σz , τxy , τyz , τxz ]T


D : matriz esf uerzo − def ormación
~ε : vector de def ormaciones = [εx , εy , εz , εxy , εyz , εxz ]T

δEd = δW1 + δW2


(2.2)
Z Z
T
~ · ~σ dV ol =
δε ~ T · P~r dApr + δu
δu ~ T · F~
V ol Ap

Donde:

Ed : energ ía de def ormación


W1 : trabajo externo por cargas distribuidas
W2 : trabajo externo por cargas puntuales
δ : operador virtual
V ol : volumen de la estructura
Apr : area sobre la que actua la presión
u : vector de desplazamientos de la superf icie
P~r : vector de presión
F~ : vector de f uerza

Dentro de la gama de métodos de solución disponibles en ANSYS, el que mejor de-


sempeño muestra durante las pruebas con el enmallado elegido (SOLID92 y ∼600000
DOFs) es el PCG solver [2], un método iterativo que prueba ser hasta un 70 % más rápido
que los métodos de eliminación directa, por lo cual se selecciona para la simulación.

7
II.04(02).107

Figura 4: Resultados de una simulación del chasis en ANSYS.

Para cada solución de FEA se obtienen los siguientes criterios de diseño que se utilizan
como medida de desempeño (función objetivo): la masa total del chasis (m) y como in-
dicador del nivel de esfuerzos del material, el elemento con el máximo esfuerzo de Von
Mises (s) [3].

8
II.04(02).107

Capı́tulo III

El Algoritmo Evolutivo

Los algoritmos evolutivos (EAs) son una familia de métodos computacionales de búsque-
da aleatoria basados en los principios de la evolución natural, que son utilizados para
resolver una amplia gama de problemas de optimización. Progresivamente, durante el
paso de numerosas generaciones, estos algoritmos van mejorando el desempeño de una
población de soluciones con la esperanza de que finalmente se encuentre la solución ópti-
ma global. Esto se logra a través de la codificación de las soluciones en estructuras de
datos que simulan un cromosoma, a las que se le aplican diversos operadores evolutivos
(clásicamente los de recombinación, mutación y selección). Los diferentes tipos de algo-
ritmos evolutivos utilizados actualmente tienen como base principal los trabajos hechos
por Holland [14], por Rechenberg y Schwefel [18, 20], y por Fogel, Owens y Walsh [12].
Cada uno de éstos con diferentes acercamientos al proceso de evolución natural, pero
siempre utilizando un método aleatorio de búsqueda poblacional. Una buena introduc-
ción al tema puede ser encontrada en [23] y un enfoque a optimización multi-objetivo en
[7].
El procedimiento que se describe a continuación y se ilustra en la siguiente página, expone
la implementación desarrollada por Medaglia y Gutiérrez [15] que se propone para este
trabajo. Se empieza por inicializar y evaluar la primera generación de soluciones P (1)
aleatoriamente (pasos 2 y 3). Posteriormente, el siguiente ciclo se realiza hasta alcanzar el
máximo número de generaciones: se aplica el operador de mutación a la población padre
P (t) para crear la población de hijos Cm (t) (paso 5) y el operador de cruce a la población
padre P (t) para crear la población de hijos Cc (t) (Paso 6), para proceder a evaluar la
población total de hijos C(t) (Paso 8). Después se aplica el operador de selección a la

9
II.04(02).107

población producto de la unión de padres e hijos E(t) para formar la población de padres
de la siguiente generación P (t + 1) (pasos 9 y 10).

Algoritmo Evolutivo 1
1: t ← 1
2: Inicializar P (t)
3: Evaluar P (t)
4: while t < T do
5: M utar P (t) y Generar Cm (t)
6: Cruzar P (t) yS Generar Cc (t)
7: C(t) ← Cm (t) Cc (t)
8: Evaluar C(t)S
9: E(t) ← P (t) C(t)
10: Seleccionar P (t + 1) de E(t)
11: T ←t+1
12: end while

3.1. Estructura de Datos


Para codificar los parámetros geométricos del chasis (genes), se utiliza una cadena de
valores reales y enteros (cromosoma), realizando ası́ una abstracción directa del problema
que se plantea (ver Ecuación 3.1).

~xp = [xp1 , xp2 , ..., xpi , ..., xpL ]T i ∈ {IR U IZ }, p = 1, 2, ..., N (3.1)

Donde:

xpi : gen i del individuo p


L : longitud del cromosoma
N : tamaño de la población
IR : conjunto de indices de los parametros reales (R)
IZ : conjunto de indices de los parametros enteros (Z)

Basándose en el conocimiento a-priori de la interacción de los parámetros (tubos, plati-


nas, longitudes, entre otros elementos), se trata de ubicar en posiciones cercanas en el

10
II.04(02).107

cromosoma los genes que presentan más interacción para minimizar problemas de “epis-
tasis” [23] que puedan causar un rompimiento excesivo de bloques de genes con buen
desempeño.

3.2. Operador de Cruce


Más exactamente, en el algoritmo propuesto se utiliza un operador de cruce de un pun-
to, ilustrado en la Figura 5, que se aplica a un porcentaje de la población padre (i.e.,
probabilidad de cruce pc ∼ 60 %-100 %). Este operador toma dos individuos y corta sus
cromosomas en un punto escogido aleatoriamente, para producir dos segmentos “cabeza”
y dos segmentos “cola”. A continuación los segmentos “cola” son intercambiados para
producir dos cromosomas nuevos. De esta manera, los dos hijos creados heredan cada
uno algunos genes de cada padre.

Padres x11 x12 x13 x14 x15 x16 x21 x22 x23 x24 x25 x26
↓ & ↓ .

Hijos x11 x12 x13 x24 x25 x26 x21 x22 x23 x14 x15 x16

Figura 5: Ejemplo de un caso de cruce de un punto.

3.3. Operador de Mutación


El operador de mutación, ilustrado en la Figura 6, se aplica independientemente a cada in-
dividuo de la población padre y altera, con cierta probabilidad pm , cada uno de sus genes.
Varios trabajos [4, 16] coinciden en que la tasa de mutación óptima depende básicamente
de 1/L (el recı́proco de la longitud del cromosoma) y reportan buenos resultados utilizan-
do la tasa pm = 1/L para una amplia variedad de problemas con codificación binaria.
Aunque en este caso el cromosoma esta compuesto de genes reales y enteros se sigue la
misma aproximación, ya que el alto costo computacional de las simulaciones de FEA, y
por ende de cada corrida del algoritmo, hacen prohibitiva una búsqueda metodológica del
la tasa óptima.

11
II.04(02).107

Padre x11 x12 x13 x14 x15 x16


↓ ↓
Hijo y11 x12 y31 x14 x15 x16

Figura 6: Ejemplo de un caso de mutación.

Si bien este operador se considera principalmente como un explorador del espacio de


solución, una mutación totalmente aleatoria para una codificación no binaria no es muy
inteligente ya que contribuye muy poco a la explotación de un punto con buen desempeño.
Con la esperanza de lograr un balance entre exploración y explotación, se proponen los
siguientes operadores según el dominio de cada gen.
Para los parámetros (genes) reales se propone un cambio β en xpi que se distribuye normal,
con media 0 y desviación estándar un porcentaje del dominio del gen, esto teniendo en
cuenta que el valor del parámetro mutado yip este dentro su rango permitido de valores
(ver Ecuación 3.2). Este operador puede cubrir en un solo paso gran parte del dominio del
gen, lo cual es deseable para mantener la diversidad de la población y encontrar mejoras
en el desempeño de un individuo rápidamente. Sin embargo, un gran porcentaje de los
genes mutados estarán cerca del gen original, lo cual es deseable si el individuo a mutar
ya tiene un buen desempeño.

p
xi + β

 si min{xi } ≤ xpi + β ≤ max{xi }

yip = min{xi } si xpi + β < min{xi } xi ∈ Xi (3.2)


xpi + β > max{xi }

max{xi } si

Donde:

β ∼ N(0, σ)
σ = r · ( max{xi } − min{xi } ) xi ∈ Xi
Xi : dominio de xi
r : rango de mutación (i.e., ∼ 10 %)

Para los parámetros (genes) enteros se propone básicamente el mismo operador pero adap-
tado para trabajar sobre un dominio de Z. Para ésto se toma el valor absoluto y se le aplica

12
II.04(02).107

la función techo al cambio β, y se utiliza una variable auxiliar α para obtener valores tanto
positivos como negativos (ver Ecuación 3.3).


xp + α · d|β|e si min{xi } ≤ xpi + α · d|β|e ≤ max{xi }
 i


yip = min{xi } si xpi + α · d|β|e < min{xi } xi ∈ Xi (3.3)


xpi + α · d|β|e > max{xi }

max{xi } si

Donde:

+1 con prob = 0,5
α=
−1 con prob = 0,5

β ∼ N(0, σ)
σ = r · ( max{xi } − min{xi } ) xi ∈ Xi
Xi : dominio de xi
r : rango de mutación (i.e., ∼ 10 %)

3.4. Función Objetivo


Debido a la naturaleza multi-objetivo del problema, en el que existen diferentes criterios
de diseño por lo general en conflicto (i.e., si la masa (m) aumenta es común que los es-
fuerzos (s) disminuyan), es normal formular un acercamiento de la misma naturaleza. En
particular, se propone la combinación de los objetivos en conflicto en una sola función
escalar a través de una suma ponderada (ver Ecuación 3.4). Este método, también conoci-
do como funciones agregadas, ha sido ampliamente utilizado en varios trabajos [6] y fue
escogido principalmente por su sencilla implementación y eficiencia computacional. El
resultado del algoritmo es un cromosoma ~xp ∗ que se espera sea óptimo en el sentido de
Pareto. En pocas palabras, esto significa que no existe otro cromosoma ~xp en el espacio
de solución que pueda mejorar algún criterio sin desmejorar simultáneamente al menos
otro criterio.

f (~xp ) = λ1 · f1 (~xp ) + λ2 · f2 (~xp ) (3.4)

13
II.04(02).107

Donde:

λ1 + λ2 = 1, λ1,2 ≥ 0
f1 (~xp ) = mp / ( max{m} − min{m} ) m ∈ M
f2 (~xp ) = sp / ( max{s} − min{s} ) s∈S
M : dominio de m
S : dominio de s

Es importante mencionar que esta metodologı́a solo produce soluciones óptimas de Pareto
cuando se trabaja con espacios de solución convexos. Sin embargo, son precisamente los
problemas de diseño que tienen una expresión analı́tica muy compleja o los que no la
tienen, los que se tratan de resolver con la ayuda de FEA. Este detalle dificulta bastante
la demostración formal de convexidad del espacio de solución, razón por la cual se deja a
nivel de hipótesis y se da evidencia experimental sobre esta suposición.
Los valores extremos de los dominios de los criterios de diseño se obtienen utilizando,
independientemente, cada uno de estos criterios como función objetivo del algoritmo evo-
lutivo. Por ejemplo, para el caso del nivel de esfuerzos del material (s), se hace λ2 = 1,
se maximiza f (~xp ) para hallar max{s} y se minimiza f (~xp ) para hallar min{s}.

3.5. Implementación
Tanto la implementación del algoritmo evolutivo como la interfase que lo comunica con
ANSYS se desarrollaron en Java [22], utilizando la librerı́a JGA, que básicamente es
una herramienta genérica para resolver problemas de optimización utilizando algoritmos
evolutivos [15].

3.5.1. JGA

La librerı́a JGA está concebida de manera que el usuario pueda implementar un algoritmo
evolutivo concreto con base en una arquitectura base, como se ilustra en la Figura 7.
De esta manera se reduce el esfuerzo de programación, debido a que gran parte de la
estructura del algoritmo está disponible y sólo se implementan los componentes propios
de la aplicación, que para este caso son:

14
II.04(02).107

Clase FitnessChasis: Extensión de la clase FitnessFunction. Evalúa, por


medio de la simulación en ANSYS, el desempeño de cada diseño.

Clase RZGenotype: Extensión de la clase Genotype. Implementa la estructura


de datos de números reales (R) y enteros (Z).

Clases RZMutation y SinglePointRZCrossover: Extensiones de las clases


MutationOperator y CrossoverOperator respectivamente. Implementan
los operadores propuestos.

Clase RZMain: Clase principal que carga los parámetros de configuración y ejecuta
el algoritmo.

Archivo RZSettings.ini: Archivo de inicialización con el rango de los parámet-


ros (genes) y su tipo (R ó Z).

Figura 7: Arquitectura de JGA.

15
II.04(02).107

3.5.2. Interfase

La interfase entre el algoritmo evolutivo en Java y la simulación en ANSYS, a través


de la clase Chasis, se describe a continuación. El objetivo es traducir el cromosoma de
cada individuo a una serie de cadenas de texto en lenguaje ADPL (métodos aTexto) que
posteriormente se almacenan en un archivo (método aArchivo). Después, se ejecuta en
lote (en inglés, batch) la simulación (método llamarAnsys), que produce un archivo
de texto plano con los resultados. Finalmente, se pasan los resultados a la clase Fitness
Chasis, que los manipula según la función objetivo propuesta. Con la idea de llevar una
historia de la evolución de la población de soluciones, se almacenan en un archivo el
cromosoma y los resultados de cada individuo (método record).

Figura 8: Arquitectura de la Interfase JGA-ANSYS.

16
II.04(02).107

Capı́tulo IV

Resultados Experimentales

Resultados de otros trabajos con algoritmos evolutivos similares al propuesto, que tam-
bién utilizan selección elitista y competencia inter-generacional (i.e., después de aplicar
los operadores evolutivos, los N mejores individuos son seleccionados de la población de
padres P (t) y la población de hijos C(t) para crear la siguiente generación), son tı́pica-
mente corridos utilizando poblaciones pequeñas (i.e., N ∼50) [23]. Basándose en estos
resultados y teniendo en cuenta la dificultad de una búsqueda metodológica de un tamaño
de población óptimo (similar a la descrita en la Sección 3.3), se utiliza una población de
40 individuos. Se encuentra que para T =50 (máximo número de generaciones) la may-
orı́a de los genes han convergido (aproximadamente el 90 % de la población comparte el
mismo valor de los genes) y ya no se presentan mejoras significativas en la solución.
Los resultados experimentales, junto con el diseño de Calderón [5], se resumen en la Tabla
3. En la Figura 9 se hace una aproximación a lo que se espera sea la frontera de Pareto
(linea ABC) y se observa como la solución de Calderón es dominada por las soluciones
A y B, presentando una disminución de la masa en 15 % y del esfuerzo máximo en 26 %
en el primer caso y una disminución de la masa en 33 % y del esfuerzo máximo en 5 %
en el segundo. Igualmente, todos los puntos en el area sombreada producen una mejorı́a
y está en manos del diseñador decidir cual es la mejor solución (i.e., si se busca un chasis
más liviano y un ahorro de materia prima se darı́a prioridad a la reducción de M y si se
busca un aumento del factor de seguridad del diseño se darı́a prioridad a la reducción de
S). También se observa que no hay evidencia experimental que demuestre la no convex-
idad del espacio de solución, que en caso de confirmarse implicarı́a un problema teórico
(ver Sección 3.4).

17
II.04(02).107

Es importante señalar que los esfuerzos máximos presentados en la Tabla 3 corresponden


a una hipótesis de carga estática, cuando en realidad el chasis está sometido a cargas
dinámicas. Por esta razón, se debe hacer un análisis de fatiga del diseño seleccionado, ya
sea utilizando metodologı́as convencionales [21] o un estudio de FEA independiente, para
hallar su lı́mite de fatiga (en inglés, endurance limit).

Solución λ1 λ2 S (MPa) M (Kg)


Calderón - - 176 23.6
A 0.5 0.5 166 17.8
B 0.37 0.63 130 20.2
C 0.25 0.75 106 26.5

Tabla 3: Resultados experimentales.

Figura 9: Gráfica de resultados e ilustración de dominancia.

18
II.04(02).107

Figura 10: Resultados de la Simulación del Chasis Óptimo B.

19
II.04(02).107

Capı́tulo V

Investigación Futura

5.1. Evaluación aproximada de la función objetivo


Debido a que una simulación utilizando FEA toma bastante tiempo, es interesante explo-
rar la construcción de una función aproximada mucho más rápida de evaluar. Lo anterior
con la esperanza de que el algoritmo evolutivo encuentre un mejor cromosoma en un de-
terminado tiempo de cómputo haciendo una mezcla de simulaciones reales y evaluaciones
aproximadas. Posibles alternativas para lograr este objetivo son una regresión lineal uti-
lizando mı́nimos cuadrados ordinarios o una red neuronal.

5.2. Otros algoritmos de optimización multi-objetivo


La principal desventaja de utilizar el algoritmo evolutivo 1 es que solo produce una solu-
ción óptima de Pareto por cada corrida del algoritmo. Además se tiene requerimiento de
convexidad del espacio de solución impuesto por la función objetivo de suma ponderada.
Recientes métodos reportados en la literatura [7] ofrecen la posibilidad de encontrar todo
un conjunto de soluciones óptimas sobre la frontera de Pareto en una sola corrida del al-
goritmo. Igualmente, no limitan su aplicación a espacios de solución convexos. Dentro de
estas nuevas propuestas, se muestra bastante eficaz el NSGA II (Nondominated Sorting
Genetic Algorithm II) propuesto por Deb et al. [9], que ha sido aplicado con éxito a varios
problemas de optimización de formas geométricas [8].

20
II.04(02).107

Capı́tulo VI

Conclusiones

El estado actual de desarrollo computacional permite aplicar metodologı́as de optimización


basadas en búsqueda poblacional a problemas de diseño medianamente complejos, como
el considerado en este trabajo, utilizando la teorı́a de FEA. Sin embargo, simulaciones
en FEA con ordenes de millones de DOF’s son comunes en la actualidad y el gran tiem-
po de computo requerido para encontrar las soluciones, incluso utilizando arquitecturas
en paralelo, pone un lı́mite práctico a la aplicación de los algoritmos evolutivos a esta
herramienta.
Como se reitera en diferentes partes de este trabajo, el alto costo computacional de las
simulaciones de FEA dificulta el ajuste manual de los parámetros del algoritmo evolutivo
(i.e., generalmente pc , pm y N ), teniendo que hacer varios experimentos para cada tipo
de función objetivo. Como una alternativa a este procedimiento, un control “dinámico”
de los parámetros (i.e., ajustarlos durante la corrida del algoritmo) serı́a de gran utilidad.
Recientemente ha habido gran interés en este tema y se investigan diferentes metodologı́as
de control basadas en retroalimentación, auto-adaptación y heurı́sticas (incluyendo EAs)
para mejorar el desempeño de los algoritmos [10, 11].
Los aspectos más importantes, resultado del estudio de los diseños óptimos del chasis
se describen a continuación. En general, es conveniente utilizar tubos de gran diámetro
externo y pared delgada. Los tubos transversales no solo soportan las cargas del motor
y el piloto sino que también cumplen una importante función estructural aumentando
la rigidez del chasis y disminuyendo los esfuerzos en otros componentes. La platina de
soporte para la cabeza del tenedor, propuesta por Calderón [5], puede ser removida si se
aumenta el espaciamiento de los empalmes de los tubos en la cabeza, produciendo una
disminución de los esfuerzos en esta area.

21
II.04(02).107

Apéndice A

Hipótesis de Carga

La hipótesis de carga utilizada para simular los esfuerzos a los que se somete el chasis en
el caso de una frenada fuerte se ilustra en la Figura 11. Se espera que esta sea la condición
de carga más extrema a la que se pueda enfrentar la estructura (exceptuando un impacto),
aunque esta no es excluyente ya que no se somete al chasis a cargas torsionales como las
que se pueden presentar al tomar una curva.

Figura 11: Diagrama de fuerzas de la hipótesis de carga.

22
II.04(02).107

Donde:
~g : aceleración gravitacional = 9.8m/s2
m : masadelamotocicleta
c.m. : centro de masa de la motocicleta
~a : desaceleración del c.m. causado por la f renada
de : distancia entre ejes
dl : altura del c.m. con respecto al piso
dcm : distancia horizontal del c.m. al punto de apoyo de la ruedatrasera
F~f d ,f t : f uerza de f ricción delantera, trasera
~ d ,t : f uerzanormal delantera, trasera
N
F~p1 ,p1 : f uerza 1, 2 del piloto sobre el chasis = F~p /2
F~eng1 : f uerza inercial del motor sobre el chasis
F~eng2 : peso del motor sobre el chasis

En el peor de los casos una motocicleta de este tipo puede presentar una desaceleración
~a ' ~g , ver Calderón [5]. Bajo esta suposición, para lograr el equilibrio dinámico, casi
todo el apoyo del vehı́culo sobre la superficie se desplaza a la rueda delantera, por lo que
la fuerza de fricción en esta rueda alcanza su valor máximo F~f d = µ · N ~ d , donde µ es
el coeficiente de fricción entre la llanta y el pavimento (µ ' 1). Igualmente, se tiene
en cuenta en el análisis el peso del piloto sobre el chasis F~p1 , F~p2 (se distribuye en dos
puntos distintos del chasis) y también el peso del motor F~eng2 y su fuerza inercial debido
a la desaceleración F~eng1 .

~ d = m~g · (dl + dcm )/de


N
F~f d = N
~d

En la simulación de FEA, que solo comprende el chasis, las fuerzas F~f d , N


~ d se desplazan
hasta la cabeza del tenedor, asumiendo que estas se transmiten desde la llanta delantera a
través de la suspensión. Las fuerzas F~f t , N
~ t se desplazan al buje de la platina trasera del
chasis, punto en donde se empotra el modelo en la simulación.

23
II.04(02).107

Referencias

[1] ANSYS Inc. ANSYS Multiphysics. [Programa de Computador], Canonsburg, PA,


U.S.A., 8.0 edition.
[2] ANSYS Inc. ANSYS Release 8.0 Documentation. Canonsburg, PA, U.S.A.
[3] Avallone, E.A. and Baumeister, T. Marks’ Standard Handbook for Mechanical En-
gineers. MacGrac-Hill, 10 edition, 1997.
[4] Bäck, T. Optimal mutation rates in genetic search. In Proceedings of the 5th Interna-
tional Conference on Genetic Algorithms, pages 2–8. Morgan Kaufmann Publishers
Inc., 1993.
[5] Calderón, B. Diseño y construcción de un chasis tubular para un vehı́culo experi-
mental. Tesis de pregrado no publicada, Universidad de los Andes, Bogotá, Colom-
bia, 2004.
[6] Coello, C. An updated survey of evulutionary multiobjective optimization tech-
niques: State of the art and future trends. Technical report, LANIA-RD-98-08, 1998.
[7] Coello, C.A., Van Veldhuizen, D.A., and Lamont, G.B. Evolutionary Algorithms for
Solving Multi-Objective Problems. Kluwer Academic Publishers, 1 edition, 2002.
[8] Deb, K. Multi-speed gear box design using multi-objective evolutionary algorithms.
Journal of Mechanical Design, 125(3):609–619, September 2003.
[9] Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. A fast and elitist multiobjec-
tive genetic algorithm: Nsga–ii. IEEE Transactions on Evolutionary Computation,
6(2):182–197, April 2002.
[10] Eiben, A.E., Hinterding, R., and Michalewicz, Z. Parameter control in evolutionary
algorithms. IEEE Transactions on Evolutionary Computation, 3(2):124–141, July
1999.
[11] Eiben, A.E., Marchiori, E., and Valko, V.A. Evolutionary algorithms with on-the-fly
population size adjustment. In 8th Conference on Parallel Problem Solving from
Nature, pages 1133–1142. X. Yao et al., Springer, LNCS 3242, 2004.

24
II.04(02).107

[12] Fogel, D., Owens, A.J., and Walsh, M.J. Artificial Intelligence Through Simulated
Evolution. John Wiley, 1 edition, 1966.

[13] Hibbeler, R.C. Mecánica de Materiales. Prentice Hall, 3 edition, 1998.

[14] Holland, J. Adaptation in natural and artificial systems. University of Michigan


Press, 1975.

[15] Medaglia, A. and Gutierrez, E. Java Genetic Algorithms (JGA). [Libreria de Java],
Bogotá, Colombia, 2004 edition.

[16] Ochoa, G., Harvey, I., and Buxton, H. On recombination and optimal mutation rates.
In Genetic and Evolutionary Computation Conference, pages 488–495, 1999.

[17] Papalambros, P.Y. and Wilde, D.J. Principles of Optimal Design: Modeling and
Computation. Cambridge University Press, 2 edition, 2000.

[18] Rechenberg, I. Evolutionsstrategie - optimierung technischer systeme nach prinzip-


ien der biologischen evolution. Frommann-Holzboog, Stuttgart, 1973.

[19] Reddy, J.N. Introduction to the Finite Element Method. McGraw-Hill Science, 2
edition, 1993.

[20] Schwefel, H.P. Evolutionsstrategie und numerische optimierung. Dissertation, Tech-


nische Universität Berlin, 1975.

[21] Shigley, J.E. and Mischke, C.R. Mechanical Engineering Design. McGraw-Hill, 6
edition, 2001.

[22] Sun Microsystems Inc. Java 2 Software Development Kit (J2SDK). [Programa de
Computador], Santa Clara, PA, U.S.A., 1.4.2 03 edition.

[23] Whitey, D. A genetic algorithm tutorial. Statistics and Computing, 4:65–85, 1994.

25

También podría gustarte