## 5 Hybrid Pelican-Billiards Optimization Algorithm for Reliable Cloud Storage System
### Existing BOA  
The traditional BOA [38] was inspired by the mechanism of billiard games. It is mainly used to enhance performance by providing parameter optimization. It is performed by considering several pockets, billiard balls, and threshold and decision variables. The following steps explore the mathematical expression of the BOA. Stage 1: initialization  
Firstly, the required balls are initialized in the search space, which is arbitrarily distributed to achieve the optimum value. Hence, it is derived using Equation (21). \[D_{a,b}{}^{0}=X_{b}^{mn}+rd\cdot(X_{b}^{mx}-X_{b}^{mn}) \tag{21}\]  
In the above equation, \(a=1,2,3,\cdots,\)A and \(b=1,2,3,\cdots,B\). Here, the total population of balls is denoted as A, and the total variables are defined by \(B\). The first value of the \(a^{th}\) billiard ball, along with the \(b^{th}\) variable, is declared as \(D_{a,b}^{0}\). Further, the minimum and maximum variable values are denoted as \(X_{b}^{mn}\) and \(X_{b}^{mx}\) irrespective of the \(b^{th}\) variable, correspondingly. The random value \(rd\) lies in the range of \([0,1]\). The position of billiards and balls is determined using an objective function. Over the iterations, the location is upgraded with the best solution. After the pockets are considered, the balls are distinguished into cue and ordinary balls. Stage 2: revising the ball position  
Owing to more balls, collisions occur in this algorithm. After a collision, a new position is obtained to upgrade the balls to reach the pockets. Hence, the position relies on the shot's precise value. By the objective of the exploitation process, the error is decreased in the search space. Then, the new position is derived using Equation (22). \[D_{a,b}^{new}=rd\cdot(1-NR)\Big{(}D_{a,b}^{old}-Y_{c,b}^{a}\Big{)}+Y_{c,b}^{a} \tag{22}\]  
The new position and old position of the \(b^{th}\) variable of the \(a^{th}\) ordinary ball are indicated by \(D_{a,b}^{new}\) and \(D_{a,b}^{old}\), respectively. The solution acquired that comes under the \(b^{th}\) variable of the \(c^{th}\) pocket along with the \(a^{th}\) pair of ordinary balls is signified by \(Y_{c,b}^{a}\), where \(a=1,2,3,\cdots,\)A. Simultaneously, the random value as \(rd\) is defined as the error rate between \([-Er,Er]\). Finally, the term \(NR\) represents the precision rate calculated by Equation (23). \[NR=\frac{T}{T_{\rm max}} \tag{23}\]  
The current and maximum iteration values are denoted by \(T\) and \(T_{max}\). Stage 3: velocity computation  
Once all the balls have collided, the velocity value updates the ball's position. Further, the velocity is derived using Equation (24). \[L_{a}{}^{\prime}=\sqrt{2c\cdot\overline{D_{a}^{old}D_{a}^{new}}}D_{a}^{old}D_ {a}^{new} \tag{24}\]  
After the collision, the ball's velocity is designated as \(L_{a}{}^{\prime}\). The velocity of the \(d^{th}\) ordinary ball is denoted as \(V_{d}{}^{\prime}\). Further, the movement vector is created through \(\overline{D_{a}^{old}D_{a}^{new}}\), and the unit movement vector is noted by \(D_{a}^{old}D_{a}^{new}\). Consequently, the acceleration rate is signified by \(c\), which is 1. Hence, the velocity is estimated for cue balls before and after the collision, which is given in Equations (25) and (26). \[L_{a+A}=\frac{L_{a}{}^{\prime}}{D_{a}^{old}D_{a}^{new}\cdot D_{a+A}^{old}+A \cdot D_{a+A}^{old}}D_{a+A}^{old}D_{d}^{old} \tag{25}\]  
\[L_{a+A}^{\prime}=\chi\cdot\bigg{(}1-\frac{T}{T_{\rm max}}\bigg{)}\big{(}L_{a+ A}-L_{a}{}^{\prime}\big{)} \tag{26}\]  
In the above equations, the velocity evaluated before the collision is denoted by \(L_{a+A}\), as well as for after the collision is indicated by \(L_{a+A}^{\prime}\). Further, the term \(\chi\) refers to the user-defined variable in the \([0,1]\) range. With the attainment of the velocities, the updating is performed through Equation (27).