1 Introduction

Optimization of steel frames is an important open problem in engineering. Many techniques and algorithms have been applied and adapted to solve this kind of problem [1]. Optimization techniques in structural design can be categorized into conventional techniques and meta-heuristic techniques. For the conventional or classical approach, extra information about the problem is required, such as gradients. The solution applying conventional techniques usually depends on the initially selected points and the optimum found may not be global, eg. for non-convex optimization problems. In order to avoid the limitations and requirements of the classical approach, numerous alternative meta-heuristic techniques have emerged in the last two decades.

In the meta-heuristic approach the optimal solution is found by applying rules and randomness to guide the solution process towards the global optimum. The algorithms from this approach are well suited to solve the discrete highly non-linear and non-convex optimization problems often found in real-world engineering and do not need any extra information about the function being optimized. As a result of their robustness and efficient performance, meta-heuristic search procedures have attracted a lot of attention from researchers [2].

Authors have employed several different meta-heuristic methods for solving the steel frame discrete optimization problem. Some well established classical algorithms, such as: Genetic Algorithm (GA) [35], Simulated Annealing (SA) [68], Ant Colony Optimization (ACO) [911], Particle Swarm Optimization (PSO) [12, 13] and Tabu Search [1416]. Novel and relatively recently developed heuristics were also used, for instance: Harmony Search (HS) [1720], Imperialist Competitive Algorithm (ICA) [2123], Big Bang-Big Crunch (BB-BC) [2427], Charged System (CS) [28, 29], Artificial Bee Colony (ABC) [30, 31], Teaching-Learning Based Optimization (TLBO) [32], Cuckoo Search (CS) [33] among others.

Gonçalves et al. [34] developed a new meta-heuristic method, the so-called Search Group Algorithm (SGA). Contrary to most heuristic algorithms, SGA is not nature inspired. Its execution is divided in a global and a local phase and the main idea is based on the creation e evaluation of search groups based on promising individuals found.

In this paper, SGA is applied to solve three planar steel frame design optimization problems, selected from the literature. The optimization problem is discrete and the objective is to find the steel section for each design group which minimizes the overall structure weight. The results are then compared with studies applying different algorithms in a manner to demonstrate the algorithm effectiveness, robustness and applicability for this type of problem. In order to obtain a meaningful comparison, extra care has to be taken on the formulation of problem and which normative premises are being considered. This work aims to formulate the planar steel frame problem and cite every consideration made, making the results easier to reproduce. As it will be seen later, some authors don’t specify for example, which kind of analysis is being made. This makes comparatives between the final optimized solution less meaningful as the problem being solved is effectively different. In addition, instead of focusing only on the minimum obtained, a broader evaluation of the algorithm performance is assessed from statistical results from multiple runs.

2 Optimum design problem

The general idea in the design of steel frames is to select from a standard table, the steel section for the columns and beams in the structure. This can be formulated as a discrete optimization problem. The objective is to minimize the frame weight subject to displacements and stress constraints from a design code.

Differently from truss optimization problems [35], frame problems in literature usually develop the optimum design formulation based on a specification. Considering steel only, there are multiple specifications and multiple design methods inside of each. Evidently, depending on the design method chosen, different results will arise. For this reason, this paper describes the methods and considerations adopted in detail.

The design code applied was the most recent from the American Institute of Steel Construction (AISC), namely ANSI/AISC 360-10 [36]. Among the available design methods from the specification, the Effective Length Method (ELM) was chosen. This method was used to correspond the method employed by previous authors using the dated Manual of Steel Construction [37], also from AISC.

The optimization problem can be stated as follows:

$$\begin{aligned} \underset{\varvec{x}}{\arg \min } W(\varvec{x})= & {} \rho \sum _{k=1}^{m_g} \left( A_k(\varvec{x}) \sum _{i=1}^{n_k} L_i \right) + P(\varvec{x}), \end{aligned}$$
(1)

where \(\rho\) denotes material density; \(m_g\) is the number of design groups; \(A_k\) is the member cross-sectional area; \(n_k\) is the number of members in each design group; \(L_i\) is the length of ith member. The symbol \(\varvec{x}\) corresponds to the design vector of indices. Each integer index represents a steel section from an available profile database. Table 1 represents the W section database used for the analyzed problems. It is a table with 267 rows and every index corresponds to a row in the table, which group the corresponding section parameters.

The term \(P(\varvec{x})\) ensures the constraints are satisfied. This term is added to the total structure weight, penalizing infeasible solutions. When a solution is feasible this term equals zero. Its value is calculated as the sum of violations from every constraint, amplified by an arbitrary factor. For the studied problems the amplification factor is taken as a very large number (\(10^{10}\)). The effect of choosing a very high multiplier is to rule out all of the infeasible solutions which could potentially disrupt convergence. This technique is known in literature as Death Penalty [38].

Table 1 AISC W profile database

2.1 Constraints from steel specification

Optimal design of frame structures is subjected to the following constrains according to AISC [36] provisions:

2.1.1 Maximum inter-story displacements constraints

$$\begin{aligned} \frac{\delta _s}{h_s} \le \delta _{su},\quad \text {for } s=1 \quad \text { to} \quad \mathrm{ns}, \end{aligned}$$
(2)

where \(\delta _s\) is relative inter-story drift in story s, \({\delta _{su}}\) is its limit value according to the specification and ns is the total number of stories.

2.1.2 Maximum strength constraints

Structural elements from frames must have ample axial–flexural interaction capacity. The following constraints ensure that each member satisfies the strength requirement for combined axial and flexural effects:

$$\begin{aligned} \dfrac{P_{u}}{2 \phi P_{n}} + \dfrac{8}{9}\left( \dfrac{M_{ux}}{\phi _{b}M_{nx}} + \dfrac{M_{uy}}{\phi _{b}M_{ny}}\right) \le 1&\quad\text { for } \dfrac{P_{u}}{\phi P_{n}}\ge 0.2,\nonumber \\ \dfrac{P_{u}}{\phi P_{n}}+ \dfrac{8}{9}\left( \dfrac{M_{ux}}{\phi _{b}M_{nx}} + \dfrac{M_{uy}}{\phi _{b}M_{ny}}\right) \le 1&\quad\text{for } \dfrac{P_{u}}{\phi P_{n}}<0.2, \end{aligned}$$
(3)

where \(P_u\) is the required axial strength (tension or compression); \(P_n\) is the nominal axial strength (tension or compression); \(\phi\) is the resistance factor which is taken as 0.85 for members in compression and 0.90 for members in tension; \(M_{ux}\) and \(M_{uy}\) are the required flexural strengths about the x and y axes, respectively (for plane frames, \(M_{uy}\) = 0); \(M_{nx}\) and \(M_{ny}\) are the nominal flexural strengths about, respectively, the x and y axes and \(\phi _b\) is the flexural resistance factor taken as 0.9. The nominal tensile strength of a member is computed employing the following expression:

$$\begin{aligned} P_n = A_g F_y, \end{aligned}$$
(4)

and the nominal compressive strength of a member is computed as:

$$\begin{aligned} P_n = A_g F_\mathrm{cr}, \end{aligned}$$
(5)

where

$$\begin{aligned} F_{\mathrm{cr}}= {\left\{ \begin{array}{ll} \left[ 0.658^{\frac{F_{y}}{F_{e}}} \right] F_y & \quad\text {for } \dfrac{{KL}}{r} \le 4.71 \sqrt{\dfrac{E}{F_{y}}}\\ 0.877\cdot F_{e} &\quad\text {for } \dfrac{{KL}}{r} > 4.71 \sqrt{\dfrac{E}{F_{y}}}. \end{array}\right. } \end{aligned}$$
(6)

In these expressions \(A_g\) is the cross-sectional area of the member; E is the modulus of elasticity; K is the effective length factor; L is the member length; r is the radius of gyration, and \(F_y\) is the yield stress of steel. The value of \(F_e\) corresponds to the Euler buckling load and is calculated as:

$$\begin{aligned} F_e = \frac{\pi ^2 E}{\left( \dfrac{{KL}}{r}\right) ^2}. \end{aligned}$$
(7)

The effective length factor K, for unbraced frames is calculated from the following approximate equation given by Dumonteil [39]:

$$\begin{aligned} K = \sqrt{\frac{1.6\ G_A \ G_B + 4.0 (G_A + G_B) + 7.5}{G_A + G_B + 7.5}}, \end{aligned}$$
(8)

in this expression, \(G_A\) and \(G_B\) are relative stiffness ratios of a member with end nodes A and B. The value of G for each node is calculated as:

$$\begin{aligned} G = \frac{\sum (I_\mathrm{column}/L_\mathrm{column})}{\sum (I_\mathrm{beam}/L_\mathrm{beam})}, \end{aligned}$$
(9)

where I and L are respectively the moment of inertia and length of the members connected to the node analyzed.

The flexural strength is calculated based on the member slenderness factor \(\lambda\). For a member with \(\lambda < \lambda _p\), the section is compact and the nominal strength is equal to the plastic moment \(M_p\), calculated as:

$$\begin{aligned} M_n = M_p = Z F_y, \end{aligned}$$
(10)

where Z is the plastic section modulus, \(F_y\) is the yield stress of steel. Details for the formulation according to different slenderness limits are given in the specification [36].

The Effective Length Method (Sect. 2) requires taking account of the second order effects. These effects are caused by the vertical forces acting on the deformed structure. To deal with this effect the Moment Amplification formulation is applied. In this method, the overall second order effect comprises two superposed linear static analyses. The moment and forces are amplified according to Eqs. (11) and (12):

$$\begin{aligned} M_u = B_1 M_\mathrm{nt} + B_2 M_\mathrm{lt}, \end{aligned}$$
(11)
$$\begin{aligned} P_u = P_\mathrm{nt} + B_2\ P_\mathrm{lt}, \end{aligned}$$
(12)

where \(M_\mathrm{nt}\) and \(P_\mathrm{nt}\) are, respectively, the required flexural and axial strength in a member assuming there is no lateral translation (nt) in the frame, and \(M_\mathrm{lt}\) and \(P_\mathrm{lt}\) are the required flexural and axial strength in a member as a result of lateral translation (lt) of the frame only. The term \(B_1\) accounts for the P\(\delta\) effect and is given by:

$$\begin{aligned} B_1 = C_m \ \frac{1}{1-P_{u}/P_{e1}}, \end{aligned}$$
(13)

where \(C_m\) is

$$\begin{aligned} C_m = 0.6 {-} 0.4 \ \frac{M_1}{M_2}, \end{aligned}$$
(14)

and \(P_{e1}\) is the Euler buckling load as in Eq. (7) with \(K=1\). The term \(B_2\) accounts for the P-\(\Delta\) effect and is calculated for each floor as:

$$\begin{aligned} B_2 = \dfrac{1}{1-\dfrac{1}{0.85}\dfrac{\Delta _h}{h}\dfrac{P_\mathrm{story}}{H}}, \end{aligned}$$
(15)

where \(\Delta _h\) is the first order drift due to lateral forces, h is the height of story, \(P_\mathrm{story}\) is the total vertical load and H is the shear force due to the lateral loads.

Fig. 1
figure 1

A flowchart of SGA

3 Search group optimization: SGA

The SGA is a meta-heuristic method that aims at having a good balance between the exploration and exploitation of the design domain. Both components are important in order to obtain a global optimum result. The basic idea is that in the first iterations of the optimization process the SGA tries to find promising regions on the domain (exploration), and as the iterations pass by, it refines the best design in each of these promising regions (exploitation). For this reason, the optimization process is separated in two phases: global and local. In this section the important steps in the method as applied to optimization of steel frames are summarized. Further details of SGA implementation can be found in Gonçalves et al. [34].

3.1 Initial population

The optimization process starts with a randomly generated population P on the search domain:

$$\begin{aligned} P_{ij} = x_j^\mathrm{min} + (x_j^\mathrm{max}-x_j^\mathrm{min}) \,U[0,1],\nonumber \\ j=1 \text { to } n, \ i=1 \text { to } n_\mathrm{pop}, \end{aligned}$$
(16)

where \(P_{ij}\) is the jth design variable of the ith individual of the population P, U[0, 1] is a uniform random variable which ranges from 0 to 1, \(x_j^\mathrm{min}\), \(x_j^\mathrm{max}\) are the lower and upper bounds of the jth design variable, respectively, n is the number of design variables and \(n_\mathrm{pop}\) is the size of the population.

3.2 Initial search group selection

After the initial population is generated, the objective function is evaluated on every individual from P. A search group R of size \(n_g\) is then selected from the population. The selection procedure consists of tournament, where the best individuals are taken from a randomly selected subgroup. More details on this type of selection can be found in [40].

In the same manner as the population P, each row of R represents and individual. The individuals are ranked by the objective function at each iteration, that is, \(\mathbf R _1\) holds the best design while \(\mathbf R _{n_g}\) holds the worst search group member.

3.3 Mutation of the search group

In order to increase the global search ability of the proposed algorithm, the search group R is mutated at each iteration. This mutation strategy consist of replacing \(n_\mathrm{mut}\) individuals from R by new individuals generated based on the statistics of the current search group. The idea here is to include in the search group individuals away from the position of the current members, exploring new regions of the search domain. Thus, each new individual is generated according to Eq. (17):

$$\begin{aligned} x_j^\mathrm{mut} = E[\mathbf R _{:,j}] + t \epsilon \sigma [\mathbf R _{:,j}], \quad \text {for } j=1 \text { to } n, \end{aligned}$$
(17)

where \(x_j^\mathrm{mut}\) is the jth design variable of a given mutated individual, E and \(\sigma\) are the mean value and standard deviation operators, \(\epsilon\) is a convenient random variable, t is a parameter that controls how far the new individual is generated, and \(\mathbf R _{:,j}\) is the jth column of the search group matrix (Fig. 1). The probability of a member to be replaced depends on its rank in the current search group, i.e. the worse the design is, the more likely it is to be replaced. This is accomplished with an inverse tournament selection. This is a variant of the selection routine applied in Sect. 3.2, where the worst design is the “winner” and is therefore replaced with a new potentially better individual, employing Eq. (17).

3.4 Generation of the families of each search group member

In this step of the algorithm occurs the creation of families. A family consists of a member of the search group and the individuals that it generated. Each family is denoted by \(\mathbf F _i\) where \(i = 1 \text { to } n_g\). Thus, once the search group its formed, each one of its members generates a family by the perturbation described in Eq. (18).

$$\begin{aligned} x_j^{new} = R_{i,j} + \alpha \epsilon ,\quad \text { for } j=1\text { to } n, \end{aligned}$$
(18)

where \(\alpha\) controls the size of the perturbation. This parameter is reduced at each iteration k of the search process. The update is given by:

$$\begin{aligned} \alpha ^{k+1} = b \alpha ^k, \end{aligned}$$
(19)

where b is a parameter of the SGA.

It is important to note that the variation of \(\alpha ^k\) controls how the search is conducted. It has similarities to the effect of temperature in a cooling scheme on a simulated annealing (SA) heuristic [6, 41]. It is chosen in order to permit, in a probabilistic sense, the ability to any individual to visit any point in the design domain on the first iterations. This emphasize the focus on exploration primarily. Later, as iterations of the algorithm pass by, the value of \(\alpha ^k\) decreases. The search process reduces its diversification in favor of a more focused investigation of the favorable regions encountered. A parameter \(\alpha _\mathrm{min}\) is also defined, which is a lower bound to \(\alpha\), in order to prevent a null diversification value.

Another important aspect of the algorithm is that the family size, that is, the number of individuals a certain member of the search group generates, can vary with member performance. Smaller objective value individuals generate bigger families than those with higher value. This is controlled by the \(\varvec{\upsilon }\) parameter. It consists of a vector with the same number of elements as the search group. The ith value in this vector corresponds to the number of individuals the ith member of the search group can generate. Two rules must be observed in order to set \(\varvec{\upsilon }\): (i) \(\text {sum}(\varvec{\upsilon }) = n_\mathrm{pop} - n_g \text { and }\) (ii) \(\upsilon ^{i+1} \le \upsilon ^i\). The first rule is to keep the number of designs evaluated at each iteration constant and the second is to make it possible for better designs to have bigger families.

3.5 Selection of the new search group

As commented in the beginning of this section, the proposed algorithm is comprised by two phases: the global and local phases. In the first \(\mathrm{it}_\mathrm{global}^\mathrm{max}\) iterations, called the global phase, the main objective of the algorithm is to explore the most of the design space. Hence, the new search group is formed by the best member of each family.

When the iteration number is higher than \(\mathrm{it}_\mathrm{global}^\mathrm{max}\), the selection scheme is modified: the new search group is formed by the best \(n_g\) individuals among all the families. This phase is called local because the algorithm will tend to exploit the region of the current best design.

4 Numerical examples

In this section, the optimal design of three steel structures is performed by the algorithm detailed in Sect. 3. The computational implementation of the algorithm is made in Matlab, where the structures are also analyzed using a direct stiffness method routine. The problems have increasingly complexity and search space serving as benchmark problems. The final results are then compared against different algorithms from the literature.

The stopping criterion adopted for all problems is the number of objective function evaluation (OFE). For SGA, this value is calculated as follows:

$$\begin{aligned} \text {OFE} = (n_\mathrm{pop} - n_g + n_\mathrm{mut}) ~ \mathrm{it}_\mathrm{max}, \end{aligned}$$
(20)

and given along with the best design found in each problem.

For every example a convergence history curve is presented for both the best run of the algorithm and the average of a fixed number of independent runs.

A diversity index curve is also given for every benchmark problem. This index, proposed by Kaveh and Zolghadr [42] aims to measure how disperse the individuals are on population-based heuristic methods. The curve shape can identify the exploration/exploitation behavior of different algorithms. The index is calculated as follows:

$$\begin{aligned} \frac{1}{n_\mathrm{pop}} \sum ^{n_\mathrm{pop}}_{i=1} \sqrt{\sum ^{n}_{j=1} \left( \frac{O(i) - X_j(i)}{X_{i,\mathrm{max}} - X_{i,\mathrm{min}}} \right) ^2 }, \end{aligned}$$
(21)

where O(i) is the value of the ith variable of the best individual found so far in the population; \(X_j(i)\) is the value of the ith variable of the jth individual; \(X_{i,\mathrm{min}}\) and \(X_{i,\mathrm{max}}\) are the minimum and maximum values assumed by the ith variable, respectively; n is the number of design variables and \(n_\mathrm{pop}\) is the number individuals in the population.

On the following examples, some SGA parameters remained constant: \(\epsilon\) is a uniform random variable ranging from −0.5 to 0.5; t is an integer ranging from 1 to \(n_\mathrm{mut}\); \(b = \max \left( 1 - \frac{4k}{\mathrm{it}_\mathrm{global}^\mathrm{max}}, 0.25 - \frac{k}{\mathrm{it}_\mathrm{global}^\mathrm{max}}\right)\) and \(\varvec{\upsilon } = \frac{2i-1}{n_g^2} (n_\mathrm{pop}-n_g) \text { for } i=n_g\text { down to }1\).

4.1 Two-bay three-story frame design

The first example is the two-bay by three-story steel frame originally presented by Wood et al. [43]. The purpose of this frame was to serve as a benchmark. It has been studied by many authors over the years [4, 9, 17, 19, 44]. Displacement constraints were not imposed for the design. The elastic modulus (E) and yield stress (\(F_y\)) values were 29,000 and 36 ksi, respectively.

The structure was divided in two design groups: beams and columns. The value of the beam element group may choose from all 267 W-shapes listed in Table 1 and the value of the column element group is limited to W10 sections (18 W-shapes). For each column, the effective length factor \(K_x\) is calculated as for a sway-permitted frame employing a simplified form of the transcendental equations proposed by Dumonteil [39]. For the out-of-plane effective length factor the assumed value is \(K_y =1.0\). Each column is considered unbraced along its length and the unbraced length for each beam member is specified as one-sixth of the span length.

The values of the uniform and the point loads in Fig. 2 are factored loads, which means that the strength and stability provisions from the AISC specification can be applied directly.

Fig. 2
figure 2

Two-bay, three-story problem

Fig. 3
figure 3

Convergence history of best and average solutions for the \(2\times 3\) frame

Fig. 4
figure 4

Diversity Index of best and average solutions for the \(2\times 3\) frame

Table 2 summarizes the best designs encountered by Pezeshk et al. [4] using Genetic Algorithm (GA), Degertekin [17] using Harmony Search (HS), Toğan [32] using Teaching-learning based Optimization (TLBO) and SGA from this study. It also shows the average weight of 100 independent algorithm runs and the corresponding standard deviation.

The following algorithm parameters were adopted for this problem: \(\alpha ^0=3.0\), \(\alpha _\mathrm{min}=0.02\), \(n_\mathrm{pop}=45\), \(n_{g}=0.11~n_\mathrm{pop}\), \(\mathrm{it}_\mathrm{max}=10\), \(it^\mathrm{global}_\mathrm{max}=9\) and \(n_\mathrm{mut}=2\).

Table 2 Optimization results from Problem 1

The search space of this problem was small, with only 4806 possible combinations. It was possible to verify the solution applying an exhaustive search, that is, testing all possible combinations and selecting the smallest weight. The result obtained by exhaustive search matched the results from SGA: W10x60 for columns and W24x62 for beams. The result was the same obtained in the studies from Camp et al [9] and Pezeshk et al. [4]. The result from Dekertekin [17] and Toğan [17] turned out to be slightly infeasible. Murren and Khandelwal [19] also considered infeasible the result from Degertekin [17].

Figure 3 shows converge history for the best design and an average of 100 runs of the algorithm. It can be seen that after only seven iterations SGA already obtains on average a solution around 20,000 lbs. As a consequence of the small total number of iterations and also high the non-convexity of the problem, SGA acts mostly (90 % of the iterations) on the global phase. It is an important characteristic of the algorithm that the fraction of time spent on each of its phases can be adjusted according to the problem. SGA needed fewer objective function evaluations than other algorithms and its relatively low standard deviation demonstrates that it can achieve satisfactory results consistently.

A diversity index curve is shown in Fig. 4. It is possible to visualize how diversity decays gradually after each iteration. The low initial diversity value indicates the small number of distinct individuals in the population by reason of the small search space.

4.2 One-bay ten-story frame design

Fig. 5
figure 5

One-bay ten-story problem

The second example consisted of a one-bay ten-story plane frame shown in Fig. 5. It has been studied by Pezeshk et al. [4] using Genetic Algorithm (GA), Doğan et al. [12] using Particle Swarm Optimization (PSO), Camp et al. [9] using Ant Colony optimization (ACO), Degertekin [17] using Harmonic Search (HS), Toğan et al. [32] using Teaching-Learning Based Optimization (TLBO).

Table 3 Optimization results from Problem 2
Table 4 Min. weight variation from feasible designs—Problem 2
Fig. 6
figure 6

Stress ratio for each member—Problem 2

Fig. 7
figure 7

Convergence of best and average solutions for the \(1\times 10\) frame

Fig. 8
figure 8

Diversity Index of best and average solutions for the \(1\times 10\) frame

This frame is designed according the AISC specification with a displacement constraint considered as inter-story drift < story height/300. The material has a modulus of elasticity \(E=29{,}000\) ksi and a yield stress of \(F_y =36\) ksi. The effective length factors of the members are calculated as \(K_x \ge 1.0\) for a sway-permitted frame employing the simplified form of the transcendental equations from Dummonteil [39]. The out-of-plane effective length factor is specified as \(K_y =1.0\). Each column is considered unbraced along its length, and the unbraced length for each beam member is specified as one-fifth of the span length.

All 30 frame members were gathered in 9 design groups as shown in Fig. 5. Beam and columns groups were assigned, respectively, at every three and two consecutive stories, beginning at foundation. Beams groups could be selected from any of the 267 W-sections from the database. Columns were restricted to W12 and W14 sections (66 profiles) due to fabrication conditions. The resulting search space was considerably larger than previous problem, with approximately \(6.36\cdot 10^{18}\) designs.

The following algorithm parameters were adopted for this problem: \(\alpha ^0=0.70\), \(\alpha _\mathrm{min}=0.05\), \(n_\mathrm{pop}=40\), \(n_{g}=0.425\), \(\mathrm{it}_\mathrm{max}=347\), \(it^\mathrm{global}_\mathrm{max}=0.3~\mathrm{it}_\mathrm{max}\) and \(n_\mathrm{mut}=7\).

The optimal result from the optimization process along with the results from literature are shown in Table 3. This table also shows the average of 100 independent runs of the algorithm with the corresponding standard deviation.

As lighter weight values have been found it is important to ponder if SGA would also be able to find these values after more iterations or after adjusting its parameters. As a mean to verify the possibility, the claimed optimal solution provided by some literature authors was given as input to the objective function being optimized. The results are shown in Fig. 6, where the stress ratio from the interaction equation (Eq. (3)) is plotted for every member. It can be seen that both results that achieved smaller structural weight were considered infeasible to the proposed objective function, in consequence of points where the stress ratio is above limit. This means that although some authors state better results, achieving them is not possible algorithmically by virtue of slight objective function discrepancies (Figs. 7, 8).

The present work analyses the structure considering non-linear geometric effects employing the method of Moment Amplification. Such amplification is an important difference when considering that other authors usually adopt only linear static analysis. Even when considering only the design specification, there is margin for distinct considerations which then lead to distinct objective functions. That is to say that variations on the final result do not always mean a poor algorithmic performance. It is important to evaluate the conception, convergence and adaptation together with the overall performance.

Considering only the feasible results, that is, the results that could be found according the adopted objective function, SGA obtained the best weight of 62,262 lbs within a reasonable amount of objective function evaluations (7980). Both Degertekin and Toğan results were deemed slightly infeasible and thus a comparative was not viable. The minimum weight design obtained is compared with other feasible designs in Table 4.

4.3 Three-bay 24-story frame design

Fig. 9
figure 9

Three-bay 24-story problem

The last benchmark example is the three-bay, 24-storey steel frame, consisting of 168 members. This frame was originally designed by Davison and Adams [45]. It was also designed by Camp et al. [9] using an ACO algorithm, by Murren et al. [19] using a Design-Driver Harmonic Search (DDHS) algorithm, by Kaveh and Talatahari [10] using an improved ACO (IACO) algorithm, and again by Kaveh and Talatahari [46] using an imperialist competitive algorithm (ICA).

Table 5 Optimization results from Problem 3
Table 6 Min. Weight variation from feasible designs—Problem 3

The following algorithm parameters were adopted for this problem: \(\alpha ^0=1.5\), \(\alpha _\mathrm{min}=0.04\), \(n_\mathrm{pop}=181\), \(n_{g}=0.02\), \(\mathrm{it}_\mathrm{max}=45\), \(it^\mathrm{global}_\mathrm{max}=0.97~\mathrm{it}_\mathrm{max}\) and \(n_\mathrm{mut}=2\).

The effective length factors are calculated as a sway-permitted frame (\(K_x \ge 1\)) using the approximated equations from Dummonteil [39]. For the out-of-plane effective length factor the assumed value is \(K_y =1.0\).

Fig. 10
figure 10

Convergence of best and average of 50 runs

Fig. 11
figure 11

Diversity Index of best and average of 50 runs

Loads and overall design group distribution can be seen in Fig. 9. The loads acting on the structure are \(W=5,761.85\) lb, w\(1 =300\) lb/ft, w\(2 =436\) lb/ft, w\(3 =474\) lb/ft, and w\(4 =408\) lb/ft. The material properties as specified by Saka and Kameshki [47] are a modulus of elasticity \(E = 29,732\) ksi and a yield stress of \(F_y = 33.4\) ksi. The frame structure contains 20 groups, of which 16 are column groups and 4 are beam groups. Each of the 4 beam element groups could be chosen from all the W-shapes listed in AISC standard list, while the 16 column element groups were limited to W14 sections (37 profiles). Therefore, the size of the resulting search space was approximately \(6.27 \cdot 10^{34}\) designs. All beams and columns were considered unbraced along their lengths.

Fig. 12
figure 12

Stress ratio for each member—SGA

Fig. 13
figure 13

Stress ratio for each member—Toğan

Fig. 14
figure 14

Stress ratio for each member—Kaveh et al. (b)

The result from the optimization process along with the results from literature are shown in Table 5. In comparison with the other algorithms, SGA obtained the second best minimum weight. As for convergence, the algorithm obtained a good result within a reasonable number of iterations (8010) similar number as the previous 10 floor problem. The algorithm takes a slightly bigger number of iterations to converge when compared to some authors. This happens because the Death Penalty approach used to satisfy the constraints forces the algorithm to work only with feasible designs. Considering infeasible designs can improve the convergence rate but can also lead to incorrect results. An adaptive penalty method could be employed in order to improve convergence, taking care to ensure the final result feasibility.

In Figs. 10 and 11 the convergence history and diversity index curves are presented, respectively. Initially, when no clear exploitable region has been reached, diversity is higher. Both diversity and weight drastically decreases until around iteration 50. From there, a pattern of plateaus and slight decreases can be seen on convergence history. The diversity curve represents the same behavior by decreasing gradually the diversity index. This represents the algorithm focus shifting from exploration to exploitation, mainly influenced by the decay of the \(\alpha\) parameter.

Fig. 15
figure 15

Stress ratio for each member—Kaveh et al. (a)

Fig. 16
figure 16

Stress ratio for each member—Maheri

Similarly as the previous example, some results found in literature were deemed infeasible according to the proposed objective function. The reasons might be the more penalizing analysis employed in the routine, which considered second order effects and possibly different design code considerations as discussed in Sect. 4.2. Among feasible designs, SGA achieved the best minimum weight. In order to show that SGA indeed converged to an optimized solution the stress ratios of the minimal weight solution are shown in Fig. 12. It is possible to see that some stress ratio values are very close to the unit limit, which means that members are using almost all of their strength capacity, thus leading towards an optimal result. The minimal weight design found is compared with other feasible designs in Table 6 (Figs. 13, 14).

5 Conclusion

A novel global optimization method, SGA, developed by Gonçalves et al. [34] is applied on the discrete problem of planar steel frame optimum design. The algorithm selects optimum W-sections from a standard American steel sections table for beams and columns of planar frames such that design constraints described in AISC specification are satisfied and the frame has the minimum weight. A series of benchmark problems are solved demonstrating the effectiveness of the algorithm on minimizing structural weight while satisfying imposed constraints (Figs. 15, 16).

The algorithm achieved a competitive performance regarding number of function evaluations and total weight of designs. It is important to stress that the performance was assessed by statistical results (ie. mean and standard deviation) and the total number of objective function evaluations. As seen, results from some authors were considered infeasible. Just looking at the minimum result is thus misleading as authors not always fully specify the normative considerations used which may lead to designs being feasible or not depending on the objective function developed. Considering feasible designs according to the proposed formulation, SGA was able to outperform well established and state of the art optimization algorithms.

SGA has effective heuristic mechanisms, which avoid solutions to be trapped in local optimums. The distinction between global and local phase is one of them. By being able to allocate iterations on one phase or another it is possible to have a finer control over the exploration and exploitation emphasis that can drastically change between problems. Another important mechanism is that better individuals in the population generate bigger families. This allows for a faster convergence. Lastly, the mutation scheme is also valuable. It promotes diversity and continually explores newer regions of the search space.

As drawbacks from the approach used, it is clear that the limitation of working on the feasible domain only, can lead into a larger number of function evaluations needed. An aspect that could be considered in future works would be the use of an adaptive penalty process instead of the Death Penalty approach employed. With this in mind, it should be possible to further lower the computational costs involved in the optimization process.