Una solución para puentes obtenida con un algoritmo genético (primera parte) …

En este trabajo se propone un algoritmo genético con cruzamiento natural aplicado sobre una representación continua-discreta con el fin de optimizar armaduras. El objetivo es: disminuir el peso restringiendo los desplazamientos de los nodos y limitando los tipos de perfiles estructurales a usar. Las soluciones se combinan con dos tipos de cruzamientos, en una sola representación, lo cual permite explorar de una manera efectiva el espacio de búsqueda. Para el caso del diseño de la armadura de un puente de70 mde claro los resultados se validan comparando los aquí encontrados contra los de la literatura. Se obtienen soluciones más ligeras y con diferente topología. Adicionalmente, se propone un caso de estudio: el diseño de la techumbre de un invernadero. La techumbre se construye a escala real y se somete a cargas para verificar su resistencia.


Símbolos y anotaciones

maxdirepresenta el máximo desplazamiento que se presenta en la estructura

wi es el peso total de la estructura  en kg

claro es el claro del dominio espacial de la estructura en m

Aj es el área de la sección transversal j  número entero

Lj la longitud de la barra en m

ρ corresponde a la densidad del material en kg

resistenciai penalización por resistencia de la barra j en kg

esbeltezi penalización por esbeltez de la barra j en kg

despi penalización por desplazamiento en la solución en kg

c1 cromosoma o representación generada por el cruzamiento, hijo 1

c2 cromosoma o representación generada por el cruzamiento, hijo 2

cromosoma promedio de dos padres

β factor aleatorio en el rango de (0,2)

p1 cromosoma del progenitor 1

p2 cromosoma del progenitor 2

Introducción

El algoritmo planteado se utiliza para disminuir el peso de armaduras con diferentes condiciones de carga. La optimización consiste en minimizar la cantidad de material empleado sin afectar la seguridad estructural representada por los criterios de diseño derivados de reglamentos estructurales. Estos algoritmos requieren pocos parámetros iniciales, permiten el uso de variables continuas y discretas, son robustos y permiten la emergencia de soluciones que replantean nuevos paradigmas. En este caso “emergencia” se define como un atributo construido a partir de un concepto desconocido cuya introducción pudiera simplificar y mejorar la efectividad o calidad de un proceso de diseño, (Kicinger et al. 2005).

Modelo computacional

Para el caso de armaduras se hace un análisis de los individuos por el Método de Elemento Finito (MEF) , se aplican las siguientes restricciones:

Si maxdi > (claro/1000) entonces aplica:

despi =( maxd/(claro/1000)-1)*wi

wi = wi +despi

Si esbeltezi >0 entonces aplica:

wi = wi +esbeltezi

Si resistenciai >0 entonces aplica:

wi =wi + resistenciai 

donde wi  es el peso total de la estructura:

maxdrepresenta el máximo desplazamiento que se presenta en la estructura, wi es el peso total de la estructura y claro es el claro del dominio espacial de la estructura. Aj es el área de la sección transversal j y se multiplica por la longitud de la barra Lj y por ρ que corresponde a la densidad del material.

En esta propuesta los valores de penalización de la esbeltez y la resistencia se obtuvieron revisando cada elemento del individuo, tomando como penalización del elemento la cantidad de material necesario para cumplir con la restricción; al final se suman todas las penalizaciones por elemento.

 

Clasificación, pareo y operadores genéticos

En los algoritmos evolutivos, como son los AG, los operadores de variación son los mecanismos mediante los cuales la información genética se transforma al pasar de los padres a los descendientes (Kicinger et al, 2005). Entre los operadores de variación encontramos el cruzamiento y la mutación, siendo el cruzamiento el que se emplea como herramienta principal (Kicinger et al, 2005). Los porcentajes de aplicación entre un operador y otro varían según el problema.

Cruzamientos para variables continuas

El término cruzamiento natural se aplica sobre la combinación de dos tipos de cruzamientos que se usan en una misma representación pero en diferentes partes de ella.

Una de las operaciones empleadas en el cruzamiento de representaciones reales es el Cruzamiento Binario Simulado (SBX por sus siglas en ingles)

Cruzamientos para variables discretas

El cruzamiento uniforme consiste en una selección donde se genera un vector del tamaño de los padres y que contiene ceros, unos distribuidos con una probabilidad uniforme en el vector. A este vector se le llama mascara de selección y se usa de manera que un cero presenta la acción de no pasar el cromosoma del padre al hijo y un uno si lo permite pasar. Entonces con esta mascara se genera el primer padre, tal cual es creada, y con el segundo padre se usa invertida, los ceros se hacen uno y viceversa, para complementar los cromosomas de los hijos.

Ejemplos de cruzamiento

Los cruzamientos antes mencionados se aplicaron sobre una codificación con números reales en donde las columnas corresponden respectivamente a: conectividades (nodo i,  nodo j), coordenadas de los nodos final e inicial (xi , yi, xj, yj), longitud (li) y sección transversal empleada (Ai), en total  8 columnas. Una fila representa, por lo tanto, las propiedades de una barra en la armadura. Esta representación puede tener cualquier número de filas pero las columnas están restringidas según las propiedades de la barra. Si tomamos dos segmentos de cromosoma (en este ejemplo usamos coordenadas y secciones transversales), del padre 1(p1) y de la madre 2 (p2), se efectuarían las operaciones de cruzamiento de la siguiente manera:

Ejemplo

p=(xi,yi,xj,yj,Ai) ß formato de representación para ejemplo

p1=(0,2,2,3,A) ß padre 1

p2=(0.1,3,1,3,B) ß madre 2

Cruzamiento SBX

X = (p1+p2)/2=(0.05, 2.5, 1.5, 3)

p2-p1= (0.1, 1, -1, 0)

Si  = 0.25

c1 = (0.05, 2.5, 1.5, 3)-0.5*(0.1, 1, -1, 0)= (0.025, 2.25, 1.75, 3)

Para complementar el valor A representa un número de sección transversal y B representa otro. La mascara de selección es, un sólo número en este caso, un cero (0) que significa que la sección A no se usa con el hijo c1, pero si la sección B. Por lo que el primero de los hijos queda:

c1 = (0.025, 2.25, 1.75, 3, B)

El segundo hijo es generado aplicando las operaciones correspondientes indicadas con anterioridad, varia  aleatoriamente.

Seguimos con mutación, reproducción y caso de estudio….

 

Una solución para puentes obtenida con un algoritmo genético (segunda parte)…

Foto del avatar

Ingeniero Civil por parte del Instituto Tecnológico de Tepic, México. Doctor en Ingeniería en el área Optimización de Estructuras con Computación Evolutiva por parte de la Universidad Autónoma de Querétaro.

Leave a Reply

Your email address will not be published. Required fields are marked*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad