Skip to content

Truss optimizer

A genetic algorithm sizes every member of a steel truss, trading steel mass against deflection and the number of different sections.

The run starts by itself: each dot on the front is a truss the genetic algorithm found. Set the weights beside it, or click a dot, to pick one.

100 kN

Different sections 1 16Orange: the picked design; click a ringed one to pick it yourselfGrey: the rest of the population, hollow if it fails a member check

Pick one design

Every design on the front is a fair trade-off: none is better in all three objectives. Say how much each one matters to you, and TOPSIS picks the design that fits best (orange), following the run as the front improves. Or click a design on the front to pick it yourself.

34 %
33 %
33 %

The weights share 100 %: raising one lowers the other two.

Objectives

min⁡x∈Sn  (m,  δmax,  ns)\min_{x\in S^{n}}\;\bigl(m,\;\delta_{\mathrm{max}},\;n_{\mathrm{s}}\bigr)
subject toNEd,i≤NRd,i\text{subject to}\quad N_{\mathrm{Ed},i}\le N_{\mathrm{Rd},i}

Steel mass mm, largest vertical deflection δmax\delta_{\mathrm{max}} and number of different sections nsn_{\mathrm{s}}; each of the nn design variables takes a size from the list SS.

Hypervolume

0.000

How much of the space of the three objectives the front covers, generation by generation; it rises as the front improves.

Method

Each member gets a hot-finished circular hollow section from a list of 16, in S355 steel. A linear-elastic analysis of the pin-jointed truss gives the member forces and deflections, and each member is checked to EN 1993-1-1: yielding in tension, flexural buckling in compression (curve a, pinned ends, γM0=γM1=1.0\gamma_{\mathrm{M0}}=\gamma_{\mathrm{M1}}=1.0).

NSGA-II (Deb et al. 2002) searches the three objectives at once. Constrained domination ranks every design that passes the checks above every design that fails, and failing ones by how far they fail. Children come from binary tournaments, simulated binary crossover and polynomial mutation, rounded to the list; repeated designs are retried. The first population includes the 16 designs that use one size throughout, so the one-section end of the front is there from the start.

To pick one design from the front, the weights rank it by TOPSIS (closeness to the ideal design) or VIKOR (a compromise of group utility and the worst single criterion, v=0.5v=0.5), both on the three objectives as costs (Opricovic and Tzeng 2004).

Hypervolume measures the front: the share of the box from the lightest to the heaviest design, the stiffest to the most flexible, and 1 to 17 sections, that the front dominates. NSGA-II keeps a spread rather than the largest volume, so it can dip slightly between generations.

Assumptions and limits

Pin-jointed, linear elastic, small displacements. Self-weight, connections, joint eccentricities and out-of-plane stability are left out. The load is one design value per loaded node, and the deflection is reported under the same load.

Section properties come from the nominal diameter and wall; check sizes against a manufacturer’s table. National annexes may set other partial factors.

The cantilever uses the layout of the classic 10-bar truss with steel tubes and 5 m bays, so its numbers don’t compare with published results for that problem. A research demo, not a design check.

Cite

@software{guven_truss_sizing,
  author = {Güven, Murat},
  title  = {Truss optimizer},
  year   = {2026},
  url    = {https://likemaestro.github.io/tools/truss-sizing}
}

References

  1. CEN (2005). EN 1993-1-1: Eurocode 3: Design of steel structures – Part 1-1: General rules and rules for buildings. European Committee for Standardization.
  2. Deb, K., & Agrawal, R. B. (1995). Simulated binary crossover for continuous search space. Complex Systems, 9(2), 115–148. www.complex-systems.com/abstracts/v09_i02_a02/
  3. Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2), 182–197. doi:10.1109/4235.996017
  4. Hwang, C.-L., & Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications – A State-of-the-Art Survey. Springer. doi:10.1007/978-3-642-48318-9
  5. Opricovic, S., & Tzeng, G.-H. (2004). Compromise solution by MCDM methods: A comparative analysis of VIKOR and TOPSIS. European Journal of Operational Research, 156(2), 445–455. doi:10.1016/S0377-2217(03)00020-1
  6. Zitzler, E., & Thiele, L. (1999). Multiobjective evolutionary algorithms: A comparative case study and the strength Pareto approach. IEEE Transactions on Evolutionary Computation, 3(4), 257–271. doi:10.1109/4235.797969