# Optimization of a Coherent Dual-Beam Array Feed Network for Aperiodic Concentric Ring Antennas
## 2 Problem Formulation
### Optimization Tool  
This subsection briefly describes the procedure to optimize the two-beam antenna pattern and find adequate solutions for the coherent beamforming network. In this specific case, the task is done by applying a global optimization method and the numerical examples in this paper were implemented using the MATLAB software version R2018a. The optimization tool in this work uses hard constraints and specifications in an objective  
Figure 2: Typical coherent beamforming network (C-BFN) topology based on unit cells for power division/combination, illustrating the shared aperture at the output. function, finding candidate solutions to achieve quasi-optimal solutions in the multi-beam scenario. The problem to optimize with constraints is correlated with a complex-valued argument (2) in an exponential function associated with the beam patterns and antenna elements positions, dealing with an oscillating and nonlinear behavior. In order to find the trade-off between maximum directivity and the lowest peak SLL in a predefined angular location for each beam, the antenna synthesis problem can be expressed as an optimization problem with constraints to be minimized, to obtain a quasi-optimal solution of the radius of each ring in the non-uniform concentric array, in the following way:  
\[ \begin{split}\underset{\vec{r}}{\text{min}}& \left\{\frac{|AF(\theta_{\text{msl}},\varphi_{\text{msl}},\vec{r})|}{|AF( \theta_{\text{max}},\varphi_{\text{max}},\vec{r})|}\right\}+\left\{\frac{1}{D( \theta,\varphi,\vec{r})}\right\},\\ \text{s.t.}&|AF^{P}(\theta_{\text{max}},\varphi_{ \text{max}},\vec{r})|=1,\\ &\vec{r}=\left\{r_{n}\mid\vec{r}\in\mathbb{R}\right\},\ \forall n\in N_{r},\end{split}  \tag{6}\]  
where \((\theta_{\text{msl}},\varphi_{\text{msl}})\) is the direction attained by the peak sidelobes on either side of the main beams, \((\theta_{\text{max}},\varphi_{\text{max}})\) denote the main beam angles, and the size of the radius domain for each circular ring is indicated by \(\mathbb{R}\). In this case, the optimization process is performed by differential evolution (DE). This algorithm is a proficient and widely used optimizer commonly applied in electromagnetic optimization problems [30]. Summarizing the algorithm in general, the DE optimizer explores for a global optimum solution in a \(d\)-dimensional decision space \(\Psi\subseteq\Re^{d}\). It works through an initial population (\(N_{pop}\)) with random initialization (within boundary constraints) of parents or real-valued target vectors (genome/chromosomes). Each vector is a candidate solution that enters into an iterative optimization process for the multi-dimensional problem. After the initialization process, in the optimization cycle that contains three different processes, known as mutation, crossover, and selection, some of the candidate solutions are selected and geometrically perturbed. The central component of DE and the principal strategy on the optimization task is carried out by the genetic operator known as mutation. Mutation creates an intermediate mutant/donor vector \(\vec{v}_{d}\) for each vector \(\vec{x}_{i}^{G}=[\chi_{i,1}^{G},\chi_{i,2}^{G},\cdots,\chi_{i,d}^{G}]\) in the population at the Gth iteration (called iteration), as follows:  
\[\vec{v}_{d}^{G+1}=\vec{\chi}_{r1}^{G}+F(\vec{\chi}_{r2}^{G}-\vec{\chi}_{r3}^{ G}). \tag{7}\]  
The scaling factor \(F\) indicates a control input (positive) for scaling the difference parameters \((\vec{\chi}_{r2}^{G}-\vec{\chi}_{r3}^{G})\) which defines the length of the exploration, also called the mutation factor. The indices \(r_{1},r_{2},\) and \(r_{3}\) are mutually exclusive integers randomly taken from the population \([1,N_{pop}]\). Although detailed information about the DE algorithm (in general) can be consulted in [31,32], for sake of simplicity, in Algorithm 1 the pseudocode of the DE scheme used in this work is presented for a better understanding and implementation [33].