Assim I 2017
Assim I 2017
Assim I 2017
www.elsevier.com/locate/swevo
PII: S2210-6502(17)30025-1
DOI: http://dx.doi.org/10.1016/j.swevo.2017.05.009
Reference: SWEVO279
To appear in: Swarm and Evolutionary Computation
Received date: 8 January 2017
Revised date: 18 May 2017
Accepted date: 24 May 2017
Cite this article as: Hirad Assimi, Ali Jamali and Nader Nariman-zadeh, Sizing
and topology optimization of truss structures using genetic programming, Swarm
and Evolutionary Computation, http://dx.doi.org/10.1016/j.swevo.2017.05.009
This is a PDF file of an unedited manuscript that has been accepted for
publication. As a service to our customers we are providing this early version of
the manuscript. The manuscript will undergo copyediting, typesetting, and
review of the resulting galley proof before it is published in its final citable form.
Please note that during the production process errors may be discovered which
could affect the content, and all legal disclaimers that apply to the journal pertain.
Sizing and topology optimization of truss structures
using genetic programming
Hirad Assimi, Ali Jamali∗, Nader Nariman-zadeh
Department of Mechanical Engineering, Faculty of Engineering, University of Guilan,
Rasht, Iran
Abstract
This paper presents a genetic programming approach for simultaneous op-
timization of sizing and topology of truss structures. It aims to find the
optimal cross-sectional areas and connectivities of the joints to achieve min-
imum weight in the search space. The structural optimization problem is
subjected to kinematic stability, maximum allowable stress and deflection.
This approach uses the variable-length representation of potential solutions
in the shape of computer programs and evolves to the optimum solution.
This method has the capability to identify redundant truss elements and
joints in the design space. The obtained results are compared with existing
popular and competent techniques in literature and its competence as a tool
in the optimization problem are demonstrated in solving some benchmark
examples, the proposed approach provided lighter truss structures than the
available solutions reported in the literature.
Keywords: Genetic programming, Topology optimization, Sizing
optimization, Truss structure
1. Introduction
Structural optimization is the act of design and developing structures to
take the maximum profit of available resources. This topic has attracted a
great deal of interest amongst scholars and has become a challenging and
∗
Corresponding author. Address: Department of Mechanical Engineering, Faculty of
Engineering, University of Guilan, P.O. Box: 3756, Rasht, Iran
Email address: ali.jamali@guilan.ac.ir (Ali Jamali)
2
sate the drawback in the conventional methods in solving non-convex prob-
lems; there has been a rapid growth in using evolutionary algorithms for
structural optimization in the last two decades [1].
Evolutionary algorithms (EAs) provide a mathematical platform inspired by
the natural selection principle of Darwin to solve optimization problems.
Many studies have applied different EAs in structural optimization [1]. EAs
are computationally expensive in comparison with conventional methods, but
this is a slight issue because of the rapid development of computer systems
and parallel processing. It led to development of powerful algorithms to han-
dle large scale optimization problems [13–15].
Hajela and Lin [16] implemented genetic search methods and considered in-
teger, discrete and continuous design variables for optimization of trusses.
Hajela et al. [17] used a stochastic search strategy for optimization of load-
bearing truss structures. Adeli and Kumar [18] applied a distributed genetic
algorithm for optimization of large truss structures using multiprocessor sys-
tems. Yang and Soh applied different methods for truss optimization: they
combined genetic algorithm and fuzzy rule-based system [19]; they later in-
corporated tournament selection in genetic algorithm [20] and presented a
variable string length genetic algorithm for topology, shape and size opti-
mization of trusses [21]. Deb and Gulati [11] applied a real-coded genetic
algorithm for truss optimization and proposed a penalty-based approach for
handling constrained truss optimization problem. Kaveh and Khalatjari [22]
used the genetic algorithm, force method and some concepts of graph theory
for topology and sizing optimization of truss structures. Lee and Geem [23]
employed harmony search algorithm [24] for truss optimization; this algo-
rithm inspired by the musical process of searching a perfect state of harmony
for the composer. Li et al. [25] presented a hybrid heuristic algorithm com-
posed of harmony search and particle swarm optimization algorithms to find
an optimal truss design [26]. Camp [27] applied big bang-big crunch algo-
rithm [28] for truss optimization; this algorithm in the first stage distributes
population in the design space and the second stage draws the scattered par-
ticles into an order. Luh and Lin [29] used a two-stage ant algorithm [30]
for the design of optimal trusses; this algorithm inspired by the foraging be-
havior of real ant colonies. Li et al. [31] applied their proposed algorithm
for optimization of trusses with discrete design variables. Hadidi et al. [32]
used a modified artificial bee colony algorithm, this algorithm inspired by the
foraging behavior of honeybee swarm. Wu and Tseng [10] applied an adap-
tive multi-population differential evolution algorithm [33] to find the optimal
3
design of truss structures. Luh and Lin [34] employed a two-stage mixed par-
ticle swarm optimization algorithm; first, they found the optimum topology
and in the second stage, the sizing of the elements for the obtained topol-
ogy optimized. Camp and Farshchin [35] used a modified teaching-learning
based optimization algorithm for truss optimization; this population-based
algorithm mimics a class and the interaction between teacher and students
to provide better students and raise the average performance of the class
[36]. Kazemzadeh and Hasançebi [37] presented a refined self-adaptive step
size search algorithm for truss optimization. Kaveh et al. [38] proposed a
hybrid algorithm composed of swallow swarm optimization [39] and parti-
cle swarm optimization for truss optimization. Kaveh and Bakhshpoori [40]
proposed water evaporation optimization algorithm and employed it on truss
optimization problems. Mortazavi and Toğan [41] used a modified particle
swarm optimization algorithm for simultaneous topology, sizing and shape
optimization of trusses. Cheng et al. [42] applied a variant harmony search
algorithm for truss optimization with discrete design variables.
Genetic Programming (GP) is a prominent evolutionary algorithm which
employs computer programs as an individual in its population [43]. GP
has been used widely as a tool to solve optimization problems in a variety
of domains such as artificial intelligence, machine learning, pattern recogni-
tion, neural networks, controller design and circuit design.[43]. GP employs
tree-structures and evolves more efficiently than EAs which employ typical
representation forms such as binary encoding [44].
In structural design and truss optimization, genetic programming has been
used sparsely. Soh and Yang proposed a tree-based GP method for simultane-
ous topology, shape and size optimization of trusses [45]. They incorporated
ground structure design space and performed this approach with open do-
main design space later [46]. They also integrated fuzzy logic based decision
approach to control iteration process of proposed algorithm for both design
space approaches [47]. Zheng et al. suggested a linear GP structure employ-
ing ground structure design space for simultaneous topology, shape and size
optimization of trusses, [48].
Recently, Fenton et al. [49, 50] has used Grammatical Evolution which is a
type of GP for sizing and topology optimization of structures with ground
structure design space and developed their method for ill-defined boundary
problems later.
Because GP has the capability of simultaneously structural synthesis and pa-
rameter tuning of its individuals, it explores the search space more efficiently
4
than other EAs. and Its unique type of genetic operators avoid the local
optima traps in complex problems.
There exists a gap in the literature about the efficacy of simultaneous op-
timization of sizing and topology of structures using genetic programming.
This apparent gap in the literature prompted us to investigate whether GP
might be more efficient in sizing and topology optimization of structures than
other methods.
This study presents a simultaneous structural sizing and topology optimiza-
tion by genetic programming (SOGP) for trusses. The proposed method is
validated by some truss benchmark examples. This approach is a compre-
hensive process and can be developed for other types of structures like plates,
shells, and frames.
2. Genetic programming
Genetic programming (GP) is a prominent evolutionary algorithm which
adopts computer programs for forming its population, binary trees represent
these computer programs. These trees are generated by some branches and
leaves which are represented by functions and terminals, respectively [43].
Functions include arithmetic unary or binary operations, standard program-
ming operations, logic functions or custom functions. Terminals include vari-
ables, constants, random variables or specific quantities. All functions and
terminals should be defined in a function set and terminal set by the designer.
Figure 1 depicts a sample tree which consists of mathematical functions, vari-
ables, and constants. It represents a simple mathematical equation: 4x + x.
GP search method works on exploiting and exploring capabilities. For ex-
ploitation, it operates by Darwinian principle of natural selection and survival
of the fittest. GP employs genetic operators (crossover and mutation) to ex-
plore the search space and find new solutions in every generation.
GP differs with other evolutionary algorithms in some features: GP employs
variable-length computer programs in the form of trees to represent its popu-
lation, whereas other evolutionary algorithms such as GA utilize fixed-length
representation. This unique feature empowers GP to identify redundant truss
members in complex problems. For crossover operator, GP swaps the frag-
ments of two trees and produces new offsprings. This feature evades the high
probability of producing repetitive trees in comparison with other methods
through the evolution process. GP is capable of synthesizing its structure
and tuning its parameters simultaneously. This significant feature helps it to
5
optimize the topology and sizing of the trusses simultaneously.
GP starts with an initial population of randomly generated trees composed
of the function and terminal sets. Functions denote root of the tree or inter-
nal connections and terminals denote end nodes of a tree. This blind random
search process of the search space generates the initial population including
potential candidate solutions for the optimization problem.
Every individual in the population should be evaluated based on a fitness
measure to show its competence in solving the optimization and all trees in
the population undergo this process. Hence, the population undergoes the
crossover operation to produce new offsprings. Crossover procedure selects
two parents based on a probabilistic fitness proportionate selection, cuts each
from a random point and swaps the fragments of two parent trees to produce
crossover offsprings.
GP may trap in a local optimum in evolution process; to get rid of this, GP
employs mutation operator [43]. It selects one parent based on a probabilis-
tic fitness proportionate selection, cuts it from a random point, removes the
subtree from the cut-point, and generates a random tree in the cut-point to
produce mutation offspring. Figure 2 depicts the crossover (a) and mutation
operations (b).
Consequently, GP accumulates all offsprings of genetic operators in a pool,
selects its next generation population based on a probabilistic fitness propor-
tionate method and replaces the initial population with the newly generated
population.
This process iterates for many generations and tends to enhance the average
fitness of every generation until a stop criterion is satisfied. Genetic program-
ming designates the best individual in the evolution process as the solution
for optimization problem.
6
+
× x
4 x
the equation is (4 × x + x)
÷ +
Parents
× 2 x −
5 x 3 x
÷ +
Offsprings
x 2 x −
3 ×
5 x
(a)
÷
Mutation
x 2
x ×
9 +
x x
(b)
7
3. Problem description
Variable and problem-specified constraints bound search space in a con-
strained optimization problem. Figure 3 depicts that the search space can
be split into four regions for a tree (an individual) in GP population.
• Infeasible space: in this region, the tree violates both the variable
boundary constraints the problem-specified boundary constraints.
• Feasible space: it signifies the desired region for the designer because
the potential solution for the constrained optimization can exist in this
region.
Genetic operators play a major role in directing the algorithm to the feasible
region. Crossover and mutation may take infeasible individuals as parents
and produce feasible offsprings out of it.
Ground structure for the design space of a structure consists of two types of
joints: essential and arbitrary. Some joints are essential and must exist in
the final layout, these joints include load joints which carry the load forces or
support joints which support the truss. The other joints are optional because
they help distribute the stress along the truss elements better [11].
In a structural sizing and topology optimization, the main objective is to
reach the minimum weight of the structure (in the feasible region) by finding
the optimal connectivities among nodes and cross-section areas of elements.
This nonlinear problem is subjected to a number of constraints: kinematic
stability of the structure, maximum allowable stress in elements and maxi-
mum allowable deflection of joints.
To consider the constrained optimization problem in structural optimization,
penalty approach [51] has been used and five constraints have opted from [11].
Equations 1 and 2 present the standard formulation of the structural sizing
and topology optimization problem.
8
Problem-specified
constraints boundary
Variables
bounday
Feasible space
Tree
Infeasible space
9
1. Design variable: cross-section areas of elements in the structure are in
question. Ai denotes the cross-section area of the ith element.
2. Objective Function: This study considers penalized weight of the struc-
ture as the objective function. It calculates the sum of the weight of
the structure and its corresponding constraint violation penalty. The
parameters ρi and li denote the material density and length of the ith
element, respectively. P denotes the individual penalty of constraint
violation calculated by equation 2.
3. Constraint G1: a feasible truss must have all essential joints, this con-
straint plays an important role by rejecting the non-feasible trusses. If
a truss violates this constraint, an enormous constant penalty is as-
signed as the fitness value of the truss and no further calculation is
done.
4. Constraint G2: a truss can turn into a mechanism if it changes shape
under carrying the forces even if it is made of rigid elements, so trusses
must be kinematically stable. This constraint checks if a truss vio-
lates the kinematic stability. One of the methods to test the stability
of a truss is to check its stiffness matrix positive-definiteness; if it is
positive-definite, then the truss is kinematically stable. This process
has been divided into two steps to save computational expense:
10
5. Constraint G3: A truss in a feasible region must have elements which
are subjected to stresses lower than the allowable stress in elements.
After passing previous constraints, finite element analysis subroutine
calculates the stresses in truss elements and displacements in the joints.
If it violates this constraint, a bracket-operator penalty term [51] is
assigned as the fitness values. N , ne , nj , σi (A, N ) and Si denote coor-
dinates of the joints, the number of elements, the number of joints, the
stress of the ith element and the maximum allowable stress in elements,
respecitvely.
6. Constraint G4: like the constraint G3, if the truss violates the dis-
placement constraint, it will be penalized. δkmax and δk (A, N ) denote
the displacement in the kth joint and the maximum allowable displace-
ment in the joints.
7. Constraint G5: since GP produces the variables in the gamut of pre-
defined limits, this constraint is satisfied automatically.
11
4.2. Fitness measure
Fitness measure defines a quantity to satisfy the designer because it di-
rects the evolutionary process to the feasible region by penalizing the infea-
sible trusses. It helps discover optimal truss which has the minimum weight
subjected to constraints. In this study, the fitness measure for every individ-
ual is the penalized weight of the structure.
4.5. Decoding
How to encode a solution of optimization problem into a tree and how to
decode it to evaluate the fitness function is an essential phase of genetic pro-
gramming. The mapping between the encoded tree and the solution should
be 1-to-1; it means that an individual should be interpreted into one unam-
biguous solution; conversely, the solution can be mapped (encoded) to a tree
in 1-to-n mapping [1].
Soh and Yang [45] proposed an efficient mapping scheme to preserve the 1-
to-1 decoding of a tree to a structure and encoding a structure into a tree.
This study uses their scheme, and a simple example describes it. Figure 5
(a) illustrates a sample individual tree which is composed of functions and
12
Start
Ground Structure
Initial Population
Decoding
Finite Element
Analysis
Fitness Evaluation
Genetic Operators
Selection
Crossover
Mutation
New Population
Stopping No
Criteria?
Yes
Optimal Structure
End
13
A1
A2 A4
A5 A3 N2 A6
N4 N2 N2 N1 N1 N3
(a)
A1
(N4) (N3)
A5
A6
A2 A4
(N1) (N2)
A3
(b)
terminals. In this mapping scheme, the elements of truss represent the func-
tions and the joints of truss represent the terminals.
The functions represent cross-section area of the element and take two
arguments as input (leaves) and the terminals represent geometric coordinate
of the joint.
14
the leaf at its below left.
for example, in the figure 5, A1 is the root of the tree and connects A2
and A4 as its argument (or its leaves), A2 connects A5 and A3 ; A5 itself
connects N4 and N2 , it means that there is a connection line between N4
and N2 which defines the cross-area of the connecting element by the value
of A5 . Since A5 has a connection at the upper right, its output is the leaf at
its lower left which is N4 ; conversely, output of A3 is N1 ; A3 connects N2 and
N1 and accordingly, A2 connects N4 and N1 . After performing this process
on all functions in the tree, the output structure will be extracted. Figure 5
(b) depicts the decoded truss of the tree structure of figure 5 (a). This truss
consist of 6 elements and 4 joints. Encoding process is fully described in [45]
and for the sake of clarity, it’s not mentioned here.
15
Table 1: SOGP control parameters
Population size 200
Maximum number of generations to be run 500
Probability of crossover 80 %
Probability of mutation 10 %
Probability of alteration operator 80 %
Maximum depth for initial population 6
Maximum depth for initial population 12
Initial population generative method Ramped half-and-half
Selection method Fitness proportionate
Stopping criteria Maximum generation
Function set {A1 , A2 , ..., Aj } j = 1, 2, ..., ne
Terminal set {N1 , N2 , ..., Nk } k = 1, 2, ..., nj
Ae,i = (1 − ω) × α + ω × As,i
(5)
α = rand[0, 1] × (Amax
i − Amin
i ) + Amin
i
Once the stopping criteria is satisfied, SOGP designates the tree with the
best fitness measure through the evolution process as the optimal solution
(optimal truss structure). Table 1 lists the SOGP control parameters.
16
5. Results and Discussion
We found that genetic programming provides better solutions for the
problem of sizing and topology optimization problem. The proposed ap-
proach is applied to three problems; the results are compared with meth-
ods in the literature such: Conventional methods [4, 5, 9], Genetic algo-
rithm (GA) [11], Harmony Search algorithm (HS) [23], Heuristic Particle
Swarm Optimization (HPSO) [25], Ant Algorithm [29], Adaptive Multi-
Population Differential Evolution (AMPDE) [10], Grammatical Evolution
(GE) and Dual-Optimization in Grammatical Evolution (DO-GE) [49], Hy-
brid Particle Swarm and Swallow Optimization algorithm (HPSSO) [38] and
Water Evaporation Optimization (WEO) [40].
Because genetic programming is a stochastic evolutionary algorithm, mul-
tiple runs of the algorithm are performed to have robust results. In this
section, the best result found in 30 runs is reported as the obtained result
by SOGP. Table 2 lists characteristic parameters of the benchmark examples
for simulation.
17
Table 2: Simulation groundstructure data for benchmark examples
10 member 17 member 39 member
truss truss truss
Number of joints (nj ) 6 9 12
Number of elements (ne ) 10 17 39
Minimum distance (L) (in) 360 100 120
Allowable cross-area limit (in2 ) Case 1: [1, 35] [0.1, 20] [0.05, 2.25]
[Amin , Amax ] Case 2: [0.1, 35]
18
5.1. 10-element, 6-joint truss
Figure 6 illustrates the ground structure for this benchmark. The 10-
member, 6-joint truss has been known as a common benchmark in previous
studies, and numerous evolutionary algorithms have been applied to it [10,
11, 23, 25, 38, 40, 49] .
This problem classifies into two cases that both consist of six joints and 10
elements. However, they differ in the load forces which exert on the truss.
Case 1 and case 2 include two load joints (2,3) and four load joints (1-4),
respectively.
5.1.1. case 1
The SOGP evolution process started at 7530.5 lbs in the first generation,
led to 4898.49 lbs after 290 generations and converged after 500 generations.
Figure 7 shows the plot of convergence for SOGP and compares it with
other competent methods available in the literature. It clearly indicates the
competence of the proposed approach which even surpasses the best-known
result by Deb and Gulati [11] and reached a new global optimum in literature
for this problem.
Figure 8 illustrates the best result reached by SOGP in the previous step and
figure 9 depicts its parse tree in genetic programming. It weighs 4898.49 lbs
and consists of 6 elements. It shows that SOGP recognized four redundant
elements in ground structure and the topology is identical to the best-known
topology in literature found in [11], but it differs in corresponding cross-
section areas of elements. This topology exempts the joint 6 (which is an
arbitrary joint) to be present in the optimized solution.
Table 3 lists the weight and cross-section areas of elements in optimized
topology and compares it with previous studies. It shows that our result
found by SOGP weighs less than previously found results in a range of 0.01%
to 7.35%.
Inspection of data in table 4 shows that the element 7 is subjected to the most
stress (23.24 ksi) and both load joints are reached the allowable displacement;
it concludes that SOGP has found an optimal truss because it has activated
problem-specified constraints.
19
P2 P2
L L
(4) 1 (5) 2 (6)
7 8 9 10
5 6
P1 P1
20
The improvement of the best solution during the run
14000
GA [11]
HPSO [25]
AMPDE [10]
12000 GE [49]
DOGE [49]
Best Weight (lbs.)
8000
6000
4000
0 50 100 150 200 250 300 350
Generation Number
Figure 7: The improvement of the best solution during the run for 10-element 6-joint case
1
21
(4) 1 (5) (6)
7 8 9
A1
A7 A8
N4 A3 N1 A9
N1 A4 N3 N5
N3 N2
Figure 9: Parse tree of the optimal truss for 10-element 6-joint for case 1
22
Table 3: Optimized cross-sectional areas of the optimized truss for 10-element 6-joint for case 1
Element Optimal cross-section areas (in2 )
Optimality criteria method Approximation method GA HS HPSO AMPDE GE DO-GE HPSSO WEO SOGP
[5] [4] [11] [23] [25] [10] [49] [49] [38] [40] (this study)
A1 30.7300 33.4300 29.6800 30.1500 30.7040 30.3780 30.5000 29.5000 30.5384 30.5755 30.0996
A3 23.9300 24.2600 22.0700 22.7100 23.1670 23.4680 23.8000 23.6000 23.1510 23.3368 22.0346
A4 14.7300 14.2600 15.3000 15.2700 15.1830 15.1960 17.4000 16.8000 15.2057 15.1497 15.2892
A7 8.5420 8.3880 6.0900 7.5410 7.4600 7.4370 7.7000 6.1000 7.4653 7.4458 6.0854
A8 20.9500 20.7400 21.4400 21.5600 20.9780 21.0840 23.1000 21.0000 21.0644 20.9892 21.2318
A9 21.8400 19.6900 21.2900 21.4500 21.5080 21.4330 21.9000 22.8000 21.5294 21.5236 21.2227
Weight(lbs) 5076.66 5089.00 4899.15 5057.88 5060.92 5060.45 5287.00 5056.88 5060.86 5060.99 4898.49
Percentage difference* (%) 3.51 3.74 0.01 3.15 3.21 3.20 7.35 3.13 3.21 3.21 -
* Percentage difference shows how much SOGP optimal solution is lighter than other methods.
Table 4: Stresses and displacements obtained for the optimized solutions using SOGP
10-element case 1 10-element case 2 17-element 39-element
σ1 6.645 σ1 6.148 σ1 25.001 σ1 0.000
σ3 -9.077 σ2 0.000 σ2 22.353 σ3 -19.987
σ4 -6.541 σ3 -10.638 σ3 -25.023 σ6 19.994
σ7 23.239 σ4 -6.907 σ5 25.102 σ8 20.000
σ8 -6.661 σ6 24.782 σ6 24.987 σ9 20.000
σ9 6.664 σ7 22.458 σ7 -25.058 σ11 19.983
q x2 -0.33 σ8 -4.689 σ9 25.049 σ15 -19.994
qy2 -2.00 σ9 8.168 σ10 22.308 σ18 -20.000
q x3 -0.56 q x2 -0.38 σ11 -24.988 q x2 0.00
qy 3 -2.00 qy2 -2.00 σ12 -15.774 qy 2 -1.20
q x5 0.24 q x3 -0.63 σ13 25.029 q x3 0.24
qy 5 -0.72 qy3 -2.00 σ14 -24.901 qy 3 -1.44
q x5 0.22 σ15 -24.998 q x4 0.48
qy 5 -0.56 σ16 -22.353 qy 4 -1.20
q x6 0.22 σ17 -24.918 q x5 0.48
qy 6 -1.11 q x2 -0.08 q x6 0.00
qy2 -0.23 qy 6 -0.24
q x3 -0.17 q x9 0.48
qy3 -0.67 qy 9 -0.24
q x4 -0.25 qx10 0.00
qy4 -1.20 qy10 -0.72
q x5 -0.33 qx12 0.48
qy5 -2.00 qy12 -0.72
q x7 0.08
qy7 -0.25
q x8 0.17
qy8 -0.63
q x9 0.25
qy9 -1.25
Note: Displacements (q) and stresses (σ) are in inches and ksi, respectively.
24
5.1.2. Case 2
This benchmark restricts the search and design spaces highly; because its
ground structure implies that all joints should be present in the optimized
truss, it transforms the problem from a sizing and topology optimization to
an only sizing optimization. The ground structure consists of two support
and four load joints; this matter transforms the problem into an only sizing
problem, in which the final layout should contain all six nodes.
SOGP evolution process started at 10361.48 lbs in the first generation, con-
verged to 4452.60 lbs after 500 generations.
Figure 10 illustrates the best result reached by GP in the previous step and
figure 11 depicts its parse tree in genetic programming which consists of eight
elements. It weighs 4452.60 lbs and contains eight elements. Figure 10 shows
that SOGP recognized two redundant elements in ground structure.
Table 5 lists the weight and cross-section areas of elements in optimized
topology and compares it with previous studies; Our result found by SOGP
weighs less than previously found results in a range of 4.63% to 9.49%.
It shows that DO-GE [49] method and SOGP recognized two redundant el-
ements, but their sizing and topology differs completely with each other.
More interestingly, SOGP optimal solution weighs 3.47% less that DO-GE
obtained solution. SOGP found a different topology and better sizing for
structure simultaneously and reached a better optimal solution.
Inspection of data in table 4 shows that the element 6 is subjected to the
most stress (24.78 ksi) and two load joints (2,3) are reached the allowable dis-
placement; it concludes that SOGP has found an optimal truss because it has
activated problem-specified constraints. More interestingly, there is no stress
in element 2 and its cross-section is so small; it superficially seems that it is
removable from topology, but removing this element makes the element 6 ro-
tates around its axis and transforms the static truss into a mechanism which
is unacceptable. Furthermore, eliminating both elements 2 and 6 strictly
violates the static kinematic of the structure.
25
(4) 1 (5) 2 (6)
7 8 9
6
A1
A7 A2
N4 A3 A6 A9
A8 A4 N6 N3 N3 N5
N1 N5 N3 N2
Figure 11: Parse tree of the optimal truss for 10-element 6-joint for case 2
26
Table 5: Optimized cross-sectional areas of the optimized truss for 10-element 6-joint for case 2
Element Optimal Cross-section areas (in2 )
Optimality criteria method Approximation method HS HPSO GE DO-GE HPSSO WEO SOGP
[5] [4] [23] [25] [49] [49] [38] [40] (this study)
Weight(lbs) 4676.92 4691.84 4668.81 4677.29 4919.50 4612.80 4676.95 4677.31 4452.60
Percentage difference* (%) 4.80 5.10 4.63 4.80 9.49 3.47 4.80 4.80 -
* Percentage difference shows how much SOGP optimal solution is lighter than other methods.
5.2. 17-element, 9-joint truss
Figure 12 illustrates the ground structure; it consists of nine joints, three
joints are essential which include two support joints (1,6) and one load joint
(5); it also contains 17 elements.
SOGP evolution process started at 6399.34 lbs in the first generation, con-
verged to 2575.44 lbs after 500 generations. Figure 13 illustrates the best
result reached by SOGP in the previous step and figure 14 depicts its parse
tree in genetic programming which weighs 2575.44 lbs and consists of 15 el-
ements.
Table 6 lists the weight and cross-section areas of elements in optimized topol-
ogy and compares it with previous studies. It shows that our result found
by SOGP weighs less than previously found results in a range of 0.21% to
1.16%.
It notes that DO-GE [49] method and SOGP recognized six and two re-
dundant elements, respectively. However, their sizing and topology differ
completely with each other. More interestingly, although SOGP recognized
fewer redundant elements, it weighs 0.77% less that DO-GE obtained solu-
tion. SOGP found a different topology and better sizing for elements simul-
taneously and reached a better optimal solution.
Inspection of data in table 4 shows that the element 5 is subjected to the
most stress (25.102 ksi) and the load joint (joint 5) is reached the allowable
displacement limit; it concludes that SOGP has found an optimal truss be-
cause it has activated problem-specified constraints.
28
L L L L
L
12
15 16 17
3 7 11 (4) 14 (5)
(1) (2) (3)
P
29
A1
A2 A6
N6 A3 A7 A5
N8 N4 N9 N4 A14 N9
N5 N4
Figure 14: Parse tree of the optimal truss for 17-element 9-joint
30
Table 6: Optimized cross-sectional areas of the optimized truss for 17-element 9-joint
Element Optimal cross-section areas (in2 )
Optimality criteria HS HPSO GE DO-GE SOGP
[9] [23] [25] [49] [49] (this study)
A1 15.9300 15.8210 15.8960 16.0000 16.0000 15.9356
A2 0.1000 0.1080 0.1030 0.1000 - 0.1009
A3 12.0700 11.9960 12.0920 12.2000 12.2000 12.0529
A4 0.1000 0.1000 0.1000 0.1000 - -
A5 8.0670 8.1500 8.0630 8.1000 8.1000 8.0311
A6 5.5620 5.5070 5.5910 5.7000 5.7000 5.5696
A7 11.9330 11.8290 11.9150 12.1000 12.1000 11.9087
A8 0.1000 0.1000 0.1000 0.1000 - -
A9 7.9450 7.9340 7.9650 8.0000 8.0000 7.9207
A10 0.1000 0.1000 0.1000 0.1000 - 0.1011
A11 4.055 4.0930 4.0760 4.0000 4.1000 4.0658
A12 0.1000 0.1000 0.1000 0.1000 - 0.1011
A13 5.6570 5.6600 5.6700 5.6000 5.7000 5.6503
A14 4.0000 4.0610 3.9980 4.4000 4.1000 4.0159
A15 5.5580 5.6560 5.5480 5.7000 5.7000 5.5670
A16 0.1000 0.1000 0.1030 0.1000 - 0.1009
A17 5.5790 5.5820 5.5370 5.7000 5.7000 5.5849
31
5.3. Two tier, 39-element, 12-joint truss
Figure 15 illustrates the ground structure; it consists of twelve joints,
five joints are essential which include two support joints (1,5) and three load
joints (2-4). It contains 39 elements, and curved lines show the overlapping
members in the figure. Since it is a symmetric ground structure, the elements
classify into 21 groups; 18 groups are paired, and the other three are solitary.
for more clarification, table 7 lists the element groups and end joints for this
problem.
Deb and Gulati [11] applied a real-coded genetic algorithm for this bench-
mark using two experiments with two different populations by sizes of 630
and 840 individuals. Wu and Tseng employed differential evolution [10] for
this benchmark and reached a better optimal result. Luh and Lin used ant
algorithm [29] and employed a two-stage topology and sizing optimization.
First, they found the optimal topology and in the second stage, they opti-
mized the cross-section areas of the obtained topology, and they reached an
optimal result.
This benchmark has multiple optimum topologies [34]; furthermore, its design-
variable boundary is dense and limited in a small range, these features make
this problem more complex. Half-plane elements (21 groups) considered for
simulation and genetic programming evolution process started at 463.45 lbs
in the first generation, converged to 193.29 lbs after 500 generations. Figure
16 illustrates the best result reached by SOGP in the previous step and figure
17 depicts its parse tree in genetic programming; It weighs 193.29 lbs and
consists of 15 elements (8 element groups).
Table 8 lists the weight and cross-section areas of elements in optimized
topology and compares it with previous studies. It notes that SOGP recog-
nized 13 redundant element classes. In contrast with previous studies, our
solution weighs less than the solutions found by genetic algorithm (two dif-
ferent topologies) [11] and differential evolution [10] by 2.39 %, 1.65 % and
0.10%, respectively. However; it weights 0.07 heavier than the result found
by ant algorithm [29].
Inspection of data in table 4 shows that there is no stress in element 1, it
seems that it is removable from topology, but removing this element makes
the truss unacceptable because it violates the stability constraint. This table
indicates that some elements are subjected to the maximum allowable stress
(20 ksi) which concludes that SOGP has found a near-optimal truss because
it has activated problem-specified constraints.
32
L L L L
(1) (5)
(2) (3) (4)
P P P
15
3 6
(1) (5)
1 (2) 9 (3) (4)
33
Table 7: Member groups for 39-element 12-joint truss
Groups Elements (end joints)
A1 1-2, 4-5
A2 1-8, 5-7
A3 1-9, 5-6
A4 1-12, 5-10
A5 2-8, 4-7
A6 2-9, 4-6
A7 2-11, 4-11
A8 2-12, 4-10
A9 2-3, 3-4
A10 3-9, 3-6
A11 3-12, 3-10
A12 3-14, 3-7
A13 3-11
A14 8-9, 6-7
A15 9-12, 6-10
A16 9-11, 6-11
A17 11-12, 10-11
A18 10-12
A19 7-8
A20 8-11, 7-11
A21 8-12, 7-10
34
A1
A3 A6
N1 A6 A15 A8
A9 N9 N9 A18 N12 N2
N2 N3 N10 N12
Figure 17: Parse tree of the optimal truss for 39-element 12-joint
35
Table 8: Optimized cross-sectional areas of the optimized truss for 39-element 12-joint truss
Element Optimal cross-section areas (in2 )
GA (population size 630) GA (population size 840) ACO AMPDE SOGP
[11] [11] [29] [10] (this study)
A1 0.0500 - 0.0510 0.0500 0.0510
A2 0.0520 0.0510 - - -
A3 1.5010 1.5020 1.5020 1.5000 1.5010
A4 - - - - -
A5 - - - - -
A6 1.4160 1.0610 1.0620 1.0600 1.0610
A7 - - - - -
A8 - 0.2510 0.2500 0.2500 0.2500
A9 1.0010 0.7510 0.7510 0.7500 0.7500
A10 - - - - -
36
A11 - 0.5590 0.5600 0.5590 0.5595
A12 0.0500 - - - -
A13 1.0020 - - - -
A14 0.0500 0.0510 - - -
A15 - 1.0630 1.0630 1.0600 1.0610
A16 1.1180 - - - -
A17 - - - - -
A18 - 1.0050 1.0000 1.0000 1.0000
A19 - - - - -
A20 - - - - -
A21 - 0.0520 - - -
37
[1] R. Kicinger, T. Arciszewski, and K. De Jong, “Evolutionary computa-
tion and structural design: A survey of the state-of-the-art,” Computers
& Structures, vol. 83, no. 23-24, pp. 1943–1978, 2005.
[2] W. S. Dorn, “Automatic design of optimal structures,” Journal de
mecanique, vol. 3, pp. 25–52, 1964.
[3] B. H. V. Topping, “Shape Optimization of Skeletal Structures: A Re-
view,” Journal of Structural Engineering, vol. 109, pp. 1933–1951, Aug.
1983.
[4] L. A. Schmit and H. Miura, “A New Structural Analysis/Synthesis
Capability-ACCESS 1,” AIAA Journal, vol. 14, pp. 661–671, May 1976.
[5] P. Rizzi, “Optimization of multi-constrained structures based on opti-
mality criteria?,” in 17th Structures, Structural Dynamics, and Materi-
als Conference, p. 1547, 1976.
[6] R. T. Haftka and Z. Gürdal, “Sensitivity of Discrete Systems,” in El-
ements of Structural Optimization, pp. 255–304, Dordrecht: Springer
Netherlands, 1992.
[7] G. N. Vanderplaats and F. Moses, Automated design of trusses for op-
timum geometry. Journal of the Structural Division, 1972.
[8] E. J. Haug and J. S. Arora, Introduction to optimal design. McGrawHill,
1989.
[9] N. S. Khot and L. Berke, Structural optimization using optimality cri-
teria methods. Jan. 1984.
[10] C.-Y. Wu and K.-Y. Tseng, “Truss structure optimization using adap-
tive multi-population differential evolution,” Structural and Multidisci-
plinary Optimization, vol. 42, pp. 575–590, May 2010.
[11] K. Deb, “Design of truss-structures for minimum weight using genetic
algorithms,” Finite Elements in Analysis and Design, vol. 37, pp. 447–
465, May 2001.
[12] W. Hare, J. Nutini, and S. Tesfamariam, “A survey of non-gradient op-
timization methods in structural engineering,” Advances in Engineering
Software, vol. 59, pp. 19–28, May 2013.
38
[13] M. N. Omidvar, X. Li, Y. Mei, and X. Yao, “Cooperative Co-Evolution
With Differential Grouping for Large Scale Optimization,” IEEE Trans-
actions on Evolutionary Computation, vol. 18, no. 3, pp. 378–393, 2014.
[14] R. Cheng and Y. Jin, “A Competitive Swarm Optimizer for Large Scale
Optimization,” IEEE transactions on cybernetics, vol. 45, no. 2, pp. 191–
204, 2015.
39
[23] K. S. Lee and Z. W. Geem, “A new structural optimization method
based on the harmony search algorithm,” Computers & Structures,
vol. 82, pp. 781–798, Apr. 2004.
[27] C. Camp, “Design of space trusses using big bang-big crunch optimiza-
tion,” Journal of Structural Engineering, vol. 133, pp. 999–1008, June
2007.
[29] G.-C. Luh and C.-Y. Lin, “Optimal design of truss structures using
ant algorithm,” Structural and Multidisciplinary Optimization, vol. 36,
pp. 365–379, Sept. 2007.
40
[34] G.-C. Luh and C.-Y. Lin, “Optimal design of truss-structures using par-
ticle swarm optimization,” Computers & Structures, vol. 89, pp. 2221–
2232, Dec. 2011.
41
[44] C. Qian, Y. Yu, and Z.-H. Zhou, “Variable solution structure can be
helpful in evolutionary optimization,” Science China Information Sci-
ences, vol. 58, no. 11, pp. 1–17, 2015.
42
[54] Y. Lu and M. Panagiotou, “Three-Dimensional Cyclic Beam-Truss
Model for Nonplanar Reinforced Concrete Walls,” Journal of Structural
Engineering, vol. 140, p. 04013071, Mar. 2014.
43