## 3 Optimization Methodology  
### Differential Evolution Algorithm  
The differential evolution (DE) algorithm was proposed by [PERSON] and [PERSON] [26] as an efficient meta-heuristic for continuous search spaces of non-linear and/or non-differentiable functions. [PERSON] and [PERSON] [26] tested extensively several types of functions and optimization problems, showing the efficiency of the method compared with other well-known optimization heuristics. The canonical form of the DE method has the following parameters: population size (_NP_), the total number of generations (_NG_), crossover rate (_CR_), mutation operator (_M_), and amplification factor (_F_). As a population-based meta-heuristic, the DE method uses _NP_ vectors of optimization problem dimension size to compose its population. In the canonical form of the method, the population size does not change during the algorithm iteration, as well as the total number of generations (_NG_). The _NG_ also determines the stopping criterion of the DE method. The initial population must be generated randomly and uniformly distributed over the search space [25]. The steps of the DE algorithm are described below:  
1. Generate a first population with _NP_ vectors \(x_{i,G}\), and \(i=1\), 2, 3,..., _NP_, being \(G\) the current generation. 2. Apply the mutation operator for each vector in the population as given by: \[v_{i,G+1}=x_{r_{1},G}+F\times\left(x_{r_{2},G}-x_{r_{3},G}\right)\ \forall\ F>0\] (22) where the indexes \(r_{1}\), \(r_{2}\), \(r_{3}\)\(\in\) 1, 2, 3,..., _NP_ are integers randomly generated and mutually different. The \(F\) controls the amplification of the differential term \(\left(x_{r_{2},G}-x_{r_{3},G}\right)\). 3. Create \(u_{i,G+1}=\left(u_{1,G+1}\), \(u_{2,G+1}\),..., \(u_{Di,G+1}\right)\) which is a trial vector, being \(D\) the length of the vector (dimension of the problem). The trial vector is a combination between \(x_{i,G}\) and \(v_{i,G+1}\) determined by: \[u_{ii,G+1}=\left\{ \begin{array}{cc}v_{ji,G}&if\ rnd(0,1)\ \leq\ CR\ or\ j=j,\\ &x_{ji,G}\ \ otherwise\end{array} \right.\] (23) where _rnd()_ is a function that generates a random number between 0 and 1, and CR is the crossover probability. The \(j_{r}\)\(\in\) [1..._D_] is randomly generated and assurances that \(v_{ji,G}\) differs from \(x_{ji,G}\) by inserting at least one of the \(v_{i,G}\) elements. 4. Select the best solution for the next generation _G+1_ comparing \(x_{i,G}\) with \(u_{i,G+1}\) by a Greedy criterion: \[x_{i,G+1}=\left\{ \begin{array}{cc}u_{i,G+1}&if\ \OF(u_{i,G+1})\ \leq\ OF((x_{i,G+1})\\ &x_{ji,G}\ \ otherwise\end{array} \right.\] (24)  
The steps are repeated while \(G\leq NG\) is true. The mutation operator shown in Equation (12) is considered the _DE/rand_/_1/_bin_ by notation DE/x/y/z [25]. The \(x\) represents the vector target of the mutation, \(y\) is the number of subtractions performed, and \(z\) is the crossover type, which for Equation (12) is binomial. More three mutation operators are analyzed in this work, called _DE/best/1/bin_, _DE/best/2/bin_, and _DE/current-to-best/1/bin_, respectively, described by the following equations:  
\[v_{i,G+1}=x_{best,G}+F\times\left(x_{r_{1},G}-x_{r_{2},G}\right) \tag{25}\]  
\[v_{i,G+1}=x_{best,G}+F\times\left(x_{r_{1},G}+x_{r_{2},G}-x_{r_{3},G}-x_{r_{4},G}\right) \tag{26}\]\[v_{i,G+1}=x_{i,G}+F\times(x_{best,G}+x_{i,G})+F\times\left(x_{r_{1},G}-x_{r_{2},G}\right) \tag{27}\]  
Figure 3 shows the flowchart of the differential evolution algorithm applied to the geometric optimization of the double Y-shaped cavity. The flowcharts represent the algorithm that integrates the meta-heuristic to the solver of the heat transfer problem. The solution of the heat diffusion equation, Equation (8), and corresponding boundary conditions are performed by the finite element method (FEM) implemented in the PDE toolbox of MATLAB(r) platform [25].