Skip to main content
Log in

Exact global optimization of frame structures for additive manufacturing

  • Research Paper
  • Published:
Structural and Multidisciplinary Optimization Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Chan CM (1992) An optimality criteria algorithm for tall steel building design using commercial standard sections. Struct Optim 5(1–2):26–29

    Article  Google Scholar 

  • Changizi N, Jalalpour M (2017a) Robust topology optimization of frame structures under geometric or material properties uncertainties. Struct Multidisc Optim 56(4):791–807

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Deaton JD, Grandhi RV (2014) A survey of structural and multidisciplinary continuum topology optimization: post 2000. Struct Multidisc Optim 49(1):1–38

    Article  MathSciNet  Google Scholar 

  • Dorn W (1964) Automatic design of optimal structures. J de Mec 3:25–52

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Eschenauer HA, Olhoff N (2001) Topology optimization of continuum structures: a review. Appl Mech Rev 54(4):331–390

    Article  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Book  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Kassimali A (2012) Matrix analysis of structures SI version. Cengage Learning, Boston

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Klanšek U, Žula T, Kravanja Z, Kravanja S (2007) Minlp optimization of steel frames. Adv Steel Constr 3(3):689–705

    MATH  Google Scholar 

  • Kočvara M, Outrata JV (2006) Effective reformulations of the truss topology design problem. Optim Eng 7(2):201–219

    Article  MathSciNet  Google Scholar 

  • Kronqvist J, Bernal DE, Lundell A, Grossmann IE (2019) A review and comparison of solvers for convex minlp. Optimiz Eng 20(2):397–455

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Liu J, Yu H (2020) Self-support topology optimization with horizontal overhangs for additive manufacturing. J Manuf Sci Eng 142(9):091003

    Article  Google Scholar 

  • Lobo MS, Vandenberghe L, Boyd S, Lebret H (1998) Applications of second-order cone programming. Linear Algebra Its Appl 284(1–3):193–228

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Michell AGM (1904) Lviii. the limits of economy of material in frame-structures. J Sci 8(47):589–597

    MATH  Google Scholar 

  • Neumaier A, Shcherbina O, Huyer W, Vinkó T (2005) A comparison of complete global optimization solvers. Math Programm 103(2):335–356

    Article  MathSciNet  Google Scholar 

  • Querin OM, Victoria M, Gordoa CA, Ansola R, Martí P (2017) Topology design methods for structural optimization. Butterworth-Heinemann, Oxford

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Stolpe M (2016) Truss optimization with discrete design variables: a critical review. Struct Multidisc Optim 53(2):349–374

    Article  MathSciNet  Google Scholar 

  • Stolpe M, Svanberg K (2003) Modelling topology optimization problems as linear mixed 0–1 programs. Int J Numer Methods Eng 57(5):723–739

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oguz Toragay.

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:

(A.1)

\(\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):

$$\begin{aligned} I_e = \frac{\pi r_e^4}{4} = \frac{a_e^2}{4\pi } \end{aligned}$$
(A.2)

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:

$$\begin{aligned} \mathbf {K}(\mathbf {a},\mathbf {I})\mathbf {u} = \mathbf {P} \end{aligned}$$
(A.3)

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:

$$\begin{aligned} \sum _{j=1}^d \mathbf {K}_{ij}u_j = p_i \qquad \forall i \in \mathbb {S}_{\text {dof}} \end{aligned}$$
(A.4)

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:

(A.5)
$$\begin{aligned}&k_{e1} = \frac{a_e E}{l_e}, \quad k_{e2} = \frac{3I_e E}{l_e}, \;k_{e3} = \frac{I_e E}{l_e} \end{aligned}$$
(A.6)

The member stiffness matrix in local coordinates can be obtained using the following matrix multiplication:

$$\begin{aligned} \mathbf {k}_e = \sum _{z=1}^{3} k_{ez}\varvec{\hat{b}_{ez}}\big (\varvec{\hat{b}_{ez}^\top }\big ) \end{aligned}$$
(A.7)

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:

$$\begin{aligned} \mathbf {k}_e = \frac{a_e E}{l_e}\varvec{\hat{b}_{e1}}\big (\varvec{\hat{b}_{e1}^\top }\big ) + \frac{3a_e^2 E}{4\pi l_e}\varvec{\hat{b}_{e2}}\big (\varvec{\hat{b}_{e2}^\top }\big ) + \frac{a_e^2 E}{4\pi l_e}\varvec{\hat{b}_{e3}}\big (\varvec{\hat{b}_{e3}^\top }\big ) \end{aligned}$$
(A.8)

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:

$$\begin{aligned} \mathbf {b_{e}} = \mathbf {T}_e^\top \times \mathbf {Trans}_e^\top \times \varvec{\hat{b}_{e}} \end{aligned}$$
(A.9)

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}\) ):

$$\left( \sum _{e \in \mathbb {S}_e} k_{e1}\mathbf {b_{e1}}(\mathbf {b_{e1}^\top )} + k_{e2}\mathbf {b_{e2}}(\mathbf {b_{e2}^\top )} + k_{e3}\mathbf {b_{e3}}(\mathbf {b_{e3}^\top })\right) _{i} \mathbf {u} = p_i \,\, \forall i \in \mathbb {S}_{\text {dof}}$$
(A.10)

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00158-022-03178-0

Keywords

Navigation