# Multi-Objective Optimization of a Wireless Body Area Network for Varying Body Positions
## 4 Optimization Problem
### The Algorithm  
An evolutionary algorithm of the lowest order, originally proposed in Reference [24], was used for the optimization. The basic underpinning principle is to accept a new candidate solution only if it dominates all the objectives in a Pareto sense. Accordingly, let \(m\) be the parent solution and let \(x\) be an offspring originated by perturbing \(m\) based on a Gaussian probability density. The selection criterion is such that offspring \(x\) is accepted if and only if the following relationship (Pareto-like selection) holds true:  
\[\mathrm{f}_{1}(x)>\mathrm{f}_{1}(m)\ \mathrm{and}\ \mathrm{f}_{2}(x)>\mathrm{f}_{2}(m) \tag{5}\]i.e., if \(x\) improves both objective functions with respect to \(m\). The exploration capacity of the algorithm is substantial: when Equation (3) is fulfilled, the search radius is increased, i.e., the region in which the subsequent offspring may occur is broadened in order to find an even better improvement. This feature prevents the trajectory from becoming trapped in a local optimum, so the algorithm is considered to be global-optimum oriented. The computational cost is low because in each iteration only two solutions are necessary, i.e., the current--or parent--solution \(m\) and the relevant perturbation--or offspring \(x\). The selection operator (3) acts on the (\(m\), \(x\)) pair. The convergence property of the algorithm relies on controlling the standard deviation which is associated with each variable: the relevant Gaussian distributions tend to be deterministic as long as the current solution saturates the possible improvement of the objective functions.  
The whole computational scheme links the optimization algorithm with the FDTD analysis for objective function computation. The relevant flowchart is shown in Figure 9. The optimization routines are implemented in Matlab while the evaluation of S parameters and antenna gain is performed in the Remcom XFdtd software ver. 7.6.0.2.  
Starting from the initial guess solution, an optimization trajectory is originated, eventually leading to the approximation of a non-dominated solution in the objective space. As a side product, the set of solution points generated during the search forms a cloud, sampling the objective space.  
In order to keep the computational cost moderate, the basic version of P-EStra, which we used in this study, exploits the evolution of a single individual, i.e., one parent is used to create one offspring, which is known as the \((1+1)\) evolution strategy. As a consequence, the algorithm converges to a single non-dominated solution \(g^{\star}\) which improves over the starting solution \(g_{0}\) with respect to both objective sub-functions \(\mathrm{f}_{1}(g)\) and \(\mathrm{f}_{2}(g)\). Even if the Pareto front is not explicitly computed, it should be emphasized that the optimized solution \(g^{\star}\) belongs to the subset of the front dominating the initial solution \(g_{0}\). On the other hand, however, due to the stochastic behavior of the algorithm, the location of the optimized solution \(g^{\star}\) along the relevant Pareto front is out of control. Our choice of the \((1+1)\) evolution strategy follows from the high computational cost of the evaluation of the objective sub-functions \(\mathrm{f}_{1}(g)\) and \(\mathrm{f}_{2}(g)\) which involves time-consuming full-wave FDTD simulations. Using a computer equipped with two NVIDIA TESLA C2075 accelerator card with two multicore Graphical Processor Units (448 CUDA cores each), the time necessary to calculate the objective function values was in the range of 25 minutes in each iteration.  
Figure 9: The flowchart of the computational scheme.