1 Introduction

Most design optimization problems in structural engineering are highly nonlinear, involving many different design variables under complex constraints. These constraints can be written either as simple bounds such as the ranges of material properties or as nonlinear relationships including maximum stress, maximum deflection, minimum load capacity, and geometrical configuration. Such nonlinearity often results in multimodal response landscape. Subsequently, local search algorithms such as hill-climbing and Nelder-Mead downhill simplex methods are not suitable; only global algorithms should be used so as to obtain optimal solutions [1].

Metaheuristic algorithms can be defined as upper level general methodologies (templates) that can be used as guiding strategies in designing underlying heuristics to solve specific optimization problems [2]. Two important characteristics of metaheuristics are intensification and diversification [3]. Intensification intends to search around the current best solutions and select the best candidates or solutions. Diversification makes sure that the algorithm can explore the search space more efficiently, often by randomization.

Modern metaheuristic algorithms have been developed with an aim to carry out global search with three main purposes: solving problems faster, solving large problems, and obtaining robust algorithms [2]. Genetic algorithms (GA) and particle swarm optimization (PSO) are typical examples of these algorithms. The efficiency of metaheuristic algorithms can be attributed to the fact that they imitate the best features in nature, especially the selection of the fittest in biological systems which have evolved by natural selection over millions of years. Timeline of main metaheuristic algorithms is shown in Fig. 1.

Fig. 1
figure 1

Timeline of main metaheuristics algorithms

As shown in Fig. 1, cuckoo search (CS) is a new metaheuristic search algorithm. This algorithm is based on the obligate brood parasitic behavior of some cuckoo species in combination with the Lévy flight behavior of some birds and fruit flies. It is developed by Yang and Deb [4] and the preliminary studies show that it is very promising and could outperform existing algorithms such as GA and PSO [4]. In this paper, the CS algorithm is further validated against various structural engineering optimization problems including stochastic test functions. The introduced search strategy is compared with other popular optimization algorithms. Finally, the unique features of CS are discussed and topics for further studies are proposed.

2 Cuckoo search algorithm

In order to describe the CS algorithm more clearly, let us briefly review the interesting breed behavior of certain cuckoo species. Then, we will outline the basic ideas and steps of the CS algorithm.

2.1 Cuckoo breeding behavior

Cuckoos are fascinating birds, not only because of the beautiful sounds they can make, but also because of their aggressive reproduction strategy. Some species such as the ani and guira cuckoos lay their eggs in communal nests, though they may remove others’ eggs to increase the hatching probability of their own eggs [5]. Quite a number of species engage the obligate brood parasitism by laying their eggs in the nests of other host birds (often other species). There are three basic types of brood parasitism: intraspecific brood parasitism, cooperative breeding, and nest takeover. Some host birds can engage direct conflict with the intruding cuckoos. If a host bird discovers the eggs are not its own, it will either throw these alien eggs away or simply abandon its nest and build a new nest elsewhere. Some cuckoo species such as the new world brood-parasitic Tapera have evolved in such a way that female parasitic cuckoos are often very specialized in the mimicry in color and pattern of the eggs of a few chosen host species [5]. This reduces the probability of their eggs being abandoned and thus increases their reproductively.

Furthermore, the timing of egg-laying of some species is also amazing. Parasitic cuckoos often choose a nest where the host bird just laid its own eggs. In general, the cuckoo eggs hatch slightly earlier than their host eggs. Once the first cuckoo chick is hatched, the first instinctive action it will take is to evict the host eggs by blindly propelling the eggs out of the nest, which increases the cuckoo chick’s share of food provided by its host bird [5]. Studies also show that a cuckoo chick can also mimic the call of host chicks to gain access to more feeding opportunity.

2.2 Lévy flights

In nature, animals search for food in a random or quasi-random manner. In general, the foraging path of an animal is effectively a random walk because the next move is based on the current location/state and the transition probability to the next location. Which direction it chooses depends implicitly on a probability which can be modeled mathematically. For example, various studies have shown that the flight behavior of many animals and insects has demonstrated the typical characteristics of Lévy flights [6, 7].

A recent study by Reynolds and Frye [8] shows that fruit flies or Drosophila melanogaster explore their landscape using a series of straight flight paths punctuated by a sudden 90o turn, leading to a Lévy-flight-style intermittent scale-free search pattern. Studies on human behavior such as the Ju/’hoansi hunter-gatherer foraging patterns also show the typical feature of Lévy flights. Even light can be related to Lévy flights [9]. Subsequently, such behavior has been applied to optimization and optimal search, and preliminary results show its promising capability [10].

2.3 Cuckoo search

For simplicity in describing the new CS method [4], we now use the following three idealized rules:

  • Each cuckoo lays one egg at a time, and dumps it in a randomly chosen nest.

  • The best nests with high quality of eggs (solutions) will carry over to the next generations.

  • The number of available host nests is fixed, and a host can discover an alien egg with a probability P a ∈ [0, 1]. In this case, the host bird can either throw the egg away or abandon the nest so as to build a completely new nest in a new location.

For simplicity, this last assumption can be approximated by a fraction P a of the n nests being replaced by new nests (with new random solutions at new locations). For a maximization problem, the quality or fitness of a solution can simply be proportional to the objective function. Other forms of fitness can be defined in a similar way to the fitness function in GA.

Based on these three rules, the basic steps of the CS can be summarized as the pseudo code as follows:

When generating new solutions x (t+1) for, say cuckoo i, a Lévy flight is performed

$$ x_{i}^{(t + 1)} = x_{i}^{(t)} + \alpha \oplus {{\text{L}}\acute{e}{\text{vy}}}(\lambda) $$
(1)

where α > 0 is the step size which should be related to the scales of the problem of interest. In most cases, we can use α = O (1). The product ⊕ means entry-wise multiplications. Lévy flights essentially provide a random walk, while their random steps are drawn from a Lévy distribution for large steps

$$ {{\text{L}}\acute{e}{\text{vy}}} \sim u = t^{- \lambda},\left({1 < \lambda \le 3} \right) $$
(2)

which has an infinite variance with an infinite mean. Here, the consecutive jumps/steps of a cuckoo essentially form a random walk process which obeys a power-law step-length distribution with a heavy tail. Pseudo code of the cuckoo search algorithm is presented in Fig. 2.

Fig. 2
figure 2

Pseudo code of the Cuckoo Search method

3 Implementation and numerical experiments

3.1 Validation

Before solving the structural engineering problems, the CS was benchmarked using a well-known problem, namely, Himmelblau’s problem. This problem has originally been proposed by Himmelblau’s [11] and it has been widely used as a benchmark nonlinear constrained optimization problem. In this problem, there are five design variables [x 1 , x 2 , x 3 , x 4 , x 5], six nonlinear inequality constraints, and ten boundary conditions. The problem can be stated as follows:

$$ {\text{Minimize}}:f(X) = 5.3578547x_{3}^{2} + 0.8356891x_{1} x_{5} + 37.293239x_{1} - 40792.141 $$
(3)

Subject to 0 ≤ g1 ≤ 92, 90 ≤ g2 ≤ 110, and 20 ≤ g3 ≤ 25 where

$$ g_{1} = 85.334407 + 0.0056858x_{1} x_{5} + 0.0006262x_{1} x_{4} - 0.0022053x_{3} x_{5} $$
(4)
$$ g_{2} = 80.51249 + 0.0071317x_{2} x_{5} + 0.0029955x_{1} x_{2} - 0.0021813x_{3}^{2} $$
(5)
$$ g_{2} = 9.300961 + 0.0047026x_{3} x_{5} + 0.0012547x_{1} x_{3} - 0.0019085x_{3} x_{4} $$
(6)

and

$$ 7 8 { } \le x_{1} \le { 1}0 2, 3 3 { } \le x_{2} \le { 45},{\text{ and}}\; 2 7 { } \le x_{3} , \, x_{4} , \, x_{5} \le { 45}. $$

The best-known optimum for the Himmelblau’s problem obtained by CS is depicted in Table 1.

Table 1 CS results for the Himmelblau’s problem

The problem was solved by Himmelblau [11] using generalized gradient method. This problem was also solved using several other methods such as GA (Gen and Cheng [12], Homaifar et al. [13]), harmony search algorithm (Lee and Geem [14], Fesanghary et al. [15]), and PSO (He et al. [16], Shi and Eberhart [17]). Table 2 illustrates the results obtained by CS, as well as those published in the literature. It is obvious from Table 2 that the result obtained using CS is better than the best feasible solution previously reported.

Table 2 Statistical results for the Himmelblau’s problem

3.2 Structural optimization problems

Structural optimization problems are complex, sometimes even the optimal solutions of interest do not exist. In order to see how the CS algorithm performs, 12 standard structural engineering test problems are solved.

3.2.1 Case I. Structural design of a pin-jointed plane frame

The first case is design of a pin-jointed plane frame with a fixed base for minimum weight utilizing CS. This case study is originally presented by Majid [20]. Figure 3a shows the frame. The vertical deflections at joints 1 and 2 are limited to 5 mm. All members of the frame have the same cross-sectional area (A) equal to 100 mm2; the vertical forces P1 and P2 are, respectively, 100 and 50 kN, and the length of the base (l) is 1,000 mm. The frame is Symmetric and therefore, just half of the frame is considered, as illustrated in Fig. 3b. Thus, member 3 has half the cross-sectional area of the other members. Joints 1 and 2 move vertically, and the joint displacement vector is Δ = (Δ1, Δ2)T. As shown in Fig. 3b, the angles of members 1 and 2 (θ 1 and θ 2) specify the design and define the structure of this frame.

Fig. 3
figure 3

Pin-jointed plane frame example

Then the lengths of the members can be calculated using the following equations:

$$ l_{1} = \frac{l}{{2\cos \left( {\theta_{1} } \right)}} $$
(7)
$$ l_{2} = \frac{l}{{2\cos (\theta_{2} )}} $$
(8)
$$ l_{3} = \frac{l}{{2\cos (\theta_{1} )\cos (\theta_{2} )}}\sqrt {\cos^{2} (\theta_{1} ) + \cos^{2} (\theta_{2} ) - 2\cos (\theta_{1} )\cos (\theta_{2} )\cos (\theta_{1} - \theta_{2} )} $$
(9)

The materials and cross-sectional areas of all the members are assumed to be the same. Hence, the weight of the frame is a linear function of the total length of the members. Thus, the objective function of the problem for the three member frame (NM is the Number of Members) will be as follows:

$$ {\text{Minimize}}:f(\theta_{1} ,\theta_{2} ) = \sum\limits_{i = 1}^{\text{NM}} {l_{i} } $$
(10)

subject to displacements less than 5:

$$ \left| {\Updelta_{1} (\theta_{1} ,\theta_{2} )} \right| \le 5 $$
(11)
$$ \left| {\Updelta_{2} (\theta_{1} ,\theta_{2} )} \right| \le 5 $$
(12)

where −π/3 ≤ θ 1, θ 2 ≤ π/3 and the displacements Δ = (Δ1, Δ2)T can be derived as

$$ K{\Updelta} = {\text{F or}}\;F = K^{ - 1} F\;{\text{and}}\;K = B^{T} kB $$

where

$$ k = \left[ {\begin{array}{*{20}c} {\frac{EA}{{l_{1} }}} & 0 & 0 \\ 0 & {\frac{EA}{{l_{2} }}} & 0 \\ 0 & 0 & {\frac{EA}{{l_{3} }}} \\ \end{array} } \right] $$
(13)

and

$$ B = \left[ {\begin{array}{*{20}c} {\sin \left( {\theta_{1} } \right)} & 0 \\ 0 & {\sin \left( {\theta_{2} } \right)} \\ 1 & { - 1} \\ \end{array} } \right] $$
(14)

Therefore, the displacements Δ for the problem are given by KΔ = F, which is

$$ EA\left[ {\begin{array}{*{20}c} {\frac{{\sin^{2} (\theta_{1} )}}{{l_{1} }} + \frac{1}{{2l_{3} }}} & { - \frac{1}{{2l_{3} }}} \\ { - \frac{1}{{2l_{3} }}} & {\frac{{\sin^{2} (\theta_{2} )}}{{l_{2} }} + \frac{1}{{2l_{3} }}} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\Updelta_{1} } \\ {\Updelta_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\frac{{P_{1} }}{2}} \\ {\frac{{P_{2} }}{2}} \\ \end{array} } \right] $$
(15)

The assumption is that two frames are remarkably different if their shapes are significantly different. This criterion is characterized by the angles of the members. Thus, the distance between two frames can be specified using the Euclidean distance between them in design space.

The CS algorithm was run to find the global optima of the above design problem. With 25 cuckoos, CS had located two global optima at a computational cost of 500 function evaluations per solution. The results of this study and the best results reported in [21] are presented in Table 3 and the frame shapes are shown in Fig. 4. Note that θ 1 = θ 2 for both global solutions. This is to be expected, because the weight (total length) is selected as the objective function. Before CS was used to solve this problem, its objective function was thought to be multimodal with two global solutions. The results indicate that the CS algorithm has successfully obtained two global solutions, as expected. As it can be seen from Table 3, the CS results are better than the solution obtained by Li et al. [21] using GA.

Table 3 Statistical results of the pin-jointed plane frame example
Fig. 4
figure 4

Optimal frame shapes

3.2.2 Case II. Minimize the vertical deflection of an I-beam

The capability of the CS algorithm in solving real engineering design problems is tested using another design problem including four variables. This case is modified from the original problem reported in [22]. The goal is to minimize the vertical deflection of an I-beam (see Fig. 5). It simultaneously satisfies the cross-sectional area and stress constraints under given loads.

Fig. 5
figure 5

A beam design problem (P = 5600 kN and Q = 550 kN)

Minimize the vertical deflection f(x) = PL 3 /48EI when length of the beam (L) and modulus of elasticity (E) are, respectively, 5,200 cm and 523,104 kN/cm2. Thus, the objective function of the problem is considered to be as follows:

$$ {\text{Minimize}}:f(b,h,t_{\text{w}} ,t_{\text{f}} ) = \frac{5000}{{\frac{{t_{\text{w}} (h - 2t_{\text{f}} )^{3} }}{12} + \frac{{bt_{\text{f}}^{3} }}{6} + 2bt_{\text{f}} \left( {\frac{h - tf}{2}} \right)^{2} }} $$
(16)

Subject to cross section area less than 300 cm2

$$ g_{1} = 2bt_{\text{w}} + t_{\text{w}} (h - 2t_{\text{f}} ) \le 300 $$
(17)

If allowable bending stress of the beam is 56 kN/cm2 the stress constraint is as follows:

$$ g_{1} = \frac{{18h \times 10^{4} }}{{t_{\text{w}} (h - 2t_{\text{f}} )^{3} + 2bt_{\text{w}} (4t_{\text{f}}^{2} + 3h(h - 2t_{\text{f}} ))}} + \frac{{15b \times 10^{3} }}{{(h - 2t_{\text{f}} )t_{\text{w}}^{3} + 2t_{\text{w}} b^{3} }} \le 6 $$
(18)

where the initial design spaces are 10 ≤ h ≤ 80, 10 ≤ b ≤ 50, 0.9 ≤ t w ≤ 5, and 0.9 ≤ t f ≤ 5.

For this case study, by increasing the number of function evaluations to 5,000 or 25,000, the results do not improve much. The CS method achieved a solution that satisfies the constraints and it reaches the best solution, possibly the unique global optimum. CS outperforms the previous other methods in terms of minimum objective function value. Table 4 presents the results obtained by CS. As it is seen, the CS method requires 25 cuckoos and 200 iterations to reach the optimum.

Table 4 Best solution results for the vertical deflection of an I-beam example using CS

This nonlinear constrained problem has been solved with other optimization methods such as adaptive response surface method (ARSM) and improved ARSM [23]. A comparison of the results obtained CS, ARSM, and improved ARSM is shown in Table 5. As it is seen, CS performs superior than the ARSM-based methods.

Table 5 Statistical results of the vertical deflection of an I-beam example

3.2.3 Case III. Piston lever

This problem was first presented in [24]. The main objective is to locate the piston components, H, B, D, and X by minimizing the oil volume when the lever of the piston is lifted up from 0o to 45o as shown in Fig. 6. The objective function of the problem is given as follows:

$$ {\text{Minimize}}:f(H,B,D,X) = \frac{1}{4}\pi D^{2} (L_{2} - L_{1} ) $$
(19)

Subject to:

$$ g_{1} = QL\cos \theta - RF \le 0\quad \quad at\quad \theta = 45\deg $$
(20)
$$ g_{2} = Q(L - X) - M_{\max } \le 0 $$
(21)
$$ g_{3} = 1.2(L_{2} - L_{1} ) - L_{1} \le 0 $$
(22)
$$ g_{4} = D/2 - B \le 0 $$
(23)

where

$$ R = \frac{{\left| { - X(X\sin \theta + H) + H(B - X\cos \theta )} \right|}}{{\sqrt {(X - B)^{2} + H^{2} } }} $$
(24)
$$ F = \pi PD^{2} /4 $$
(25)
$$ L_{1} = \sqrt {(X - B)^{2} + H^{2} } $$
(26)
$$ L_{2} = \sqrt {(X\sin 45 + H)^{2} + (B - X\cos 45)}^{2} $$
(27)

where the payload is P = 10,000 lbs, the lever is L = 240 in, the maximum allowable bending moment of the lever is 6 max M = 1.8 × 10 lbs in, and the oil pressure is given as 1,500 psi. A number of inequality constraints are imposed. Force equilibrium, maximum bending moment of the lever, minimum piston stroke, and geometrical conditions are considered. The best solutions obtained by CS are presented in Table 6.

Fig. 6
figure 6

Piston problem

Table 6 Best solution results for the piston lever example using CS

The best results obtained by the CS algorithm with linear adjusting over 50 independent runs have been compared with those reported in [25]. The performance of each of the algorithms is summarized in Table 7. In this example problem, the performance of CS is remarkable in terms of maximum, minimum, and mean values.

Table 7 Statistical results of the piston lever example

3.2.4 Case IV. Corrugated bulkhead design

This problem is as an example of minimum-weight design of the corrugated bulkheads for a tanker (Kavlie et al. [26]). The variables of the problem are width (b), depth (h), length (l), and plate thickness (t). The minimum-weight requires the solution of the following optimization problem:

$$ {\text{Minimize}}:f(b,h,l,t) = \frac{5.885t(b + l)}{{b + \sqrt {(l^{2} - h^{2} )} }} $$
(28)

Subject to:

$$ g_{1} = th\left( {0.4b + \frac{l}{6}} \right) - 8.94(b + \sqrt {(l^{2} - h^{2} )} ) \ge 0 $$
(29)
$$ g_{2} = th^{2} \left( {0.2b + \frac{l}{12}} \right) - 2.2\left( {8.94\left( {b + \sqrt {\left( {l^{2} - h^{2} } \right)} } \right)} \right)^{\frac{4}{3}} \ge 0 $$
(30)
$$ g_{3} = t - 0.0156b - 0.15 \ge 0 $$
(31)
$$ g_{4} = t - 0.0156l - 0.15 \ge 0 $$
(32)
$$ g_{5} = t - 1.05 \ge 0 $$
(33)
$$ g_{6} = l - h \ge 0 $$
(34)

where 0 ≤ b, h, l ≤ 100 and 0 ≤ t ≤ 5. The minimum-weight and the statistical values of the best solution obtained by the CS algorithm are given in Table 8. CS requires 25 cuckoos and 200 iterations to reach the optimum.

Table 8 Statistical results of the corrugated bulkhead design example

For this problem, Ravindran et al. [27] reported the minimum value of 6.84241 using a random search method. A comparison of the results clearly shows that CS notably improves the results obtained by the random search method.

3.2.5 Case V. Cantilever beam

This case is related to the weight optimization of a cantilever beam with square cross section (see Fig. 7) [28]. The beam is rigidly supported at node 1, and there is a given vertical force acting at node 6. The design variables are the heights (or widths) of the different beam elements, and the thickness is held fixed (here t = 2/3). The bound constraints are set as 0.01 ≤ x j  ≤ 100. This problem can be expressed analytically as follows:

$$ {\text{Minimize}}:f(X) = 0.0624\left( {x_{1} + x_{2} + x_{3} + x_{4} + x_{5} } \right) $$
(35)
$$ {\text{Subject to}}:g(X) = \frac{61}{{x_{1}^{3} }} + \frac{37}{{x_{2}^{3} }} + \frac{19}{{x_{3}^{3} }} + \frac{7}{{x_{4}^{3} }} + \frac{1}{{x_{5}^{3} }} - 1 \le 0 $$
(36)
Fig. 7
figure 7

Cantilever beam

The best solutions obtained using CS and various methods [29] for solving this problem are listed in Table 9. As it is seen, the solution found out by the CS approach is slightly better than those of other methods. In this problem, the CS terminated after 2500 searches with 50 cuckoos.

Table 9 Best results of the cantilever beam design example

3.2.6 Case VI. Tubular column design

Figure 8 presents an example for designing a uniform column of tubular section to carry a compressive load P = 2,500 kgf at minimum cost [30]. The column is made of a material with a yield stress (σ y) of 500 kgf/cm2, a modulus of elasticity (E) of 0.85 × 106 kgf/cm2, and a density (ρ) equal to 0.0025 kgf/cm3. The length (L) of the column is 250 cm. The stress included in the column should be less than the buckling stress (constraint g 1) and the yield stress (constraint g 2). The mean diameter of the column is restricted between 2 and 14 cm (constraint g 3 and g 4), and columns with thickness outside the range 0.2–0.8 cm are not commercially available (constraint g 5 and g 6). The cost of the column includes material and construction costs. It is taken as the objective function. The optimization model of this problem is given as follows:

$$ {\text{Minimize}}:f(d,t) = 9.8dt + 2d $$
(37)

Subject to

$$ g_{1} = \frac{P}{{\pi dt\sigma_{y} }} - 1 \le 0 $$
(38)
$$ g_{2} = \frac{{8PL^{2} }}{{\pi^{3} Edt(d^{2} + t^{2} )}} - 1 \le 0 $$
(39)
$$ g_{3} = \frac{2.0}{d} - 1 \le 0 $$
(40)
$$ g_{4} = \frac{d}{14} - 1 \le 0 $$
(41)
$$ g_{5} = \frac{0.2}{t} - 1 \le 0 $$
(42)
$$ g_{6} = \frac{t}{0.8} - 1 \le 0 $$
(43)
Fig. 8
figure 8

The tubular column

Table 10 illustrates the statistical results for the best objective value by CS. Table 11 compares the results obtained by CS with those reported in the literature [30, 31]. It can be observed from Table 11 that the best objective values by other methods are not feasible because the second constraint (g2) is violated. Thus, the CS algorithm provides the best results.

Table 10 Statistical results of the best model for tubular column design example
Table 11 Best solutions for the tubular column example

3.2.7 Case VII. A three-bar truss design

This case considers a 3-bar planar truss structure shown in Fig. 9. This problem was first presented by Nowcki [32]. The volume of a statically loaded 3-bar truss is to be minimized subject to stress (σ) constraints on each of the truss members. The objective is to evaluate the optimal cross sectional areas (A1, A2). The mathematical formulation is given as below:

$$ {\text{Minimize}}:f(A_{1} ,A_{2} ) = (2\sqrt {2A_{1} } + A_{2} ) \times l $$
(44)

Subject to

$$ g_{1} = \frac{{\sqrt 2 A_{1} + A_{2} }}{{\sqrt 2 A_{1}^{2} + 2A_{1} A_{2} }}P - \sigma \le 0 $$
(45)
$$ g_{2} = \frac{{A_{2} }}{{\sqrt 2 A_{1}^{2} + 2A_{1} A_{2} }}P - \sigma \le 0 $$
(46)
$$ g_{3} = \frac{1}{{A_{1} + \sqrt 2 A_{2} }}P - \sigma \le 0 $$
(47)

where

$$ 0 \le A_{1} \le 1\,\;{\text{and}}\;0 \le A_{2} \le 1;\;l = 100\;{\text{cm}},\;P = 2KN/{\text{cm}}^{2} ,{\text{and}}\;\sigma = 2KN/{\text{cm}}^{2} $$
Fig. 9
figure 9

Three-bar truss

This design problem is a nonlinear fractional programming problem. The statistical values of the best solution obtained by the CS algorithm are given in Table 12. The solution by CS is (A 1 , A 2 ) = (0.78867, 0.40902) with the objective value equal to 263.97156. Table 13 presents the solutions obtained by CS and those reported by Ray and Saini [33] and Tsai [34]. As it is seen, the best objective value reported by Tsai [34] is not feasible because the first constraint (g 1) is violated. Hence, it can be concluded that the results obtained by CS are better than those of the previous studies.

Table 12 Statistical results of the best three-bar truss model
Table 13 Best solutions for the three-bar truss design example

3.2.8 Case VIII. Gear train design

Gear train design problem is an unconstrained optimization. This problem has four integer variables and was introduced by Sandgran [35]. It consists of the minimization of the cost of the gear ratio of the gear train shown in Fig. 10. The gear ratio is defined as follows:

$$ {\text{Gear ratio}}\; = \frac{{T_{\text{d}} T_{\text{b}} }}{{T_{\text{a}} T_{\text{f}} }} $$
(48)

where T i denotes the number of teeth of the gearwheel i and they are all integers varying in the range 12–60. The mathematical formulation is as follows:

$$ f(T_{\text{d}} ,T_{\text{b}} ,T_{\text{a}} ,T_{\text{f}} )\; = \;\left( {\frac{1}{6.931} - \frac{{T_{\text{d}} T_{\text{b}} }}{{T_{\text{a}} T_{\text{f}} }}} \right) $$
(49)
Fig. 10
figure 10

Gear train

Table 14 shows the statistical results for the best objective value by CS. The obtained solution by CS is (T d , T b , T a , T f) = (19, 16, 43, 49) with the objective value 2.70095.712 × 10−12. The computational results obtained using different methods are shown in Table 15. As can be observed from this table, the CS results are significantly better than those reported by Sandgren [35] and Kannan and Kramer [36]. It can also be seen that CS provide similar results to those obtained by Deb and Goyal [37].

Table 14 Statistical results of the gear train model by CS
Table 15 Comparison results of the best solutions for the gear train design example

3.2.9 Case IX. Speed reducer design

Cs is applied to the design of a speed reducer which is a benchmark structural optimization problem [38] (see in Fig. 11), with the face width (b), module of teeth (m), number of teeth on pinion (z), length of shaft 1 between bearings (l 1), length of shaft 2 between bearings (l 2), diameter of shaft 1 (d 1), and diameter of shaft 2 (d 2). The objective is to minimize the total weight of the speed reducer. The constraints involve limitations on the bending stress of the gear teeth, surface stress, transverse deflections of shafts 1 and 2 due to transmitted force, and stresses in shafts 1 and 2.

Fig. 11
figure 11

Speed reducer

The mathematical formulation can be summarized as follows:

$$ \begin{gathered} {\text{Minimize}}:f(b,m,z,l_{1} ,l_{2} ,d_{1} ,d_{2} ) = 0.7854bm^{2} (3.3333z^{2} + 14.9334z - 43.0934) \hfill \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; - 1.508b(d_{1}^{2} + d_{2}^{2} ) + 7.477(d_{1}^{3} + d_{2}^{3} ) + 0.7854(l_{1} d_{1}^{2} + l_{2} d_{2}^{2} ) \hfill \\ {\text{Subject to}}: \hfill \\ \end{gathered} $$
(50)
$$ g_{1} = \frac{27}{{bm^{2} z}}P - 1 \le 0 $$
(51)
$$ g_{2} = \frac{397.5}{{bm^{2} z^{2} }} - 1 \le 0 $$
(52)
$$ g_{3} = \frac{1.93}{{mzl_{1}^{3} d_{1}^{4} }} - 1 \le 0 $$
(53)
$$ g_{4} = \frac{1.93}{{mzl_{1}^{3} d_{2}^{4} }} - 1 \le 0 $$
(54)
$$ g_{5} = \frac{{\sqrt {\left( {\frac{{745l_{1} }}{mz}} \right)^{2} + 1.69 \times 10^{6} } }}{{110d_{1}^{3} }} - 1 \le 0 $$
(55)
$$ g_{6} = \frac{{\sqrt {\left( {\frac{{745l_{1} }}{mz}} \right)^{2} + 157.5 \times 10^{6} } }}{{85d_{2}^{3} }} - 1 \le 0 $$
(56)
$$ g_{7} = \frac{mz}{40} - 1 \le 0 $$
(57)
$$ g_{8} = \frac{5m}{B - 1} - 1 \le 0 $$
(58)
$$ g_{9} = \frac{b}{12m} - 1 \le 0 $$
(59)

The corresponding statistical values of the Best CS model and the simple bounds of the speed reducer problem are presented in Table 16.

Table 16 Statistical results of the speed reducer design example

Table 17 presents a comparison of the results obtained by CS and other methods. As it is seen, the CS results are better than those reported by Akhtar et al. [41]. Although the best objective values derived by Ray and Saini [39] and Kuang et al. [40] are better than those of CS, the reported values are not feasible. This is because the fifth and sixth constraints (g 5 , g 6) are significantly violated in the results of Ray and Saini [33]. The 6th constraint (g 6) was violated in the results by Kuang et al. [40]. It should be noted that some previous studies consider the simple bound of x 5 like x 4 so they are not considered in the comparison study.

Table 17 Statistical results of the speed reducer design example

3.2.10 Case X. A reinforced concrete beam design

A simplified optimization of the total cost of a reinforced concrete beam, shown on Fig. 12, was presented by Amir and Hasegawa [42]. The beam is assumed to be simply supported with a span of 30 ft and subjected to a live load of 2.0 klbf and a dead load of 1.0 klbf, including the weight of the beam. The concrete compressive strength (σc) is 5 ksi, and the yield stress of the reinforcing steel (σy) is 50 ksi. The cost of concrete is $0.02/in2/linear ft and the cost of steel is $1.0/in2/linear ft. The area of the reinforcement (A s), the width of the beam (b), and the depth of the beam (h) have to be determined such that the total cost of structure is minimized. Herein, the cross-sectional area of the reinforcing bar (A s) is taken as a discrete type variable that must be chosen from the standard bar dimensions listed in [42]. The width of concrete beam (b) is assumed to be an integer variable. The variable h denoting the depth of the beam is a continuous variable. The effective depth is assumed to be 0.8x 2.

Fig. 12
figure 12

Illustration of reinforced concrete beam

The structure should be proportioned to have a required strength based upon the ACI building code 318-77 as follows:

$$ Mu = 0.9A_{\text{s}} \sigma_{\text{y}} (0.8h)\left( {1.0 - 0.59\frac{{A_{s} \sigma_{y} }}{{0.8bh\sigma_{c} }}} \right) \ge 1.4M_{\text{d}} + 1.7M_{\text{l}} \quad $$
(60)

in which M u, M d and M l are, respectively, the flexural strength, dead load, and live load moments of the beam. In this case, M d = 1,350 in kip and M l = 2,700 in kip. The depth to width ratio of the beam is restricted to be less than or equal to 4. The optimization problem can be expressed as

$$ {\text{Minimize}}:f(A_{\text{s}} ,b,h) = 2.9A_{\text{s}} + 0.6bh$$
(61)

subject to:

$$ g_{1} = \frac{h}{b} - 4 \le 0 $$
(62)
$$ g_{2} = 180 + 7.375\frac{{A_{\text{s}}^{2} }}{b} - A_{\text{s}} h \le 0 $$
(63)

The variables bound are A s : {6.0, 6.16, 6.32, 6.6, 7.0, 7.11, 7.2, 7.8, 7.9, 8.0, 8.4} in2, bwith fuzzy logic controller: {28, 29, 30, 31, …, 38, 39, 40} in, and 5 ≤ h ≤ 10 in. The constrained functions of g 1 and g 2 as derived by Liebman et al. [43], then, is used in by Amir and Hasegawa [42] and here.

The CS method requires 25 cuckoos and 200 iterations to reach the optimum. Table 18 presents the optimum designs of this problem and the parameters used. One can see that the performance of the CS method is very good, as compared with the results reported in [42].

Table 18 Statistical results of the reinforced concrete beam example

3.2.11 Case XI. Parameter identification of structures

Estimation of structural parameter is the art of reconciling an a priori finite-element model (FEM) of the structure with nondestructive test data. It has a great potential for use in FEM updating. Saltenik and Sanayei [46] developed a parameter estimation example using measured strains for simultaneous estimation of the structural parameters. The parameter estimation objective function is defined as follows:

$$ {\text{Minimize}}:\sum\limits_{i = 1}^{\text{NMS}} {\,\left| {\frac{{([\varepsilon_{a} ]_{m,i} - [\varepsilon_{a} ]_{a,i} )}}{{[\varepsilon ]_{m,i} }}} \right|} $$
(64)

where [ε a ] m is the measured strains, [ε a ] m  = number of measurements (NMS) × number of loading states (NLS), and [ε a ] a is the analytical strains.

The static FEM equation for a structural system is \( [F ]\; = { [}K ] { [}U ] \). Thus, the analytical strains are calculated as follows:

$$ [\varepsilon ]\; = { [}B ] [K ]^{ - 1} [F] $$
(65)

It is not required to measure all the strains, therefore, Eq. (65) is partitioned based on measured strain a and unmeasured strain b:

$$ \left[ {\frac{{\varepsilon_{a} }}{{\varepsilon_{b} }}} \right]\; = \, \left[ {\frac{{B_{a} }}{{B_{b} }}} \right][K]^{ - 1} [F] $$
(66)

Since there is no need for unmeasured strains [ε b ] is eliminated as

$$ [\varepsilon_{a} ]\; = { [}B_{a} ] [K ]^{ - 1} [F] $$
(67)

In this work, the case study is a frame example presented by Saltenik and Sanayei [46] (see Fig. 13). The identified parameter in this example is moment of inertia (I) for each member.

Fig. 13
figure 13

Frame structure used for parameter identification example

A 445-N load is applied to degrees of freedom of 2, 5, 8, and 11, and each load set is composed of only one force. Strains are measured on 3, 6, and 7 for each load set. The cross-sectional areas are, respectively, 484 cm2 and 968 cm2 for the horizontal and inclined members. The Elastic modulus is 206.8 GPa for all elements. The optimal solution is obtained at I (cm4) = [869, 869, 869, 869, 869, 1,320, 1,320] with corresponding function value equal to f*(x) = 0.00000. The statistical results for this case study provided by CS are presented in Table 19.

Table 19 Best solutions for the parameter identification example using CS

The analytical algorithm proposed by Saltenik and Sanayei [46] is not applicable to this problem since a singularity. Arjmandi [47] solved this problem using GA. A comparison of the results obtained by GA and CS with the measured values is illustrated in Fig. 14. The results show that CS has found the global optimum and identified all the parameters without any error.

Fig. 14
figure 14

Parameter identification results using GA and CS

3.2.12 Case XII. Pressure vessel design

A cylindrical pressure vessel capped at both ends by hemispherical heads is presented in Fig. 15. This compressed air tank has a working pressure of 3000 psi and a minimum volume of 750 ft3, and is designed according to the ASME boiler and pressure vessel code. The total cost, including a combination of single 60° welding cost, material and forming cost, is to be minimized. The involved variables are the thickness (T s ), thickness of the head (T h ), the inner radius (R), and the length of the cylindrical section of the vessel (L). The thicknesses of the variables are discrete values which are integer multiples of 0.0625 inch.

Fig. 15
figure 15

Pressure vessel

Then, the optimization problem can be expressed as follows:

$$ {\text{Minimize}}:f(T_{\text{s}} ,T_{\text{h}} ,R,L) = 0.6224T_{\text{s}} RL + 1.7781T_{\text{h}} R^{2} + 3.1661T_{\text{s}}^{2} L + 19.84T_{\text{h}}^{2} L $$
(68)

Subject to:

$$ g_{1} = - T_{\text{s}} + 0.0193R \le 0 $$
(69)
$$ g_{2} = - T_{\text{h}} + 0.0095R \le 0 $$
(70)
$$ g_{3} = - \pi R^{2} L - \frac{4}{3}\pi R^{3} + 1,296,000 \le 0 $$
(71)
$$ g_{4} = L - 240 \le 0 $$
(72)

where 1 × 0.0625 ≤ T s , T h ≤ 99 × 0.0625, and 10 ≤ R, L ≤ 200. The minimum cost and the statistical values of the best solution obtained by CS are reported in Table 20. It is notable that the CS method requires 25 cuckoos and 15,000 searches to reach the optimum.

Table 20 Statistical results of the best pressure vessel model obtained by CS

This problem has previously been solved by many researchers as a benchmark structural optimization problem. The comparisons of results for several approaches for the pressure vessel design example are shown in Tables 21, 22. As it is seen, the results obtained by the CS algorithm are better than the available solutions in nearly all cases. Note that the best objective value obtained by Zahara and Kao [67] is not feasible since the first and second constrains are violated. The results obtained by Hu et al. [65] and Mezura-Montes et al. [76] also violate the first and third constrains, respectively. Thus, the best feasible solution is f = 6059.714 which is provided by CS and also obtained by Coelho [53], He et al. [62] and Cagnina et al. [72].

Table 21 Statistical results of the pressure vessel design example by different model
Table 22 Statistical results of the car side impact design example by different methods

3.2.13 Case XIII. Car side impact design

Design of car side impact is also used as a benchmark problem of the proposed FA. The FEM model of this problem is illustrated in Fig. 16. On the foundation of European Enhanced Vehicle-Safety Committee (EEVC) procedures, a car is exposed to a side-impact. Here, we want to minimize the weight using nine influence parameters including, thicknesses of B-Pillar inner, B-Pillar reinforcement, floor side inner, cross members, door beam, door beltline reinforcement and roof rail (x 1x 7), materials of B-Pillar inner and floor side inner (x 8 and x 9) and barrier height, and hitting position (x 10 and x 11). The car side problem is stated by Gu et al. [81] and as an optimization problem it can be formulated as follows:

$$ {\text{Minimize}}:f(x) = {\text{ Weight}}; $$
(73)

Subject to:

$$ g_{1} (x) \, = \, F_{\text{a}} ({\text{load in abdomen}}) \, \le \, 1 \, kN; $$
(74)
$$ g_{2} (x ) { } = \, V \, \times \, Cu{\text{ (dummy upper chest) }} \le \, 0:32 \, m/s; $$
(75)
$$ g_{3} (x) \, = \, V \, \times \, Cm{\text{ dummy middle chest }} \le \, 0:32 \, m/s; $$
(76)
$$ g_{4} (x ) { } = \, V \, \times \, Cl{\text{ (dummy lower chest) }} \le \, 0:32 \, m/s; $$
(77)
$$ g_{5} (x) \, = \, \Updelta_{\text{ur}} ({\text{upper rib deflection}}) \, \le \, 32{\text{ mm}}; $$
(78)
$$ g_{6} (x)\, = \, \Updelta_{\text{mr}} ({\text{middle rib deflection}}) \, \le \, 32{\text{ mm}}; $$
(79)
$$ g_{7} (x) \, = \, \Updelta_{\text{lr}} ({\text{lower rib deflection}}) \, \le \, 32{\text{ mm}}; $$
(80)
$$ g_{8} (x) \, = \, F({\text{Pubic force}})_{p} \, \le \, 4 \, kN; $$
(81)
$$ g_{9} (x) \, = \, V_{\text{MBP}} ( {\text{Velocity of V-Pillar at middle point) }} \le \, 9:9{\text{ mm/ms}}; $$
(82)
$$ g_{10} (x) \, = \, V_{\text{FD}} ({\text{Velocity of front door at V-Pillar}}) \, \le \, 15:7{\text{ mm/ms}}; $$
(83)

with simple bounds

$$ 0. 5 { } \le x_{1} , \, x_{3} , \, x_{4} \le { 1}. 5; \, 0. 4 5 { } \le x_{2} \le { 1}. 3 5; \, 0. 8 7 5 { } \le x_{5} \le { 2}. 6 2 5; \, 0. 4 { } \le x_{6} , \, x_{7} \le { 1}. 2;x_{8} , \, x_{9} \in \{ 0. 1 9 2, \, 0. 3 4 5\} ; \, 0. 5 { } \le x_{10} , \, x_{11} \le { 1}. 5; $$
Fig. 16
figure 16

Car side impact model [82]

For solving this problem CS run with 20 fireflies and 1000 iterations. This case study has also been solved using well-known GA, PSO, DE, and firefly algorithm (FA) methods by Gandomi et al. [83] and the results are used to compare with the CS method. Table 22 shows the statistical results for the car side impact design problem using the proposed CS method and other well-known methods after 20,000 searches. As it can be seen from Table 22, in comparison with other heuristic algorithms, the proposed algorithm is far better than GA and slightly better PSO, DE, and FA with the same number of evaluations and runs.

4 Discussions and conclusions

In the present study, the new CS algorithm in combination with Lévy flights is employed for solving structural optimization problems. The CS algorithm has been validated first using several benchmark structural engineering problems and found to be very efficient. The extensive comparative study conducted reveals that CS performs superior to different existing algorithms. This is partly due to the fact that there are fewer parameters to be fine-tuned in CS than in other algorithms such as GA and PSO. In fact, apart from the population size n, there is essentially one parameter P a . Inspecting the CS algorithm carefully, there are essentially three components: selection of the best, exploitation by local random walk, and exploration by randomization via Lévy flights globally. The selection of the best by keeping the best nests or solutions is equivalent to some form of elitism commonly used in GAs, which ensures the best solution is passed onto the next iteration and there is no risk that the best solutions are cast out of the population. The exploitation around the best solutions is performed by using a local random walk:

$$ x^{t + 1} = \, x^{t} + \, \alpha \varepsilon_{t} $$
(84)

If ε t obeys a Gaussian distribution, this becomes a standard random walk indeed. This is equivalent to the crucial step in pitch adjustment in harmony search. If ε t is drawn from a Lévy distribution, the step of move is larger and could be potentially more efficient. However, if the step is too large, there is risk that the move is too far away. Fortunately, the elitism by keeping the best solutions makes sure that the exploitation moves are within the neighborhood of the best solutions locally. Another way of improving this local search slightly is to replace x t by the current best, so that the intensive local exploitation step is focused on the local search around the current best found so far, and the radius or the step of such local search can be chosen appropriately to reflect the scalings of the problem.

On the other hand, in order to sample the whole search space effectively so that new solutions to be generated are diverse enough, a simple way of achieving this is to ensure the generated search locations/solutions are uniformly distributed in the search space. However, this near-uniform approach is not necessarily efficient. A better and more efficient way to carry out the exploration step is to use Lévy flights. In contrast, most metaheuristic algorithms use either uniform distributions or Gaussian to generate new explorative moves [3, 4]. If the search space is large, Lévy flights are usually more efficient. A good combination of the above three components can thus lead to an efficient algorithm such as CS.

Furthermore, from our simulations by varying the algorithm-dependent parameters, we observed that the convergence rate is insensitive to the algorithm-dependent parameters such as P a . This can be viewed from the balanced combination of the selection of the best and efficient exploration of possible new solutions. The elitism-style selection makes sure that a fraction of the best solutions in the population are guaranteed to remain the population, while the discovery of alien eggs with non-zero probability makes sure that some of the worse solutions are discarded and replaced by new ones. Such insensitivity also means that there is no need to fine tune these parameters for a specific problem. Subsequently, CS is more generic and robust for many optimization problems, compared with other metaheuristic algorithms.

In principle, this potentially powerful optimization strategy can easily be extended in the similar fashion as extending population-based algorithms such as PSO and genetic algorithms to study multi-objective optimization applications with various constraints, including NP-hard problems. Further studies can focus on the sensitivity and parameter studies and their possible relationships with the convergence rate of the algorithm. In addition, hybridization with other popular algorithms such as PSO will also be potentially fruitful. Another possible and yet easy extension is to formulate a discrete version of Cuckoo Search so as to solve combinatorial optimization problems such as traveling salesman problem and job scheduling.

From an analytical point view, as for most metaheuristic algorithms, mathematical analysis of the algorithm structures is highly needed. At the moment, no such framework exists for analyzing metaheuristics in general. The analysis of trajectory-based algorithms such as simulated annealing can be dealt with in the framework of Markov chains Monte Carlo (MCMC). In some way, CS can be viewed as an evolutionary system with multiple interacting Markov chains selected and biased towards global optimality. Any progress in this area will potentially provide new insight into the understanding of how and why metaheuristic algorithms work. It will also help us to design more efficient, often hybrid, algorithms to solve a wider class of tough optimization problems.