# Large-Scale Truss-Sizing Optimization with Enhanced Hybrid HS Algorithm
## 4 Test Problems and Optimization Results
### Implementation of the LSSO-HHSIA Algorithm and Comparison with Other Optimizers  
The proposed algorithm was implemented in the Fortran programming language. A standard Fortran compiler was utilized for this purpose. The finite element analyses of truss structures entailed by optimization runs were performed by means of another Fortran routine developed by the authors. The linear system \(\{F\}=[K][u]\) formed by nodal forces, global stiffness matrix and nodal displacements for each loading condition was solved by inverting the stiffness matrix \([K]\) with a classical matrix triangularization algorithm. The main program perturbs design as explained in Section 3 and calls the structural analysis routine each time a new trial solution has to be evaluated. The optimized designs of LSSO-HHSIA were compared with the best solutions quoted in the literature for each test problem. In particular, the following algorithms were considered: (i) other HS variants such as the hybrid HS algorithms with line search strategy of Refs. [51; 53], the adaptive HS (AHS) algorithm of Ref. [38], the self-adaptive HS (SAHS) algorithm of Ref. [39]; (ii) other JAYA variants like the improved and parameterless JAYA algorithms of Refs. [54; 55; 56]; (iii) the multi-level and multi-point simulated annealing (CMLPSA) of Ref. [51] and the hybrid fast simulated annealing (HFSA) of Ref. [53]; (iv) the hybrid big bang-big crunch (hybrid BBBC) algorithms with line search strategies of Refs. [51; 53]; (v) the BBBC algorithm with upper bound search strategy (BBBC-UBS) of Ref. [57]; (vi) the sinusoidal differential evolution (SinDE) algorithm of Ref. [58]; (vii) the SQP optimization routine of MATLAB [59] and the SQP/SLP optimization routines of DOT [60]. The selected metaheuristic algorithms are similar to LSSO-HHSIA because they include parameter adaptation and strategies to generate trial designs in all likelihood better than the current candidate solutions stored in the population. SQP (sequential quadratic programming) and SLP (sequential linear programming), respectively, are the best and the simplest gradient-based optimization algorithms and hence turn very useful in evaluating how fast LSSO-HHSIA reduces structural weight or constraint violation once the initial population is given. All algorithms were coded in the Fortran programming language following the indications given in literature by their developers in order to have a homogeneous basis of comparison with LSSO-HHSJA. Commercial optimizers were executed in their recommended software environments. When SLP/SQP could not directly provide a good design for some test problem, they were alternatively executed in a cascade optimization. For each population size, twenty independent optimization runs starting from different populations were performed for LSSO-HHSJA and the other metaheuristic optimizers in order to account for their stochastic nature. Initial points selected for CMLPSA, SQP and SLP coincided with the best/average/worst designs included in the initial populations generated for each independent run of LSSO-HHSJA. Uniform initial designs with sizing variables all set to their upper or lower bounds also were considered for gradient-based optimization. The population size of LSSO-HHSJA was determined from sensitivity analysis while, for adaptive HS [38; 39], BBBC-UBS [57] and sinDE [58], it was set as \(N_{\text{TOP}}\) = 20 or 50 to limit the theoretical computational cost of these algorithms to \(N_{\text{TOP}}\times ITER_{\text{max}}\) structural analyses. The latter values are fully consistent with the population size values indicated in the above-mentioned references. The \(N_{\text{TOP}}\) = 20 value was also chosen for improved/parameterless JAYA, actually insensitive to population size in truss optimization problems (see results reported in Refs. [54; 55; 56]). It should be noted that the parameterless JAYA algorithm of Ref.