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:
maxdi representa 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)…