# OPTIMUS: Self-Adaptive Differential Evolution with Ensemble of Mutation Strategies for Grasshopper Algorithmic Modeling

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

#### 1.1. The Necessity of Optimization in Architecture

#### 1.2. Performative Computational Architecture Framework

#### 1.3. Current Optimization Tools in Grasshopper

#### 1.3.1. Galapagos

#### 1.3.2. Goat

#### 1.3.3. Silvereye

#### 1.3.4. Opossum

#### 1.3.5. Dodo

#### 1.3.6. Nelder–Mead Optimization

#### 1.4. This Study: Optimus

- Supports PCA framework outlined in previous section.
- Presents the highest performance when compared to other optimization algorithms available in GH reviewed in Section 1.3.
- ○
- The performance of the Optimus is tested by benchmark suite, which consists of standard single objective unconstrained problems and some of the test problems proposed in IEEE Congress on Evolutionary Computation 2005 (CEC 2005) [44]. Problem formulations and optimization results of these benchmarks are given in Section 4.1.
- ○
- Finally, Optimus is tested with a design optimization problem. The problem formulation and optimization results are given in Section 4.2.

## 2. Self-Adaptive Differential Evolution Algorithm with Ensemble of Mutation Strategies

#### 2.1. The Basic Differential Evolution

- Initialization for generating the initial target population once at the beginning.
- Reproduction with mutation for generating the mutant population by using the target population.
- Reproduction with crossover for generating the trial population by using the mutant population.
- Selection to choose the next generation among trial and target populations using one-to-one comparison. In each generation, individuals of the current population become the target population.

#### 2.1.1. Initialization

#### 2.1.2. Mutation

#### 2.1.3. Crossover

#### 2.1.4. Selection

#### 2.2. Self-Adaptive Approach

#### 2.3. Ensemble Approach

Algorithm 1. The self-adaptive differential evolution algorithm with ensemble of mutation strategies. |

1: Set parameters g = 0, NP = 100, ${M}_{max}$ = 4 2: Establish initial population randomly 3: ${P}^{g}=\left\{{x}_{1}^{g},..,{x}_{NP}^{g}\right\}\text{}with\text{}{x}_{i}^{g}=\left\{{x}_{i1}^{g},..,{x}_{iD}^{g}\right\}$ 4: Assign a mutation strategy to each individual randomly 5: ${M}_{i}=rand()\%{M}_{max}$ $for\text{}i=1,..,NP$ 6: Evaluate population and find ${x}_{best}^{g}$ 7: $f\left({P}^{g}\right)=\left\{f\left({x}_{1}^{g}\right),..,f\left({x}_{NP}^{g}\right)\right\}$ 8: Assign CR[i] = 0.5 and F[i] = 0.9 to each individual 9: Repeat the following for each individual ${x}_{i}^{g}$ 10: Obtain ${v}_{i}^{g}={M}_{i}\left({x}_{i}^{g}\right)$ 11: Obtain ${u}_{i}^{g}=C{R}_{i}\left({x}_{i}^{g},{v}_{i}^{g}\right)$ 12: Obtain ${x}_{i}^{g}=\{\begin{array}{cc}{u}_{i}^{g}& if\text{}f\left({u}_{i}^{g}\right)\le f\left({x}_{i}^{g-1}\right)\\ {x}_{i}^{g-1}& otherwise\end{array}$ 13: If $f\left({u}_{i}^{g}\right)>f\left({x}_{i}^{g-1}\right)$, ${M}_{i}=rand()\%{M}_{max}$ 14: If $f\left({x}_{i}^{g}\right)\le f\left({x}_{best}^{g}\right)$, ${x}_{best}^{g}={x}_{i}^{g}$ 15: Update ${F}_{i}^{g}$ and $C{R}_{i}^{g}$ 16: If the stopping criterion is not met, go to Lines 9–15 17: Else stop and return ${\pi}_{best}$ |

## 3. Optimus

- Optimus consists of
- ReadMe (giving details about Optimus),
- jEDE (using jEDE algorithm, generating mutant and trial populations)
- One-to-one (enabling selection process for next generation)

- Initialize consists of
- GetBound (taking the boundaries of design variables in $D$ dimensions)
- InitPop (generating initial population for $NP$ population size in $D$ dimensions)

- Utilities consists of
- xBest (finding chromosomes that has the lowest fitness value in the population)
- Merge (collecting the fitness, population, xBest and optimization parameters)
- Unmerge (separating the fitness, population, xBest and optimization parameters)

- Place GetBound on the GH canvas and connect with number sliders.
- Define the population size.
- Get InitPop for initialization using population size and output of GetBound.
- Evaluate initial fitness using the output of InitPop.
- Internalize the initial fitness.
- Place xBest on the GH canvas.
- Get Merge and connect with internalized initial fitness and outputs of InitPop and xBest.
- Connect Merge with starting input (S) of HoopSnake.
- Place UnMerge on the GH canvas and connect with feedback output (F) of HoopSnake.
- Get jEDE and connect outputs of UnMerge, InitPop, GetBound.
- Evaluate trial fitness using the output of jEDE.
- Get One-to-One and connect with initial fitness, trial fitness and outputs of jEDE.
- Place xBest and connect outputs of One-to-one for updating the new best chromosome.
- Get Merge and connect outputs of jEDE, One-to-one, and xBest.
- Complete the loop by connecting the output of Merge to the data input (D) of the HoopSnake.

## 4. Experiments

#### 4.1. Benchmark Suite

#### 4.1.1. Experimental Setup and Evaluation Criteria

#### 4.1.2. Experimental Results

#### 4.2. Design Optimization Problem

#### 4.2.1. Experimental Setup and Evaluation Criteria

#### 4.2.2. Design Results

## 5. Discussion

## 6. Conclusions

## Supplementary Materials

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## Appendix A

${F}_{sph}$: Sphere Function${F}_{sph}\left(x\right)={\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}$ ${F}_{sph}^{\ast}\left({x}^{\ast}\right)=\left(0,..,0\right)=0$$-100\le x\le 100$ |

${F}_{ros}$: Rosenbrock’s Function${F}_{ros}\left(x\right)={\displaystyle \sum _{i=1}^{D-1}\left(100{\left({x}_{i+1}-{x}_{i}^{2}\right)}^{2}+{\left(1-{x}_{i}\right)}^{2}\right)}$ ${F}_{ros}^{\ast}\left({x}^{\ast}\right)=\left(1,..,1\right)=0$$-100\le x\le 100$ |

${F}_{ack}$: Ackley’s Function${F}_{ack}\left(x\right)=-20\mathrm{exp}\left(-0.2\sqrt{\frac{1}{D}{\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}}\right)-\mathrm{exp}\left(\frac{1}{D}{\displaystyle \sum _{i=1}^{D}\mathrm{cos}\left(2\pi {x}_{i}\right)}\right)+20+e$ ${F}_{ack}^{\ast}\left({x}^{\ast}\right)=\left(0,..,0\right)=0$$-32\le x\le 32$ |

${F}_{grw}$: Griewank’s Function${F}_{grw}\left(x\right)={\displaystyle \sum _{i=1}^{D}\frac{{x}_{i}^{2}}{4000}-{\displaystyle \prod _{i=1}^{D}\mathrm{cos}\left(\frac{{x}_{i}}{\sqrt{i}}\right)+1}}$ ${F}_{grw}^{\ast}\left({x}^{\ast}\right)=\left(0,..,0\right)=0$$-600\le x\le 600$ |

${F}_{ras}$: Rastrigin’s Function ${F}_{ras}\left(x\right)={\displaystyle \sum _{i=1}^{D}\left({x}_{i}^{2}-10\mathrm{cos}\left(2\pi {x}_{i}\right)+10\right)}$ ${F}_{ras}^{\ast}\left({x}^{\ast}\right)=\left(0,..,0\right)=0$$-5\le x\le 5$ |

${F}_{sch}$: Generalized Schwefel’s Problem 2.26 ${F}_{sch}\left(x\right)=418.9829N-{\displaystyle \sum _{i=1}^{D}\left({x}_{i}\mathrm{sin}\left(\left|{x}_{i}\right|\right)\right)}$ ${F}_{sch}^{\ast}\left({x}^{\ast}\right)=\left(420.9687,..,420.968\right)=0$$-500\le x\le 500$ |

${F}_{sal}$: Salomon’s Function ${F}_{sal}\left(x\right)=-\mathrm{cos}\left(2\pi \sqrt{{\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}}\right)+0.1\sqrt{{\displaystyle \sum _{i=1}^{D}{x}_{i}^{2}}}+1$ ${F}_{sal}^{\ast}\left({x}^{\ast}\right)=\left(0,..,0\right)=0$$-100\le x\le 100$ |

${F}_{wht}$: Whitely’s Function ${F}_{wht}\left(x\right)={\displaystyle \sum _{j=1}^{D}{\displaystyle \sum _{i=1}^{D}\left(\frac{{y}_{ij}^{2}}{4000}-\mathrm{cos}\left({y}_{ij}\right)+1\right)}}$ where ${y}_{ij}=100{\left({x}_{j}-{x}_{i}\right)}^{2}+{\left(1-{x}_{i}\right)}^{2}$ ${F}_{wht}^{\ast}\left({x}^{\ast}\right)=\left(1,..,1\right)=0$$-100\le x\le 100$ |

${F}_{pn1}$: Generalized Penalized Function 1 ${F}_{pn1}\left(x\right)=\frac{\pi}{D}\left\{10{\mathrm{sin}}^{2}\left(\pi {y}_{1}\right)+{\displaystyle \sum _{i=1}^{D-1}{\left({y}_{i}-1\right)}^{2}\left[1+10{\mathrm{sin}}^{2}\left(\pi {y}_{i+1}\right)\right]}+{\left({y}_{D}-1\right)}^{2}\right\}+{\displaystyle \sum _{i=1}^{D}u\left({x}_{i},10,100,4\right)}$ where ${y}_{i}=1+\frac{1}{4}\left({x}_{i}+1\right)$ and $u\left({x}_{i},a,k,m\right)=\{\begin{array}{c}\begin{array}{cc}k{\left({x}_{i}-a\right)}^{m}& {x}_{i}>a\end{array}\\ \begin{array}{cc}0& -a\le {x}_{i}\le a\end{array}\\ \begin{array}{cc}k{\left(-{x}_{i}-a\right)}^{m}& {x}_{i}<a\end{array}\end{array}$ ${F}_{pn1}^{\ast}\left({x}^{\ast}\right)=\left(-1,..,-1\right)=0$ $-50\le x\le 50$ |

${F}_{pn2}$: Generalized Penalized Function 2 $\begin{array}{l}{F}_{pn2}\left({x}^{\ast}\right)=0.1\left\{{\mathrm{sin}}^{2}\left(3\pi {x}_{1}\right)+{\displaystyle \sum _{i=1}^{D-1}{\left({x}_{i-1}-1\right)}^{2}}\left[1+{\mathrm{sin}}^{2}\left(3\pi {x}_{i+1}\right)\right]+{\left({x}_{D}-1\right)}^{2}\left[1+{\mathrm{sin}}^{2}\left(2\pi {x}_{D}\right)\right]\right\}+\\ {\displaystyle \sum _{i=1}^{D}u\left({x}_{i},5,100,4\right)}\end{array}$ ${F}_{pn1}^{\ast}\left({x}^{\ast}\right)=\left(1,..,1\right)=0$$-50\le x\le 50$ |

${F}_{1}$: Shifted Sphere Function ${F}_{1}\left(x\right)={\displaystyle \sum _{i=1}^{D}{z}_{i}^{2}+f\_bia{s}_{1}}$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{1}\left({x}^{\ast}\right)=f\_bia{s}_{1}=-450$ |

${F}_{2}$: Shifted Schwefel’s Problem 1.2 ${F}_{2}\left(x\right)={\displaystyle \sum _{i=1}^{D}{\left({\displaystyle \sum _{j=1}^{i}{z}_{j}}\right)}^{2}}+f\_bia{s}_{2}$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{2}\left({x}^{\ast}\right)=f\_bia{s}_{2}=-450$ |

${F}_{3}$: Shifted Rotated High Conditioned Elliptic Function ${F}_{3}\left(x\right)={\displaystyle \sum _{i=1}^{D}{\left({10}^{6}\right)}^{\frac{i-1}{D-1}}{z}_{i}^{2}+f\_bia{s}_{3}}$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{3}\left({x}^{\ast}\right)=f\_bia{s}_{3}=-450$ |

${F}_{4}$: Shifted Schwefel’s Problem 1.2 With Noise in Fitness ${F}_{4}\left(x\right)=\left({\displaystyle \sum _{i=1}^{D}{\left({\displaystyle \sum _{j=1}^{i}{z}_{i}}\right)}^{2}}\right)\times \left(1+0.4\left|N\left(0,1\right)\right|\right)+f\_bia{s}_{4}$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{4}\left({x}^{\ast}\right)=f\_bia{s}_{4}=-450$ |

${F}_{5}$: Schwefel’s Problem 2.6 with Global Optimum on Bounds ${F}_{5}\left(x\right)=\mathrm{max}\left\{\left|{A}_{i}x-{B}_{i}\right|\right\}+f\_bia{s}_{5},i=1,2,..,D$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{5}\left({x}^{\ast}\right)=f\_bia{s}_{5}=-310$ |

${F}_{6}$: Shifted Rosenbrock’s Function ${F}_{6}\left(x\right)={\displaystyle \sum _{i=1}^{D-1}\left(100{\left({z}_{i}^{2}-{z}_{i+1}\right)}^{2}+{\left({z}_{i}-1\right)}^{2}\right)+f\_bia{s}_{6}}$ $x\in {\left[-100,100\right]}^{D}$, ${F}_{4}\left({x}^{\ast}\right)=f\_bia{s}_{6}=390$ |

${F}_{7}$: Shifted Rotated Griewank’s Function without Bounds ${F}_{7}\left(x\right)={\displaystyle \sum _{i=1}^{D}\frac{{z}_{i}^{2}}{4000}-{\displaystyle \prod _{i=1}^{D}\mathrm{cos}\left(\frac{{z}_{i}}{\sqrt{i}}\right)+1+f\_bia{s}_{7}}}$ Initialize population in ${\left[0,600\right]}^{D}$, Global optimum is outside of the initialization range, ${F}_{7}\left({x}^{\ast}\right)=f\_bia{s}_{7}=-180$ |

${F}_{8}$: Shifted Rotated Ackley’s Function with Global Optimum on Bounds. ${F}_{8}\left(x\right)=-20\mathrm{exp}\left(-0.2\sqrt{\frac{1}{D}{\displaystyle \sum _{i=1}^{D}{z}_{i}^{2}}}\right)-\mathrm{exp}\left(\frac{1}{D}{\displaystyle \sum _{i=1}^{D}\mathrm{cos}\left(2\pi z\right)}\right)+20+e+f\_bia{s}_{8}$ $x\in {\left[-32,32\right]}^{D}$, ${F}_{8}\left({x}^{\ast}\right)=f\_bia{s}_{8}=-140$ |

${F}_{9}$: Shifted Rastrigin’s Function ${F}_{9}\left(x\right)={\displaystyle \sum _{i=1}^{D}\left({z}_{i}^{2}-10\mathrm{cos}\left(2\pi {z}_{i}\right)+10\right)+f\_bia{s}_{9}}$ $x\in {\left[-5,5\right]}^{D}$, ${F}_{9}\left({x}^{\ast}\right)=f\_bia{s}_{9}=-330$ |

${F}_{10}$: Shifted Rotated Rastrigin’s Function ${F}_{10}\left(x\right)={\displaystyle \sum _{i=1}^{D}\left({z}_{i}^{2}-10\mathrm{cos}\left(2\pi {z}_{i}\right)+10\right)+f\_bia{s}_{10}}$ $x\in {\left[-5,5\right]}^{D}$. ${F}_{10}\left({x}^{\ast}\right)=f\_bia{s}_{10}=-330$ |

## References

- Sariyildiz, S. Performative Computational Design, Keynote Speech. In Proceedings of the ICONARCH-I: International Congress of Architecture-I, Konya, Turkey, 15–17 November 2012. [Google Scholar]
- Ekici, B.; Cubukcuoglu, C.; Turrin, M.; Sariyildiz, I.S. Performative computational architecture using swarm and evolutionary optimisation: A review. Build. Environ.
**2018**, 147, 356–371. [Google Scholar] [CrossRef] - Michalewicz, Z.; Fogel, D.B. How to Solve it: Modern Heuristics; Springer Science & Business Media: New York, NY, USA, 2013. [Google Scholar]
- Geem, Z.W.; Kim, J.H.; Loganathan, G.V. A new heuristic optimization algorithm: Harmony search. Simulation
**2001**, 76, 60–68. [Google Scholar] [CrossRef] - Eberhart, R.; Kennedy, J. A New Optimizer Using Particle Swarm Theory. In Proceedings of the MHS’95. Sixth International Symposium on Micro Machine and Human Science, Nagoya, Japan, 4–6 October 1995; pp. 39–43. [Google Scholar]
- Storn, R. On the Usage of Differential Evolution for Function Optimization. In Proceedings of the North American Fuzzy Information Processing, Berkeley, CA, USA, 19–22 June 1996; pp. 519–523. [Google Scholar]
- Storn, R.; Price, K. Differential evolution—A simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim.
**1997**, 11, 341–359. [Google Scholar] [CrossRef] - Goldberg, D.E.; Holland, J.H. Genetic algorithms and machine learning. Mach. Learn.
**1988**, 3, 95–99. [Google Scholar] [CrossRef] - Dorigo, M.; Gambardella, L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput.
**1997**, 1, 53–66. [Google Scholar] [CrossRef] - Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P. Optimization by simulated annealing. Science
**1983**, 220, 671–680. [Google Scholar] [CrossRef] [PubMed] - Coello, C.A.C.; Lamont, G.B.; van Veldhuizen, D.A. Evolutionary Algorithms for Solving Multi-Objective Problems; Springer: Berlin/Heidelberg, Germany, 2007; Volume 5. [Google Scholar]
- Wortmann, T. Genetic Evolution vs. Function Approximation: Benchmarking Algorithms for Architectural Design Optimization. J. Comput. Des. Eng.
**2018**, 6, 414–428. [Google Scholar] [CrossRef] - Wortmann, T.; Waibel, C.; Nannicini, G.; Evins, R.; Schroepfer, T.; Carmeliet, J. Are Genetic Algorithms Really the Best Choice for Building Energy Optimization? In Proceedings of the Symposium on Simulation for Architecture and Urban Design, Toronto, CA, Canada, 22–24 May 2017; p. 6. [Google Scholar]
- Waibel, C.; Wortmann, T.; Evins, R.; Carmeliet, J. Building energy optimization: An extensive benchmark of global search algorithms. Energy Build.
**2019**, 187, 218–240. [Google Scholar] [CrossRef] - Cichocka, J.M.; Migalska, A.; Browne, W.N.; Rodriguez, E. SILVEREYE—The Implementation of Particle Swarm Optimization Algorithm in a Design Optimization Tool. In Proceedings of the International Conference on Computer-Aided Architectural Design Futures, Istanbul, Turkey, 10–14 July 2017; pp. 151–169. [Google Scholar]
- Rutten, D. Galapagos: On the logic and limitations of generic solvers. Archit. Des.
**2013**, 83, 132–135. [Google Scholar] [CrossRef] - Camporeale, P.E.; del Moyano, P.M.M.; Czajkowski, J.D. Multi-objective optimisation model: A housing block retrofit in Seville. Energy Build.
**2017**, 153, 476–484. [Google Scholar] [CrossRef][Green Version] - Calcerano, F.; Martinelli, L. Numerical optimisation through dynamic simulation of the position of trees around a stand-alone building to reduce cooling energy consumption. Energy Build.
**2016**, 112, 234–243. [Google Scholar] [CrossRef] - Anton, I.; Tãnase, D. Informed geometries. Parametric modelling and energy analysis in early stages of design. Energy Procedia
**2016**, 85, 9–16. [Google Scholar] [CrossRef] - Tabadkani, A.; Banihashemi, S.; Hosseini, M.R. Daylighting and visual comfort of oriental sun responsive skins: A parametric analysis. Build. Simul.
**2018**, 11, 663–676. [Google Scholar] [CrossRef] - Lee, K.; Han, K.; Lee, J. Feasibility study on parametric optimization of daylighting in building shading design. Sustainability
**2016**, 8, 1220. [Google Scholar] [CrossRef] - Fathy, F.; Sabry, H.; Faggal, A.A. External Versus Internal Solar Screen: Simulation Analysis for Optimal Daylighting and Energy Savings in an Office Space. In Proceedings of the PLEA, Edinburgh, UK, 16 August 2017. [Google Scholar]
- Lavin, C.; Fiorito, F. Optimization of an external perforated screen for improved daylighting and thermal performance of an office space. Procedia Eng.
**2017**, 180, 571–581. [Google Scholar] [CrossRef] - Heidenreich, C.; Ruth, J. Parametric optimization of lightweight structures, In Proceedings of the 11th World Congress on Computational Mechanics, Barcelona, Spain, 21–25 July 2014.
- Eisenbach, P.; Grohmann, M.; Rumpf, M.; Hauser, S. Seamless Rigid Connections of Thin Concrete Shells—A Novel Stop-End Construction Technique for Prefab Elements. In Proceedings of the IASS Annual Symposia, Amsterdam, The Netherlands, 17–20 August 2015; Volume 2015, pp. 1–12. [Google Scholar]
- Almaraz, A. Evolutionary Optimization of Parametric Structures: Understanding Structure and Architecture as a Whole from Early Design Stages. Master’s Thesis, University of Coruna, La Coruña, Spain, 2015. [Google Scholar]
- Simon. Goat. 2013. Available online: https://www.food4rhino.com/app/goat (accessed on 10 July 2019).
- Johnson, S.G. The Nlopt Nonlinear-Optimization Package. Available online: https://nlopt.readthedocs.io/en/latest/ (accessed on 10 July 2019).
- Ilunga, G.; Leitão, A. Derivative-free Methods for Structural Optimization. In Proceedings of the 36th eCAADe Conference, Lodz, Poland, 19–21 September 2018. [Google Scholar]
- Austern, G.; Capeluto, I.G.; Grobman, Y.J. Rationalization and Optimization of Concrete Façade Panels. In Proceedings of the 36th eCAADe Conference, Lodz, Poland, 19–21 September 2018. [Google Scholar]
- Delmas, A.; Donn, M.; Grosdemouge, V.; Musy, M.; Garde, F. Towards Context & Climate Sensitive Urban Design: An Integrated Simulation and Parametric Design Approach. In Proceedings of the 4th International Conference On Building Energy & Environment 2018 (COBEE2018), Melbourne, Australia, 5–9 February 2018. [Google Scholar]
- Wortmann, T. Opossum: Introducing and Evaluating a Model-based Optimization Tool for Grasshopper. In Proceedings of the CAADRIA 2017, Hong Kong, China, 5–8 July 2017. [Google Scholar]
- Costa, A.; Nannicini, G. RBFOpt: An open-source library for black-box optimization with costly function evaluations. Math. Program. Comput.
**2018**, 10, 597–629. [Google Scholar] [CrossRef] - Wortmann, T. Model-based Optimization for Architectural Design: Optimizing Daylight and Glare in Grasshopper. Technol. Archit. Des.
**2017**, 1, 176–185. [Google Scholar] [CrossRef] - Greco, L. Dodo. 2015. Available online: https://www.food4rhino.com/app/dodo (accessed on 10 July 2019).
- Eckersley O’Callaghan’s Digital Design Group. 2013. Nelder-Mead Optimization. Available online: https://www.food4rhino.com/app/nelder-mead-optimisation-eoc (accessed on 10 July 2019).
- Lagarias, J.C.; Reeds, J.A.; Wright, M.H.; Wright, P.E. Convergence properties of the Nelder--Mead simplex method in low dimensions. SIAM J. Optim.
**1998**, 9, 112–147. [Google Scholar] [CrossRef] - Wrenn, G.A. An Indirect Method for Numerical Optimization Using the Kreisselmeir-Steinhauser Function; NASA: Washington, DC, USA, 1989.
- Wolpert, D.H.; Macready, W.G. No free lunch theorems for optimization. IEEE Trans. Evol. Comput.
**1997**, 1, 67–82. [Google Scholar] [CrossRef][Green Version] - Attia, S.; Hamdy, M.; O’Brien, W.; Carlucci, S. Assessing gaps and needs for integrating building performance optimization tools in net zero energy buildings design. Energy Build.
**2013**, 60, 110–124. [Google Scholar] [CrossRef][Green Version] - Robert McNeel & Associates. Rhinoceros 3D. NURBS Modelling. 2015. Available online: https://www.rhino3d.com/ (accessed on 10 July 2019).
- Brest, J.; Greiner, S.; Boskovic, B.; Mernik, M.; Zumer, V. Self-adapting control parameters in differential evolution: A comparative study on numerical benchmark problems. IEEE Trans. Evol. Comput.
**2006**, 10, 646–657. [Google Scholar] [CrossRef] - Mallipeddi, R.; Suganthan, P.N.; Pan, Q.-K.; Tasgetiren, M.F. Differential evolution algorithm with ensemble of parameters and mutation strategies. Appl. Soft Comput.
**2011**, 11, 1679–1696. [Google Scholar] [CrossRef] - Suganthan, P.N.; Hansen, N.; Liang, J.J.; Deb, K.; Chen, Y.-P.; Auger, A.; Tiwari, S. Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization. KanGAL Rep.
**2005**, 2005005, 2005. [Google Scholar] - Blackwell, T.M.; Kennedy, J.; Poli, R. Particle swarm optimization. Swarm Intell.
**2007**, 1, 33–57. [Google Scholar] - Sengupta, S.; Basak, S.; Peters, R. Particle Swarm Optimization: A survey of historical and recent developments with hybridization perspectives. Mach. Learn. Knowl. Extr.
**2019**, 1, 157–191. [Google Scholar] [CrossRef] - Mirjalili, S. Genetic Algorithm. In Evolutionary Algorithms and Neural Networks; Springer: New York, NY, USA, 2019; pp. 43–55. [Google Scholar]
- Koza, J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection; MIT press: Cambridge, MA, USA, 1992; Volume 1. [Google Scholar]
- Knowles, J.; Corne, D. The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Pareto Multiobjective Optimisation. In Proceedings of the Congress on Evolutionary Computation (CEC99), Washington, DC, USA, 6–9 July 1999; Volume 1, pp. 98–105. [Google Scholar]
- Pan, Q.-K.; Tasgetiren, M.F.; Liang, Y.-C. A discrete differential evolution algorithm for the permutation flowshop scheduling problem. Comput. Ind. Eng.
**2008**, 55, 795–816. [Google Scholar] [CrossRef][Green Version] - Venu, M.K.; Mallipeddi, R.; Suganthan, P.N. Fiber Bragg grating sensor array interrogation using differential evolution. Optoelectron. Adv. Mater. Commun.
**2008**, 2, 682–685. [Google Scholar] - Varadarajan, M.; Swarup, K.S. Differential evolution approach for optimal reactive power dispatch. Appl. Soft Comput.
**2008**, 8, 1549–1561. [Google Scholar] [CrossRef] - Das, S.; Konar, A. Automatic image pixel clustering with an improved differential evolution. Appl. Soft Comput.
**2009**, 9, 226–236. [Google Scholar] [CrossRef] - Chatzikonstantinou, I.; Ekici, B.; Sariyildiz, I.S.; Koyunbaba, B.K. Multi-Objective Diagrid Façade Optimization Using Differential Evolution. In Proceedings of the 2015 IEEE Congress on Evolutionary Computation (CEC), Sendai, Japan, 25–28 May 2015; pp. 2311–2318. [Google Scholar]
- Cubukcuoglu, C.; Chatzikonstantinou, I.; Tasgetiren, M.F.; Sariyildiz, I.S.; Pan, Q.-K. A multi-objective harmony search algorithm for sustainable design of floating settlements. Algorithms
**2016**, 9, 51. [Google Scholar] [CrossRef] - Das, S.; Suganthan, P.N. Differential evolution: A survey of the state-of-the-art. IEEE Trans. Evol. Comput.
**2011**, 15, 4–31. [Google Scholar] [CrossRef] - Das, S.; Mullick, S.S.; Suganthan, P.N. Recent advances in differential evolution—an updated survey. Swarm Evol. Comput.
**2016**, 27, 1–30. [Google Scholar] [CrossRef] - Tasgetiren, M.F.; Suganthan, P.N.; Pan, Q.-K.; Mallipeddi, R.; Sarman, S. An Ensemble of Differential Evolution Algorithms for Constrained Function Optimization. In Proceedings of the IEEE congress on evolutionary computation, Vancouver, BC, Canada, 24–29 July 2016; pp. 1–8. [Google Scholar]
- Hansen, N.; Ostermeier, A. Completely derandomized self-adaptation in evolution strategies. Evol. Comput.
**2001**, 9, 159–195. [Google Scholar] [CrossRef] [PubMed] - Chatzikonstantinou, I. HoopSnake. 2012. Available online: https://www.food4rhino.com/app/hoopsnake (accessed on 10 July 2019).
- Miller, N. LunchBox. 2012. Available online: https://www.food4rhino.com/app/lunchbox (accessed on 10 July 2019).
- Preisinger, C.; Heimrath, M. Karamba—A toolkit for parametric structural design. Struct. Eng. Int.
**2014**, 24, 217–221. [Google Scholar] [CrossRef] - Shan, S.; Wang, G.G. Survey of modeling and optimization strategies to solve high-dimensional design problems with computationally-expensive black-box functions. Struct. Multidiscip. Optim.
**2010**, 41, 219–241. [Google Scholar] [CrossRef] - Coello, C.A.C. Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: A survey of the state of the art. Comput. Methods Appl. Mech. Eng.
**2002**, 191, 1245–1287. [Google Scholar] [CrossRef] - Tasgetiren, M.F.; Suganthan, P.N. A Multi-Populated Differential Evolution Algorithm for Solving Constrained Optimization Problem. In Proceedings of the 2006 IEEE International Conference on Evolutionary Computation, Vancouver, BC, Canada, 16–21 July 2006; pp. 33–40. [Google Scholar]
- Coit, D.W.; Smith, A.E. Penalty guided genetic search for reliability design optimization. Comput. Ind. Eng.
**1996**, 30, 895–904. [Google Scholar] [CrossRef] - Deb, K. An efficient constraint handling method for genetic algorithms. Comput. Methods Appl. Mech. Eng.
**2000**, 186, 311–338. [Google Scholar] [CrossRef] - Haimes, Y.V. On a bicriterion formulation of the problems of integrated system identification and system optimization. IEEE Trans. Syst. Man. Cybern.
**1971**, 1, 296–297. [Google Scholar] - Mallipeddi, R.; Suganthan, P.N. Ensemble of constraint handling techniques. IEEE Trans. Evol. Comput.
**2010**, 14, 561–579. [Google Scholar] [CrossRef]

**Figure 5.**Example cluster implementation for self-adaptive differential evolution algorithm with ensemble of mutation strategies (jEDE) component.

Notation | Function |
---|---|

${F}_{sph}$ | Sphere Function |

${F}_{ros}$ | Rosenbrock’s Function |

${F}_{ack}$ | Ackley’s Function |

${F}_{grw}$ | Griewank’s Function |

${F}_{ras}$ | Rastrigin’s Function |

${F}_{sch}$ | Generalized Schwefel’s Problem 2.26 |

${F}_{sal}$ | Salomon’s Function |

${F}_{wht}$ | Whitely’s Function |

${F}_{pn1}$ | Generalized Penalized Function 1 |

${F}_{pn2}$ | Generalized Penalized Function 2 |

${F}_{1}$ | Shifted Sphere Function |

${F}_{2}$ | Shifted Schwefel’s Problem 1.2 |

${F}_{3}$ | Shifted Rotated High Conditioned Elliptic Function |

${F}_{4}$ | Shifted Schwefel’s Problem 1.2 With Noise in Fitness |

${F}_{5}$ | Schwefel’s Problem 2.6 With Global Optimum on Bounds |

${F}_{6}$ | Shifted Rosenbrock’s Function |

${F}_{7}$ | Shifted Rotated Griewank’s Function without Bounds |

${F}_{8}$ | Shifted Rotated Ackley’s Function with Global Optimum on Bounds |

${F}_{9}$ | Shifted Rastrigin’s Function |

${F}_{10}$ | Shifted Rotated Rastrigin’s Function |

**Table 2.**Comparison of Optimus, Opossum, Silvereye, Galapagos (D = 30, NP = 30, termination: 30 min).

Optimus_jEDE | Opossum_RBFOpt | SilverEye_PSO | Galapagos_GA | Optimal | ||
---|---|---|---|---|---|---|

${F}_{sph}$ | $f\left(x\right)\_min$ | 0.0000000$\times {10}^{0}$ | 1.4000000$\times {10}^{-5}$ | 5.9000000$\times {10}^{-5}$ | 1.1709730$\times {10}^{0}$ | 0 |

$f\left(x\right)\_max$ | 0.0000000$\times {10}^{0}$ | 5.8000000$\times {10}^{-5}$ | 2.7057298$\times {10}^{1}$ | 4.4052130$\times {10}^{0}$ | ||

$f\left(x\right)\_avg$ | 0.0000000$\times {10}^{0}$ | 3.6400000$\times {10}^{-5}$ | 5.4171618$\times {10}^{0}$ | 2.7928586$\times {10}^{0}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 1.8039956$\times {10}^{-5}$ | 1.0820072$\times {10}^{1}$ | 1.1492298$\times {10}^{0}$ | ||

FES | 194,520 | 3225 | 31,560 | 34,260 | ||

${F}_{ros}$ | $f\left(x\right)\_min$ | 0.0000000$\times {10}^{0}$ | 2.7485056$\times {10}^{1}$ | 1.6689612$\times {10}^{1}$ | 6.0863438$\times {10}^{3}$ | 0 |

$f\left(x\right)\_max$ | 3.9866240$\times {10}^{0}$ | 2.1030328$\times {10}^{2}$ | 5.8965910$\times {10}^{4}$ | 2.2859534$\times {10}^{4}$ | ||

$f\left(x\right)\_avg$ | 2.3919744$\times {10}^{0}$ | 9.0892522$\times {10}^{1}$ | 1.3859753$\times {10}^{4}$ | 1.3060872$\times {10}^{4}$ | ||

Std.Dev. | 1.9530389$\times {10}^{0}$ | 7.1919037$\times {10}^{1}$ | 2.2886020$\times {10}^{4}$ | 6.7095472$\times {10}^{3}$ | ||

FES | 149,460 | 882 | 26,700 | 35,070 | ||

${F}_{ack}$ | $f\left(x\right)\_min$ | 0.0000000$\times {10}^{0}$ | 3.3550000$\times {10}^{-3}$ | 1.3404210$\times {10}^{0}$ | 5.7470000$\times {10}^{-2}$ | 0 |

$f\left(x\right)\_max$ | 1.3404210$\times {10}^{0}$ | 2.4098540$\times {10}^{0}$ | 3.7340120$\times {10}^{0}$ | 1.0270860$\times {10}^{0}$ | ||

$f\left(x\right)\_avg$ | 2.6808420$\times {10}^{-1}$ | 1.3795174$\times {10}^{0}$ | 2.2482728$\times {10}^{0}$ | 4.8037520$\times {10}^{-1}$ | ||

Std.Dev. | 5.3616840$\times {10}^{-1}$ | 8.5713298$\times {10}^{-1}$ | 9.1850828$\times {10}^{-1}$ | 4.0392221$\times {10}^{-1}$ | ||

FES | 206,370 | 1447 | 38,490 | 28,710 | ||

${F}_{grw}$ | $f\left(x\right)\_min$ | 0.0000000v | 1.5840000$\times {10}^{-3}$ | 3.2081000$\times {10}^{-2}$ | 3.4407200$\times {10}^{-1}$ | 0 |

$f\left(x\right)\_max$ | 0.0000000$\times {10}^{0}$ | 1.7086000$\times {10}^{-2}$ | 2.6292800$\times {10}^{-1}$ | 1.0657060$\times {10}^{0}$ | ||

$f\left(x\right)\_avg$ | 0.0000000$\times {10}^{0}$ | 7.6638000$\times {10}^{-3}$ | 1.2049020$\times {10}^{-1}$ | 8.2474220$\times {10}^{-1}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 5.6121253$\times {10}^{-3}$ | 8.1064770$\times {10}^{-2}$ | 2.6131521$\times {10}^{-1}$ | ||

FES | 151,110 | 1089 | 26,610 | 37,410 | ||

${F}_{ras}$ | $f\left(x\right)\_min$ | 4.9747950$\times {10}^{0}$ | 2.5870757$\times {10}^{1}$ | 3.3829188$\times {10}^{1}$ | 7.0535550$\times {10}^{0}$ | 0 |

$f\left(x\right)\_max$ | 2.3879007$\times {10}^{1}$ | 4.1789542$\times {10}^{1}$ | 6.1687356$\times {10}^{1}$ | 2.9072445$\times {10}^{1}$ | ||

$f\left(x\right)\_avg$ | 1.3332448$\times {10}^{1}$ | 3.6218407$\times {10}^{1}$ | 4.8355074$\times {10}^{1}$ | 1.5404780$\times {10}^{1}$ | ||

Std.Dev. | 6.7363920$\times {10}^{0}$ | 5.4349940$\times {10}^{0}$ | 1.1424086$\times {10}^{1}$ | 9.1077975$\times {10}^{0}$ | ||

FES | 206,520 | 4149 | 37,650 | 51,480 | ||

${F}_{sch}$ | $f\left(x\right)\_min$ | 2.3687705$\times {10}^{2}$ | 1.2877414$\times {10}^{3}$ | 4.1089621$\times {10}^{3}$ | 1.9550066$\times {10}^{3}$ | 0 |

$f\left(x\right)\_max$ | 4.7375372$\times {10}^{2}$ | 4.0111803$\times {10}^{3}$ | 6.1589437$\times {10}^{3}$ | 2.7977670$\times {10}^{3}$ | ||

$f\left(x\right)\_avg$ | 4.0269072$\times {10}^{2}$ | 2.7169368$\times {10}^{3}$ | 5.2658793$\times {10}^{3}$ | 2.3201102$\times {10}^{3}$ | ||

Std.Dev. | 9.4750668$\times {10}^{1}$ | 8.8809862$\times {10}^{2}$ | 6.6677783$\times {10}^{2}$ | 2.8681876$\times {10}^{2}$ | ||

FES | 148,140 | 1487 | 27,210 | 35,940 | ||

${F}_{sal}$ | $f\left(x\right)\_min$ | 1.9987300$\times {10}^{-1}$ | 2.8070190$\times {10}^{0}$ | 2.9987300$\times {10}^{-1}$ | 1.4998750$\times {10}^{0}$ | 0 |

$f\left(x\right)\_max$ | 4.9987300$\times {10}^{-1}$ | 4.3000810$\times {10}^{0}$ | 4.9987300$\times {10}^{-1}$ | 2.8375760$\times {10}^{0}$ | ||

$f\left(x\right)\_avg$ | 3.1987300$\times {10}^{-1}$ | 3.4413810$\times {10}^{0}$ | 3.7987300$\times {10}^{-1}$ | 2.0682340$\times {10}^{0}$ | ||

Std.Dev. | 1.1661904$\times {10}^{-1}$ | 5.6623101$\times {10}^{-1}$ | 7.4833148$\times {10}^{-2}$ | 6.1557512$\times {10}^{-1}$ | ||

FES | 201,720 | 4769 | 38,640 | 51,360 | ||

${F}_{wht}$ | $f\left(x\right)\_min$ | 2.3704633$\times {10}^{1}$ | 9.6592754$\times {10}^{2}$ | 1.8455490$\times {10}^{2}$ | 2.3632742$\times {10}^{5}$ | 0 |

$f\left(x\right)\_max$ | 2.4040716$\times {10}^{2}$ | 1.6904059$\times {10}^{3}$ | 6.2776811$\times {10}^{2}$ | 5.5055000$\times {10}^{8}$ | ||

$f\left(x\right)\_avg$ | 1.0789137$\times {10}^{2}$ | 1.2610498$\times {10}^{3}$ | 4.0698894$\times {10}^{2}$ | 2.7440867$\times {10}^{8}$ | ||

Std.Dev. | 7.4951993$\times {10}^{1}$ | 2.6984398$\times {10}^{2}$ | 1.6923390$\times {10}^{2}$ | 2.2575944$\times {10}^{8}$ | ||

FES | 146,640 | 728 | 23,250 | 29,730 | ||

${F}_{pn1}$ | $f\left(x\right)\_min$ | 0.0000000$\times {10}^{0}$ | 2.9057000$\times {10}^{-2}$ | 3.1283800$\times {10}^{-1}$ | 1.4510000$\times {10}^{-3}$ | 0 |

$f\left(x\right)\_max$ | 0.0000000$\times {10}^{0}$ | 9.0392970$\times {10}^{0}$ | 1.3487570$\times {10}^{0}$ | 1.7632000$\times {10}^{-2}$ | ||

$f\left(x\right)\_avg$ | 0.0000000$\times {10}^{0}$ | 2.8243854$\times {10}^{0}$ | 6.7680180$\times {10}^{-1}$ | 6.0638000$\times {10}^{-3}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 3.1774566$\times {10}^{0}$ | 4.2868737$\times {10}^{-1}$ | 6.0403379$\times {10}^{-3}$ | ||

FES | 203,880 | 1394 | 39,420 | 57,720 | ||

${F}_{pn2}$ | $f\left(x\right)\_min$ | 0.0000000$\times {10}^{0}$ | 2.0400434$\times {10}^{1}$ | 1.0000000$\times {10}^{-11}$ | 1.8037300$\times {10}^{-1}$ | 0 |

$f\left(x\right)\_max$ | 1.0987000$\times {10}^{-2}$ | 2.8693232$\times {10}^{1}$ | 9.3079800$\times {10}^{-1}$ | 2.7208440$\times {10}^{0}$ | ||

$f\left(x\right)\_avg$ | 2.1974000$\times {10}^{-3}$ | 2.5384324$\times {10}^{1}$ | 2.2552480$\times {10}^{-1}$ | 1.0041520$\times {10}^{0}$ | ||

Std.Dev. | 4.3948000$\times {10}^{-3}$ | 3.4851206$\times {10}^{0}$ | 3.5679494$\times {10}^{-1}$ | 9.4298611$\times {10}^{-1}$ | ||

FES | 148,380 | 639 | 29,040 | 41,520 | ||

${F}_{1}$ | $f\left(x\right)\_min$ | −4.5000000$\times {10}^{2}$ | −4.4999898$\times {10}^{2}$ | 2.6232595$\times {10}^{2}$ | −4.4995998$\times {10}^{2}$ | −450 |

$f\left(x\right)\_max$ | −4.5000000$\times {10}^{2}$ | −4.4999478$\times {10}^{2}$ | 8.0377273$\times {10}^{3}$ | −4.4988406$\times {10}^{2}$ | ||

$f\left(x\right)\_avg$ | −4.5000000$\times {10}^{2}$ | −4.4999680$\times {10}^{2}$ | 4.0824562$\times {10}^{3}$ | −4.4992015$\times {10}^{2}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 1.4829922$\times {10}^{-3}$ | 2.9460423$\times {10}^{3}$ | 3.0428108$\times {10}^{-2}$ | ||

FES | 198,060 | 6156 | 45,580 | 66,180 | ||

${F}_{2}$ | $f\left(x\right)\_min$ | −4.5000000$\times {10}^{2}$ | 3.4590652$\times {10}^{4}$ | −3.8035693$\times {10}^{2}$ | 6.8476195$\times {10}^{3}$ | −450 |

$f\left(x\right)\_max$ | −4.5000000$\times {10}^{2}$ | 4.7978174$\times {10}^{4}$ | 5.2590674$\times {10}^{2}$ | 1.2302281$\times {10}^{4}$ | ||

$f\left(x\right)\_avg$ | −4.5000000$\times {10}^{2}$ | 4.3226072$\times {10}^{4}$ | −1.2838464$\times {10}^{2}$ | 1.0174618$\times {10}^{4}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 4.9030645$\times {10}^{3}$ | 3.3183646$\times {10}^{2}$ | 1.8557926$\times {10}^{3}$ | ||

FES | 146,010 | 1061 | 33,840 | 50,160 | ||

${F}_{3}$ | $f\left(x\right)\_min$ | 6.0045376$\times {10}^{4}$ | 1.5561000$\times {10}^{7}$ | 1.9264000$\times {10}^{6}$ | 1.1250000$\times {10}^{7}$ | −450 |

$f\left(x\right)\_max$ | 2.4850013$\times {10}^{5}$ | 7.5084000$\times {10}^{7}$ | 8.0820000$\times {10}^{6}$ | 2.7772000$\times {10}^{7}$ | ||

$f\left(x\right)\_avg$ | 1.2857393$\times {10}^{5}$ | 3.7380600$\times {10}^{7}$ | 4.5525000$\times {10}^{6}$ | 1.7212200$\times {10}^{7}$ | ||

Std.Dev. | 6.4175884$\times {10}^{4}$ | 2.0647812$\times {10}^{7}$ | 2.0206526$\times {10}^{6}$ | 5.6281541$\times {10}^{6}$ | ||

FES | 205,260 | 1293 | 48,030 | 66,000 | ||

${F}_{4}$ | $f\left(x\right)\_min$ | −4.5000000$\times {10}^{2}$ | 2.8373782$\times {10}^{4}$ | −4.2715712$\times {10}^{2}$ | 7.8877685$\times {10}^{3}$ | −450 |

$f\left(x\right)\_max$ | −4.5000000$\times {10}^{2}$ | 3.9404224$\times {10}^{4}$ | 4.0484178$\times {10}^{3}$ | 1.1191542$\times {10}^{4}$ | ||

$f\left(x\right)\_avg$ | −4.5000000$\times {10}^{2}$ | 3.2359668$\times {10}^{4}$ | 5.1724092$\times {10}^{2}$ | 9.4535270$\times {10}^{3}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 4.0412734$\times {10}^{3}$ | 1.7663033$\times {10}^{3}$ | 1.2966977$\times {10}^{3}$ | ||

FES | 147,240 | 1055 | 35,610 | 53,520 | ||

${F}_{5}$ | $f\left(x\right)\_min$ | 9.3362001$\times {10}^{2}$ | 4.7527012$\times {10}^{3}$ | 7.5856684$\times {10}^{3}$ | 1.8506721$\times {10}^{4}$ | -310 |

$f\left(x\right)\_max$ | 2.5603668$\times {10}^{3}$ | 5.8813877$\times {10}^{3}$ | 1.2910221$\times {10}^{4}$ | 2.4057172$\times {10}^{4}$ | ||

$f\left(x\right)\_avg$ | 2.0333032$\times {10}^{3}$ | 5.3824799$\times {10}^{3}$ | 9.4390617$\times {10}^{3}$ | 2.0151105$\times {10}^{4}$ | ||

Std.Dev. | 570.1512256 | 438.2070353 | 2031.289127 | 2004.100331 | ||

FES | 195,720 | 1891 | 47,550 | 67,560 | ||

${F}_{6}$ | $f\left(x\right)\_min$ | 3.9000000$\times {10}^{2}$ | 1.4168473$\times {10}^{3}$ | 5.0073093$\times {10}^{2}$ | 9.7856127$\times {10}^{2}$ | 390 |

$f\left(x\right)\_max$ | 3.9398662$\times {10}^{2}$ | 1.3904779$\times {10}^{4}$ | 4.1540000$\times {10}^{9}$ | 9.6995775$\times {10}^{3}$ | ||

$f\left(x\right)\_avg$ | 3.9159465$\times {10}^{2}$ | 8.7212119$\times {10}^{3}$ | 9.8402870$\times {10}^{8}$ | 5.6395846$\times {10}^{3}$ | ||

Std.Dev. | 1.9530389$\times {10}^{0}$ | 4.6035484$\times {10}^{3}$ | 1.5972516$\times {10}^{8}$ | 3.5378379$\times {10}^{3}$ | ||

FES | 148,260 | 687 | 33,540 | 48,810 | ||

${F}_{7}$ | $f\left(x\right)\_min$ | 4.5162886$\times {10}^{3}$ | 4.5162896$\times {10}^{3}$ | 5.8669417$\times {10}^{3}$ | 4.5172240$\times {10}^{3}$ | -180 |

$f\left(x\right)\_max$ | 4.5162886$\times {10}^{3}$ | 4.5162985$\times {10}^{3}$ | 7.2432580$\times {10}^{3}$ | 4.5290168$\times {10}^{3}$ | ||

$f\left(x\right)\_avg$ | 4.5162886$\times {10}^{3}$ | 4.5162936$\times {10}^{3}$ | 6.5251090$\times {10}^{3}$ | 4.5222540$\times {10}^{3}$ | ||

Std.Dev. | 0.0000000$\times {10}^{0}$ | 3.1911420$\times {10}^{-3}$ | 5.4380701$\times {10}^{2}$ | 4.7496031$\times {10}^{0}$ | ||

FES | 200,820 | 10,108 | 42,060 | 58,290 | ||

${F}_{8}$ | $f\left(x\right)\_min$ | −1.1905178$\times {10}^{2}$ | −1.1910166$\times {10}^{2}$ | −1.1901775$\times {10}^{2}$ | −1.1940297$\times {10}^{2}$ | -140 |

$f\left(x\right)\_max$ | −1.1902135$\times {10}^{2}$ | −1.1876717$\times {10}^{2}$ | −1.1892500$\times {10}^{2}$ | −1.1906700$\times {10}^{2}$ | ||

$f\left(x\right)\_avg$ | −1.1903319$\times {10}^{2}$ | −1.1889866$\times {10}^{2}$ | −1.1899553$\times {10}^{2}$ | −1.1919711$\times {10}^{2}$ | ||

Std.Dev. | 1.0538581$\times {10}^{-2}$ | 1.1070562$\times {10}^{-1}$ | 3.5483336$\times {10}^{-2}$ | 1.4127484$\times {10}^{-2}$ | ||

FES | 149,670 | 2018 | 35,580 | 52,020 | ||

${F}_{9}$ | $f\left(x\right)\_min$ | −3.1706554$\times {10}^{2}$ | −2.5827181$\times {10}^{2}$ | −2.3690804$\times {10}^{2}$ | −3.1677970$\times {10}^{2}$ | -330 |

$f\left(x\right)\_max$ | −3.1209075$\times {10}^{2}$ | −2.3567358$\times {10}^{2}$ | −1.6682751$\times {10}^{2}$ | −3.1164785$\times {10}^{2}$ | ||

$f\left(x\right)\_avg$ | −3.1527462$\times {10}^{2}$ | −2.4625749$\times {10}^{2}$ | −1.8917798$\times {10}^{2}$ | −3.1499413$\times {10}^{2}$ | ||

Std.Dev. | 1.7117897$\times {10}^{0}$ | 8.0334497$\times {10}^{0}$ | 2.5285354$\times {10}^{1}$ | 1.8617799$\times {10}^{0}$ | ||

FES | 212,160 | 5577 | 47,610 | 67,560 | ||

${F}_{10}$ | $f\left(x\right)\_min$ | −2.7030257$\times {10}^{2}$ | −2.3528777$\times {10}^{2}$ | −1.3299956$\times {10}^{2}$ | 4.0215414$\times {10}^{1}$ | -330 |

$f\left(x\right)\_max$ | −2.2751946$\times {10}^{2}$ | −1.3298172$\times {10}^{2}$ | −8.1262211$\times {10}^{1}$ | 1.8543670$\times {10}^{2}$ | ||

$f\left(x\right)\_avg$ | −2.5139841$\times {10}^{2}$ | −1.8578676$\times {10}^{2}$ | −1.0572303$\times {10}^{2}$ | 1.1181316$\times {10}^{2}$ | ||

Std.Dev. | 1.4307998$\times {10}^{1}$ | 3.9394042$\times {10}^{1}$ | 1.8528544$\times {10}^{1}$ | 5.7458318$\times {10}^{1}$ | ||

FES | 146,820 | 1192 | 35,220 | 53,070 |

Notation | Design Parameter | Min | Max | Type |
---|---|---|---|---|

x1–x13 | Coordinates of control points in axis 1 | −2.00 | 2.00 | Continues |

x14–x26 | Coordinates of control points in axis 2 | −2.00 | 2.00 | Continues |

x27–x39 | Coordinates of control points in axis 3 | −2.00 | 2.00 | Continues |

x40–x52 | Coordinates of control points in axis 4 | −2.00 | 2.00 | Continues |

x53–x65 | Coordinates of control points in axis 5 | −2.00 | 2.00 | Continues |

x66 | Division amount on u direction | 3 | 10 | Discrete |

x67 | Division amount on v direction | 3 | 10 | Discrete |

x68 | Depth of the truss | 0.50 | 1.00 | Continues |

x69 | Height of the cross-section | 10.00 | 30.00 | Continues |

x70 | Upper and lower width of the cross-section | 10.00 | 30.00 | Continues |

**Table 4.**Comparison of Optimus, Opossum, Silvereye, Galapagos (D = 70, NP = 50, termination: 30 min).

Optimus jEDE | Opossum RBFOpt | Silve Eye_PSO | Galapagos GA | ||
---|---|---|---|---|---|

Design problem | $f\left(x\right)\_min$ | 6.21637$\times {10}^{3}$ | 2.25410$\times {10}^{4}$ | 6.89062$\times {10}^{5}$ | 6.74560$\times {10}^{5}$ |

$g\left(x\right)$ | 0.0994 | 0.0996 | 0.6674 | 0.9273 | |

FES | 31,800 | 5102 | 17,100 | 19,000 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Cubukcuoglu, C.; Ekici, B.; Tasgetiren, M.F.; Sariyildiz, S. OPTIMUS: Self-Adaptive Differential Evolution with Ensemble of Mutation Strategies for Grasshopper Algorithmic Modeling. *Algorithms* **2019**, *12*, 141.
https://doi.org/10.3390/a12070141

**AMA Style**

Cubukcuoglu C, Ekici B, Tasgetiren MF, Sariyildiz S. OPTIMUS: Self-Adaptive Differential Evolution with Ensemble of Mutation Strategies for Grasshopper Algorithmic Modeling. *Algorithms*. 2019; 12(7):141.
https://doi.org/10.3390/a12070141

**Chicago/Turabian Style**

Cubukcuoglu, Cemre, Berk Ekici, Mehmet Fatih Tasgetiren, and Sevil Sariyildiz. 2019. "OPTIMUS: Self-Adaptive Differential Evolution with Ensemble of Mutation Strategies for Grasshopper Algorithmic Modeling" *Algorithms* 12, no. 7: 141.
https://doi.org/10.3390/a12070141