Abstract
This paper focuses on discrete sizing optimization of frame structures using commercial profile catalogs. The optimization problem is formulated as a mixed-integer linear programming (MILP) problem by including the equations of structural analysis as constraints. The internal forces of the members are taken as continuous state variables. Binary variables are used for choosing the member profiles from a catalog. Both the displacement and stress constraints are formulated such that for each member limit values can be imposed at predefined locations along the member. A valuable feature of the formulation, lacking in most contemporary approaches, is that global optimality of the solution is guaranteed by solving the MILP using branch-and-bound techniques. The method is applied to three design problems: a portal frame, a two-story frame with three load cases and a multiple-bay multiple-story frame. Performance profiles are determined to compare the MILP reformulation method with a genetic algorithm.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
-
a assuming that profile j is selected.
-
b assuming that non-nodal loads are replaced with equivalent nodal loads.
-
c these matrices and vectors refer to displacements or stresses at a limited number of prescribed output locations along member i.
1 Introduction
In structural optimization, the problem formulation plays a fundamental role. The mathematical structure of the optimization problem determines which solution methods can be applied, and how difficult it is to find the optimal solution. From the designer’s perspective, the problem should include the necessary requirements of design, manufacture and economy (Farkas 2005) such that the results of optimization are applicable in practice. In general, the problem formulation is a compromise between meeting the needs of the designer and the capabilities of contemporary solution procedures.
In practical optimization of frame structures, the member profiles must be chosen from a catalog of commercially available sections. When this feature is coupled with conventional formulations based on elastic structural analysis, the problem is not only nonlinear (Wang and Arora 2006), but it also contains discrete design variables. The resulting mixed-integer nonlinear programming (MINLP) problem can be treated by several optimization methods that have been proposed in the literature on discrete structural design of frames (for reviews, see Thanedar and Vanderplaats (1995), Arora and Huang (1996), Huang and Arora (1997), and Arora (2002)). However, these methods have in common that they cannot guarantee that the global optimum is found.
In a detailed review, Arora (2002) discusses various methods for structural optimization with discrete variables. These include branch-and-bound for nonlinear problems, sequential linearization, dynamic rounding-off, penalty approach and various stochastic methods, among others. Some of the more recent approaches include the discrete Lagrangian-based algorithm (Juang and Chang 2006), and a scheme based on the optimality criteria method (Schevenels et al. 2014).
Currently, stochastic algorithms are widely used for solving discrete frame optimization problems. These methods include genetic algorithms (Camp et al. 1998; Rajeev and Krishnamoorthy 1992; Gero et al. 2006; Kripakaran et al. 2010), ant colony optimization (Camp et al. 2005; Kaveh and Talatahari 2010), firefly algorithm (Gandomi et al. 2011; Carbas 2016), harmony search algorithm (Saka 2009), particle swarm optimization (Venter and Sobieszczanski-Sobieski 2003), guided stochastic search heuristic (Kazemzadeh Azad and Hasancebi 2015), eagle strategy with differential evolution (Talatahari et al. 2015), and teaching-learning based optimization (Togan 2012). The general idea is to explore the design space in a random fashion, thereby using information collected from previous analyses to gradually improve the design. These algorithms owe their popularity to the fact that they are easy to understand and to implement. They can cope with discrete parameters and are able to take into account complex constraints. However, stochastic algorithms converge slowly, involve algorithmic parameters that require careful tuning, and global optimality cannot be guaranteed since no conclusive convergence checks can be made.
In this paper, global discrete sizing optimization of frame structures is considered. The weight of the structure is minimized, taking into account stress and displacement constraints. The optimization problem is reformulated into a mixed-integer linear programming (MILP) problem. In the classical approach for structural optimization the nested analysis and design (NAND) approach is employed (Arora and Wang 2005): in every iteration a finite element analysis is performed in order to obtain the state variables (the structural nodal displacements and the member end forces). In order to facilitate the reformulation of the optimization problem as an MILP, the simultaneous analysis and design (SAND) approach (Arora and Wang 2005) is adopted in this study: the state variables are considered as additional design variables and the state equations (the equilibrium equations and member stiffness relations) are enforced by means of additional constraints. In addition, a set of binary decision variables is introduced for each member of the structure to select a profile from the catalog given by the designer. The obtained MILP can be solved for global optimality with well-established algorithms such as branch-and-bound methods (Wolsey 1998; Nemhauser and Wolsey 1999).
The MILP formulation approach has originally been proposed by Ghattas and Grossmann (1991) and Grossmann et al. (1992) for discrete topology optimization of trusses, later studied by Rasmussen and Stolpe (2008), Faustino et al. (2006), and Kanno and Guo (2010). Mela (2014) included member strength and buckling constraints specified by the Eurocode in the truss topology design problem. Van Mellaert and Schevenels (2015) included both the member and the joint constraints for sizing optimization of statically determinate trusses. Stolpe (2007) proposed a mixed-integer linear programming reformulation approach to solve continuum topology optimization problems. Kureta and Kanno (2014) developed a mixed integer programming approach for topology optimization of periodic frame structures with negative Poisson’s ratio, and Hirota and Kanno (2015) developed a mixed integer programming approach for the optimal design of periodic frame structures with negative thermal expansion.
The main differences in the mixed-integer linear programming problem between frames and trusses are related to structural analysis and member resistance constraints. In truss analysis, the only stress resultant is the normal force, which is constant in the member. Thus, for each member, a single state variable is required. For frames modeled with beam elements, shear forces and bending moments in addition to normal forces must be included in the analysis. Moreover, nodal rotations need to be considered in addition to displacements. Consequently, the number of state variables and constraints related to structural analysis increases when the mixed-integer formulation is extended from trusses to frames.
The member resistance and deflection constraints for trusses are imposed by simply limiting the normal force and nodal displacement variables, respectively. For members of frames, the stress resultants typically vary along the member, which implies that resistance constraints must be considered at several locations and not only at member ends. This applies also for deflection constraints. Furthermore, the interaction of stress resultants should be taken into account, which means that the resistance constraints become more complicated than simple bounds on the state variables.
This study focuses on the computational efficiency of the mixed-integer linear programming approach for the discrete sizing optimization of frames. The MILP formulation for topology optimization presented in Stolpe (2007), Kureta and Kanno (2014), and Hirota and Kanno (2015) is adopted for sizing optimization. However, the formulation is extended to take into account non-nodal loads. In addition, catalogs consisting of 9 to 24 available profiles are adopted, instead of the smaller catalogs consisting of 3 profiles adopted for the MILP frame problems presented in the literature.
The paper is organized as follows. In Section 2, the mixed-integer linear programming problem for frame optimization is presented: the design variables as well as the constraints are described in detail. In Section 3, the formulation is applied to three example problems: a simple portal frame with an inclined roof, a two-story frame with three load cases, and a three-bay three-story frame. In addition, the performance of the MILP reformulation method is compared with the performance of a genetic algorithm by solving several multiple-bay multiple-story frame problems. Section 4 summarizes the main findings of this study.
2 Mixed-integer linear programming formulation
This section describes the mixed-integer linear programming formulation for the discrete sizing optimization of frame structures. The formulation is written for plane frames with prismatic members analyzed by the theory of linear elasticity. For simplicity, it is assumed that all members are made of the same material. Moreover, only a single load case is considered, but the formulation can easily be extended to multiple load cases. Non-nodal loads are replaced with equivalent nodal loads in the formulation of the problem. The joints are assumed to be rigid, although hinged connections can be incorporated into the formulation.
Consider a frame structure defined by n m members and n n nodes with n dof degrees of freedom. The number of profile alternatives is n s. Denote by \(\mathcal {M} = \{1,2,\ldots ,{n_{\text {m}}}\}\) and \(\mathcal {C} = \{1,2,\ldots ,{n_{\text {s}}}\}\) the index sets for members and profiles. Each member may have its own set of profile alternatives. The index set of profiles of member i is denoted by \(\mathcal {C}_{i} \subseteq \mathcal {C}\).
2.1 Design variables
The design variables include a vector of binary decision variables y, a vector of continuous nodal displacement variables u (including translations and rotations), and a vector of continuous member end forces q (caused by the equivalent nodal loads). The binary variables are employed to select member profiles from the set of available alternatives. For member i, profile j is selected when the corresponding variable y ij = 1. Profile j is not selected for member i when the corresponding variable y ij = 0. For each member i and for each section j a set of three independent member end forces is defined, including the normal end force N 1, ij , and the bending moment end forces M 1, ij and M 2, ij as shown in Fig. 1. The member end forces for each member i and for each section j are collected in the vector q ij :
The vector with the design variables x is given by:
The total number of binary decision variables is denoted by \(n_{\mathrm {b}}={\sum }_{i=1}^{n_{\mathrm {m}}}n_{\mathrm {s}i}\), where n m is the total number of members in the structure, and n si is the total number of available sections for member i. The total number of degrees of freedom is denoted by n dof. The total number of force variables is 3n b. The total number of design variables is calculated as n dv = n dof + 4n b.
2.2 Problem statement
The mixed-integer linear programming problem for a frame structure is given by (4) through (9):
The objective function is given by (4), where c ij is the cost of profile j for member i. When the structural weight is taken as the objective function, c ij is the weight of member i with profile j, and it can be written as c ij = ρL i A ij , where ρ is the density of the material, L i is the length of member i, and A ij is the section area of profile j for member i. Alternatively, c ij can be written as c ij = L i w ij , where w ij = ρ ij A ij is the weight per unit length of profile j for member i. This expression can be used, if multiple materials are included in the problem.
The subsequent equations are the constraints of the optimization problem. Equation (4) ensures that a single profile j is chosen from the catalog \(\mathcal {C}_{i}\) for member i. The equilibrium equations and the member stiffness relations are given by (5) and (6), respectively. Equation (7) ensures that if profile j is not selected for member i, the corresponding force variables become zero, i.e. q ij = 0. The derivation of (3–7) is given in Appendix A. The displacements and stresses at predefined locations of member i are limited by the constraints of (8) and (9), respectively. The derivation of these constraints is given in the subsequent sections. A list of symbols is provided at the beginning of the paper.
It is possible to take into account multiple load cases by introducing additional nodal displacement and force variables and constraints of (5) to (9) for each load case (Mela 2014).
2.3 Displacements along elements
Constraints on deflections along the members are expressed in terms of nodal values using interpolation with shape functions. The idea is that the designer defines a priori the locations where chosen displacement components are restricted.
The displacement along the local x-axis as defined in Fig. 2 at location x ∈ [0, L i ] of member i for profile j is calculated as:
where \(\tilde {u}_{ij}(x)\) is the displacement at location x of member i due to the element loads, assuming that profile j is selected and that the member ends are clamped. This term compensates for the fact that non-nodal loads are replaced by equivalent nodal loads in the formulation of the problem. The displacements along the local y-axis v ij (x), and the rotation φ ij (x) are calculated in the same way. The shape function vectors Diu(x), Div(x) and Diφ(x) are given by (44) to (46) in Section A.3.
The constrained displacement components of element i with profile j at the locations x k of interest are collected in the vector d ij . For example, if the transverse displacement v i of element i is to be constrained at the locations x 1, x 2, and x 3, the vector d ij is given by:
This vector is obtained as follows:
where the matrix D i and the vector \(\tilde {\mathbf {d}}_{ij}\) are (in this case):
In order to limit the relevant displacement components at all predefined locations of member i, the constraints given by (8) are introduced, where \(\mathbf {\underline {d}}_{ij}\) and \(\bar {\mathbf {d}}_{ij}\) are the prescribed minimum and maximum allowed value of displacements, respectively. The artificial bounds \(\mathbf {\underline {d}}^{\prime }_{ij}\) and \(\bar {\mathbf {d}}^{\prime }_{ij}\) ensure that when profile j is not selected for member i, the constraints (8) do not impose any limits on the nodal displacements u. When profile j is selected for member i (y ij = 1), (8) becomes \(\mathbf {\underline {d}}_{ij}\leqslant \mathbf {D}_{i}\mathbf {T}_{i}\mathbf {B}_{i}\mathbf {u}+\tilde {\mathbf {d}}_{ij}\leqslant \bar {\mathbf {d}}_{ij}\) and the appropriate displacement components are constrained. When profile j is not selected for member i (y ij = 0), (8) reduces to \(\mathbf {\underline {d}}^{\prime }_{ij}\leqslant \mathbf {D}_{i}\mathbf {T}_{i}\mathbf {B}_{i}\mathbf {u}+\tilde {\mathbf {d}}_{ij}\leqslant \bar {\mathbf {d}}^{\prime }_{ij}\). The bounds \(\mathbf {\underline {d}}^{\prime }_{ij}\) and \(\bar {\mathbf {d}}^{\prime }_{ij}\) are calculated similarly to \(\mathbf {\underline {q}}^{\prime }_{ij}\) and \(\bar {\mathbf {q}}^{\prime }_{ij}\) (42 and 43) for each row k of matrix D i and vector \(\tilde {\mathbf {d}}_{ij}\) as:
where \(\mathbf {\underline {\mathbf {u}}}\) and \(\mathbf {\overline {\mathbf {u}}}\) are the minimum and maximum allowed nodal displacements, respectively.
When only nodal displacements are limited, the constraints given by (8) can be substituted by the following constraints:
2.4 Stresses
The resistance of cross-sections subjected to shear forces, normal forces, and bending moments is checked at predefined locations along the members. For elastic design, the resistance constraints can be written in terms of stresses as:
where \(\sigma _{\mathrm {t},ij}\left (x\right )\) is the normal stress at the top fiber of the cross-section of member i for profile j at location x. The normal stress at the bottom fiber of the cross-section \(\sigma _{\mathrm {b},ij}\left (x\right )\), and the maximum shear stress τ ij (x) of member i for profile j at location x are limited in the same way. These stresses are calculated as
where W t, ij and W b, ij are the section moduli with respect to the top and bottom fibers of the cross-section, respectively, I ij is the second moment of area, S ij is the first moment of area, and b ij is the width of the profile at the point where the maximum shear stress occurs. N ij (x), V ij (x), and M ij (x) are, respectively, the normal force, shear force, and bending moment at location x as given by Fig. 3. For plastic design, similar constraints related to the stress resultants can be formulated.
The stress σ t, ij (x) at location x of member i for profile j is calculated as:
where \(\tilde {\sigma }_{\mathrm {t},ij}(x)\) is the stress of the beam at location x due to the element loads, assuming that profile j is selected and that the member ends are clamped, calculated in a similar way as given by (18). The stresses σ b, ij (x) and τ ij (x) are calculated in the same was as in (21).
The stresses can be calculated from the nodal displacements u using the vectors Siσ t(x), Siσ b(x) and Siτ(x), which are given by (47) to (49) in Section A.4. Stress constraints have been treated similarly in the literature (Kureta and Kanno 2014; Hirota and Kanno 2015), but only for point loads located at the element nodes. The proposed formulation of (21) takes into account distributed loads and point loads not located at the nodes.
The constrained stress components σ t, ij , σ b, ij and/or τ ij of element i with profile j at locations x k are collected in the vector s ij . For example, if the normal stress at the top of element i is to be constrained at locations x 1, x 2, and x 3, the vector s ij is given by:
This vector is obtained as follows:
where S ij and \(\tilde {\mathbf {s}}_{ij}\) are in this case
In general, the stress constraints at predefined locations along the members are written in the form of (9), where \(\tilde {\mathbf {s}}_{ij}\) is a vector containing the selected stress components at the predefined locations of the beam with clamped-clamped boundary conditions subjected to the element loads of member i for profile j, and \(\mathbf {\underline {\mathbf {s}}_{ij}}\) and \(\bar {\mathbf {s}}_{ij}\) are the prescribed minimum and maximum allowed stresses. The artificial bounds \(\mathbf {\underline {\mathbf {s}}^{\prime }_{ij}}\) and \(\bar {\mathbf {s}}^{\prime }_{ij}\) serve the same purpose as the bounds \(\mathbf {\underline {\mathbf {d}}^{\prime }_{ij}}\) and \(\mathbf {\underline {\mathbf {d}}^{\prime }_{ij}}\), i.e. they ensure that if profile j is not selected for member i, the nodal displacements are not constrained by (9). They are computed analogously to (14) and (15), using \(\tilde {\mathbf {s}}_{ij}\) instead of \(\tilde {\mathbf {d}}_{ij}\).
3 Test problems and optimization results
In this Section, the mixed-integer linear programming formulation presented above is applied to three test problems. Firstly, a simple portal frame with an inclined roof subjected to a distributed load is considered. This problem is employed to verify the method because it can also be solved by complete enumeration. Secondly, a two-story frame benchmark problem reported in the literature is treated. Finally, a three-bay three-story frame is considered. This problem represents a case where the optimum design is not easy to find by enumeration.
All test problems are solved by the commercial software Gurobi (Gurobi Optimization Inc 2015). The software employs the branch-and-cut method (Wolsey 1998), where cutting planes and other enhancements are incorporated in the general branch-and-bound framework in order to reduce the computational time. Several parameters for controlling the details of the algorithm are available. In this study, the default values of these parameters are used, except for feasibility and integer tolerances, respectively, which are set to values given below. Thus, the crucial decisions of the branch-and-cut algorithm, e.g. branching strategy and cutting plane selection, are governed by the software.
According to the principle of branch-and-bound, in each iteration, a lower bound of the objective function, f LB , is computed by solving a linear programming relaxation of the problem, where integer variables are treated as continuous. This lower bound increases over the iterations, whereas the upper bound of the optimum, f UB , decreases as better feasible solutions are found. At any time, the optimality gap, defined by
can be calculated to measure the quality of the solution. When the optimality gap becomes 0, the global optimality of the solution is verified. For numerical purposes, a small positive value is employed.
3.1 Portal frame
Figure 4 shows a portal frame structure with four members. The height of the frame is h 1 = 4 m and h 2 = 2 m, the span of the frame is w = 10 m, the value of the distributed load is \(p=25{~\text {kN}\left /\mathrm {m}\right .}\).
The objective of the optimization problem is to minimize the weight of the structure. The members are made of steel, and the profiles are chosen from a catalog with 24 HEA alternatives (Table 1). The Young’s modulus is 210 GPa, the density is 7850 kg/m3, and the yield strength is f y = 235 MPa. The allowable normal stress is f y, while the allowable shear stress is \(f_{\mathrm {y}}/\sqrt {3}=136\:\textrm {MPa}\). For members 1 and 4 all stress components are limited at three equidistant locations including the end points of the members. For members 2 and 3 all stress components are limited at five equidistant locations including the end points of the members (see Fig. 4). The stress constraints are given by (9). For determining the components of the vector \(\tilde {\mathbf {s}}_{ij}\) included in this equation, the normal force \(\tilde {N}_{i}(x)\), shear force \(\tilde {V}_{i}(x)\) and bending moment \(\tilde {M}_{i}(x)\) of a beam representing member i with clamped-clamped boundary conditions subjected to the element loads are required.
For member 2 they are calculated as:
where \(\alpha _{2}=\tan ^{-1}\left (h_{2}/(w/2)\right )\) is the angle of inclination of member 2. The normal stresses \(\tilde {\sigma }_{\mathrm {t},2j}(x)\) and \(\tilde {\sigma }_{\mathrm {b},2j}(x)\) at the top and bottom of member 2 for profile j at location x, respectively, and the shear stresses \(\tilde {\tau }_{2j}(x)\) at the neutral axis of member 2 for profile j at location x are then obtained by substituting \(\tilde {N}_{2}(x)\), \(\tilde {V}_{2}(x)\), and \(\tilde {M}_{2}(x)\) in (18) to (20).
For member 3, the normal force \(\tilde {N}_{3}(x)\), shear force \(\tilde {V}_{3}(x)\) and bending moment \(\tilde {M}_{3}(x)\) are calculated as:
The stresses of the beam with clamped-clamped boundary conditions subjected to the element loads at location x of member 3 for profile j are calculated similarly as for member 2.
The maximum allowed displacement is \(u_{\max }=0.05\:\mathrm {m}\). For member 2, the vertical displacement component is limited at x 1 = L 2/2 and x 2 = L 2, and for member 3 the vertical displacement component is limited at x 1 = L 3/2. The displacement constraints are given by (8). The vector containing the vertical displacements of member 2 at the predefined locations x 1 and x 2 is in this case given by:
where u 2j (x k ) and v 2j (x k ) are the displacements along the local x- and y-axes, respectively, of member 2 at location x k for profile j. The matrix D 2 is:
and the vector \(\tilde {\mathbf {d}}_{2j}\) is:
where \(\tilde {u}_{2j}(x)\) and \(\tilde {v}_{2j}(x)\) are derived from the constitutive relations between stress and strain according to the Euler-Bernoulli beam theory:
The vector containing the vertical displacements of member 3 at the predefined location x 1 is:
where u 3j (x 1) and v 3j (x 1) are the displacements along the local x- and y-axes, respectively, of member 3 at x 1 for profile j, and \(\alpha _{3}=-\tan ^{-1}\left (h_{2}/(w/2)\right )\) is the angle of inclination of member 3. The matrix D 3, the vector \(\tilde {\mathbf {d}}_{3j}\), and the displacement components \(\tilde {u}_{3j}(x)\) and \(\tilde {v}_{3j}(x)\) are composed in the same way as for member 2.
The sizing optimization problem is defined by (4) to (9). The total number of members is n m = 4, and for each member the number of available profiles is n s = 24. Thus there are altogether n b = 96 binary decision variables, and 3n b = 288 force variables, whereas the number of degrees of freedom is n dof = 9. Consequently, the problem consists of 393 design variables and 4765 constraints, and the constraint coefficient matrix contains 24000 nonzero elements. There are 4 equality constraints to ensure that only one profile is selected for each member (4), 9 nodal equilibrium equality constraints (5), 1152 member stiffness relation inequality constraints (6), 1152 force inequality constraints (7), 144 displacement inequality constraints (8), and 2304 stress inequality constraints (9). The number of profile combinations is 244 = 331776. The problem is solved by Gurobi (version 6.0.2) on a computer with an Intel Core i7-5600U processor (2.6 GHz clock frequency) and 8 GB RAM. The feasibility tolerance is set to 10−9, the integer feasibility tolerance is set to 10−9, and the optimality gap (defined as the relative difference between the lower and upper objective bound) is set to 5 × 10−3. The optimization problem is solved in 26 seconds, and 10510 nodes of the branch-and-bound tree are explored.
The optimum design is obtained by assigning the profile HEA 240 for all members. This can be explained by inspecting the force diagrams (Fig. 11). The critical cross-sections of all members have approximately equal normal forces and bending moments. This suggests that the same profile for all members produces approximately equal normal stresses at all critical cross-sections, which implies that a single profile for the entire frame should yield the minimum weight design as long as the normal stress constraints are decisive. In this case, the shear stress constraints and the displacement constraints are not critical. The total weight of the structure is 1131.63 kg. It is verified by full enumeration of all possible designs that this is indeed the global optimum.
Detailed results for this test problem are given in Appendix B, where the deformed shape of the frame, internal force diagrams and constraint margins evaluated at the optimum design are presented.
3.2 Two-story frame
Figure 5 shows a two-story frame under three load cases. Sizing optimization of this structure has been considered in the literature by Chai and Sun (1996), Jivotovski (2000), and Juang and Chang (2006). The horizontal displacements of nodes 2 and 3 are limited to 2.54 cm, whereas the allowable normal stress in all members is 163860 kN/cm2. The Young’s modulus of the material is 206.88 GPa, and the density is 76999.34 N/cm3. The members are divided in 4 groups: the columns of the same story must have the same profile, the beams are designed independently. The catalog of available sections is given in Table 2.
The mixed-integer linear programming formulation is adopted for multiple load cases by including nodal displacement and member force variables for each load case. Moreover, the constraints of (5) through (9) are written for each load case. Altogether, the sizing optimization problem of (4) through (9) contains 576 variables (54 binary, 522 continuous) and 5268 constraints.
The MILP problem is solved by Gurobi (version 6.5) on a computer with an Intel Core i5-3470 processor (3.2 GHz clock frequency) and 16 GB RAM. The optimality gap is set to 5 × 10−3, and default values are used for the other parameters. The runtime of the algorithm is 7 seconds, and 1461 nodes of the branch-and-bound tree are explored. At termination, the global optimality of the solution is verified. The weight of the solution is 42.53 kN. Profile number 5 is assigned to members 1 and 5, profile number 2 is assigned to members 2, 3, and 4, and profile number 7 is assigned to member 6 (see Table 1). This solution is the same as the solution reported by Juang and Chang (2006), who have carried out a complete enumeration to verify that 42.53 kN is indeed the global optimum.
3.3 Three-bay three-story frame
Figure 6 shows a three-bay three-story frame with 21 members. The height of each story is h = 3.5 m, the width of each bay is w = 6 m, the value of the horizontal load is F = 22.05 kN, and the value of the distributed vertical load is p = 50.1 kN/m. The members are divided in seven groups, and in each group, all members must have the same profile. The beams (members 13 to 21) form one group, whereas, the columns are organized in six groups such that for each story, two groups are generated: the outer columns (members 1 and 4, 5 and 8, and 9 and 12) and inner columns (members 2 and 3, 6 and 7, and 10 and 11). Among group members, identical profiles are enforced by introducing additional linear constraints in terms of the profile selection variables, y ij . For example, the profiles of columns 1 and 4 are set to be identical by the following constraints:
The objective of the optimization problem is to minimize the structural weight. In order to reduce the computation time, a limited set of available profiles is used: 15 profile alternatives ranging from HEA 100 to HEA 400 (Table 1) are included in the catalog. The material properties and allowed stresses are as in the previous example. For each member, all stress components are limited at three equidistant locations x 1 = 0, x 2 = L i /2, and x 3 = L i . For each column, the interstory drift, △u, is limited by h/300 = 0.0117 m. For example, the interstory drift constraint of column 5 is
where u 9, and u 5 are the horizontal displacements of nodes 9 and 5, respectively. The other interstory drift constraints are composed similarly. For each beam, the vertical deflection is limited at location x 1 = L i /2 by w/200 = 0.03 m.
The minimum weight problem is given by (4) through (9). The total number of members is n m = 21, and for each member the number of available profiles is n s = 15, resulting in n b = 315 binary decision variables. The number of force variables is 3n b = 945, and the number of degrees of freedom is n dof = 36. The MILP consists of 1296 design variables, 13791 constraints, and the constraint coefficient matrix has 64195 nonzero elements. The number of design combinations is 157 = 171 × 106. There are 21 equality constraints to ensure that only one profile is selected for each member (4), 36 nodal equilibrium equality constraints (5), 3780 member stiffness relation inequality constraints (6), 3780 force inequality constraints (7), 270 deflection constraints (8), 5670 stress inequality constraints (9), and 210 grouping constraints. The interstory drift constraints are imposed by limiting the difference of the horizontal nodal displacements at the top and bottom of each column. Consequently, there are 24 interstory drift constraints.
The MILP is solved by Gurobi (version 6.5) on the same computer as the first example problem. The optimality gap is set to 5 × 10−3, the feasibility tolerance is set to 10−6, and default values are used for the other parameters. The runtime of the algorithm is 19249 seconds (5.3 hours), and 140066 nodes of the branch-and-bound tree are explored. At termination, the global optimality of the solution (Fig. 7) is verified.
The convergence of the algorithm is illustrated in Fig. 8. The progress of the upper and lower bound, respectively, are shown by the two curves. It can be seen that feasible solutions close to the global optimum are found quickly.
The optimum design is shown in Fig. 7. The weight of the frame is 6131.87 kg. Detailed results for this test problem are given in Appendix C, where the deformed shape of the frame, internal force diagrams and constraint margins evaluated at the optimum design are presented.
The deflections of the beams (Table 5) are small and not decisive for the optimal design. As can be seen from Table 6, the utilization ratio of the interstory drift constraints ranges from 0.90 to 1.00 for the bottom two rows of columns. This means that the interstory drift is decisive for the optimal design.
Stresses in the members vary significantly throughout the frame (Table 7). The utilization ratios of the stress constraints range from 0.65 to 0.96 for the beams, and from 0.38 to 0.96 for the columns. Highest utilization ratios appear in the members of the first story. As interstory drift and profile grouping constraints are enforced, a fully stressed design is not obtained.
3.4 Comparison with a genetic algorithm
It is interesting to compare the performance of the mixed-integer linear programming approach with metaheuristic methods in order to assess the computational cost that comes with the ability of the MILP formulation to find and verify the global optimum.
In this paper, the genetic algorithm (GA) function from the Matlab 2015 Global Optimization Toolbox is chosen as the metaheuristic solution method. Now the problem formulation follows the conventional nested analysis and design approach, where only member cross-sections are taken as design variables, and the values of the internal forces and displacements used in constraint evaluation are computed by the finite element method for given cross-sections. Default stopping criteria and parameter values are used, except for the constraint tolerance, which is set to 10−6 instead of the using the default value of 10−3 to make a fair comparison.
The three-bay three-story frame problem is solved by performing 100 different runs of the genetic algorithm with a population size of 70 for each generation. The results are shown in Fig. 9. The mean objective function value of all runs in each generation is represented by the solid black curve. The mean value of all solutions is 6210.5 kg, which is 1.3 % greater than the global optimum. The gray region delimits the highest and lowest obtained objective function value in each generation. The global optimum is indicated by the dotted line. For 32% of the runs, the global optimum is reached. 54% of all runs reach a solution which is heavier than the mean objective function value. The weight of the heaviest solution is 6335.7 kg (3.3% greater than the global optimum). The computation time to perform 100 runs is 9.7 hours, giving an average of 350 seconds for 1 run.
This analysis depicts the typical stochastic nature of the genetic algorithm. For the majority of the runs, the global optimum is not obtained, although the solution deviates by only few percents, and the results of the genetic algorithm are satisfactory. On the other hand, during the computations, the quality of the solution cannot be assessed with the genetic algorithm, and eventually, the algorithm is simply stopped when no better solution is found, or when the maximum number of iterations has been reached. On the contrary, the solution process of the MILP ends precisely when the global optimality of the solution is verified. If global optimality of the solution is not required, the branch-and-cut method can be terminated when the optimality gap has become sufficiently small.
Therefore, in addition, a comparison of the performance obtained by setting a limit on the computation time is made. The performance measured for the objective function value is illustrated by optimizing a two-bay two-story, three-bay three-story, and four-bay four-story frame imposing the same dimensions, loads, and constraints of the three-bay three-story frame example problem discussed in the previous section. For each case, multiple optimization problems are solved using a different subset of 5 available profiles. The different subsets are composed by dividing the catalog consisting of 15 profile alternatives ranging from HEA 100 to HEA 400 (Table 1) in five equidistant intervals, and randomly selecting a section from each interval.
For the two-bay two-story, three-bay three-story, and four-bay four-story frame a time limit of respectively 5, 50, and 500 seconds is set for each optimization. For each example case, 100 different optimization problems are solved. The performance profiles (Rojas-Labanda and Stolpe 2015; Dolan and Moré 2002) of the MILP reformulation method and the genetic algorithm are shown in Fig. 10. In this figure, the x-axis represents the parameter τ which is the relative ratio of the objective function value and the best obtained objective function value using the same subset of sections. The y-axis represents the percentage of optimization problems reaching an objective function value that is at most τ-times higher than the best obtained objective function value. The intersection of the plotted curves with the y-axis indicates the percentage of winning solutions. It can be seen that the MILP reformulation method performs better for the two-bay two-story (Fig. 10a) and three-bay three-story frame (Fig. 10b). In these cases, the winning solution is obtained with the MILP approach for respectively 96 and 80% of the optimization problems. For 80% of the problems, the genetic algorithm yields solutions with an objective function value that is at most respectively 10 and 5% higher than the solution obtained with the MILP approach. In the case of the four-bay four-story frame (Fig. 10c), the winning solution is obtained with the genetic algorithm for 75% of the optimization problems, and for 80% of the problems the MILP method yields solutions with an objective function value that is at most 6% higher than the solution obtained with the genetic algorithm. In this case, the genetic algorithm performs better. Due to the simplicity of implementing the genetic algorithm, adopting this approach might be preferable for practitioners. However, the quality of the solution can only be assessed by means of the optimality gap provided by the MILP approach. Therefore, the computation time can be reduced when adopting the MILP approach by terminating the optimization when the optimality gap is sufficiently small, say 5 to 10%. In addition, the method can be used to benchmark the efficiency of other methods.
4 Conclusion
This paper addresses a mixed-integer linear programming approach for discrete sizing optimization of frame structures using commercial profile catalogs. The performance of the method is compared with the performance of a genetic algorithm. The main benefit of the MILP formulation is that it allows for finding the global optimum of frames using well-established deterministic solution methods such as branch-and-bound. The formulation can be adopted for various materials and applications. In order to make the approach more relevant for practical applications, constraints derived from design codes can be included. In extending the formulation presented in this paper, the linearity of the problem should be preserved, because otherwise a large-scale nonlinear mixed-integer problem needs to be solved, which implies a substantial increase of computational burden.
The critical point of the mixed-integer formulation is the problem size. The problem includes hundreds of variables and thousands of constraints even for modest design tasks. The problem size increases rapidly as more members and profiles as well as additional load cases are introduced, which, due to the nature of MILP problems, implies that the computational time will grow significantly. The multiple-bay multiple-story frame gives some indication of this. In some cases the genetic algorithm appears to be more efficient than the MILP approach. However, even if the computational time for finding and verifying the global optimum becomes prohibitively large, the MILP formulation can still be used for finding good designs. Moreover, the branch-and-bound method provides the optimality gap throughout the iterations. This information can be used to reduce the computational time by terminating the algorithm when the optimality gap becomes sufficiently small.
In order to draw definitive conclusions on the applicability of the MILP approach to practical design problems, the capabilities of the branch-and-cut method should be thoroughly studied in order to reduce the computational times. The convergence behavior depicted in Fig. 8 shows that while contemporary branch-and-cut algorithms are able to find feasible solutions (including the global optimum) relatively quickly, the improvement of the lower bound is rather slow. Consequently, further research efforts should be targeted at producing tighter relaxations of the MILP problem in order to obtain greater lower bounds more quickly. For this task, special-purpose cutting planes that efficiently exploit the specific mathematical structure of the MILP problem should be considered. Additionally, various case studies of actual design tasks should be treated. For a given design problem, engineering judgment and problem-specific additional constraints can often be employed to improve the solution process.
References
Arora J (2002) Methods for discrete variable structural optimization. In: Burns SA (ed) Recent Advances in Optimal Structural Design, pages 1–40. ASCE
Arora JS, Huang M-W (1996) Discrete structural optimization with commercially available sections. Structural Engineering/Earthquake Engineering 13:93–110
Arora JS, Wang Q (2005) Review of formulations for structural and mechanical system optimization. Struct Multidiscip Optim 30(4):251–272
Camp C, Pezeshk S, Guozhong C (1998) Optimized design of two-dimensional structures using a genetic algorithm. J Struct Eng 124(5):551–559
Camp CV, Bichon BJ, Stovall SP (2005) Design of steel frames using ant colony optimization. J Struct Eng 131(7):369–379
Carbas S (2016) Design optimization of steel frames using an enhanced firefly algorithm, Engineering Optimization, pp. 1–19
Chai S, Sun HC (1996) A relative difference quotient algorithm for discrete optimization. Struct Optim 12(1):46–56
Dolan ED, Moré JJ (2002) Benchmarking optimization software with performance profiles. Math Program 91(2):201–213
Farkas J (2005) Structural optimization as a harmony of design, fabrication and economy. Struct Multidiscip Optim 30:66–75
Faustino AM, Júdice JJ, Ribeiro IM, Neves AS (2006) An integer programming model for truss topology optimization. Investigação Operacional 26:111–127
Gandomi AH, Yang XS, Alavi AH (2011) Mixed variable structural optimization using firefly algorithm. Comput Struct 89(23):2325–2336
Gero MBP, Garcia AB, Diaz JJC (2006) Design optimization of 3d steel structures: genetic algorithms vs. classical techniques. J Constr Steel Res 62(12):1303–1309
Ghattas O, Grossmann IE (1991) MINLP and MILP strategies for discrete sizing structural optimization problems. In: Ural O, Wang TL (eds) Proceedings of the 10th Conference on Electronic Computation, pages 197–204. ASCE
Grossmann IE, Voudouris VT, Ghattas O (1992) Mixed-integer linear programming reformulations for some nonlinear discrete design optimization problems. In: Floudas CA, Pardalos PM (eds) Recent Advances in Global Optimization, pages 478–512. Princeton University Press
Gurobi Optimization Inc (2015) Gurobi optimizer reference manual
Hirota M, Kanno Y (2015) Optimal design of periodic frame structures with negative thermal expansion via mixed integer programming. Optim Eng 16(4):767–809
Huang M-W, Arora JS (1997) Optimal design of steel structures using standard sections. Struct Optim 14:24–35
Jivotovski G (2000) A gradient based heuristic algorithm and its application to discrete optimization of bar structures. Struct Multidiscip Optim 19(3):237–248
Juang DS, Chang WT (2006) A revised discrete lagrangian-based search algorithm for the optimal design of skeletal structures using available sections. Struct Multidiscip Optim 31(3):201– 210
Kanno Y, Guo X (2010) A mixed integer programming for robust truss topology optimization with stress constraints. Int J Numer Methods Eng 83(13):1675–1699
Kassimali A (1999) Matrix Analysis of Structures. Brooks/Cole Publishing Company, London
Kaveh A, Talatahari S (2010) An improved ant colony optimization for the design of planar steel frames. Eng Struct 32(3):864–873
Kazemzadeh Azad S, Hasancebi O (2015) Computationally efficient discrete sizing of steel frames via guided stochastic search heuristic. Comput Struct 156:12–28
Kripakaran P, Brian H, Abhinav G (2010) A genetic algorithm for design of moment-resisting steel frames. Struct Multidiscip Optim 32(3):559–574
Kureta R, Kanno Y (2014) A mixed integer programming approach to designing periodic frame structures with negative poissons ratio. Optim Eng 15(3):773–800
Mela K (2014) Resolving issues with member buckling in truss topology optimization using a mixed variable approach. Struct Multidiscip Optim 50(6):1037–1049
Nemhauser G, Wolsey L (1999) Integer and Combinatorial Optimization. Wiley
Rajeev S, Krishnamoorthy CS (1992) Discrete optimization of structures using genetic algorithms. J Struct Eng 118(5):1233– 1250
Rasmussen MH, Stolpe M (2008) Global optimization of discrete truss topology design problems using a parallel cut-and-branch method. Comput Struct 86(13):1527–1538
Rojas-Labanda S, Stolpe M (2015) Benchmarking optimization solvers for structural topology optimization. Struct Multidiscip Optim 52(3):527–547
Saka MP (2009) Optimum design of steel sway frames to bs5950 using harmony search algorithm. J Constr Steel Res 65(1):36– 43
Schevenels M, McGinn S, Rolvink A, Coenders J (2014) An optimality criteria based method for discrete design optimization taking into account buildability constraints. Struct Multidiscip Optim 50(5):755–774
Stolpe M (2007) On the refomulation of topology optimization problems as linear or convex quadratic mixed 0-1 programs. Optim Eng 8:163–192
Stolpe M, Svanberg K (2003) Modelling topology optimization problems as linear mixed 0-1 programs. Int J Numer Methods Eng 57:723–739
Talatahari S, Gandomi A H, Yang X-S, Deb S (2015) Optimum design of frame structures using the eagle strategy with differential evolution. Eng Struct 91:16–25
Thanedar PB, Vanderplaats GN (1995) Survey of discrete variable optimization for structural design. J Struct Eng 121:301–306
Togan V (2012) Design of planar steel frames using teaching-learning based optimization. Eng Struct 225 (8):34
Van Mellaert R, Schevenels M (2015) Global size optimization of statically determinate trusses considering displacement, member, and joint constraints. J Struct Eng 142(2):04015120
Venter G, Sobieszczanski-Sobieski J (2003) Particle swarm optimization. AIAA J 41(8):1583–1589
Wang Q, Arora JS (2006) Alternative formulations for structural optimization: An evaluation using frames. J Struct Eng 132(12):1880–1189
Wolsey L (1998) Integer Programming. Wiley
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Mixed-integer linear programming problem
1.1 A.1 Equilibrium equations
The nodal equilibrium is imposed by the equality constraints of (5). In this equation, B i is a 6 × n dof binary location matrix that maps the system degrees of freedom to the element degrees of freedom, T i is a 6 × 6 transformation matrix that accounts for the orientation of the element (Kassimali 1999), and f is the n dof × 1 nodal load vector. Element loads are taken into account as equivalent nodal loads in the nodal load vector f. R i is a 6 × 3 matrix giving the relation between the six member end forces as shown in Fig. 1, and the three independent force variables q ij (see (1)) as follows:
1.2 A.2 Member stiffness relations
In addition to nodal equilibrium, the material law and compatibility conditions are needed in structural analysis. For trusses, Hooke’s law and compatibility conditions can be written as a single equation, because the normal force is the only stress resultant appearing in the members (Rasmussen and Stolpe 2008). As frame members have three (6 in 3D) stress resultants in each node, altogether six (12 in 3D) force-displacement relations are needed. Thus, the relation between the member end forces and the nodal displacements can be written as:
where the matrix K ij assembles the first, third and sixth row of the element stiffness matrix:
where E is the Young’s modulus of the material, L i is the length of member i, and A ij and I ij are the section area and second moment of area of profile j for member i, respectively.
Equation (41) ensures that the force variables q ij become zero when profile j is not selected for member i (y ij = 0) and q ij = K ij T i B i u when profile j is selected for member i (y ij = 1).
In a regular finite element analysis, the global stiffness matrix K is assembled by replacing q ij in (5) with the expression given by (41). The resulting equilibrium equation can not be reformulated as a linear system of equations in terms of the design variables since the global stiffness matrix depends on the binary decision variables. Therefore, the linear nodal equilibrium, (5), and the member stiffness relation, (41), are adopted as separate constraints.
The member stiffness relation in (41) is nonlinear in terms of the design variables but it can be equivalently reformulated as a set of linear inequality constraints by introducing artificial upper and lower bounds (Rasmussen and Stolpe 2008) of (6). In this equation, the force variables become equal to q ij = K ij T i B i u when profile j is selected for member i (y ij = 1). When profile j is not selected for member i (y ij = 0), the force variables do not become zero but are bounded by \(\mathbf {K}_{ij}\mathbf {T}_{i}\mathbf {B}_{i}\mathbf {u}-\bar {\mathbf {q}}^{\prime }_{ij}\leqslant \mathbf {q}_{ij}\leqslant \mathbf {K}_{ij}\mathbf {T}_{i}\mathbf {B}_{i}\mathbf {u}-{\mathbf {\underline {q}}^{\prime }_{ij}}\). In order to ensure that the force variables become zero when profile j is not selected for member i, additional constraints given by (7) are introduced.
The artificial upper and lower bounds \(\bar {\mathbf {q}}^{\prime }_{ij}\) and \({\mathbf {\underline {q}}^{\prime }_{ij}}\) ensure that, when profile j is not selected for member i, the nodal displacements are not bounded by (6). Each element k of the artificial bound vectors is calculated as follows (Stolpe and Svanberg 2003):
where k r, ij represents row \(r\in \left \{1,3,6 \right \}\) of the element stiffness matrix K ij , and \(\mathbf {\underline {\mathbf {u}}}\) and \(\mathbf {\overline {\mathbf {u}}}\) are the prescribed minimum and maximum allowed nodal displacements, respectively. Equations. (42) and (43) are linear optimization problems with bound constraints, that can be solved without effort (Stolpe and Svanberg 2003).
1.3 A.3 Displacement vectors
1.4 A.4 Stress vectors
Appendix B: Detailed results for the portal frame
Appendix C: Detailed results for the three-bay three-story frame
Rights and permissions
About this article
Cite this article
Van Mellaert, R., Mela, K., Tiainen, T. et al. Mixed-integer linear programming approach for global discrete sizing optimization of frame structures. Struct Multidisc Optim 57, 579–593 (2018). https://doi.org/10.1007/s00158-017-1770-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00158-017-1770-9