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.
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.
The weights share 100 %: raising one lowers the other two.
Objectives
Steel mass , largest vertical deflection and number of different sections ; each of the design variables takes a size from the list .
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, ).
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, ), 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
- 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.
- 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/
- 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
- 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
- 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
- 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