## 4 The ISFLA for Solving the Simultaneous DCBAP
### Discrete Operators with Self-Adaptive Jump  
In this research, the ISFLA uses discrete operators to determine the next position for a frog based on the position of the frog relative to that of the target frog. An example is given in order to specify the self-adaptive jump of frogs. Figure 6 illustrates three frogs, \(o\), \(i\), and \(j\), with positions of \(X_{o}(t)\) = [4,3,2,1,5,6], \(X_{i}(t)\) = [1,2,3,4,5,6], and \(X_{j}(t)\) = [4,1,3,2,5,6], respectively. Among the three frogs, the frog \(o\), termed the \"target frog\", is in the best position, attracting frogs \(i\) and \(j\) to search around it. The frogs \(i\) and \(o\) are considered to be closer, due to sharing four of the same position elements (while frogs \(j\) and \(o\) only shar two of the same elements). A self-adaptive mechanism is required to cause the non-target frogs to adaptively approach the target frog, i.e., to enable a bigger jump for more distant frogs to be able to approach the target frog  
Figure 5: Multiple groups of frogs evolving in a solution space. quickly, while enabling smaller jumps for closer frogs to prevent them from jumping over the optima. However, non-target frogs should not jump directly to the target frog, as this will waste a local search. To enable self-adaptive jumps, we change Equations (2)-(18). \[D_{i}(t)=(X_{o}(t)\sim X_{i}(t))\odot RV_{i}(t) \tag{18}\]  
\(RV_{i}(t)\) refers to the adaptive binary vector, and is used to adjust the moving distance \(D_{i}(t)\) for a frog i at the time t.  
The operator \"-\" refers to the _total distance measuring operator_, which measures the distance between frogs \(o\) and \(i\) in cases where frog \(i\) jumps towards the target frog \(o\). The operator works as follows. \[X_{o,k}(t)\sim X_{i,k}(t)\!=\! \begin{cases}0,&\text{if }X_{o,k}(t)=X_{i,k}(t)\\ X_{o,k}(t),&\text{if }X_{o,k}(t)\
eq X_{i,k}(t)\end{cases}  \tag{19}\]  
In Equation (19), \(k\) indicates the \(k\)th elements in the position vectors of frog \(o\) and \(i\). Given \(X_{o}(t)=\) [4,3,1,2,5,6] and \(X_{i}(t)=\) [1,2,3,4,5,6], the distance between frogs \(o\) and \(i\) at the time \(t\) is determined as follows. \[X_{o}(t)\sim X_{f}(t)=\) [4,3,2,1,5,6] \(\sim\) [1,2,3,4,5,6] = [4,3,2,1,0,0]  
In Equation (18), the operator \"\(\odot\)\" refers to the binary step multiply operator. It determines the result of the multiplication of \(X_{o}(t)\)-\(X_{i}\) (\(t\)) with \(RV_{i}(t)=\) [\(RV_{i,1}\),..., \(RV_{i,D}\)], in which each \(RV_{i,k}(t)\) (\(k\in\) [1,\(D\)]) is a binary value. This operator works as shown in Equation (20). \[\left(X_{o,k}(t)\sim X_{i,k}(t)\right)\odot RV_{i}(t)\!=\! \begin{cases}\;\;\;X_ {o,k}(t)\;\sim X_{i,k}(t),&\text{if }RV_{i,k}(t)=1\\ \;\;\;\;\;\;\;\;\;\;\;0,&\text{if }RV_{i,k}(t)=0\end{cases}  \tag{20}\]  
For example, given \(RV_{i}(t)=\) [0,1,0,0,0,0], we can derive \(D_{i}(t)\) as follows. \[D_{i}(t)=\) [4,3,2,1,0,0] \(\odot\) [0,1,0,0,0,0] = [0,3,0,0,0,0]. The above example shows that more binary values of 1 in \(RV_{i}(t)\) result in a larger leaping distance. Thus, we let each \(RV_{i,k}(t)\) be determined by Equation (21). \[RVI_{i,k}(t)=\left\{ \begin{array}{ll}0,&\text{if }R1\geq BR1_{i}(t)\\ 1,&\text{if }R1<BR1_{i}(t)\end{array} \right. \tag{21}\]  
R1 is a random number within the range [0,1], while \(BR1_{i}(t)\) is a threshold controlling the generation of the binary values 0 or 1 in \(RV_{i}(t)\) for the frog \(i\). To enable a bigger jump for a more distant frog, Equations (22)-(24) are designed to initiate a bigger \(BR1_{i}(t)\). First, Equation (22) counts the total number of shared elements between \(X_{i}(t)\) and \(X_{o}(t)\), denoted as \(NSE_{i,o}(t)\). Then, Equation (23)  
Figure 6: Fros \(i\) and \(j\) jump towards the target frog \(o\). calculates \(\omega_{i}(t)\), the maximum number of binary values of 1 currently allowed for the \(RV_{i}(t)\) of frog \(i\). Finally, Equation (24) is used to determine the value of \(BR1_{i}\) (\(t\)).