Abstract
We consider the problem of designing lightweight load-bearing frame structures with additive manufacturability constraints. Specifically, we focus on mathematical programming approaches to finding exact globally optimal solutions, given a pre-specified discrete ground structure and continuous design element dimensions. We take advantage of stiffness matrix decomposition techniques and expand on some of the existing modeling approaches, including exact mixed-integer nonlinear programming and its mixed-integer linear programming restrictions. We propose a (non-convex) quadratic formulation using semi-continuous variables, motivated by recent progress in state-of-the-art quadratic solvers, and demonstrate how some additive-specific restrictions can be incorporated into mathematical optimization. While we show with numerical experiments that the proposed methods significantly reduce the required solution time for finding global optima compared to other formulations, we also observe that even with these new techniques and advanced computational resources, discrete modeling of frame structures remains a tremendously challenging problem.
Similar content being viewed by others
Abbreviations
- \(\mathbb {S}_{\text {dof}}\) :
-
Set of all degrees of freedom in the ground structure (\(3 \times \text {number of nodes}\))
- \(\mathbb {S}_\text {e}\) :
-
Set of all potential elements in ground structure
- \(\mathbb {S}_{n}\) :
-
Set of all nodes in the ground structure
- \(\mathcal {D}_{(k)}\) :
-
Set of all degrees of freedom on node k
- \(\mathcal {H}_{(k)}\) :
-
Set of elements in the neighbourhood of node k
- \(\mathcal {S}\) :
-
Set of all \((e_1,e_2)\) pairs with \(e_1,e_2 \in \mathbb {S}_e\) such that \(e_1\) may intersects \(e_2\)
- \(a_\text {max}\) :
-
Upper bound on \(a_e\) variable
- \(a_\text {min}\) :
-
Lower bound on \(a_e\) variable
- \(u_\text {max}\) :
-
Upper bound on displacement on each DoF
- \(l_{e}\) :
-
Preliminary length of beam element e
- \(\mathcal {N}_{(e)}\) :
-
\((n_1,n_2)\) pair of nodes with \(n_1,n_2 \in \mathbb {S}_n\) such that element e connects \(n_1\) and \(n_2\)
- \(\theta _{e}\) :
-
Angle between element e and horizontal line
- \(\mathbf {k}_e\) :
-
Stiffness matrix of element e
- b \(_{ei}\) :
-
Vectors to generate stiffness matrix for element e (\(i \in \{1, 2, 3\}\))
- K :
-
Structure’s stiffness matrix
- E :
-
Young modulus of elasticity
- d :
-
Number of all degrees of freedom in the structure
- \(p_j\) :
-
External load on degree of freedom j
- \(\mathbf {P}\) :
-
Vector of all external nodal loads in the structure
- \(\rho\) :
-
Density of the used material
- \(\mathbf {a}\) :
-
Vector of all elements’ cross-sectional area
- \(a_{e}\) :
-
Circular cross-sectional area of element e \(\in \mathbb {R}^{+}\)
- \(x_e\) :
-
Indicates the inclusion of beam element e in the resulted structure \(\in \{0,1\}\)
- \(x_{ec}\) :
-
Indicates that profile c is chosen for element e in the resulted structure \(\in \{0,1\}\)
- \(y_{k}\) :
-
Indicates the inclusion of node k in the resulted structure \(\in \{0,1\}\)
- \(I_e\) :
-
Moment of inertia of element e \(\in \mathbb {R}\)
- \(\mathbf {I}\) :
-
Vector of \(I_e\)s for all elements \(\in \mathbb {R}^{|\mathbb {S}_{e}|\times 1}\)
- \(u_j\) :
-
Displacement on degree of freedom j \(\in \mathbb {R}\)
- \(\mathbf {u}\) :
-
Vector of displacements on all DoF \(\in \mathbb {R}^{d\times 1}\)
References
Achtziger W, Stolpe M (2007) Truss topology optimization with discrete design variables–guaranteed global optimality and benchmark examples. Struct Multidisc Optim 34(1):1–20
Bendsoe MP, Sigmund O (2013) Topology optimization: theory, methods, and applications. Springer Science & Business Media, Berlin
Bollapragada S, Ghattas O, Hooker JN (2001) Optimal design of truss structures by logic-based branch and cut. Oper Res 49(1):42–51
Cansizoglu O, Harrysson OL, West HA, Cormier DR, Mahale T (2008) Applications of structural optimization in direct metal fabrication. Rapid Prototyp J
Castro PM (2015) Tightening piecewise mccormick relaxations for bilinear problems. Comput Chem Eng 72:300–311
Cerveira A, Agra A, Bastos F, Gromicho J (2013) A new branch and bound method for a discrete truss topology design problem. Comput Optim Appl 54(1):163–187
Chan CM (1992) An optimality criteria algorithm for tall steel building design using commercial standard sections. Struct Optim 5(1–2):26–29
Changizi N, Jalalpour M (2017a) Robust topology optimization of frame structures under geometric or material properties uncertainties. Struct Multidisc Optim 56(4):791–807
Changizi N, Jalalpour M (2017b) Stress-based topology optimization of steel-frame structures using members with standard cross sections: Gradient-based approach. J Struct Eng 143(8):04017078
Cui H, An H, Huang H (2018) Truss topology optimization considering local buckling constraints and restrictions on intersection and overlap of bar members. Struct Multidisc Optim 58(2):575–594
Deaton JD, Grandhi RV (2014) A survey of structural and multidisciplinary continuum topology optimization: post 2000. Struct Multidisc Optim 49(1):1–38
Dorn W (1964) Automatic design of optimal structures. J de Mec 3:25–52
Erbatur F, Hasançebi O, Tütüncü I, Kılıç H (2000) Optimal design of planar and space structures with genetic algorithms. Comput Struct 75(2):209–224
Eschenauer HA, Olhoff N (2001) Topology optimization of continuum structures: a review. Appl Mech Rev 54(4):331–390
Gorguluarslan RM, Gandhi UN, Song Y, Choi SK (2017) An improved lattice structure design optimization framework considering additive manufacturing constraints. Rapid Prototyp J
Grossmann I, Voudouris V, Ghattas O (2014) Mixed-integer linear programming reformulations for some nonlinear discrete design optimization problems. Princeton University Press, Princeton, pp 478–512. https://doi.org/10.1515/9781400862528.478
Gurobi Optimization L (2021) Gurobi optimizer reference manual. http://www.gurobi.com
Hart WE, Watson JP, Woodruff DL (2011) Pyomo: modeling and solving mathematical programs in python. Math Programm Comput 3(3):219–260
Hart WE, Laird CD, Watson JP, Woodruff DL, Hackebeil GA, Nicholson BL, Siirola JD (2017) Pyomo-optimization modeling in python, vol 67, 2nd edn. Springer Science & Business Media, Berlin
Hayashi K, Ohsaki M (2020) Reinforcement learning for optimum design of a plane frame under static loads. Eng Comput. https://doi.org/10.1007/s00366-019-00926-7
Kanno Y (2016) Mixed-integer second-order cone programming for global optimization of compliance of frame structure with discrete design variables. Struct Multidisc Optim 54(2):301–316
Kassimali A (2012) Matrix analysis of structures SI version. Cengage Learning, Boston
Kaveh A, Zolghadr A (2014) Comparison of nine meta-heuristic algorithms for optimal design of truss structures with frequency constraints. Adv Eng Softw 76:9–30
Klanšek U, Žula T, Kravanja Z, Kravanja S (2007) Minlp optimization of steel frames. Adv Steel Constr 3(3):689–705
Kočvara M, Outrata JV (2006) Effective reformulations of the truss topology design problem. Optim Eng 7(2):201–219
Kronqvist J, Bernal DE, Lundell A, Grossmann IE (2019) A review and comparison of solvers for convex minlp. Optimiz Eng 20(2):397–455
Kureta R, Kanno Y (2014) A mixed integer programming approach to designing periodic frame structures with negative poisson’s ratio. Optim Eng 15(3):773–800
Li Y, Chen Y (2010) Beam structure optimization for additive manufacturing based on principal stress lines. In: Solid freeform fabrication proceedings, pp 666–678
Liu J, Ma Y (2016) A survey of manufacturing oriented topology optimization methods. Adv Eng Softw 100:161–175
Liu J, Yu H (2020) Self-support topology optimization with horizontal overhangs for additive manufacturing. J Manuf Sci Eng 142(9):091003
Lobo MS, Vandenberghe L, Boyd S, Lebret H (1998) Applications of second-order cone programming. Linear Algebra Its Appl 284(1–3):193–228
Makrodimopoulos A, Bhaskar A, Keane AJ (2010) Second-order cone programming formulations for a class of problems in structural optimization. Struct Multidisc Optim 40(1–6):365
Michell AGM (1904) Lviii. the limits of economy of material in frame-structures. J Sci 8(47):589–597
Neumaier A, Shcherbina O, Huyer W, Vinkó T (2005) A comparison of complete global optimization solvers. Math Programm 103(2):335–356
Querin OM, Victoria M, Gordoa CA, Ansola R, Martí P (2017) Topology design methods for structural optimization. Butterworth-Heinemann, Oxford
Rasmussen M, Stolpe M (2008) Global optimization of discrete truss topology design problems using a parallel cut-and-branch method. Comput Struct 86(13–14):1527–1538
Sahinidis NV (2017) BARON 21.1.13: global optimization of mixed-integer nonlinear programs. User’s manual
Saka MP, Geem ZW (2013) Mathematical and metaheuristic applications in design optimization of steel frame structures: an extensive review. Math Prob Eng. https://doi.org/10.1155/2013/271031
Smith CJ, Gilbert M, Todd I, Derguti F (2016) Application of layout optimization to the design of additively manufactured metallic components. Struct Multidisc Optim 54(5):1297–1313
Smith EM, Pantelides CC (1999) A symbolic reformulation/spatial branch-and-bound algorithm for the global optimisation of nonconvex minlps. Comput Chem Eng 23(4–5):457–478
Stolpe M (2004) Global optimization of minimum weight truss topology problems with stress, displacement, and local buckling constraints using branch-and-bound. Int J Numer Methods Eng 61(8):1270–1309
Stolpe M (2007) On the reformulation of topology optimization problems as linear or convex quadratic mixed 0–1 programs. Optim Eng 8(2):163–192
Stolpe M (2016) Truss optimization with discrete design variables: a critical review. Struct Multidisc Optim 53(2):349–374
Stolpe M, Svanberg K (2003) Modelling topology optimization problems as linear mixed 0–1 programs. Int J Numer Methods Eng 57(5):723–739
Takezawa A, Nishiwaki S, Izui K, Yoshimura M (2007) Structural optimization based on topology optimization techniques using frame elements considering cross-sectional properties. Struct Multidisc Optim 34(1):41–60
Wang C, Qian X, Gerstler WD, Shubrooks J (2019) Boundary slope control in topology optimization for additive manufacturing: for self-support and surface roughness. J Manuf Sci Eng 141(9):091001
Wang D, Yang Y, Yi Z, Su X (2013) Research on the fabricating quality optimization of the overhanging surface in slm process. Int J Adv Manuf Technol 65(9–12):1471–1484
Wang X, Xu S, Zhou S, Xu W, Leary M, Choong P, Qian M, Brandt M, Xie YM (2016) Topological design and additive manufacturing of porous metals for bone scaffolds and orthopaedic implants: a review. Biomaterials 83:127–141
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Replication of results
To facilitate the replication of our results, we have shared all Pyomo, Gurobipy, and Python codes for all models as well as the ground structure generation codes in the first author’s Github account https://github.com/oguztoragay/AMmodels.
Additional information
Responsible Editor: Matthew Gilbert.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
Using the relations between displacement and external nodal loads from matrix analysis of the frame structures, we can define the stiffness matrix of each beam element in its local coordinate system as follow:
\(\mathbf {k}_e \in \mathrm{I\!R}^{6\times 6}\) is a symmetric positive definite matrix in which, \(a_e\) and \(I_e\) represents the two cross-sectional properties, namely area and moment of inertia, of the element e (Kassimali (2012)). In order to reduce the number of decision variables in our mathematical models, we can relate the moment of inertia for circular beams to their cross-sectional area as follows (\(r_e\) is the radius of element e):
Equilibrium state of the structure, where the internal forces and external nodal loads are balancing each other, can be illustrated in the model by using equilibrium equations:
Equation (A.3) represents d similar constraints in the mathematical model. In (A.3), \(\mathbf {K} \in \mathrm{I\!R}^{d \times d}\) is the global stiffness matrix of the structure. \(\mathbf {u}\) and \(\mathbf {P}\) are \(d\times 1\) vectors representing respectively, displacements and the external nodal loads on all degrees of freedom. Although we will explain it later in detail, it should be noted here that \(\mathbf {K}\) is constructed using the members’ stiffness matrices in a global coordinate system. Based on the boundary conditions, for some of the degrees of freedom j, \(u_j=0\) and for some degrees of freedom j, \(p_j\) is a variable representing reaction forces on the fixed nodes. Based on the mentioned boundary condition effects, we express each equation of (A.3) in the form of the constraints in mathematical models as follow:
We assume that external loads exist only on the end-nodes of the elements not along them. Loads also assumed to be concentrated dead loads which means they are deterministic,given, and do not change during the analysis. \(\mathbf {k}_e\) in (A.1), and as a consequence, \(\mathbf {K}\) in (A.3), include \(a_e\) and \(I_e\) which are decision variables in the model. In finite element analysis, to avoid matrix inversion in solving the system of equations in (A.3), usually different decomposition methods such as LU decomposition, Cholesky decomposition, or Singular Value Decomposition are used. Here, following the approach that (Stolpe and Svanberg 2003; Stolpe 2004; Rasmussen and Stolpe 2008; Kanno 2016) suggested, we decompose the stiffness matrices in (A.1). We define the following vectors together with the eigenvalues:
The member stiffness matrix in local coordinates can be obtained using the following matrix multiplication:
where \(\varvec{\hat{b}_{ez}}(\varvec{\hat{b}_{ez}^\top })\) represents the outer product of the two vectors \(\varvec{\hat{b}_{ez}} \in \mathrm{I\!R}^{6\times 1}\) and \(\varvec{\hat{b}_{ez}^\top } \in \mathrm{I\!R}^{1\times 6}\), which results in a matrix in \(\mathrm{I\!R}^{6\times 6}\). Using Eq. (A.2) we can replace \(I_e\) with \(a_e^2/4\pi\) and rewrite the decomposition in (A.7) as:
To be used in the construction of the structure’s stiffness matrix, vectors in (A.5) need to be transformed to global coordinates. Considering the geometry of each beam element, we define the following transformation matrices:
In which \(c=cos (\theta _e)\), \(s=sin (\theta _e)\). To assemble the global stiffness matrix of the structure, we define the element specified \(\mathbf {T}_e \in \mathrm{I\!R}^{6\times d}\) matrices. Each \(\mathbf {T}_e\) is a \(6\times d\) binary location matrix that relates the element’s degrees of freedom to the degrees of freedom in the structure. Consider element e which connects node 2 (degrees of freedom: \(\{4,5,6\}\)) and node 4 (degrees of freedom: \(\{10,11,12\}\)), the degrees of freedom of element e are: \(\{4,5,6,10,11,12\}\) and the \(\mathbf {T}_e\) matrix for this element can be defined as:
The following transformation of the \(\varvec{\hat{b_{e}}}\) matrices are used in the generating of equilibrium equations:
for which as mentioned before, \(\mathbf {T}_e^\top \in \mathrm{I\!R}^{d\times 6}\), \(\mathbf {Trans}_e^\top \in \mathrm{I\!R}^{6\times 6}\), and \(\varvec{\hat{b_e}} \in \mathrm{I\!R}^{6\times 1}\), therefore \(\mathbf {b_e} \in \mathrm{I\!R}^{d\times 1}\). Using these equations and values in (3.2), equation (A.4) can be written as (notice that \(\mathbf {b_{e1}}\wedge \mathbf {b_{e1}^\top }\) and \(\mathbf {b_{e2}}\wedge \mathbf {b_{e2}^\top }\) and \(\mathbf {b_{e3}}\wedge \mathbf {b_{e3}^\top } \in \mathrm{I\!R}^{d\times d}\) ):
In the above equation, the summation is the global stiffness matrix of the structure that was generated using the relations (A.5) through (A.9).
Rights and permissions
About this article
Cite this article
Toragay, O., Silva, D.F., Vinel, A. et al. Exact global optimization of frame structures for additive manufacturing. Struct Multidisc Optim 65, 97 (2022). https://doi.org/10.1007/s00158-022-03178-0
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00158-022-03178-0