Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Assim I 2017

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Author’s Accepted Manuscript

Sizing and topology optimization of truss structures


using genetic programming

Hirad Assimi, Ali Jamali, Nader Nariman-zadeh

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)

Preprint submitted to Swarm and Evolutionary Computation May 25, 2017


critical research topic in the last decades.
Topological optimum design (TOD) aims to find the optimum layout of a
structure for both types of continuous and discrete structures. For the first
category, TOD discretizes the design space into small rectangular grids and
each rectangle may contain material or void. However, for discrete struc-
tures (second category) such as trusses, this approach considers the number
of elements and discretizes the design space into joints and the rigid elements
which connect the joints and form a structure [1]. Truss optimal design tries
to find the optimum distribution of stresses in the truss elements subjected
to static or dynamic constraints in the design space.
Truss optimization problems classify into three perspectives: topology opti-
mization seeks to find the optimal connectivity between joints, shape opti-
mization tries to find the optimal coordinates of the joints in the design space
and sizing optimization deals with the selection of the optimal cross-section
areas for the elements of the structure. The combination of sizing and topol-
ogy optimization tries to optimize the size of each element while incorporates
new elements or eliminate the existing ones.
In each case, truss optimization problems aim to minimize an objective func-
tion, commonly the structural weight. These optimization problems are sub-
jected to some constraints such as deflections of joints, element stresses, crit-
ical buckling load and natural frequencies.
Two major approaches to consider the design space are ground structure and
open domain design. In the first approach, the boundaries of the design prob-
lem are well-defined; the ground structure represents the heaviest structure
(the worst structure) including all potential connections between joints and
all possible joints (with their preliminary position in design space) [2]. How-
ever, in the latter approach, the boundaries of the open design domain are
ill-defined and no prior knowledge about the connectivity between nodes is
known.
Many classical optimization methods such as sensitivity analysis or approxi-
mation concepts have been developed for structural optimization [3–9] which
provide efficient solutions for solving truss optimization problems. However,
they showed deficient capability to deal with non-small and complex problems
[1, 10]; these mathematical methods lack efficacy to represent connectivity
of truss elements [11].
Non-gradient and metaheuristic methods of solving structural optimization
problems such as evolutionary algorithms have proved their capability in
seeking the global optima for these problems [12]. These methods compen-

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)

Figure 1: A sample tree of genetic programming

÷ +

Parents
× 2 x −

5 x 3 x

÷ +
Offsprings

x 2 x −

3 ×

5 x

(a)
÷
Mutation

x 2
x ×

9 +

x x

(b)

Figure 2: Schematic of genetic operations

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.

• Variable boundary constraints: in this region, the tree satisfies the


variable boundary constraints, but violates the problem-specified con-
straints boundary.

• Problem-specified constraints boundary: in this region, the tree satisfies


the problem-specified constraints boundary, but violates the variable
boundary constraints.

• 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

Figure 3: Schematic of search space and boundary conditions

Find A = {A1 , A2 , ..., Ane }



ne
To minimize f (A) = ρi li Ai + P (A, N )
i=1
Subjected to G1 ≡ Structure is suitable
(1)
G2 ≡ Structure is kinematically stable
G3 ≡ σi (A, N ) ≤ Si i = 1, 2, .., ne
max
G4 ≡ δk (A, N ) ≤ δk k = 1, 2, .., nj
G5 ≡ Ai ∈ [Amin
i , Amax
i ] i = 1, 2, ...ne
Where P (A, N ) defined as follows:


⎪ 109 if G1 is violated,



⎪ 8
⎨10 if G2 is violated in first step,
P (A, N ) = 107 if G2 is violated in the second step, (2)

⎪ ne

⎪ 5
10 ( i=1 | G3i  | Otherwise.


⎩+ nj | G4  |)
k=1 k

The following describes each of the above terms:

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:

i Grubler’s criterion: First, this criterion checks if the truss is surely


a mechanism, it calculates the degree of freedom in the truss, and
if it returns a non-positive value, then the truss is not mechanism
[11]. conversely, if it returns a positive value, it is a mechanism, and
no further calculations are executed, and a large constant penalty
assigned as the fitness value of the truss.
Equation 3 presents the Grubler’s criterion; nj and ne denote the
number of joints and elements, r denotes the number of restraint
forces or the number of degrees of freedom which is lost at the
support joints of truss.
Degree of freedom(D.O.F) = 2nj − ne − r (3)
ii If the last step returns a non-positive value, then the truss under-
goes the Finite Element Analysis (FEA) subroutine, and it checks
stiffness matrix of truss for positive-definiteness. If it violates the
constraint, a significant constant penalty is assigned as the fitness
value of the truss.

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.

4. Structural optimization by genetic programming


This section presents the approach for structural optimization by genetic
programming (SOGP). The goal is to create a computer program whose out-
put is a truss structure. This truss has the optimal connectivities between
joints and optimal cross-section areas of elements to reach the minimum
weight in the feasible region of search space.

4.1. Terminal set and Function set


To find an optimal truss-structure, trees in SOGP consist of functions
and terminals. Cross-section areas of elements and coordinates of the joints
represent functions and terminals, respectively.
Terminal set includes the essential and arbitrary joints and function set in-
clude elements with sizing in the range of [Amin
i , Amax
i ]. Ai defines an element
which connects its two arguments, and the lower and upper limit of function
set depend on the problem-specific definitions. Ni (xi , yi ) denotes the geo-
metric coordinate of ith joint. Equation 4 defines function and terminal sets
for the optimization problem.

Function set = {A1 , A2 , ..., Ane }


(4)
Terminal set = {N1 (x1 , y1 ), N2 (x2 , y2 ), ..., Nnj (xnj , ynj )}

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.3. SOGP control parameters


Population for a run of SOGP consists of 200 individuals; every individ-
ual undergoes crossover and mutation operation for about 80% and 10% of
population size, respectively.
The probabilistic fitness-proportionate selection has been opted for perform-
ing genetic operations and forming the next generation. A maximum number
of generations as stop criteria has been opted; SOGP proceeds for maximum
500 generations and designates the best individual found among these gen-
erations as the final solution. Figure 4 depicts a schematic flowchart of the
proposed approach.

4.4. Initial Population


SOGP starts by taking the ground structure as input: it defines the
loadings, essential joints, connectivity table between joints and geometric
coordinates of joints in the design space of the truss problem. Hence, it
randomly generates a population of 200 individual trees. It uses the ramped
half-and-half method [43] to generate the initial population.

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

Figure 4: The flowchart for SOGP

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)

Figure 5: Illustration of a sample tree decoded into a truss structure

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.

Output of a function Ai (i = 1, 2, ..., 6) evaluated as follows:

• If there is a connection line at the top left of Ai , the output of Ai is


the leaf at its below right.
• If there is a connection line at the top right of Ai , the output of Ai is

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.

4.6. Finite element analysis and fitness evaluation


After decoding the trees into truss structures, the fitness measure of any
individual is evaluated. To do that, the weight of the truss is calculated, and
if it violates any constraint, a penalty is assigned to that. In this study, the
OpenSEES [52] is used for Finite Element Analysis (FEA) and static analysis
of structures. OpenSEES versatile framework incorporates numerous types of
elements, materials and efficient solution algorithms for analysis of structures
and calculates the stresses in elements and deflections in joints. OpenSEES
previously has been used in literature for various purposes, for examples in
modeling structures in fire [53] and reinforced concrete walls [54].

4.7. Genetic Operators and forming the next population


After assigning the fitness measure to all trees, these individuals undergo
crossover and mutation operators, and all offsprings of these two genetic
operators get cumulated in a pool. A probabilistic proportionate-based se-
lection performs on the pool, and 200 selected individuals constitute the next
population. If the algorithm reaches the maximum number of generation, it
stops; if not, it proceeds to the decoding section again.
SOGP benefits from an alteration operator besides crossover and mutation
operators. This operator improves GP to explore the search space to find
the optimum set of cross-section areas (design variables). Genetic program-
ming is incapable of producing variant integers in the terminal nodes and the
terminals in GP remain unchanged through the evolution process especially

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

when no mathematical operator has been incorporated in the function set.


SOGP employs custom functions as cross-section areas of the truss elements,
and no mathematical operator has been utilized. This operator transforms
the terminals in a tree but our case considers the geometric coordinates of
joints as terminals and they remain unchanged because no shape optimiza-
tion has been incorporated. This alteration operator has been employed for
SOGP custom functions to transform cross-section areas through the evolu-
tion process. This alteration operator takes one parent and transforms one or
some functions in the tree according to equation 5. Ae,i and As,i denote the
new transformed function and the selected function, respectively. i denotes
the individual number in the population, and ω is a random number between
0 and 1. This operator increases the probability of reaching the optimal so-
lution. It increases the exploring capability of GP to probe the search space
more efficiently. This operator has been used for different purposes by some
authors of this paper.[55–57]

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]

Loading (Kips) Case 1: P1 = 100 P = 100 P = 20


P2 = 0
Case 2: P1 = 150
P2 = 50

Allowable tensile stress (ksi) 25 50 20


Allowable compressive stress (ksi) 25 50 20
Allowable displacement (in) 2 2 2
Material density (lb/in3 ) 0.1 0.268 0.1
Young’s Modulus (ksi) 10000 30000 10000

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

(1) 3 (2) 4 (3)

P1 P1

Figure 6: Ground structure of 10-element 6-joint truss

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.)

SOGP [this study]


10000

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

(1) 3 (2) 4 (3)

Figure 8: Optimized truss for 10-element 6-joint for case 1

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

A2 0.1000 0.1000 - 0.1020 0.1000 0.1000 0.2000 - 0.1000 0.1000 -

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

A5 0.1000 0.1000 - 0.1020 0.1000 0.1000 0.1000 - 0.1000 0.1000 -


23

A6 0.1000 0.1000 - 0.5440 0.5510 0.5330 0.2000 - 0.5489 0.5276 -

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

A10 0.1000 0.1000 - 0.1000 0.1000 0.1000 0.1000 - 0.1000 0.1000 -

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

(1) 3 (2) 4 (3)

Figure 10: Optimized truss for 10-element 6-joint for case 2

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)

A1 23.5300 24.2900 23.2500 23.3530 24.7000 23.4000 23.5238 23.5804 24.3983

A2 0.1000 0.1000 0.1020 0.1000 0.1000 - 0.1000 0.1003 0.1190

A3 25.2900 23.3500 25.7300 25.5020 29.0000 24.8000 25.3686 25.1582 23.5008

A4 14.3700 13.6600 14.5100 14.2500 15.4000 15.0000 14.3780 14.1801 14.4777

A5 0.1000 0.1000 0.1000 0.1000 0.3000 - 0.1000 0.1002 -


27

A6 1.9700 1.9690 1.9770 1.9720 2.0000 2.0000 1.9697 1.9708 2.0176

A7 12.3900 12.6700 12.2100 12.3630 11.1000 9.5000 12.3678 12.4511 9.4458

A8 12.8300 12.5400 12.6100 12.8940 14.1000 14.3000 12.7972 12.9349 15.0801

A9 20.3300 21.9700 20.3600 20.3560 20.7000 20.6000 20.3258 20.3595 17.3136

A10 0.1000 0.1000 0.1000 0.1010 0.1000 0.1000 0.1000 0.1001 -

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

(6) 1 (7) 5 (8) 9 (9)


6 10
2
4 8 13

L
12
15 16 17
3 7 11 (4) 14 (5)
(1) (2) (3)
P

Figure 12: Ground Structure of 17-element 9-joint truss

(6) 1 (7) 5 (8) 9 (9)


6 10
2
13
12
15 16 17
(5)
3 7 11 (4) 14
(1) (2) (3)

Figure 13: Optimized truss for 17-element 9-joint

29
A1

A2 A6

N6 A3 A7 A5

A15 A16 A11 N2 A9 N7

N1 N7 A10 N3 N 2 A12 N8 A13

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

Weight(lbs) 2581.89 2580.81 2581.94 2605.70 2595.4000 2575.44


Percentage 0.24 0.21 0.25 1.16 0.77 -
dif-
fer-
ence*
(%)
* Percentage difference shows how much SOGP optimal solution is lighter than other methods.

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

(12) (11) (10)

(9) (8) (7) (6)

(1) (5)
(2) (3) (4)

P P P

Figure 15: Ground Structure of 39-element 12-joint truss

(12) (11) (10)


18

15

(9) (8) (7) (6)


8 11

3 6

(1) (5)
1 (2) 9 (3) (4)

Figure 16: Optimized truss for 39-element 12-joint

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 - - -

Weight(lbs) 198.02 196.53 193.47 193.16 193.29


Percentage difference* (%) 2.39 1.65 0.10 -0.07 -
* Percentage difference shows how much SOGP optimal solution is lighter than other methods.
6. Conclusion
In this paper, a genetic programming approach has been used to solve
the optimization problem of sizing and topology optimization of truss struc-
tures simultaneously. Every genetic programming individual represented a
truss structure and the blind-searched initial population of genetic program-
ming evolved along the evolution process to the potential candidate solu-
tion. Genetic programming has the capability of structural synthesis and
parameter tuning of its individuals; this feature allows GP to explore the
search space more efficiently. The approach validated in some various truss-
structure problems and obtained lighter truss structures than the available
solutions in the literature. SOGP also showed the capability of identifying
redundant members and joints in the truss design space in the evolution pro-
cess. This study considered the structural weight as the objective function
for optimization, but further studies are suggested to employ this approach
for multi-objective truss structures and large-scale structural optimization
problems.

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.

[15] M. N. Omidvar, X. Li, and K. Tang, “Designing benchmark problems


for large-scale continuous optimization,” Information Sciences, vol. 316,
pp. 419–436, Sept. 2015.

[16] P. Hajela and C.-Y. Lin, “Genetic search strategies in multicriterion


optimal design,” Structural optimization, vol. 4, no. 2, pp. 99–107, 1992.

[17] P. Hajela, E. Lee, and C.-Y. Lin, “Genetic algorithms in structural


topology optimization,” in Topology design of structures, pp. 117–133,
Springer, 1993.

[18] H. Adeli and S. Kumar, “Distributed genetic algorithm for structural


optimization,” Journal of Aerospace Engineering, vol. 8, no. 3, pp. 156–
163, 1995.

[19] J. Yang and C. K. Soh, “An integrated shape optimization approach


using genetic algorithms and fuzzy rule-based system,” in Proceedings
of the Developments in Neural Networks and Evolutionary Computing
for Civil and Structural Engineering, pp. 171–177, 1995.

[20] J. Yang and C. K. Soh, “Structural Optimization by Genetic Algorithms


with Tournament Selection,” Journal of Computing in Civil Engineer-
ing, vol. 11, pp. 195–200, July 1997.

[21] J. Yang and C. K. Soh, “Discussion of “Genetic Algorithms-Based


Methodologies for Design Optimization of Trusses” by Jiaping Yang and
Chee-Kiong Soh,” Journal of Structural Engineering, vol. 124, pp. 980–
981, Aug. 1998.

[22] A. Kaveh and V. Kalatjari, “Topology optimization of trusses using ge-


netic algorithm, force method and graph theory,” International Journal
for Numerical Methods in Engineering, vol. 58, pp. 771–791, Oct. 2003.

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.

[24] Z. W. Geem, J. H. Kim, and G. V. Loganathan, A new heuristic opti-


mization algorithm: harmony search. Simulation, 2001.

[25] L. J. Li, Z. B. Huang, F. Liu, and Q. H. Wu, “A heuristic particle swarm


optimizer for optimization of pin connected structures,” Computers &
Structures, vol. 85, pp. 340–349, Apr. 2007.

[26] J. Kennedy, “Particle Swarm Optimization,” in Encyclopedia of Machine


Learning, pp. 760–766, Boston, MA: Springer US, 2011.

[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.

[28] O. K. Erol and I. Eksin, “A new optimization method: Big Bang–Big


Crunch,” Advances in Engineering Software, vol. 37, pp. 106–111, Feb.
2006.

[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.

[30] A. Colorni, M. Dorigo, and V. Maniezzo, “Distributed optimization by


ant colonies,” in Proceedings of the first European conference on artificial
life, 1991.

[31] L. J. Li, Z. B. Huang, and F. Liu, “A heuristic particle swarm optimiza-


tion method for truss structures with discrete variables,” Computers &
Structures, vol. 87, pp. 435–443, Apr. 2009.

[32] A. Hadidi and S. K. Azad, “Structural optimization using artificial bee


colony algorithm,” 2nd international conference on engineering opti-
mization, 2010.

[33] K. V. Price, “Differential evolution: a fast and simple numerical opti-


mizer,” Fuzzy Information Processing Society, pp. 524–527, 1996.

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.

[35] C. V. Camp and M. Farshchin, “Design of space trusses using modified


teaching- learning based optimization,” Engineering Structures, vol. 62-
63, pp. 87–97, Mar. 2014.

[36] R. V. Rao, V. J. Savsani, and D. P. Vakharia, “Teaching–learning-based


optimization: A novel method for constrained mechanical design opti-
mization problems,” Computer-Aided Design, vol. 43, pp. 303–315, Mar.
2011.

[37] S. K. Azad and O. Hasançebi, “An elitist self-adaptive step-size search


for structural design optimization,” Applied Soft Computing Journal,
vol. 19, pp. 226–235, June 2014.

[38] A. Kaveh, T. Bakhshpoori, and E. Afshari, “An efficient hybrid Parti-


cle Swarm and Swallow Swarm Optimization algorithm,” Computers &
Structures, vol. 143, pp. 40–59, Sept. 2014.

[39] M. Neshat, G. Sepidnam, and M. Sargolzaei, “Swallow swarm optimiza-


tion algorithm: a new method to optimization,” Neural Computing and
Applications, vol. 23, pp. 429–454, Apr. 2012.

[40] A. Kaveh and T. Bakhshpoori, “A new metaheuristic for continuous


structural optimization: water evaporation optimization,” Structural
and Multidisciplinary Optimization, vol. 54, pp. 23–43, Jan. 2016.

[41] A. Mortazavi and V. Toğan, “Simultaneous size, shape, and topology


optimization of truss structures using integrated particle swarm opti-
mizer,” Structural and Multidisciplinary Optimization, pp. 1–22, Apr.
2016.

[42] M. Cheng, “A Hybrid Harmony Search algorithm for discrete sizing


optimization of truss structure,” Automation in Construction, vol. 69,
pp. 21–33, Sept. 2016.

[43] J. R. Koza, Genetic Programming–On the Programming of Computer


Programs by Natural Selection. MIT Press, 1992.

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.

[45] C. K. Soh and Y. Yang, “Genetic Programming-Based Approach for


Structural Optimization,” Journal of Computing in Civil Engineering,
vol. 14, pp. 31–37, Jan. 2000.

[46] Y. Yang and C. Kiong Soh, “Automated optimum design of structures


using genetic programming,” Computers & Structures, vol. 80, pp. 1537–
1546, July 2002.

[47] Y. Yang and C. K. Soh, “Fuzzy Logic Integrated Genetic Programming


for Optimization and Design,” Journal of Computing in Civil Engineer-
ing, vol. 14, pp. 249–254, Oct. 2000.

[48] Q. Z. Zheng, O. M. Querin, and D. C. Barton, “Geometry and sizing op-


timisation of discrete structure using the genetic programming method,”
Structural and Multidisciplinary Optimization, vol. 31, pp. 452–461,
Mar. 2006.

[49] M. Fenton, C. McNally, J. Byrne, E. Hemberg, J. McDermott, and


M. O’Neill, “Automatic innovative truss design using grammatical evo-
lution,” Automation in Construction, vol. 39, pp. 59–69, Apr. 2014.

[50] M. Fenton, C. McNally, J. Byrne, E. Hemberg, J. McDermott, and


M. O’Neill, “Discrete Planar Truss Optimization by Node Position Vari-
ation Using Grammatical Evolution,” IEEE Transactions on Evolution-
ary Computation, vol. 20, pp. 577–589, Nov. 2015.

[51] K. Deb, Multi-Objective Optimization Using Evolutionary Algorithms.


John Wiley & Sons, July 2001.

[52] S. Mazzoni, F. McKenna, M. H. Scott, G. L. Fenves, and others,


“OpenSees command language manual,” Pacific Earthquake Engineer-
ing Research (PEER) Center, 2006.

[53] A. Usmani, J. Zhang, J. Jiang, Y. Jiang, and I. May, “Using Opensees


for Structures in Fire,” Journal of Structural Fire Engineering, vol. 3,
pp. 57–70, Mar. 2012.

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.

[55] I. Gholaminezhad, A. Jamali, and H. Assimi, “Automated synthesis of


optimal controller using multi-objective genetic programming for two-
mass-spring system,” in 2014 Second RSI/ISM International Conference
on Robotics and Mechatronics (ICRoM), pp. 041–046, IEEE, 2014.

[56] A. Jamali, E. Khaleghi, I. Gholaminezhad, N. Nariman-zadeh, B. Gho-


laminia, and A. Jamal-Omidi, “Multi-objective genetic programming
approach for robust modeling of complex manufacturing processes hav-
ing probabilistic uncertainty in experimental data,” Journal of Intelli-
gent Manufacturing, vol. 28, pp. 149–163, Sept. 2014.

[57] I. Gholaminezhad, H. Assimi, A. Jamali, and D. A. Vajari, “Uncertainty


quantification and robust modeling of selective laser melting process
using stochastic multi-objective approach,” The International Journal
of Advanced Manufacturing Technology, pp. 1–17, Jan. 2016.

43

You might also like