# Energy-Efficient RIS-Enabled SISO-OFDMA Communication via Lower Bound Optimization
## 3 Proposal Method and Discussion
### Optimization with Respect to RIS Phase Shift Matrix
The fitness value of each particle is evaluated using the fitness function \(R^{{}^{\prime}}_{\mathrm{EE}}(\mathbf{\theta})\), which can be defined as follows:  
\[R^{{}^{\prime}}_{\mathrm{EE}}(\mathbf{\theta})=-R_{\mathrm{EE}}. \tag{18}\]  
Finding the maximum value of \(R_{\mathrm{EE}}\) in Equation (17) is equivalent to finding the minimum value of \(R^{{}^{\prime}}_{\mathrm{EE}}(\mathbf{\theta})\). \(\mathbf{\theta}^{(t)}_{\mathrm{best},i}\) and \(\mathbf{z}_{\mathrm{best}}{}^{(t)}\) are defined as the optimal position of particle \(i\) and the optimal position of the entire population after \(t\) iterations. The following equations update, at each current iteration \(t+1\), the velocity \(\mathbf{v}\) and position of \(\mathbf{\theta}\) of each particle i as:  
\[\mathbf{v}^{(t+1)}_{i}=\omega\mathbf{v}^{(t)}_{i}+\mathbf{k}_{1}\mathbf{u}_{1}(\mathbf{q}_{\mathrm{ best},i}-\mathbf{\theta}^{(t)}_{i})+\mathbf{k}_{1}\mathbf{u}_{2}(\mathbf{z}^{t}_{\mathrm{best}}-\mathbf{ \theta}^{(t)}_{i}), \tag{19}\]  
\[\mathbf{\theta}^{(t+1)}_{i}=\mathbf{\theta}^{(t)}_{i}+\mathbf{v}^{(t+1)}_{i}. \tag{20}\]  
In the context of our optimization process, we denote \(\mathbf{v}\) as the velocity vector, and \(\omega\) is employed as the inertia weight to carefully balance between local exploitation and global exploration. To introduce stochasticity, we utilize \(\mathbf{u}_{1}\) and \(\mathbf{u}_{2}\) as random vectors uniformly distributed within the interval [0, 1] for each dimension of the search space (where D represents the dimensionality or size of the problem). Additionally, we incorporate \(k_{1}\) and \(k_{2}\), which we refer to as acceleration coefficients, as positive constants [23; 24; 25]. ```
1. Initialize \(L,T,\omega,{\mathbf{u}}_{1},{\mathbf{u}}_{2},{\mathbf{k}}_{1},{\mathbf{k}}_{2}\);  2. for\(i=1,2,\ldots,L\)do  3. Initialize \(\mathbf{\theta}_{i}^{(0)},\mathbf{v}_{i}^{(0)},\mathbf{\theta}_{\text{best},i}^{(0)}=\mathbf{ \theta}_{i}^{(0)}\);  4. endfor  5. Find \(R_{\text{EE}}(\mathbf{q}_{\text{best}}^{*(0)})=\min\{R_{\text{EE}}^{{}^{\prime}(0)}, \ldots,R_{\text{EE}}^{{}^{\prime}}(\mathbf{q}_{\text{best},L}^{(0)})\}\), and set \(\mathbf{z}_{\text{best}}^{(0)}=\mathbf{q}_{\text{best},1}^{*(0)}\);  6. while\(t\leq T\)do  7. for\(i=1,2,\ldots,L\)do  8. Update the velocity and position of particles using Equations (19) and (20):  9. Evaluate fitness value;  10. Calculate the historical optimal position of particle \(i\):  11. \(\mathbf{q}_{\text{best},i}^{(t+1)}= \begin{cases}\mathbf{q}_{\text{best},i}^{(t)},&R_{ \text{EE}}^{{}^{\prime}}(\mathbf{q}_{\text{best},i}^{(t)})\leq R_{\text{EE}}^{{}^{ \prime}}(\mathbf{\theta}_{i}^{(t+1)}),\\ \mathbf{\theta}_{i}^{(t+1)},&R_{\text{EE}}(\mathbf{q}_{\text{best},i}^{(t)})>R_{\text{EE }}(\mathbf{\theta}_{i}^{(t+1)});\end{cases} \)
12. Find \(\hat{R}_{\text{EE}}(\mathbf{q}^{*(t+1)})=\min\{\hat{R}_{\text{EE}}(\mathbf{q}_{1}^{(t+ 1)}),\ldots,\hat{R}_{\text{EE}}(\mathbf{q}_{L}^{(t+1)})\}\);
13. endfor  14. Calculate the historical optimal position of the population:  15. \(\mathbf{z}_{\text{best}}^{(t+1)}= \begin{cases}\mathbf{z}_{\text{best}}^{(t)},&R_{\text{ EE}}^{{}^{\prime}}(\mathbf{z}_{\text{best}}^{(t)})\leq R_{\text{EE}}^{{}^{\prime}}(\mathbf{z}_{ \text{best}}^{(t+1)}),\\ \mathbf{q}_{\text{best}}^{{}^{\prime}(t+1)},&R_{\text{EE}}^{{}^{\prime}}(\mathbf{z}_{ \text{best}}^{(t)})>R_{\text{EE}}^{{}^{\prime}}(\mathbf{q}_{\text{best}}^{{}^{ \prime}(t+1)});\end{cases} \)
16. Adjust adaptive parameter shown in Algorithm 4;  17. Set \(t\gets t+1\). endwhile
```  
**Algorithm 3**Particle swarm optimization algorithm. The PSO algorithm proceeds through the outlined stages as detailed in Algorithm 3. * In lines 2-4, we initialize each particle's position, velocity, and historical best position. * In line 5, we find the best position among all particles and update the historical best position of the entire population, denoted as \(\mathbf{z}_{\text{best}}^{(t)}\). This is the position with the best fitness value.