A topological structural design approach is presented which is based upon the implementation of a two phase evolutionary optimization algorithm in conjunction with a finite element analysis code. The first phase utilizes a conventional genetic approach which performs a global search for the optimal design topology. Dual level material properties are specified within the genetic encoding and are applied to each individual element in the design mesh to represent either design material or a void. The second phase introduces a rule based refinement which allows for user design intent to accelerate the solution process and eliminate obvious design discrepancies resulting from the phase one search. A series of plate design problems are presented where the objective is to minimize the overall volume of the structure under predefined loading and constraint conditions. The constraints include both stress and deflection considerations where stress is calculated through the use of a commercial finite element package. The initial plate example incorporates a coarse mesh, but a gradual decrease in element size was employed for the remaining cases examined. Replacement of the phase one search with a set of randomly generated designs is demonstrated in order to form a greatly reduced design space which drastically increases the efficiency of the solution process. Comparison results are drawn between the conventional genetic algorithm and the two phase procedure.
Structural optimization has evolved considerably over the years to the point where it now represents an important design tool. During this evolution, progress has been made on the analysis side, the optimization side and the coordination between analysis and optimization. From the very beginning, structural optimization was viewed as a computationally intensive task and much of the effort was placed on efficiency. The implementation of sensitivity analysis for generating gradient information for size and shape optimization is one aspect of this early work. A review of the history as well as progress in structural optimization up to the turn of the century is available from a number of sources [
Topological optimization in conjunction with genetic algorithms has been implemented for the design of simple structures involving truss and beam elements [
The discretized nature of computational structural analysis provides a direct link to the encoding used in a genetic optimization algorithm. If each element is represented by an individual position in the chromosome, topological modification can be carried out by removing or adding individual elements. The removal of elements may easily be handled through the assignment of a weak material property which effectively eliminates the element, but does not require any re-meshing. Using this approach, a region, or allowable design space, can be identified and meshed into elements. The genetic algorithm will then select the elements required for the design topology which best satisfies the design criteria and constraints. Often, however, the result of an evolutionary structural optimization contains obvious flaws that an experienced designer would not allow. This is a result of the fact that a mathematical abstraction of the “real” design problem is being operated on by the optimization algorithm. In order to eliminate these design flaws, some knowledge of the structural design process must be embedded within the optimization process. Overall, the encoding or chromosome string of a traditional genetic algorithm is proportional to the complexity of the problem, however knowledge based encoding approach is independent of problem size and does not proportionally grow in complexity. A smaller knowledge based encoding scheme eliminates traditional genetic algorithm solution flaws, increases solution convergence time, and provides feedback to the end user regarding which key features of information were the most essential when deriving the final solution.
The fields of expert systems and neural networks may be utilized in order to capture elements of the manual design process. This may, however, limit the design to known techniques and procedures which removes the possibility of creating a novel or revolutionary design. The best of both worlds would be a process which exploits the benefits of a global optimization process, but is guided or influenced by domain specific knowledge. This is possible within the framework of a genetic algorithm. This process may well maintain the global nature of the search as well as to allow for an adaptive framework over time as rules are modified to improve performance. A simple framework is presented, but this framework provides a rich development platform for more sophisticated structural design optimization approaches.
A number of different encodings are possible with a genetic algorithm for topological design. In order to be a useful design tool, however, the desire is to let the algorithm have complete control over the topology of the design. This means the algorithm must be capable of deleting as well as adding elements or features to the design. For a plate design, only the loading and ground locations should be specified initially along with a feasible region of space in which the design must fit. Each analysis of a structure is time consuming which brings up the issue of efficiency. Design population size must be limited, which in turn limits the effectiveness of the approach. The traditional genetic algorithm exploits successful design content, but this is not the same as exploiting design knowledge. A two phase genetic algorithm for robust topological design is developed herein. A series of design problems utilizing plate elements is presented and the results of the two phase algorithm are contrasted to those generated by a traditional genetic algorithm. Only loading conditions, restraints and geometric boundaries are specified for each problem.
The plate optimization procedure considered here operates through the assignment of different material properties throughout a predefined meshed design region. In order to simplify the concept, only two different material property values are introduced. For a plate design, the logical material property to consider is the modulus of elasticity. The first material property value represents the intended design material such as that for steel or aluminum. The second material property value corresponds to an extremely weak material which adds little to the structural integrity of the design. The utilization of a weak material allows for extreme topological change to occur without requiring a re-mesh for the elements and eliminates the problem of generating a singular stiffness matrix. The stiffness matrix for the finite element analysis of the design is assembled with material property information provided by the genetic encoding on an element by element basis. The final topology of the design may be identified by simply removing the elements formed of the weak material. This is not intended to provide a final, highly detailed design, but rather a topology which may be refined in order to generate such a design.
The plate design process investigated incorporates a genetic algorithm programmed in Microsoft Visual Basic [
A major issue of concern in the assignment of an alterable material property for each element in the defined mesh is the total number of elements considered. As the number of elements increases, the complexity as well as the time required for solution by the optimization algorithm increases significantly. On the other hand, the number of elements required to define the fundamental design topology will generally be considerably below that required for a detailed design analysis. Another approach is to limit the optimization to a specific region of a design, where the topology of other regions is already fully defined. Meshing at several levels of detail is considered in the examples which follow. This is somewhat equivalent to the refinement provided by a variable length encoding [
Two separate genetic optimization formulations are introduced. The first represents a traditional encoding, where each element in the defined structural region has its own binary variable in the encoding string. This formulation is developed in this section. The development of the rule based extension follows in the next section. The plate design examples investigated were all subjected to identical stress and displacement constraint conditions. Each plate design was also restricted to the same spatial design volume, although the discretization level or element size was varied. The dimensions of the spatial design volume consisted of eighteen cm in the x direction, thirteen cm in the y direction, and a thickness of 0.5 cm in the z direction. Directional forces consisting of 67 newtons in the x, y and z directions were applied at coordinate locations (15, 3.25, 0.5) and (12, 9.75, 0.5) where the units are in cm and the origin is at the lower left corner of the bottom surface of the specified plate design volume. The use of multidirectional forces allow for an optimal yet robust topological design to be acquired. The concept of robust design optimization has been effectively demonstrated by Sandgren and Cameron [
The formulation of the objective function and constraints for the plate design examples considered is as follows:
Maximizevolume = ∑ ( Volume i ) * ( Encodingvalue i ) (1)
i = 1 , ⋅ ⋅ ⋅ , number of elements
subject to
g i ( x ) = ( Constra int lim i t − Constra int max ( Calculated ) Constra int lim i t ) ≥ 0 (2)
where i = 1 , ⋅ ⋅ ⋅ , number of constraints
g 1 ( x ) correlates to stress and g 2 ( x ) displacement
The encoding value for each element has a value of zero if the element is assigned to the design material and one if it is assigned to the weak design material. This way, the summation of volume to be maximized in Equation (1) consists of the total volume of weak material elements, or alternatively, the volume of material removed. In the constraint equations, Slimit and Dlimit are the maximum allowable stress and displacement values while Smax(calculated) and Dmax (calculated) are the maximum computed values for the design being analyzed over all of the elements considered. The formulation of Equation (2) generates ratios, which allow for normalization of constraint violation in the disparate magnitudes of the displacement and stress values as well as to allow for a consistent graphical representation over the diverse set of designs within each genetic population. Both constraint equations produce positive values for any design which does not exceed the design limits.
Material properties of each plate element were designated to be either the intended design material, AISI 4340 steel, or a substantially weaker material with a modulus of elasticity of 2 MPa. Additionally, Poisson’s Ratio was assigned a value of 0.32 for all elements in each plate design investigated. The modulus for the weak material may be defined as any reasonably small value as long as it is significantly less than that of the selected design material. The main function of this material property is to prevent the formulation of a singular stiffness matrix within the finite element algorithm and to avoid the necessity of re-meshing the design region. The assumption is made that low stress magnitudes in plate elements assigned the weak material property are deemed to be practically nonexistent. Steel material properties were represented the by the encoding value of 0, while weak material properties are assigned the encoding value of 1. These assigned numeric values correspond to defined material properties generated within Femap which are encoded within the genetic algorithm for material property manipulation of each element. A sample string is shown below for a ten element plate.
Sample string {0, 1, 1, 0, 0, 0, 1, 0, 0, 1}
For this string, elements one, four, five, six, eight and nine are formed from steel, while elements two, three, seven and ten are formed from the weak material. The assignment of order in the encoding string is directly related to the element number in the design mesh. Since the design mesh remains constant throughout the optimization process, the encoding strategy is valid throughout the search.
Based upon the structure of the sample string, an initial set of designs are generated randomly and the genetic algorithm methodology begins. Both crossover and mutation operations are applied by the genetic algorithm, and ultimately new generations of offspring or designs are formed. The method of crossover involves the selection of two parent designs where material properties or chromosomes within each chosen design string are interchanged at a random position, forming two new offspring designs. Parent designs are selected randomly, based on their overall fitness value, which considers the value of the objective function as well as any constraint violation. A single numeric value for each design is formed through the use of an exterior penalty function. Using the penalty function allows parent design strings which meet or exceed predefined constraint values to be assigned an overall fitness value solely based upon the objective function value. Parent designs which fail to meet the constraint criteria, are reduced in value by a penalty function. A typical penalty function is represented by the equation
P ( x ) = f ( x ) – R ∑ i { g i ( x ) } 2 (3)
for i = 1 , ⋅ ⋅ ⋅ , number of constraints
where
{ g i ( x ) } = 0 ; f o r g i ( x ) ≥ 0 { g i ( x ) } = g i ( x ) ; f o r g i ( x ) < 0
In this equation, f(x) represents the objective function value at the design point x, which specifies how much material was removed from the spatial design region. The penalty factor, R is a numeric value which continually increases from an initial value by a user specified amount as the optimization proceeds. This allows an early exploration phase where some constraint violation is allowed, but builds a penalty over time so that later designs are pulled toward the feasible design region. Lastly, the array gi(x) represents the constraint value for each of the defined constraints. Additional background on penalty function theory and operation is provided by Gen and Cheng [
Mutation is a random occurrence of an altered material property value within an arbitrarily selected parent design string which occurs during a crossover operation. This random alteration allows for the possibility of a solution to be generated which could not result from any combination of the encoding strings represented in the current population. Although a random occurrence, the probability of mutation is user specified and normally set at a relatively low value. If the mutation probability is set too high, the search becomes more of a random search rather than an ordered search. Toward the end of the search process, most progress is made through mutation as most of the design content in the original population of designs has been exploited or lost. In a computationally expensive problem environment, such as structural design, it is important to have a reasonable mutation rate as the population size must be limited.
Once the crossover of traits between parent designs has been completed, stresses and displacements for each of the offspring designs are calculated and evaluated in the stress and displacement constraint functions. Element stresses and nodal displacements are immediately available once the finite element analysis algorithm, CAEFEM, has completed the analysis. Now the evolutionary process has commenced. This evolutionary process begins with the selection of new parent designs from the current generation. Once all parent designs have bred new offspring, one generation has been completed. The total number of generations of offspring produced is a user specified variable, which is application specific. The effectiveness of a specified set of input parameter values may be observed through feedback from the graphical user interface.
The second phase of the optimization process is designed to refine the best design or designs from the phase one search through the implementation of domain specific knowledge provided by the user in the form of rules. These rules are created by the user and encoded into a design string similar to the element selection string within the phase one search. Upon the conclusion of phase one, a global search has been performed which should result in a reasonably good design, which is at or close to a feasible design topology. Since by nature, the genetic optimization process tends to make good progress early in the optimization, the location of a set of reasonable design points does not require many generations to be executed in the phase one search. Alternatively, the phase one search can be done away with entirely and replaced by a set of randomly generated designs. While this process may lead to a local minimum, depending upon the diversity of the randomly selected designs generated, it allows for large problems to be solved using the greatly reduced encoding length of the rule based search. The alternatives supported by the two phase design optimization methodology lead to a rich set of alternatives which can be implemented to balance computational effort with the scope of the global search.
The fundamental operation of the genetic algorithm remains identical to the phase one operation, with the exception of the development of rule strings which are mated and offspring rule sequences which are introduced to further refine the final solution(s) from the phase one search. Each time the genetic algorithm has located a rule sequence for which both stress and displacement constraints are satisfied and an improvement in the objective function is achieved, the improved design replaces the current design. This rule based refinement is based upon the single row encoding scheme illustrated in
This specific encoding example consists of ten columns, where each column or block position contains information that is necessary in order to execute one or more of the rules. This particular encoding method allows for up to three rules to be executed simultaneously. The first position in the encoding string determines how many rules are to be executed in order to modify the current design. This leaves three groups of three block positions to provide the information necessary to execute specific rules. The first of the three block position values determines which rule to execute. The second and third block position values provide any additional information necessary to execute the selected rule (i.e. specific element to manipulate). This encoding method is repeated throughout the remaining two block sets which compose the remainder of the encoded row. This encoding methodology provides the foundation for the development of design strings which are injected into the genetic algorithm to refine the best design(s) from phase one. Phase two has the ultimate goal of determining the best rule sequence, from a global perspective, which refines a previously located design point from the phase one search or the current design(s) in the phase two search.
Five rules were developed for demonstrating the operation of the phase two search process. Each rule works independently or in a synchronized manner with multiple rules in order to achieve an improvement in the objective function which is to reduce the overall volume of the current plate design. Listed below are the five rules developed.
1) Rule one indicates that for a randomly selected element, the material property is switched from its current material property to its opposite (i.e. weak material property to the design material property or vice versa).
2) Rule two switches the material properties of two randomly selected plate elements with one another.
3) Rule three locates the element of maximum stress. Upon the location of the element of maximum stress, if applicable, the optimizer alters the weak material property of the element to the design material property.
4) Rule four locates the element of maximum displacement, and alters the material property of the element to the design material property if the current material property was designated a weak material.
5) Rule five locates the element of minimum stress and switches the material property to the weak material property if the design material property was initially present.
Each of the rules has a unique assignment of the rule block positions which provides the information required to process the rules for a given topological plate design. In all cases, the first of the three block positions represents the rule number, which is an integer from one to five. The second block position is an integer representing the element number selected for modification (when required) and the third block position is only applicable for rule number two where it is an integer identifying the second element number selected for rule execution.
In order to clarify the interpretation of the rule encoding, consider the following string.
Samplestring = { 3 , 2 , 12 , 56 , 5 , 21 , 13 , 1 , 33 , 44 }
As the first position has a value of three, all three rules represented by the string will be executed on the current plate design. The next three blocks in the encoding designate that rule two is to be executed which will exchange the material properties of elements twelve and fifty-six. The next block of three values indicates that rule five will be executed which relies on stress information from the finite element analysis (element of maximum stress) and therefore does not require the values in the following two fields (21 and 13). The material property of the element which has the maximum stress value will be altered to the design material if it is not already designated as such. The final three fields will execute rule 1 which will alter the material property of the thirty third elements to the value opposite the current setting. The last position, 44, is not required in order to execute this rule. The three modifications are made to the design and then it is evaluated for objective function and constraint values. If the design is improved, it is saved for future consideration by the genetic algorithm.
Other rules than those specified may be more effective in the phase two process, but the algorithm will adapt through the genetic process to locate the best rules and combination of rules. The rules are controlled by the genetic algorithm which in turn is utilized to modify a previously specified plate design. It should be noted that the rules are not required to be good design rules. For example, rule number four may be seen to be of limited value since the reduction of displacement at a nodal position will be influenced by all elements along the load path and particularly, those elements close to a ground position. The beauty of the rule based process is that good rules will be executed and bad rules will be avoided as the search progresses. At the end of the search, the user can see which rules or combination of rules lead to design improvements during the search. This can lead to rule refinement or even the discovery of a new design strategy. This links the process closely with learning and memory which are fundamental to any successful design process.
The plate design examples differ only in the number of elements involved in the meshing of the design space. The specific input parameters utilized for each of the design exercises including population size and number of generations of
Number of Plate Elements | Phase One Population Size | Phase One Generations | Phase Two Population Size | Phase Two Generations |
---|---|---|---|---|
24 88 140 234 | 48 176 280 468 | 24 143 140 420 | 100 100 100 100 | 40 40 40 40 |
offspring utilized for both the phase one and phase two search processes are documented in
The first example utilized a twenty four element mesh to fill the designated design space with the predefined loading and constraint conditions established for all of the examples. The 0.5 cm. thick plate is fixed in all directions along the left edge, and two nodal forces were applied which consisted of sixty seven Newtons in the x, y, and z directions. A maximum stress constraint of 140 MPa and a maximum displacement constraint of 0.635 cm. were imposed as well. The phase one population size and number of generations produced were 48 and 24 respectively. The resulting plate design from the phase one search is illustrated in
The phase two search consisted of a population size and number of generations produced of 100 and 40 respectively. The phase two search refined the phase one design to that shown in
constraints or by other means [
Graphical representations for both displacement and stress versus element number are provided below in
Plots of both the objective function and constraint values versus generation graphs are provided in
rithm behavior for the phase one search process. These graphical representations correspond to the final solution illustrated in
limit compared to the phase one solution.
The first decrease in the mesh size for the prescribed design region resulted in an increase in the number of plate elements from twenty-four to eighty-eight. All other design parameters remained at identical levels as in the previous design example. Solutions for both the phase one and phase two search are provided below in
An examination of
The displacement and stress values for each plate element upon the conclusion of the phase two search process are presented graphically in
The progress of the genetic algorithm throughout the phase one search process is provided below through graphical representations of objective function value and constraint values versus generation, as shown in
The phase two optimization progress is plotted in
neither the stress nor displacement constraints were fully active, the design stress is approaching the specified limiting value. In this design exercise, the phase two search resulted in a more modest reduction of additional material, but the resulting design can be seen to be more refined in nature. The other interesting point of note is that the phase two result reduced the amount of material required for the design while increasing the safety margin of the design with respect to both displacement and stress criteria.
Based upon the results achieved with the twenty-four and eighty-eight element plate design examples, it seems like a reasonable assumption that additional mesh reduction may allow for a further increase in the volume of material removed from the original design region. A one hundred forty element plate was constructed to investigate this possibility. Design topologies corresponding to the phases one and two results are illustrated in
examination of
Graphical representations of displacement and stress values for each plate element in the final design after the phase two operation are provided in
The behavior of the genetic algorithm is presented graphically for the phase one solution in
needs to be increased, but this would have a dramatic impact upon the solution time required. The constraint value versus generation graph displayed in
Graphical representations of the phase two search process are illustrated within
The final plate design exercise investigated is composed of two hundred thirty four plate elements which are subjected to the previously defined loading and
constraint conditions. Phase one genetic input parameters consisted of population size and number of generations of 486 and 420 respectively.
Displacement and stress values versus plate element number are presented graphically in
Objective function and constraint values versus generation graphs are provided below which plot the progress of the phase one genetic optimization
search. A steady increase in the objective function value for the phase one search is noted in
made during the phase one search process. Additionally, the constraint versus generation graph illustrated in
The results presented to this point clearly point out the limitations of the phase one or conventional application of a genetic algorithm in setting the material properties for the topological optimization. The quality of the solution generated was reduced considerably at each mesh refinement stage and in the last case involving two hundred and thirty four elements, very little useful topology detail is available after the phase on e search process. The rule based, phase two implementation is remarkably more efficient and is capable of developing fairly refined topologies in within a very limited number of generations. This is due to several factors, the main two being the ability to infuse problem specific knowledge into the search and the reduction in the size of the solution space in the problem formulation. This brings up the issue of how much, if any, of a phase one search is required in the topological optimization. The other issue which deserves some additional consideration is the post evaluation of the rule usage during the phase two search process. Both of these issues will be addressed briefly.
In order to test the algorithm with a limited phase one search component, the 88 element plate problem was revisited. A phase one search was conducted with an extremely limited population size, 25, and for only 25 generations. The best final population member was then passed directly to the phase two search process which utilized a population size of 100 rule strings for a total of 40 generations. The final topology from the phase two search is presented in
The issue of which rules are implemented and which of those rules were successfully utilized in the solution process provides an important look at how the general topological optimization process can be improved over time. The distribution of rule utilization for the solution of the 88 element problem with the reduced phase one search is shown in
in a way that would improve the solution. This fact is documented in
These insights to the rule development process and the ability to reduce or eliminate the phase one search process highlight the promise of the rule based approach. The implementation tested is one of a wide variety of similar algorithms which could have been constructed. Further understanding of the rule development process is needed as well as additional testing on larger topological design problems. The post process review of the successful rule distribution could be expanded to include rule interactions which would also provide useful design information. Based on the results achieved to date, however, the method promises to provide an effective design tool for structural design which provides insights into the solution process that are unavailable by most other approaches. The process represents a unique combination of an evolutionary search which is guided by domain specific knowledge.
The inclusion of domain specific knowledge in the form of design rules was implemented within the framework of a genetic algorithm and tested on a series of structural design problems involving plates. Each problem was subjected to identical boundary and loading conditions as well as the same original predefined design volume. The problems involved four different mesh sizes for the prescribed design region. The topology was defined by the assignment of material property values to each of the elements through the genetic encoding of the optimization algorithm. Two material values were assigned, a normal value for the intended design material and a value which represents a significantly weaker material which represents a void.
The results clearly demonstrate the lack of effectiveness of the traditional genetic algorithm implemented for the phase one search for this class of problems. The final designs generated by the phase one search are “dirty designs” as they contain obvious design flaws. The convergence of the phase one search was found to be slow which made it difficult to assign the population size required for a true global search to be performed. As the mesh was refined to form smaller elements, the problem size increased to the point where a reliable solution could not be located through the phase one search alone.
The addition of the second phase, rule based genetic algorithm was found to be extremely effective in cleaning up the design resulting from the phase one search. This process was found to require a very small number of generations, even when the number of elements assigned to the design region grew. The result from the phase one search was improved by the phase two search in all design cases considered. The issue of the topology generated as the number of elements increased was interesting. When relatively few elements were assigned, the final design was easily defined and clearly related to the design generated by the phase one search. As the number of elements increased, the final design topology represented a better design (less weight), but as the number was increased farther, the final design actually decreased in the measure of quality.
The level of difficulty certainly increases with the number of elements considered and this may partially explain this phenomena. Another possibility is that the topology is shifting from a global level to a microscopic level of detail. With large elements, the fundamental form of the structure is the major result. The approach clearly does not generate a final detailed design, but a clear topology is evident from which to form a final design. As the mesh is formed of smaller elements, the topology shifts to a finer grain which actually allows for more of a grain type structure to be formed such as that represented by a foam or matrix material containing small patterns of voids. Additional experimentation will be required in this area.
The two phase approach can be implemented in a host of different ways and the effectiveness of the resulting algorithm may improve in the process. Certainly, however, the initial results are promising. Completing the phase one search before implementing the phase two process may not be as efficient as a mixture of the phase one and phase two search where the phase two process operates on the entire phase one population. The development and representation of rules is also an area which requires further experimentation. The use of the rule history for improvement of the process is also an open area for further research. In any case, the basic methodology has been demonstrated and shown to be an effective approach to topological optimization. It certainly exceeds the performance of a traditional genetic based approach.
Webb, D., Liu, Q., Alobaidi, W. and Sandgren, E. (2017) Topological Design via a Rule Based Genetic Optimization Algorithm. American Journal of Computational Mathematics, 7, 291-320. https://doi.org/10.4236/ajcm.2017.73023