# Angle-Based Parametrization with Evolutionary Optimization for OESCL-Band Y-Junction Splitters
## 3 Optimization Algorithms
### Covariance Matrix Adaptation Evolution Strategy  
CMA-ES [19] is an evolutionary strategy that has shown promising results for the design of antenna devices [20], splitting/combining [40], and grating filters [41]. The general idea of CMA-ES, shown in Algorithm 2, is to maintain: (i) an \(p\)-dimensional vector \(\mu\) where \(p\) is the number of parameters (i.e., number of angles), (ii) a matrix \(C\), and (iii) a number \(\sigma\) to generate \(n\) sample points from a distribution \(\mathcal{N}(\mu,\,\sigma^{2}C)\). ```
1 for\(t=0\); \(t<k\); \(t\)++ do
2 sample() // generate \(n\) points from \(\mathcal{N}(\mu,\,\sigma^{2}C)\). Each point is defined by p angles \(\alpha_{i},\,i\in[1,p]\) in Section 2 update() // Equation (6) control() // Equation (7) adapt() // Equation (9)
```  
**Algorithm 2** CMA-ES algorithm  
Taking points from this distribution limits the search space to a hyperellipse. Then, the algorithm evaluates points from the hyperellipse. Using the obtained values, it can decide to: (i) move the hyperellipse to another search space region and (ii) expand or reduce the covered region. CMA-ES works iteratively on this idea until the hyperellipse almost degenerates to a point, which is potentially the global optimum. For a detailed description of the algorithm, please refer to [42]. In Algorithm 2, we consider global variables for the sake of simplicity. We summarize CMA-ES in five steps. In line 1, we repeat the same procedures \(k\) times. In iteration \(t\), we start with line 2 sampling \(n\) random \(p-\)dimensional (each dimension corresponds to an angle \(\alpha_{i}\) defined in Section 2) points \(x_{i}\), where \(x\) is sorted in descending order by evaluating the FOM. The points are obtained from the distribution \(\mathcal{N}(\mu,\,\sigma^{2}C)\). The next steps update the parameters \(\mu,\sigma\), and \(C\) such that we can evaluate different angle parametrizations(potentially with better FOM values) in the next iterations. In line 3, we update the mean \(\mu\) using a weighted average of the sample points; see Equation (6). \[\mu^{(t+1)}\leftarrow\sum_{i=1}^{n}w_{i}x_{i} \tag{6}\]  
The coefficients \(w_{i}\) are fixed and chosen to proportionate larger contributions to the best-performing points; then, the mean \(\mu\) is moved to a favorable region. Next, we need to properly change \(\sigma\) to reduce or expand the hyperellipse of the next iteration. Therefore, in line 4, we control \(\sigma\) using Equations (7) and (8). \[\sigma^{(t+1)}\leftarrow\sigma^{(t)}\exp\left(\frac{c_{\sigma}}{d_{\sigma}} \underbrace{\left(\frac{||p_{\sigma}||}{\mathbb{E}||\mathcal{N}(0,I)||}-1 \right)}_{\text{evolution path comparison}}\right) \tag{7}\]  
\[\mathbb{E}||\mathcal{N}(0,I)||=\sqrt{2}\Bigg{(}\frac{\Gamma\Big{(}\frac{p+1}{2 }\Big{)}}{\Gamma\Big{(}\frac{b}{2}\Big{)}}\Bigg{)} \tag{8}\]  
where \(p_{\sigma}\) is a cumulative variable that tracks steps over time, \(c_{\sigma}\in[0,1]\) is a variable that determines the cumulation time for \(p_{\sigma}\), and \(d_{\sigma}\approx 1\) is a damping parameter that determines the possible rate of change in \(\sigma^{(t+1)}\). The key part of Equation (7) is the _evolution path comparison_; here, the length of \(p_{\sigma}\) is compared to its expected length under random selection. From this comparison, we can control \(\sigma\) as increasing, decreasing, or keeping its value. Finally, in line 5, we change \(\Sigma\) in a favorable direction using Equation (9).