Two-dimensional colliding bodies algorithm for optimal design of truss structures

Two-dimensional colliding bodies algorithm for optimal design of truss structures

Advances in Engineering Software 83 (2015) 70–79 Contents lists available at ScienceDirect Advances in Engineering Software journal homepage: www.el...

2MB Sizes 0 Downloads 41 Views

Advances in Engineering Software 83 (2015) 70–79

Contents lists available at ScienceDirect

Advances in Engineering Software journal homepage: www.elsevier.com/locate/advengsoft

Two-dimensional colliding bodies algorithm for optimal design of truss structures A. Kaveh ⇑, V.R. Mahdavi Centre of Excellence for Fundamental Studies in Structural Engineering, Iran University of Science and Technology, Narmak, Tehran, P.O. Box 16846-13114, Iran

a r t i c l e

i n f o

Article history: Received 6 October 2014 Received in revised form 16 December 2014 Accepted 7 January 2015

Keywords: Two-dimensional colliding bodies optimization Mathematical functions Truss structures Improved CBO No parameter tuning Continuous variables

a b s t r a c t This paper focuses on the new version of a recently developed meta-heuristic algorithm, Colliding Bodies Optimization (CBO), and its utility for optimization of truss structures. The idea of the standard CBO is derived from one-dimensional collisions between bodies, which does not use the internal parameter and memory in its formulation. However, the exploitation phase of the CBO is weak due to not using a memory for saving the best-so-far solution in its formulation. Here, in the two dimensional version of CBO, denoted by 2D-CBO, a memory is added to the standard CBO formulation to improve the performance of the latter algorithm. This addition increases the exploitation ability and convergence rate of the CBO. Comparative studies illustrate the superiority of the 2D-CBO algorithm compared to those previously reported in the literature. Ó 2015 Elsevier Ltd. All rights reserved.

1. Introduction Although the development of meta-heuristic algorithms within the framework of evolutionary algorithms (EAs) has been successful in the recent years, the development of more efficient algorithms for minimizing the construction cost and evaluation efforts is still a challenging subject in the field of optimization of engineering problems. The existing algorithms have often two phases: exploration of the search space and exploitation of the best solutions found. Apparently, one of the main problems in developing an efficient meta-heuristic algorithm is to keep a reasonable balance between the exploration and exploitation abilities [1–3]. Some of the algorithms based on natural evolution phenomenon are developed in [4–8]. Colliding Bodies Optimization (CBO) belongs to a family of meta-heuristic algorithms which recently developed by the authors [9]. This algorithm can be considered as a multi-agent method, where each agent is a Colliding Body (CB). Each CB is considered as an object with a specified mass and velocity before the collision. After collision occurs, each CB moves to a new position according to the new velocity. Simple formulation and no internal parameter tuning are advantages of this algorithm. On other hand, the exploitation phase of this algorithm is weak due to not using a memory for saving the best-so-far solution in its formulation (i.e. the best position of agents from the previous iterations). ⇑ Corresponding author. Tel.: +98 21 77240104; fax: +98 21 77240398. E-mail address: [email protected] (A. Kaveh). http://dx.doi.org/10.1016/j.advengsoft.2015.01.007 0965-9978/Ó 2015 Elsevier Ltd. All rights reserved.

The present study develops an algorithm based on two dimensional collision laws. In this algorithm, the saved memories, i.e. the agents with best values, is been added to CBO. In fact, the bodies move toward the best saved agents and therefore it increases the exploitation. The optimization problem can formally be stated as:

Find X ¼ ½x1 ; x2 ; x3 ; . . . ; xn  to minimize MerðXÞ ¼ f ðXÞ  f penalty ðXÞ subjected to g k ðXÞ 6 0; k ¼ 1; 2; . . . ; m

ð1Þ

xjmin 6 xj 6 xjmax where X is the vector of design variables with n unknowns, gk is the kth constraint from m inequality constraints and Mer(X) is the merit function; f(X) is the objective function. Also, xjmin and xjmax are the lower and upper bounds of variable vector, respectively. fpenalty(X) is the penalty function which transforms the constrained optimization problem into an unconstrained one as follows:

f penalty ðXÞ ¼ 1 þ cp

m X

maxð0; g k ðxÞÞ

ð2Þ

k¼1

where cp is penalty multiplier. In this study the value of cp starts from unity and linearly increases to 2 for all examples. The objective function for optimization problems of truss structure is expressed as:

f ðXÞ ¼

nm X

q j l j Aj

j¼1

ð3Þ

71

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

1

1

1

1

1 2

2

2 2

Fig. 1. Two dimensional collision between two bodies. (a) Before the collision. (b) The collision occurring. (c) After the collision.

Fig. 2. Schematic of the conservation law of momentum.

briefly describes the mathematical formulation of elastic collision law between two bodies in two-dimensional space. Consider the model of a collision, where one body with mass m1 and velocity V1 moves toward to second body with mass m2 which is at rest (Fig. 1). It should be noted that if the velocity direction of first body be coincident with the direction of center of bodies (a = p), then the collision is one-dimensional, otherwise it is two-dimensional. The velocity and direction of bodies are derived using the conversation laws of momentum and energy. When a two-dimensional collision occurs in a laboratory system, the total momentum of the system in each direction is conserved (Fig. 2). The directions of velocity of bodies after collision are expressed as:

tan #1 ¼

m2 sin h ; m1 þ m2 cos h

#2 ¼

ph

ð4Þ

2

where #1 and #2 are the directions of the velocities of the first and second body after impact, respectively, m1 is the mass of the first object, m2 is the mass of the second object, and h is the angle through which the direction of motion of the first object is turned [10] (Fig. 2). The magnitudes of the velocity of bodies can be expressed by the following equations:

V 01

¼

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi m21 þ m22 þ 2m1 m2 cosðhÞ

Fig. 3. (a) The sorted CBs in an increasing order, (b) the mating process for the collision.

where qj is the material density of member j; lj is the length of member j; Aj is the cross-sectional area of member j; and nm is the number of variables which is naturally affected by the element grouping scheme which in turn is chosen with respect to the symmetry and practical requirements. The present paper is organized as follows: In next section, two dimensional collision laws are briefly introduced. The new method is then presented, followed by a section consisting of the study of optimization of two mathematical constrained functions and three truss structural optimization problems. Conclusions are derived in the final section.

m1 þ m2

V 1;

V 02 ¼

  2m1 h V1 sin 2 m1 þ m2 ð5Þ

where V 01 and V 02 are the final velocities of the first and second object after collision, respectively [10]. 3. The proposed algorithm Inspired by the natural features of the standard CBO algorithm, we describe its new version in this section. In the following, the standard CBO is briefly introduced and the main new method is followed. 3.1. Standard colliding bodies optimization algorithm

2. Formulation of the two-dimension collision Since our purpose in this paper is to achieve the known physical equations in formulation of an optimization algorithm, this section

The standard Colliding Bodies Optimization (CBO) is based on momentum and energy conservation law for 1-dimensional collision [9]. The momentum and energy conservation law provide the magnitude of the separation velocities of two colliding bodies

Table 1 Optimal variables obtained by different researchers for the constrained function I. Optimal design variables (x)

x1 x2 x3 x4 x5 x6 x7

Deb [11]

Unavailable

Lee and Geem [12]

2.323456 1.951242 0.44847 4.36192 0.63008 1.03866 1.605384

Present study (CBO)

Present study (2D-CBO)

n = 40

n = 60

n = 40

n = 60

2.336792 1.948239 0.43323 4.370184 0.62052 1.058898 1.604781

2.318452 1.945693 0.49955 4.385752 0.63714 1.045751 1.590209

2.3215438 1.9511246 0.496029 4.3675236 0.612266 1.0444193 1.5900506

2.313524 1.948511 0.4801 4.377405 0.62322 1.048238 1.580425

72

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

Table 2 Statistical results from different optimization methods for the constrained function I. Methods

Best objective function

Average objective function

Std Dev

Fitness function evaluations

Deb [11] Lee and Geem [12] Present study (CBO)

680.6344 680.6413 680.6404 680.6465 680.6352 680.6373

680.6417 N/A 680.919 680.735 680.8450 680.7643

N/A N/A 0.2003 0.1040 0.211643 0.123451

350,070 160,000 24,000 36,000 24,000 36,000

Present study (2D-CBO)

Objective function

2000

n = 40 n = 60 n = 40 n = 60

after collision. According to this law, the velocities of two bodies after a one-dimensional collision can be obtained as:

(a)

1700

CBO 2D-CBO

1400 1100 800 500

0

100

200

300

400

500

600

Objective function

(b)

1700

CBO 2D-CBO

1400 1100 8 00

500

0

20

40

60

80

ðm1  em2 Þv 1 þ ðm2 þ em2 Þv 2 m1 þ m2

ð6Þ

v 02 ¼

ðm2  em1 Þv 2 þ ðm1 þ em1 Þv 1 m1 þ m2

ð7Þ

where v1 is the velocity of the first object before impact, v2 is the velocity of the second object before impact, v 01 is the velocity of the first object after impact, v 02 is the velocity of the second object after impact, m1 is the mass of the first object, m2 is the mass of the second object, e is the coefficient of restitution (COR) of two colliding bodies, defined as the ratio of relative velocity of separation to the relative velocity of approach [10]. This algorithm contains a number of Colliding Body (CB), where each one is treated as an object with specified mass and velocity, colliding to others. After collision, each CB moves to a new position with new velocity compared to old velocities, masses and coefficient of restitution. CBO starts with a set of agents which are determined with random initialization of a population of individuals in the search space. Then, CBs are sorted in ascending order based on the value of the considered cost function (see Fig. 3a). The sorted CBs are divided equally into two groups. The first group is stationary and consists of good agents. This set of CBs is stationary and velocity of these bodies before collision is zero. The second group consists of moving agents which move toward the first group. Then the better and worse CBs, i.e. agents with upper fitness value of each group will be collided together to improve the positions of moving CBs and to push stationary CBs toward better positions

Number of iterations 2000

v 01 ¼

100

Number of iterations Fig. 4. Comparison of the convergence curves of the two algorithms for the constrained function I. (a) All iterations. (b) 1–100 iterations.

Table 3 Optimal design variables obtained by different researchers for the constrained function II. Optimal design variables (x)

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

Deb [11]

Lee and Geem [12]

Unavailable

Present study (CBO)

2.155225 2.407687 8.778069 5.102078 0.967625 1.357685 1.287760 9.800438 8.187803 8.256297

Present study (2D-CBO)

n = 80

n = 100

n = 80

n = 100

2.140682 2.447447 8.770297 5.083513 1.00314 1.424841 1.25747 9.774706 8.249837 8.509323

2.142755 2.441786 8.772559 5.089189 0.976804 1.36545 1.261765 9.778372 8.196755 8.362651

2.169335 2.378239 8.75873 5.083288 0.958985 1.349924 1.31204 9.81862 8.285297 8.414142

2.163967 2.387446 8.761691 5.070258 0.987816 1.413288 1.303916 9.813183 8.221302 8.284834

Table 4 Statistical results from different optimization methods for the constrained function II. Methods

Best objective function

Average objective function

Std Dev

fitness function evaluations

Deb [11] Lee and Geem [12] Present study (CBO)

24.37248 24.36679 24.39129 24.38470 24.33491 24.33704

24.40940 N/A 24.90411 24.86188 24.69515 24.70537

N/A N/A 0.609358 0.580431 0.369562 0.362542

350,070 230,000 80,000 100,000 80,000 100,000

Present study (2D-CBO)

n = 80 n = 100 n = 80 n = 100

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

where mi and xi are the velocity and position vectors of the ith CB, respectively. 2n is the number of population size. After the collision, the velocity of bodies in each group is evaluated using momentum and energy conservation law (Equations (6), (7)) and the velocities before collision (Equation (8)). The velocity of CBs after the collision is:

Objective function

5000

(a)

4000

2D-CBO CBO

3000

8 < ðmiþn þemiþn Þv iþn ; i ¼ 1; . . . ; n m þm

2000

v 0i ¼ : ðm em i

0

200

400

600

800

1 fitðkÞ

mk ¼ Pn

1 i¼1 fitðiÞ

Objective function

5000

(b)

4000

CBO

3000

1000

0

20

40

60

80

k ¼ 1; 2; . . . ; 2n

ð10Þ

100

e¼1

Fig. 5. Comparison of the convergence curves of the two algorithms for the constrained function II. (a) All iterations. (b) 1–100 iterations.

(see Fig. 3b). The change of the body position represents the velocity of the CBs before collision as:

0;

ð9Þ

the coefficient of restitution (COR) and is defined as the ratio of the separation velocity of two agents after collision to approach velocity of two agents before collision. In this algorithm, this index was defined to control of the exploration and exploitation rates. For this purpose, the e decreases linearly from unit value to zero:

2000



i ¼ n þ 1; . . . ; 2n

where fit(i) represents the objective function value of the ith agent. Obviously a CB with good values exerts a larger mass and fewer moves than the bad ones. Also, for maximizing the objective func1 tion, the term fitðiÞ is replaced by fit(i). As mentioned before, e is

2D-CBO

Number of iterations

vi ¼

;

where vi and v 0i are the velocities of the ith CB before and after the collision, respectively; mi is the mass of the ith CB and is defined as:

1000

Number of iterations

0

iþn

i in Þv i mi þmin

1000 0

73

i ¼ 1; . . . ; n

xin  xi ; i ¼ n þ 1; . . . ; 2n

ð8Þ

iter iter max

ð11Þ

where iter is the actual iteration number and itermax is the maximum number of iterations, and COR equal to unit and zero represent the global and local search, respectively. In this way a good balance between the global and local search is achieved as the iteration is increased. The new positions of CBs are evaluated using the generated velocities after the collision in position of stationary CBs:

Fig. 6. Schematic of the special 72-bar truss.

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

xnew ¼ i



xi þ rand  v 0i ;

i ¼ 1; . . . ; n

ð12Þ

xin þ rand  v 0i ; i ¼ n þ 1; . . . ; 2n

where xnew and v 0i are the new position and the velocity after the i collision of the ith CB, respectively. Here rand is a random vector uniformly distributed in the range [1, 1] and the sign ‘‘’’ denotes an element-by-element multiplication.

hi ¼ p  2#i ;

3.2. The 2-dimensional version of CBO algorithm In this study, the laws of collision between two bodies in two dimensions, as mentioned in Section 2, are implemented leading to a new optimization search strategy. The main algorithm is based on standard CBO, where some changes being added. Here, two features are added to the formulation of the standard CBO: (i) the saving memories are added to increase the exploitation ability of standard CBO algorithm, (ii) the COR of standard CBO is ignored due to considering the elastic collision formulation. The proposed algorithm can now be described as follows: Step 1: Initial populations, consisting of 2n individuals and their associated velocities, are created by means of the randomly generated individuals. Step 2: The arrangement of the CBs and ‘‘mating process’’ is performed as shown in Fig. 3. Step 3: The moving CBs move toward the stationary CBs. Therefore, the velocity of CBs before collision is derived:

vi ¼



0;

i ¼ 1; . . . ; n

Step 4: The magnitude of the body mass for each CB is defined as:

mk ¼

k ¼ 1; 2; . . . ; 2n

ð14Þ

v 0i

ð16Þ

8 h  2m > i ¼ 1; . . . ; n < mi þmiiþn sin 2i v i ; ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 þm2 þ2m m m cosðh Þ > i in in in i : v in ; i ¼ n þ 1; . . . ; 2n mi þmin

ð17Þ

Step 8: The new positions of CBs are obtained using the generated velocities after the collision in the position of stationary CBs:

xnew ¼ i



xi þ rand  v 0i ;

i ¼ 1; . . . ; n

ð18Þ

xin þ rand  v 0i ; i ¼ n þ 1; . . . ; 2n

Here, rand is a random vector uniformly distributed in the range [1, 1], and the sign ‘‘’’ denotes an element-by-element multiplication.

1200 1100 1000 900 800 700

CBO

600

2D-CBO

500

Step 5: Compute the velocity direction of the stationary CBs after the collision such that it moves toward the best object position:  

#i ¼ arctan

i ¼ 1; . . . ; n

Step 7: Compute the velocity of CBs after the collision using Eqs. (5) and (16):

ð13Þ

xin  xi ; i ¼ n þ 1; . . . ; 2n

1 fitðkÞ Pn 1 ; i¼1 fitðiÞ

ith stationary CB; xi is the position vector of the ith stationary CB; sbp and sbv are the saved best position of CBs and its corresponded value, respectively; d is a small positive number to avoid singularities, and arctan is the inverse of tangent function between 0 and p. Step 6: Then the angles h between pairs of bodies is derived using Eqs. (4) and (15):

Weight (Ib)

74

sbv  fitðiÞ ; sbp  xi þ e

i ¼ 1; . . . ; n

400 300 0

50

100

where #i is the velocity direction vector of the ith stationary CB after impact; fit(i) represents the objective function value of the

150

200

250

300

350

400

Number of iterations

ð15Þ

Fig. 7. Convergence curves of the CBO and 2D-CBO algorithms for the 72-bar spatial truss.

Table 5 Optimal cross-sectional areas for the 72-bar spatial truss (in2). Element group

Optimal cross-sectional areas (in2) GA [13]

1–4 5–12 13–16 17–18 19–22 23–30 31–34 35–36 37–40 41–48 49–52 53–54 55–58 59–66 67–70 71–72 Best Weight (Ib) Average Weight (Ib) Std dev (Ib) No. of analyses

1.755 00.505 0.105 0.155 1.155 0.585 0.100 0.100 0.460 0.530 0.120 0.165 0.155 0.535 0.480 0.520 385.76 N/A N/A N/A

ACO [14]

1.948 0.508 0.101 0.102 1.303 0.511 0.101 0.100 0.561 0.492 0.1 0.107 0.156 0.550 0.390 0.592 380.24 383.16 3.66 18,500

PSO [15]

1.7427 0.5185 0.1000 0.1000 1.3079 0.5193 0.1000 0.1000 0.5142 0.5464 0.1000 0.1095 0.1615 0.5092 0.4967 0.5619 381.91 N/A N/A N/A

BB-BC [16]

1.8577 0.5059 0.1000 0.1000 1.2476 0.5269 0.1000 0.1012 0.5209 0.5172 0.1004 0.1005 0.1565 0.5507 0.3922 0.5922 379.85 382.08 1.912 19,621

RO [17]

1.8365 0.5021 0.1000 0.1004 1.2522 0.5033 0.1002 0.1001 0.5730 0.5499 0.1004 0.1001 0.1576 0.5222 0.4356 0.5971 380.458 382.553 1.221 19,084

ECBO [18]

1.8519 0.5141 0.1000 0.1000 1.2819 0.5091 0.1000 0.1000 0.5312 0.5173 0.1000 0.1000 0.1560 0.5572 0.4259 0.5271 379.77 380.39 0.8099 18,000

CBO

2D-CBO

n = 20

n = 30

n = 20

n = 30

1.920198 0.506371 0.100000 0.100000 1.225073 0.515189 0.100000 0.100000 0.561165 0.519892 0.100000 0.100000 0.156263 0.535780 0.435053 0.550668 379.812 380.7811 0.718234 8000

1.896869 0.514760 0.100000 0.100000 1.256778 0.507144 0.100000 0.100000 0.519763 0.523920 0.100000 0.100000 0.156643 0.541947 0.406984 0.575071 379.6405 379.8227 0.30467 12,000

1.882056 0.510270 0.100000 0.100000 1.274075 0.518210 0.100000 0.100000 0.530754 0.514386 0.100000 0.100000 0.156508 0.542315 0.410178 0.569042 379.6313 379.8169 0.349543 8000

1.892462 0.510027 0.100000 0.100000 1.266465 0.509992 0.100000 0.100000 0.524176 0.517540 0.100000 0.100000 0.156420 0.546158 0.414840 0.569529 379.6217 379.6446 0.251520 12,000

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

Step 9: The optimization is repeated starting with Step 2 until a termination criterion, until the maximum number of iteration, is satisfied. 4. Numerical examples This section discusses the computational examples used to investigate the performance of the proposed algorithm. To present a detailed comparison two mathematical function examples and three well-studied truss structures are utilized. These examples have been previously solved using a variety of other techniques, which is useful to show the validity and effectiveness of the proposed algorithm. In order to assess the effect of the initial population on the

75

final result, 20 independent runs are carried out using the present algorithm and standard CBO with different initial populations. To show the effect of number of agents on the final results, for both algorithms two types of population sizes are considered in the first four examples. The algorithms are implemented in MATLAB and structures are analyzed using the direct stiffness method.

4.1. Example 1: Constrained function I Optimization of the constrained function expressed in Eq. (20) is considered as the first example. This problem has seven variables and four nonlinear inequality constraints. This problem is defined as:

Fig. 8. Schematic of the special 120-bar dome truss.

76

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

Find

Subjected to

fx1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 g

ð19Þ g 1 ðxÞ ¼ 105  4x1  5x2 þ 3x7  9x8 P 0;

To minimize

g 2 ðxÞ ¼ 10x1 þ 8x2 þ 17x7  2x8 P 0; g 3 ðxÞ ¼ 8x1  2x2  5x9 þ 2x10 þ 12 P 0;

f ðxÞ ¼ ðx1  10Þ2 þ 5ðx2  12Þ2 þ x43 þ 3ðx4  11Þ2 þ 10x65 þ 7x26 þ x47  4x6 x7  10x6  8x7

ð20Þ

g 5 ðxÞ ¼ 5x21  8x2  ðx3  6Þ2 þ 2x4 þ 40 P 0;

Subjected to

g 2 ðxÞ ¼ 282  7x1  3x2  10x23  x4 þ x5 P 0; g 3 ðxÞ ¼ 196  23x1  g 4 ðxÞ ¼



x22

x22



6x26

þ 3x1 x2 

ð21Þ

þ 8x7 P 0;

2x23

ð25Þ

g 6 ðxÞ ¼ x21  2ðx2  2Þ2 þ 2x1 x2  14x5 þ 6x6 P 0;

g 1 ðxÞ ¼ 127  2x21  3x42  x3  4x24  5x5 P 0;

4x21

g 4 ðxÞ ¼ 3ðx1  2Þ2  4ðx2  3Þ2  2x23 þ 7x4 þ 120 P 0;

 5x6 þ 11x7 P 0:

g 7 ðxÞ ¼ 0:5ðx1  8Þ2  2ðx2  4Þ2  3x25 þ x6 þ 30 P 0; g 8 ðxÞ ¼ 3x1  6x2  12ðx9  8Þ2 þ 7x10 P 0: The bounds on the design variables are:

The bounds on the design variables are:

10 6 xi 6 10 ði ¼ 1  7Þ

ð22Þ

This problem has been solved by Deb [11] using an efficient constraint handling method for the GA, and Lee and Geem [12] employed the harmony search (HS) algorithm. In this problem, population size (n) is set to 40 and 60 individuals. The maximum number of optimization iterations is also considered as 800. The obtained values and statistical results of this problem for each algorithm are given in Tables 1 and 2, respectively. It can be seen that the best solutions obtained by CBO and 2D-CBO are better than HS algorithm-based method with less fitness function evaluations. Although best and average result of 20 independent runs are more than those of Deb [11], however, the difference of fitness evaluations are significant. Therefore, the obtained statistical results using 2D-CBO are better than those of CBO algorithm. The best results obtained using 2D-CBO shows that this algorithm is less sensitive to the population size compared to the CBO. Fig. 4 shows the convergence curves of the two algorithms, and it indicates high convergence rate for the 2D-CBO compared to the CBO algorithm.

10 6 xi 6 10 ði ¼ 1  10Þ

ð26Þ

This problem has been solved by Deb [11] utilizing an efficient constraint handling method for the GA, and Lee and Geem [12] employed the harmony search algorithm. In this case, the population size (n) is set as 80 and 100 individuals. The maximum number of optimization iterations is also considered as 1000. Tables 3 and 4 compare the optimized variables and the statistical results obtained by CBO and 2D-CBO with those obtained by other meta-heuristic algorithms documented in literature. According to these tables, the best results reported in the literature is 24.36679. While, the 2D-CBO found the best results as 24.33491 after 80,000 fitness evaluations, with the standard deviation and average being 0.369562 and 24.69515, respectively. Although, the average result of the 2D-CBO is more than that of Deb [11]. The best results obtained using 2D-CBO with less population size is better than those of the CBO. Fig. 5 shows the convergence curves for the CBO and 2D-CBO algorithms.

13000 12500

This is a 10-variable problem which challenges the algorithm ability to deal with the problem of optimization. This problem also has eight nonlinear inequality constraints. This problem is defined as: Find

fx1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 ; x8 ; x9 ; x10 g

Weight (Kg)

4.2. Example 2: Constrained function II

12000

CBO

11500

2D-CBO

11000 10500 10000 9500 9000

ð23Þ

8500 8000

To minimize

0

f ðxÞ ¼ x21 þ x22 þ x1 x2  14x1  16x2 þ ðx3  10Þ2

50

100

150

200

Number of iterations

þ 4ðx4  5Þ2 þ ðx5  3Þ2 þ 2ðx6  1Þ2 þ 5x27 þ 7ðx8  11Þ2 þ 2ðx9  10Þ2 þ ðx10  7Þ2 þ 45

Fig. 9. Convergence history for the 120-bar spatial truss.

ð24Þ

Table 6 Optimal cross-sectional areas (cm2) for the 120-bar dome truss. Element number

1 2 3 4 5 6 7 Best Weight (kg) Average Weight (kg) Std dev (kg) No. of analyses

Kaveh and Zolghadr [20]

Present work (CBO)

Present work (2D-CBO)

Standard PSO

Democratic PSO

n = 20

n = 30

n = 20

n = 30

23.494 32.976 11.492 24.839 9.964 12.039 14.249 9171.93 9251.84 89.38 6000

19.607 41.290 11.136 21.025 10.060 12.758 15.414 8890.48 8895.99 4.26 6000

19.2862 42.0069 11.7474 21.4261 10.0131 12.3196 14.8978 8892.942 8932.691 40.19087 4000

19.8038 40.4971 11.4312 21.4804 9.9099 12.5047 15.0838 8889.69 8897.129 11.29107 6000

19.6677 40.953 10.914 21.3742 10.0642 13.3144 15.0171 8892.839 8909.149 19.18104 4000

19.7106 40.9031 11.1596 21.4787 9.9197 12.9262 14.9798 8889.197 8896.631 7.684432 6000

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

77

4.3. Example 3: A 72-bar spatial truss structure

2. A load 5 kips in the z direction at nodes 17, 18, 19 and 20.

Fig. 6 shows the schematic of the topology and element numbering of a special 72-bar truss. The elements are classified in 16 design groups according to Table 5. The material density is 0.1 lb/in3 (2767.990 kg/m3) and the modulus of elasticity is 10,000 ksi (68,950 MPa). The members are subjected to the stress limits of ±25 ksi (±172.375 MPa). The uppermost nodes are subjected to the displacement limits of ±0.25 in (±0.635 cm) in both x and y directions. The minimum permitted cross-sectional area of each member is taken as 0.10 in2 (0.6452 cm2), and the maximum cross-sectional area of each member is 4.00 in2 (25.81 cm2). The loading conditions are considered as:

In this example, the population size (n) is set as 20 and 30 individuals. The maximum number of optimization iterations is also set as 400. Table 5 shows the optimum design variables using 2D-CBO, which is compared to other results. The best result of the 2D-CBO approach is 379.6217, while it is 385.76, 380.24, 381.91, 379.85, 380.458, 379.77 and 379.6405 Ib for the GA [13], ACO [11], PSO [15], BB-BC [16], RO [17], ECBO [18] and CBO [19] algorithms, respectively. Also, the number of analysis of the 2DCBO is 12,000, while it is 18,500, 19,621, 19,084, 18,000 and 12,000 for the ACO, BB-BC, RO, ECBO and CBO algorithms, respectively. Also, from Table 5 it is evident that the standard deviation of 20 independent runs for the 2D-CBO is less than the other optimization algorithms. Similar to the previous examples, the best results

1. Loads 5, 5 and 5 kips in the x, y and z directions at node 17, respectively.

Fig. 10. Schematic of a 200-bar planar truss.

78

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

Table 7 Optimal cross-sectional areas (cm2) for the 200-bar planar truss. Element number

Members in the group

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Best Weight (kg) Average Weight (kg) Std dev (kg) No. of analyses

1, 2, 3, 4 5, 8, 11, 14, 17 19, 20, 21, 22, 23, 24 18, 25, 56, 63, 94, 101, 132, 139, 170, 177 26, 29, 32, 35, 38 6, 7, 9, 10, 12, 13, 15, 16, 27, 28, 30, 31, 33, 34, 36, 37 39, 40, 41, 42 43, 46, 49, 52, 55 57, 58, 59, 60, 61, 62 64, 67, 70, 73, 76 44, 45, 47, 48, 50, 51, 53, 54, 65, 66, 68, 69, 71, 72, 74, 75 77, 78, 79, 80 81, 84, 87, 90, 93 95,96, 97, 98, 99, 100 102, 105, 108, 111, 114 82, 83, 85, 86, 88, 89, 91, 92, 103, 104, 106, 107, 109, 110, 112, 113 115, 116, 117, 118 119, 122, 125, 128, 131 133, 134, 135, 136, 137, 138 140, 143, 146, 149, 152 120, 121, 123, 124, 126, 127, 129, 130, 141, 142, 144, 145, 147, 148, 150, 151 153, 154, 155, 156 157, 160, 163, 166, 169 171, 172, 173, 174, 175, 176 178, 181, 184, 187, 190 158, 159, 161, 162, 164, 165, 167, 168, 179, 180, 182, 183, 185, 186, 188, 189 191, 192, 193, 194 195, 197, 198, 200 196, 199

4.4. Example 4: A 120-bar dome truss Fig. 8 shows the schematic of a special 120-bar dome-like truss first optimized by Kaveh and Zolghadr [20]. Only sizing variables are considered to minimize the structural weight with frequency constraints. The 120 structural members of this spatial truss are categorized as 7 groups using symmetry. Non-structural masses are attached to all free nodes as follows: 3000 kg at node one, 500 kg at nodes 2–13 and 100 kg at the remaining nodes. The material density is taken as 7971.810 kg/m3 and the modulus of elasticity is 210,000 MPa. The structural members of this truss are arranged into seven groups. Fig. 8 shows each element group by member numbers. The range of cross-sectional areas varies from 1 to 129.3 cm2. For the frequency constraints, x1 P 9 Hz and x2 P 11 Hz are considered. In this example, population size (n) is set as 20 and 30 individuals. Table 6 compares the results obtained by the present algorithm with the outcome of other researches. It can be seen from Table 6 that the best weight, mean weight and standard division of 2DCBO are better than those of the CBO. The best results obtained using 2D-CBO is also less sensitive to the population size than CBO. The mean weight and standard division of CBO are also more than those of the obtained results using Democratic PSO [20]. Moreover the evolution processes of best fitness value obtained by both algorithms are shown in Fig. 9. It can be seen, the convergence rate of 2D-CBO is higher than that of the CBO.

Standard CSS

CSS-BB-BC

1.2439 1.1438 0.3769 0.1494 0.4835 0.8103 0.4364 1.4554 1.0103 2.1382 0.8583 1.2718 3.0807 0.2677 4.2403 2.0098 1.5956 6.2338 2.5793 3.0520 1.8121 1.2986 5.8810 0.2324 7.7536 2.6871 12.5094 29.5704 8.2910 2559.86 N/A N/A 10,000

0.2934 0.5561 0.2952 0.1970 0.8340 0.6455 0.1770 1.4796 0.4497 1.4556 1.2238 0.2739 1.9174 0.1170 3.5535 1.3360 0.6289 4.8335 0.6062 5.4393 1.8435 0.8955 8.1759 0.3209 10.98 2.9489 10.5243 20.4271 19.0983 2298.61 N/A N/A 10,000

Present work (CBO)

Present work (2D-CBO)

0.3268 0.4502 0.1000 0.1000 0.7125 0.8029 0.1028 1.4877 0.1000 1.0998 0.8766 0.1229 2.9058 0.1000 3.9952 1.7175 0.1000 5.9423 0.1102 5.8959 2.1858 0.5249 7.2676 0.1278 7.8865 2.8407 11.7849 22.7014 7.884 2203.212 2481.492 250.8259 10,000

0.446 0.4556 0.1519 0.1000 0.4723 0.7543 0.1024 1.4924 0.1000 1.6060 1.2098 0.10610 3.0909 0.7916 3.6095 1.4999 0.1000 5.2951 0.1000 4.5288 2.2178 0.7571 7.7999 0.3506 7.8943 2.8097 10.422 21.2576 11.9061 2189.08 2308.443 132.5148 10,000

4.5. Example 5: A 200-bar planar truss Fig. 10 shows the schematic of a 200-bar planar truss as the final example. This truss has been investigated using the standard CSS and CSS-BB-BC algorithms by Kaveh and Zolghadr [21]. The material density and modulus of elasticity of members are 7860 kg/m3 and 210,000 MPa, respectively. Non-structural masses of m = 100 kg are attached to the upper nodes. A lower bound of 0.1 cm2 is assumed for the cross-sectional areas. For the frequency constraints x1 P 5 Hz, x2 P 10 Hz and x3 P 15 Hz are considered. The elements are divided into 29 groups. For this example a number of 26 CBs are utilized. The maximum number of iterations also is considered as 400. Table 7 provides the element groups and compares the results obtained by using the present algorithm and those of the other 18 16

weight (ton)

obtained using 2D-CBO with less population size is better than those of the CBO. Fig. 7 describes the convergence rate of both CBO and 2D-CBO in terms of iterations for this example. It can be seen, the convergence rate of the 2D-CBO is higher than CBO.

Kaveh and Zolghadr [21]

14

2D-CBO

12

CBO

10

8 6 4 2

0

50

100

150

200

250

300

350

iteration Fig. 11. Convergence history for the 200-bar planar truss.

400

A. Kaveh, V.R. Mahdavi / Advances in Engineering Software 83 (2015) 70–79

researches. According to Table 7, the result obtained by the 2DCBO is lighter than those of other algorithms. Fig. 11 shows the convergence diagram for the CBO and 2D-CBO algorithms. 5. Concluding remarks In this paper, a new optimization algorithm, named as 2D-CBO, is developed. The proposed algorithm is a method based on the reformation of the standard CBO algorithm. The CBO is recently developed meta-heuristic algorithm which mimics the laws of collision between objects which do not use a memory for saving the best-so-far solution in its formulation. In the 2D-CBO, bodies or agents move toward to the saved best particles and collide to them to promote the exploitation ability of the CBO. A comparative study of 2D-CBO algorithm on two constrained functions and three truss structures is presented. The results of applying examples clearly indicate that 2D-CBO is competitive and even outperforms most of the standard algorithm. The result obtained by the 2D-CBO is lighter than those of other algorithms with same population size on all examples. The comparison of the function evaluation shows that 2D-CBO requires less evaluation and population size than the standard CBO algorithm on some of the selected benchmark test problems. In all examples, the convergence rate of 2D-CBO also is higher than the CBO due to adding a memory in the formulation of the algorithm. It should be noted that the no internal parameter tuning is needed in the proposed algorithm. Acknowledgement The first author is grateful to Iran National Science Foundation for the support. References [1] Holland JH. Adaptation in natural and artificial systems. Ann Arbor: University of Michigan Press; 1975.

79

[2] Kaveh A. Advance in metaheuristic algorithms for optimal design of structures. Switzerland: Springer; 2014. [3] Saka MP. Shape and topology optimization design of skeletal structures using metaheuristic algorithms: a review. Comput Technol Rev 2014;9:31–68. doi:10.4203/ ctr.9.2, Saxe-Coburg Publications. [4] Saka MP, Geem ZW. Mathematical and metaheuristic applications in design optimization of steel frame structures: an extensive review. Math Prob Eng; 2013: 33pages doi: 10.1155/2013/271031 [Article ID 271031]. [5] Eberhart RC, Kennedy J. A new optimizer using particle swarm theory. In: Proc 6th Int Symp Micro-machine Hum Sci; 1995. p. 39–43. [6] Dorigo M, Maniezzo V, Colorni A. The ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern 1996;B26(1):29–41. [7] Erol OK, Eksin I. New optimization method: Big Bang-Big Crunch. Adv Eng Softw 2006;37:106–11. [8] Kaveh A, Talatahari S. A novel heuristic optimization method: charged system search. Acta Mech 2010;213:267–86. [9] Kaveh A, Mahdavai VR. Colliding bodies optimization: a novel meta-heuristic method. Comput Struct 2014;139:18–27. [10] Landau LD, Lifshitz EM. Mechanics: Volume 1 (Course of Theoretical Physics). Publisher: Butterworth; 1976. 224. [11] Deb K. An efficient constraint handling method for genetic algorithms. Comput Methods Appl Mech Eng 2000;186:311–38. [12] Lee KS, Geem ZW. A new meta-heuristic algorithm for continuous engineering optimization: harmony search theory and practice. Comput Methods Appl Mech Eng 2005;194:3902–33. [13] Erbatur F, Hasançebi O, Tütüncü I, Kiliç H. Optimal design of planar and space structures with genetic algorithms. Comput Struct 2000;75:209–24. [14] Camp CV, Bichon J. Design of space trusses using ant colony optimization. J Struct Eng ASCE 2004;130:741–51. [15] Perez RE, Behdinan K. Particle swarm approach for structural design optimization. Comput Struct 2007;85:1579–88. [16] Camp CV. Design of space trusses using Big Bang-Big Crunch optimization. J Struct Eng ASCE 2007;133:999–1008. [17] Kaveh A, Khayat Azad M. A novel meta-heuristic method: ray optimization. Comput Struct 2012;112–113:283–94. [18] Kaveh A, IlchiGhazaan M. Enhanced colliding bodies optimization for design problems with continuous and discrete variables. Adv Eng Softw 2014;77:66–75. [19] Kaveh A, Mahdavi VR. Colliding bodies optimization method for optimum design of truss structures with continuous variables. Adv Eng Softw 2014;70:1–12. [20] Kaveh A, Zolghadr A. Democratic PSO for truss layout and size optimization with frequency constraints. Comput Struct 2014;130:10–21. [21] Kaveh A, Zolghadr A. Truss optimization with natural frequency constraints using a hybridized CSS-BBBC algorithm with trap recognition capability. Comput Struct 2012;102–103:14–27.