Edited by: Marios C. Phocas, University of Cyprus, Cyprus
Reviewed by: Francesco Tornabene, University of Salento, Italy; Aristotelis E. Charalampakis, University of West Attica, Greece
This article was submitted to Computational Methods in Structural Engineering, a section of the journal Frontiers in Built Environment
This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
Differential evolution (DE) is a population-based metaheuristic search algorithm that optimizes a problem by iteratively improving a candidate solution based on an evolutionary process. Such algorithms make few or no assumptions about the underlying optimization problem and can quickly explore very large design spaces. DE is arguably one of the most versatile and stable population-based search algorithms that exhibits robustness to multi-modal problems. In the field of structural engineering, most practical optimization problems are associated with one or several behavioral constraints. Constrained optimization problems are quite challenging to solve due to their complexity and high nonlinearity. In this work we examine the performance of several DE variants, namely the standard DE, the composite DE (CODE), the adaptive DE with optional external archive (JADE) and the self-adaptive DE (JDE and SADE), for handling constrained structural optimization problems associated with truss structures. The performance of each DE variant is evaluated by using five well-known benchmark structures in 2D and 3D. The evaluation is done on the basis of final optimum result and the rate of convergence. Valuable conclusions are obtained from the statistical analysis which can help a structural engineer in practice to choose the suitable algorithm for such kind of problems.
The optimization of structures has been a topic of great interest for both scientists and engineering professionals, especially in recent years. Metaheuristic search algorithms are widely accepted as efficient approaches for handling difficult optimization problems. Such algorithms are designed for solving a wide range of optimization problems in an approximate way, without having to adapt explicitly to every single problem. Moreover, they can be generally applied to problems for which there exists no satisfactory problem-specific algorithm.
In recent years differential evolution (DE) (Storn and Price,
The main advantage of standard DE is the fact that it has only three control parameters that one needs to adjust. The performance of DE in a specific optimization problem depends largely on both the trial vector generation scheme and the choice of the control parameters. First, one needs to choose the trial vector generation scheme and then to adjust the control parameters for the optimization problem in order to achieve good optimization results. Finding the right values of the control parameters is not always easy and can become time consuming and difficult especially for specific hard problems. This has led the researchers to study and develop new advanced DE variants that exhibit adaptive and self-adaptive control parameters. In the case of adaptive parameter control (Eiben et al.,
Shukla et al. (
In the present study, we investigate the performance of five popular DE variants in dealing with constrained structural optimization problems. More specific the following five problems are considered:
The standard differential evolution (DE) (Storn and Price,
The composite differential evolution (CODE) (Wang et al.,
The self-adaptive control parameters differential evolution (JDE) (Brest et al.,
The adaptive differential evolution with optional external archive (JADE) (Zhang and Sanderson,
The self-adaptive differential evolution (SADE) (Qin et al.,
We examine the performance of each algorithm in five structural optimization problems, three plane and two space truss benchmark structures where the objective is to minimize the structural weight subject to constraints on stresses and displacements.
The remainder of the paper is organized as follows. The second section contains the problem definition and the constraint handling scheme. Section 3 describes the standard DE, the most frequently used mutation schemes and the other four DE variants examined in the study. The numerical examples, the relevant results and a discussion on them are presented in section 4. Section 5 discusses the conclusions of the work.
Many problems in structural engineering involve often dealing with a large number of design parameters which can affect the performance of the system. The design and testing of civil engineering structures requires often an iterative process with proper adjustment of the parameters, that can be hard and time consuming. Design optimization offers solutions to this problem by changing the design parameters in an organized and automated manner in an effort to reach an optimal solution. The target of the optimization is usually the minimization of a cost function.
In sizing structural optimization problems, the objective is associated with the minimization of the weight of the structure under some behavioral constraints that have usually to do with displacements and stresses. The design parameters have to do with the dimensions of the cross sections of the structural members. The present study is focused on 2D and 3D truss structures and the design variables are continuous representing the cross-sectional areas of the members of the structure. For such problems the objective function is usually the weight (or mass) of the structure and the problem is formulated as follows:
where
A common practice for dealing with an optimization problem that includes inequality constraints is the use of a penalty function. Such functions can be used to transform the original constrained problem to an unconstrained one. This has been a popular approach for dealing with such problems because it is simple and rather easy to implement. In the present study, the following penalty formulation is used to handle the optimization problem constraints:
where
DE is a popular optimization method used for multidimensional real-valued functions which uses a population of individual solutions. The method does not require gradient information, which means that the optimization problem does not need to be differentiable. The algorithm searches the design space by maintaining a population of candidate solutions (individuals) and creating new solutions by combining existing ones according to a specific process. The candidates with the best objective values are kept in the next iteration of the algorithm in a manner that the new objective value of an individual is improved forming consequently part of the population, otherwise the new objective value is discarded. The process repeats itself until a given termination criterion is satisfied.
Let
Pseudocode of DE.
In every generation (iteration)
where the indices
The main advantage of DE is the fact that it has only three control parameters that the user of the algorithm needs to adjust. These include the population size
Studies have shown that both the control parameters and the schemes for the trial vector generation can have a significant influence on the algorithm's performance. Different trial vector generation schemes and control parameters can be therefore combined to improve the performance of the optimization process for different kinds of problems. Mallipeddi et al. (
Pseudocode of CODE.
Composite DE (CODE) (Wang et al.,
In each generation, three trial vectors are generated for each target vector as follows: each of the three trial vector generation schemes is combined with a control parameter setting from the relevant pool, in a random manner. If the best one of the three is better than its target vector, then it enters the next generation. The pseudocode of the method is presented in Algorithm 2.
The standard DE algorithm includes a set of parameters that are kept fixed throughout the optimization process. These parameters would need to be adjusted for every single optimization problem in order to ensure optimal performance. Some researchers have claimed that the DE parameters are not so difficult to set manually (Storn and Price,
JDE features self-adaptive control parameter settings and has shown acceptable performance on benchmark problems (Brest et al.,
where
The selection of the values of the mutation factor (
JADE was proposed to improve the performance of the standard DE by implementing a new mutation scheme which updates control parameters in an adaptive way. The method introduces a new mutation scheme denoted as “DE/current-to-pbest” with an optional external archive. The algorithm, as described in Zhang and Sanderson (
In the “DE/current-to-pbest/1” scheme (without archive), a mutation vector is generated as follows:
Where
Where
In SADE, both the trial vector generation schemes and their associated control parameter values can be gradually self-adapted according to their previous experiences of generating promising solutions (Qin et al.,
In the beginning, all schemes have an equal probability to be selected, i.e., the probabilities with respect to each scheme are initialized as 1/
To adapt the
The performance of each of the five optimization algorithms (the standard DE and the four DE variants) is examined in five well-known benchmark structural engineering test examples. The characteristics of each test example is given in
Characteristics of the five test problems.
25-bar space truss | 3D | 25 | 10 | 30 | 8 |
10-bar plane truss | 2D | 10 | 6 | 12 | 10 |
72-bar space truss | 3D | 72 | 20 | 60 | 16 |
17-bar plane truss | 2D | 17 | 9 | 18 | 17 |
200-bar plane truss | 2D | 200 | 77 | 154 | 29 |
For all test examples the objective is the minimization of the structural weight under constraints on stresses and displacements. The parameters of the optimization algorithms are the following: population size
The first test example is a 25-member space truss. The geometry of the structure is shown in
25-bar space truss
25-bar space truss: Load cases (loads in kips).
1 | 1.0 | 10.0 | −5.0 | 0.0 | 20.0 | −5.0 |
2 | 0.0 | 10.0 | −5.0 | 0.0 | −20.0 | −5.0 |
3 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
6 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
25-bar space truss: allowable stresses for each design group.
1 | 1 | 40 | −35.092 |
2 | 2–5 | 40 | −11.590 |
3 | 6–9 | 40 | −17.305 |
4 | 10,11 | 40 | −35.092 |
5 | 12,13 | 40 | −35.092 |
6 | 14–17 | 40 | −6.759 |
7 | 18–21 | 40 | −6.759 |
8 | 22–25 | 40 | −11.082 |
Algorithms' statistical parameters for the 25-bar space truss problem.
1 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
2 | 1.9324 | 1.9324 | 1.9325 | 1.9324 | 1.9325 | |||||
3 | 2.9853 | 2.9853 | 2.9850 | 2.9853 | 2.9850 | |||||
4 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
5 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
6 | 0.6842 | 0.6842 | 0.6842 | 0.6842 | 0.6843 | |||||
7 | 1.7343 | 1.7343 | 1.7343 | 1.7343 | 1.7343 | |||||
8 | 2.6513 | 2.6513 | 2.6513 | 2.6513 | 2.6512 | |||||
545.555 | 545.555 | 545.555 | 545.555 | 545.555 | 545.606 | 545.555 | 545.555 | 545.555 | 546.143 | |
545.555 ± 0.000 | 545.555 ± 0.000 | 545.559 ± 0.010 | 545.555 ± 0.000 | 545.613 ± 0.122 | ||||||
545.555 | 6.67E-11 | 545.555 | 2.12E-16 | 545.555 | 1.92E-05 | 545.555 | 2.12E-16 | 545.566 | 2.24E-04 |
The second test example is the standard benchmark 10-bar plane truss problem. The geometry of the structure is shown in
10-bar plane truss
Algorithms' statistical parameters for the 10-bar plane truss problem.
1 | 30.5217 | 30.5218 | 30.5092 | 30.5218 | 30.6380 | |||||
2 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
3 | 23.1985 | 23.1999 | 23.1746 | 23.1999 | 23.2223 | |||||
4 | 15.2235 | 15.2229 | 15.2324 | 15.2229 | 15.1815 | |||||
5 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
6 | 0.5511 | 0.5514 | 0.5494 | 0.5514 | 0.5500 | |||||
7 | 7.4574 | 7.4572 | 7.4623 | 7.4572 | 7.4511 | |||||
8 | 21.0370 | 21.0364 | 21.0647 | 21.0364 | 20.9647 | |||||
9 | 21.5285 | 21.5284 | 21.5166 | 21.5284 | 21.5392 | |||||
10 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
5060.854 | 5060.898 | 5060.854 | 5060.854 | 5060.858 | 5076.674 | 5060.854 | 5061.372 | 5060.887 | 5079.279 | |
5060.862 ± 0.012 | 5060.854 ± 0.000 | 5061.444 ± 2.877 | 5060.886 ± 0.102 | 5064.092 ± 6.151 | ||||||
5060.856 | 2.47E-06 | 5060.854 | 2.12E-11 | 5060.902 | 5.68E-04 | 5060.854 | 2.02E-05 | 5061.292 | 1.21E-03 |
72-bar space truss
Again,
Algorithms' statistical parameters for the 72-bar space truss problem.
1 | 1.8836 | 1.8873 | 1.8920 | 1.8868 | 1.8671 | |||||
2 | 0.5172 | 0.5169 | 0.5172 | 0.5168 | 0.5192 | |||||
3 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
4 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
5 | 1.2870 | 1.2901 | 1.2867 | 1.2943 | 1.2917 | |||||
6 | 0.5177 | 0.5166 | 0.5174 | 0.5171 | 0.5150 | |||||
7 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
8 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
9 | 0.5224 | 0.5214 | 0.5236 | 0.5248 | 0.5141 | |||||
10 | 0.5176 | 0.5184 | 0.5176 | 0.5191 | 0.5196 | |||||
11 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | 0.0100 | |||||
12 | 0.1153 | 0.1141 | 0.1174 | 0.1111 | 0.0999 | |||||
13 | 0.1663 | 0.1665 | 0.1661 | 0.1668 | 0.1679 | |||||
14 | 0.5359 | 0.5363 | 0.5355 | 0.5348 | 0.5417 | |||||
15 | 0.4464 | 0.4455 | 0.4452 | 0.4464 | 0.4487 | |||||
16 | 0.5773 | 0.5759 | 0.5724 | 0.5739 | 0.5809 | |||||
363.825 | 363.893 | 363.824 | 363.835 | 363.826 | 363.908 | 363.826 | 364.026 | 363.862 | 365.665 | |
363.839 ± 0.013 | 363.826 ± 0.003 | 363.845 ± 0.019 | 363.859 ± 0.051 | 364.145 ± 0.378 | ||||||
363.836 | 3.62E-05 | 363.825 | 6.89E-06 | 363.840 | 5.24E-05 | 363.839 | 1.40E-04 | 363.987 | 1.04E-03 |
The fourth test example is a 17-bar plane truss. The geometry of the structure is shown in
17-bar plane truss
JADE is the fastest algorithm to converge, as shown in
Algorithms' statistical parameters for the 17-bar plane truss problem.
1 | 15.9247 | 15.9220 | 15.9334 | 15.9444 | 16.0150 | |||||
2 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1029 | |||||
3 | 12.0678 | 12.0751 | 12.0650 | 12.0607 | 12.1435 | |||||
4 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
5 | 8.0542 | 8.0728 | 8.0616 | 8.0598 | 8.2137 | |||||
6 | 5.5646 | 5.5607 | 5.5598 | 5.5613 | 5.2921 | |||||
7 | 11.9416 | 11.9277 | 11.9116 | 11.9377 | 12.0136 | |||||
8 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
9 | 7.9393 | 7.9419 | 7.9789 | 7.9439 | 7.9410 | |||||
10 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
11 | 4.0570 | 4.0535 | 4.0585 | 4.0515 | 4.0535 | |||||
12 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | |||||
13 | 5.6488 | 5.6603 | 5.6558 | 5.6535 | 5.6138 | |||||
14 | 3.9925 | 4.0017 | 3.9987 | 4.0024 | 4.0490 | |||||
15 | 5.5652 | 5.5600 | 5.5523 | 5.5600 | 5.5988 | |||||
16 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.1104 | |||||
17 | 5.5928 | 5.5779 | 5.5819 | 5.5800 | 5.5517 | |||||
2581.893 | 2581.949 | 2581.890 | 2581.898 | 2581.895 | 2582.033 | 2581.890 | 2582.048 | 2582.578 | 2670.458 | |
2581.909 ± 0.013 | 2581.893 ± 0.002 | 2581.925 ± 0.030 | 2581.909 ± 0.030 | 2605.089 ± 21.226 | ||||||
2581.907 | 5.06E-06 | 2581.893 | 8.12E-07 | 2581.915 | 1.16E-05 | 2581.899 | 1.17E-05 | 2600.607 | 8.15E-03 |
The fifth example is a space truss consisting of 200 members. The geometry of the structure is shown in
200-bar plane truss
The members of the structure are divided into 29 groups in total, as shown in
200-bar space truss: Design variable groups.
1 | 1, 2, 3, 4 |
2 | 5, 8, 11, 14, 17 |
3 | 19, 20, 21, 22, 23, 24 |
4 | 18, 25, 56, 63, 94, 101, 132, |
139, 170, 177 | |
5 | 26, 29, 32, 35, 38 |
6 | 6, 7, 9, 10, 12, 13, 15, 16, 27, |
28, 30, 31, 33, 34, 36, 37 | |
7 | 39, 40, 41, 42 |
8 | 43, 46, 49, 52, 55 |
9 | 57, 58, 59, 60, 61, 62 |
10 | 64, 67, 70, 73, 76 |
11 | 44, 45, 47, 48, 50, 51, 53, 54, |
65, 66, 68, 69, 71, 72, 74, 75 | |
12 | 77, 78, 79, 80 |
13 | 81, 84, 87, 90, 93 |
14 | 95, 96, 97, 98, 99, 100 |
15 | 102, 105, 108, 111, 114 |
16 | 82, 83, 85, 86, 88, 89, 91, 92, 103, |
104, 106, 107, 109, 110, 112, 113 | |
17 | 115, 116, 117, 118 |
18 | 119, 122, 125, 128, 131 |
19 | 133, 134, 135, 136, 137, 138 |
20 | 140, 143, 146, 149, 152 |
21 | 120, 121, 123, 124, 126, 127, 129, 130, |
141, 142, 144, 145, 147, 148, 150, 151 | |
22 | 153, 154, 155, 156 |
23 | 157, 160, 163, 166, 169 |
24 | 171, 172, 173, 174, 175, 176 |
25 | 178, 181, 184, 187, 190 |
26 | 158, 159, 161, 162, 164, 165, 167, 168, |
179, 180, 182, 183, 185, 186, 188, 189 | |
27 | 191, 192, 193, 194 |
28 | 195, 197, 198, 200 |
29 | 196, 199 |
The convergence history of the various DE methods is shown in
In this problem, JADE is again the fastest algorithm to converge to the final result, followed by JDE.
Algorithms' statistical parameters for the 200-bar plane truss problem.
1 | 0.1441 | 0.1521 | 0.1340 | 0.1075 | 0.1306 | |||||
2 | 0.9385 | 0.9443 | 0.9417 | 1.0709 | 0.9241 | |||||
3 | 0.1033 | 0.1003 | 0.1021 | 0.100 | 0.1474 | |||||
4 | 0.1001 | 0.1001 | 0.1003 | 0.1000 | 0.1000 | |||||
5 | 1.9385 | 1.9420 | 1.9434 | 1.9700 | 1.9241 | |||||
6 | 0.3006 | 0.3019 | 0.2948 | 0.2712 | 0.3086 | |||||
7 | 0.1272 | 0.1043 | 0.1365 | 0.1275 | 0.1095 | |||||
8 | 3.1152 | 3.1276 | 3.1028 | 3.0277 | 3.1119 | |||||
9 | 0.1033 | 0.1052 | 0.1255 | 0.2896 | 0.1003 | |||||
10 | 4.1154 | 4.1262 | 4.1021 | 4.0299 | 4.1119 | |||||
11 | 0.4231 | 0.4144 | 0.4273 | 0.4731 | 0.4123 | |||||
12 | 0.1442 | 0.1283 | 0.1034 | 0.1014 | 0.1772 | |||||
13 | 5.4695 | 5.4412 | 5.4106 | 5.3787 | 5.3972 | |||||
14 | 0.1055 | 0.1718 | 0.1527 | 0.1992 | 0.3181 | |||||
15 | 6.4696 | 6.441 | 6.4171 | 6.3758 | 6.3971 | |||||
16 | 0.5638 | 0.5894 | 0.5622 | 0.5847 | 0.6827 | |||||
17 | 0.1486 | 0.1786 | 0.3149 | 0.1832 | 0.2080 | |||||
18 | 7.9994 | 8.018 | 7.9494 | 7.9057 | 8.1121 | |||||
19 | 0.1052 | 0.1419 | 0.2886 | 0.1489 | 0.1481 | |||||
20 | 8.9995 | 9.0167 | 8.9541 | 8.9067 | 9.1119 | |||||
21 | 0.7336 | 0.7937 | 0.9325 | 0.7762 | 0.8681 | |||||
22 | 0.8221 | 0.5624 | 0.2133 | 0.4346 | 0.7341 | |||||
23 | 11.1663 | 11.1755 | 11.1696 | 10.8659 | 11.5626 | |||||
24 | 0.1109 | 0.1405 | 0.1037 | 0.1000 | 0.3027 | |||||
25 | 12.1669 | 12.1750 | 12.1457 | 11.8743 | 12.5632 | |||||
26 | 1.3310 | 1.2286 | 1.0143 | 1.0750 | 1.5131 | |||||
27 | 5.5193 | 5.6929 | 6.2548 | 6.2908 | 4.6757 | |||||
28 | 10.1646 | 10.2696 | 10.5478 | 11.2671 | 9.5501 | |||||
29 | 14.4981 | 14.3823 | 14.1036 | 13.8505 | 15.1318 | |||||
25505.765 | 26160.407 | 25523.011 | 25919.182 | 25579.000 | 26541.229 | 25659.736 | 26813.984 | 25734.695 | 27636.608 | |
25715.962 ± 185.129 | 25716.826 ± 120.334 | 25867.595 ± 191.068 | 26175.928 ± 301.066 | 26556.821 ± 518.116 | ||||||
25688.199 | 7.20E-03 | 25728.346 | 4.68E-03 | 25847.327 | 7.39E-03 | 26165.435 | 1.15E-02 | 26522.826 | 1.95E-02 |
The convergence history plots show that in all problems, JADE converges faster to the final result, followed by JDE and DE which exhibit similar performance with each other in terms of convergence speed. It appears that in the JADE algorithm, the parameter adaptation is beneficial in accelerating the convergence performance of DE by automatically updating the control parameters during the optimization search. This has effect even in the very first iterations of the algorithm, making JADE clearly stand out from the other variants, from the beginning of the search process. CODE exhibits the slowest convergence performance among the five algorithms. All algorithms manage to reach the final result with efficient accuracy in most of the optimization runs. CODE shows the most robust performance among all algorithms as it manages to find the same solution in almost all the optimization runs, with very small variation of the results among the 30 runs. CODE has the lowest values of the coefficient of variation (COV) metric in all five test problems, as shown in
Coefficient of variation (COV) values for each problem and algorithm.
The present study investigates the performance of five DE variants, DE, CODE, JDE, JADE, and SADE, in dealing with constrained structural optimization problems. The structures examined are 2D and 3D trusses under single or multiple loading conditions. The constraints are imposed on stresses and displacements while the objective is to minimize the weight of each structure. Five well-known benchmark problems of truss structures have been considered in the comparison. In order to ensure neutrality and to compare the results of the various algorithms, 30 runs have been conducted for each test problem and each algorithm and various statistical metrics have been calculated.
From the statistical analysis that has been conducted, it can be concluded that the CODE algorithm guarantees robustness but with slower convergence speed, while JADE manages to provide a satisfactory compromise between the convergence speed and the quality of the final optimum result, compared to the other four competitors. Surprisingly, even in the case of the standard DE algorithm the performance is rather good as DE manages to outperform some other adaptive schemes, such as SADE, in terms of the quality of the final result and the convergence speed achieved. The same finding has also been reported by Charalampakis and Tsiatas (
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.
MG did the data collection, contributed in the numerical analysis of the test examples, analyzed and interpreted the data, and wrote parts of the paper. VP contributed in the conception and design of the work, analyzed and interpreted the data, wrote parts of the paper, and supervised the overall research work. All authors have made a substantial, direct and intellectual contribution to the work, and approved it for publication.
The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.