# Optimization for an Indoor 6G Simultaneous Wireless Information and Power Transfer System
## 3 Evolution Algorithm  
Dynamic Differential Evolution (DDE) is further developed into Self-Adaptive Dynamic Differential Evolution (SADDE). The SADDE algorithm adds a dynamic mechanism to the adjustment factor during the DDE search [31]. The flowchart of the SADDE algorithm is shown in Figure 3.  
First, the population parameters are randomly initialized. The objective function of the antenna array is calculated by using M-dimensional adjustment parameters. The position of the particle is adjusted according to the parameters. From the calculation of the objective function, the optimal particle is updated accordingly. The test vector then adjusts the control vector in the next calculation, and decides whether to use the crossover mechanism based on a preset probability. After crossover, the new particle is compared to the previous target value, and the position of the globally optimal particle is renewed. Figure 2: The coordinate system. The detailed steps are as follows:  
1. First, the population parameters are initialized randomly. During the initialization process, the population is initialized as a \(D_{s}\)-dimensional vector, where \(D_{s}\) denotes the number of parameters. 2. The \(D_{s}\)-dimensional adjustment parameters are used to calculate the objective function for any antenna array. The objective functions for \(L_{p}\) particles are then evaluated, where \(L_{p}\) denotes the population size. Based on the calculated value from our objective functions, the best particle is updated accordingly. 3. In adjusting the control vectors \(\
u_{i}^{g+1}\) and \(\xi_{i}^{g+1}\) of the next iteration, the mutation process is composed of arithmetic combination, by adjusting the test vector \(\Omega_{i}^{g+1}\), which is generated from the parent parameter vector \(\Lambda_{i}^{g}\) by the following equation: \[ \begin{split}\left(\Omega_{i}^{g+1}\right)_{j}=\left(\Lambda_{i} ^{g}\right)_{j}+\
u_{i}^{g}.\left[\left(\Lambda_{best}^{g}\right)_{j}-\left( \Lambda_{i}^{g}\right)_{j}\right]+\xi_{i}^{g}.\left[\left(\Lambda_{m}^{g} \right)_{j}-\left(\Lambda_{m}^{g}\right)_{j}\right]\\ m,\ n\ \in\ [1,\ L_{p}],\ m\
eq n\end{split} \] (8) \[\
u_{i}^{g+1}= \begin{cases}\
u_{l}+rand_{a}\times\
u_{u}\,&if\ rand_{b}<0.1\\ \
u_{i}^{g}\,&otherwise\end{cases} \] (9) \[\xi_{i}^{g+1}= \begin{cases}\xi_{i}+rand_{c}\times\xi_{u}\,&if\ rand_{d}<0.1\\ \xi_{i}^{g}\,&otherwise\end{cases} \] (10)  
where \(\
u_{i}\) and \(\
u_{u}\) are the lower and upper limits of \(\
u\), respectively. \(\xi_{l}\) and \(\xi_{u}\) are the lower and upper limits of \(\xi\), respectively. \(rand_{a}\), \(rand_{b}\), \(rand_{c}\), and \(rand_{d}\) are uniformly distributed random numbers from 0 to 1. 1. In the crossover mechanism, crossover is determined according to the probability of \(C_{0i}\), and the equation is as follows: \[\left(\Gamma_{i}^{g+1}\right)_{j}= \begin{cases}\left(\Omega_{i}^{g+1}\right) _{j},&\xi(j)<C\sigma_{i}^{g}\\ \left(\Lambda_{i}^{g}\right)_{j},&\xi(j)\geq C\sigma_{i}^{g}\end{cases} \] (11)  
Figure 3: SADDE flowchart. \[C\sigma_{i}^{g+1}=\left\{ \begin{array}{ll}rand_{e}\,,&if\ rand_{f}<0.1\\ Co_{i}^{g}\,,&otherwise\end{array} \right. \tag{12}\]  
where \(\zeta(j)\), \(rand_{e}\), and \(rand_{f}\) are the random numbers. * The vector with the smaller objective function is used to update the position of the global best particle. * Finally, we decide to execute or stop the algorithm according to the iteration number and the convergent condition. In order to meet the different requirements concurrently, multi-objective functions are considered in the algorithm. The goal is to find the maximum total harvesting power with constraints. The constraints include the bit error rate as well as the minimum harvesting power for the SWIPT and WPT nodes. The total harvesting power is expressed by the following equation:  
\[HP_{T}=\sum_{m=1}^{M_{R}}HP_{m} \tag{13}\]  
where \(M_{R}\) is the total number of receivers in the environment. The \(BER\) constraint is defined as \(10^{-5}\), so that \(BER_{W}\) is expressed as follows:  
\[BER_{W}=\left\{