Abstract
We explore a structure optimization strategy that is analogous to how bones are formed in embryos, where shape and strength are mostly defined. The strategy starts with a rectangular grid of elements of uniform thickness with boundary displacements and force conditions. The thickness of each element can grow or shrink depending on the internal strain, this process is done iteratively. The internal strain is found using the finite element method solving a solid mechanics problem. The final shape depends only on five parameters (von Mises threshold, thickness grow and shrink factors, maximum and minimum thickness). An evolutionary algorithm is used to search an optimal combination of these five parameters that gives a shape that uses the minimal amount of material but also keeps the strain under a maximum threshold. This algorithm requires to test thousands of shapes, thus super-computing is needed. Evaluation of shapes are done in a computer cluster. We will describe algorithms, software implementation and some results.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Our goal is to create solid structures (see Fig. 1) that work under certain conditions (forces or imposed displacements), while weight, displacement, and strains are minimized.
To do such, we will apply meta-heuristics with a minimum of assumptions about the problem and its geometry. The evaluation of the structure is done using solid analysis with Finite Element Method [1].
1.1 Topological Optimization
When a topological optimization is applied, a domain can be divided in a grid of elements, each element is a degree of freedom (DOG), Fig. 1 shows an example. A problem with a 2D domain can have thousands of DOG, for a 3D problem the number raises to millions. A strategy to reduce the complexity of the search space is to use binary elements (Fig. 2).
The aim of the method described below is to work with just a few degrees of freedom, following the idea of how bone shape is defined in mammals.
1.2 Bone Shape
The shape of a bone is mostly defined during embryonic development. A study [2] explains that at first the bone has a very basic shape, then it grows and adapts itself to have an almost optimal shape to support loads.
In [2] it is demonstrated that the bone reacts to the force created by the growing muscles. Because of external load forces inside the bone strains are generated. In the bone cells where the strain is bigger the osteoblasts make the concentration of calcium increase, otherwise it is reduced. This procedure makes bones attain a more resistant shape, with a tendency towards an optimal (Fig. 3).
If the muscles, attached to a bone, are paralyzed no strain is generated and a bone will not develop an optimal shape (Fig. 4).
2 Structure Optimization Using Internal Strain
The Finite element method is used to model the structure, it starts with an empty rectangular domain. The measurement used for internal strain is the von Mises stress or equivalent tensile stress.
Some research has been done on creating a simple method that uses internal strains to optimize structures [3].
-
This method does not use binary elements, instead the thickness of elements variates in a continuous way.
-
How thickness will grow or shrink will depend on the von Mises stress inside each element.
-
Optimization is done iteratively.
-
There is not a fitness function.
-
The method works as a cellular automaton.
-
There are only five degrees of freedom to control the optimization process.
2.1 Cellular Automaton
The rules to control the thickness \(t_{\text{ e }}\) of the element (cell) are simple: The thickness can grow by a factor \(f_{\text {up}}\) or be reduced by a factor \(f_{\text {down}}\).
Let \(\sigma _{\text {vM}}\) the von Mises strain inside the element and \(\sigma _{\text {vM}}^{\text{* }}\) a threshold criteria.
There are top \(t_{\text {top}}\) and bottom \(t_{\text {bottom}}\) limits for the thickness:
The evolution process of the cellular automaton depends on five parameters:
-
von Mises threshold \(\sigma _{\text {vM}}^{\text{* }}\).
-
Increase thickness factor \(f_{\text {up}}\).
-
Reduction of thickness factor \(f_{\text {down}}\).
-
Top thickness value \(t_{\text {top}}\).
-
Bottom thickness value \(t_{\text {bottom}}\).
3 Example: Arc
This is piece of steel with two fixed corners that has to support a force applied on a point, see Fig. 5.
3.1 Successful Arc Structure
For the parameters in Table 1, a successful structure is generated.
The evolution of the cellular automaton is shown in the sequence of images, warmer colors indicate more thickness, cooler colors less thickness. If thickness falls below \(f_{\text {bottom}}\) the element is not shown.
The final result is shown in Fig. 6.
3.2 Invalid Arc Structure
The parameters used are in Table 2. In this case the top and bottom limits have been changed. In particular the bottom limit has been increased, with this changes, structure development fails.
Looking at the evolution of the cellular automaton, in both cases success and failure, at early iterations the thickness of the right part of the structure is reduced. In the successful case thickness of this side is increased in the following iterations, until it creates the right part of the structure. If the bottom limit is raised too much the evolution of the right side will be cut too soon, producing an invalid arc structure.
The final result is shown in Fig. 7.
4 Differential Evolution
To search for structures that tend to an optimal shape, a meta-heuristics has to be used. What we have to find are the parameters that improve the structure (in terms of weight, displacement, and internal strain).
The search space will have five dimensions that correspond to the five parameters used to control the cellular automaton.
-
von Mises threshold \(\sigma _{\text {vM}}^{\text{* }}\).
-
Increase thickness factor \(f_{\text {up}}\).
-
Reduction of thickness factor \(f_{\text {down}}\).
-
Top thickness limit \(t_{\text {top}}\).
-
Bottom thickness limit \(t_{\text {bottom}}\).
The search of parameters that produce a good shape is done using differential evolution [4]. The fitness function will measure the weight of the structure w, maximum displacement d and the maximum von Mises in the structure \(\sigma _{\text {vM}}\), we propose a very simple fitness function
The number of steps of the cellular automaton will be determined heuristically based on some test cases. For our experiments, 100 is the number of steps chosen. Each evaluation of the fitness function will have to complete this amount of steps.
Parameters of the differential evolution will be: population size \(N\sim 64\), crossover probability \( Cr =0.8\), and differential weight \(D=0.5\).
The algorithm of differential evolution is:
4.1 Implementation
The program to run this method was programed in C++ using the MPI (Message Passing Interface) library for communication between computers in a cluster. The finite element library used to solve each iteration of the cellular automaton was FEMTFootnote 1.
The cluster used to test this method has 64 cores (Fig. 8), to maximize the usage, the population size was chosen to be 64. Solution speed was increased by loading all data for the structure on each core, only the elemental matrix is assembled for each step of the cellular automaton.
The solver used was Cholesky factorization for sparse matrices. Reordering of the matrix is done once and only the Cholesky factors are updated, this calculus is done in parallel using OpenMP [5].
For the examples shown the solution of the finite element problem takes approximately 200 ms.
The cellular automaton uses 100 iterations, so the calculation of each generation of the differential evolution algorithm takes approx 20 s.
5 Global Optimization Example: Bridge
A steel bar that has two supports on opposite sides, it has to support its own weight and also a force concentrated in the middle (Fig. 9).
The next table shows some the best individual after n evaluations, an its fitness function.
The final structure is shown in Fig. 10, the corresponding von Mises is shown in Fig. 11.
The parameters for the final structure are:
The resulting fitness function:
6 Conclusions
We have presented a bio-inspired method to search for optimal structures under load conditions.
It is interesting to see that in mammals the shape and internal structure of the bone is not codified in the genes. Only some thresholds associated with the behavior of bone cells are codified. With this idea we can reduce an optimization problem with thousands or millions of degrees of freedom (the state of each element in the geometry) to an optimization with just a few degrees of freedom (the parameters used for the cellular automaton).
The evaluation of the fitness functions is expensive because we have to leave the cellular automaton to operate for many steps, we used parallelization in a cluster to overcome this, each core on the cluster evaluates an individual.
Some interesting research can be done in the future, for instance we used a very simple fitness function, a more intelligent selection of this function could be useful to get better and faster results. Also, more complex methods can be used for the optimization, like Estimation of Distribution Algorithms. In the near future we will test this method on 3D structures.
References
Zienkiewicz, O.C., Taylor, R.L., Zhu, J.Z.: The Finite Element Method: Its Basis and Fundamentals, 6th edn. Elsevier Butterworth-Heinemann, Oxford (2005)
Sharir, A., Stern, T., Rot, C., Shahar, R., Zelzer, E.: Muscle force regulates bone shaping for optimal load-bearing capacity during embryo-genesis. Development 138, 3247–3259 (2011). Department of Molecular Genetics, Weizmann Institute of Science
Torres-Molina, R.: Un Nuevo Enfoque de Optimización de Estructuras por el Método de los Elementos Finitos Universitat Politècnica de Catalunya. Escola d’Enginyeria de Telecomunicació i Aeroespacial de Castelldefels (2011)
Storn, R., Price, K.: Differential evolution. A simple and efficient heuristic for global optimization over continuous. J. Glob. Optim. 11, 341–359 (1997)
Vargas-Felix, J.M., Botello-Rionda, S.: Parallel direct solvers for finite element problems. Comunicaciones del CIMAT, I-10-08 (CC) (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Vargas-Felix, J.M., Botello-Rionda, S. (2016). Structure Optimization with a Bio-inspired Method. In: Gitler, I., Klapp, J. (eds) High Performance Computer Applications. ISUM 2015. Communications in Computer and Information Science, vol 595. Springer, Cham. https://doi.org/10.1007/978-3-319-32243-8_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-32243-8_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-32242-1
Online ISBN: 978-3-319-32243-8
eBook Packages: Computer ScienceComputer Science (R0)