# Resource Scheduling in Cloud Computing Based on a Hybridized Whale Optimization Algorithm
## 4 Original and Hybrid Whale Optimization Algorithm
### Proposed Hybrid Whale Optimization Algorithm
#### 4.3.1 ABC Exploration Meachansism and Additional Control Parameter  
As it was already stated in Section 4.2, in the original WOA implementation, the exploration process is conducted only in scenarios where both conditions \(p<0.5\) and \(|A\geq 1|\) are satisfied. Also, according to Equation (31), the exploration is oriented towards existing solutions from the population and new solutions are not generated.  
As a consequence of this, in some algorithm runs, where solutions that are distant from the optimum domain of the search space are generated, exploration around the neighborhood of such existing solutions is not enough for the search process to converge to the optimum region. At the other side, the exploration mechanism of the ABC algorithm generates completely random solutions, in the same way as it is performed in the algorithm's initialization phase. This fact, as well as our previous research experience with hybrids between ABC and other metaheuristics [40; 50; 68; 88] inspired us to try to improve WOA's exploration process by adapting the ABC exploration mechanism that is being triggered at the end of every iteration.  
For each solution \(\vec{X}_{i}\) from the population, we included additional variable \(trial_{i}\). In each iteration, when a solution \(\vec{X}_{i}\), can not be improved, its \(trial_{i}\) value is increased by one. When a \(trial\) value of a particular solution reaches a predetermined threshold value called \(limit\), this solution is dumped from the population and it is replaced with another, randomly generated solution within the boundaries of the search space by applying the following expression:  
\[x_{i}^{j}=\theta\cdot(ub_{j}-lb_{j})+lb_{j}, \tag{32}\]  
where \(x_{i}^{j}\) is the \(j\)-th decision variable of the \(i\)-th solution, and \(\theta\) is a uniformly distributed number in the range \([0,1]\).  
This exploration mechanism, especially in early iterations of algorithm's execution, significantly improves convergence speed and maintains population diversity. Moreover, in cases when a search is trapped in some of the suboptimal regions, such a mechanism is able to efficiently direct the search process towards other search domain regions.  
However, in later iterations, when a search process has converged to the optimum region and when a fine-tuned search is required, the ABC's exploration mechanism could waste potentially good solutions, that have been stuck for a few iterations. In order to avoid such scenarios, we included additional control parameter, the exploration influence rate (\(eir\)), where the value is expressed in percents.  
At the beginning of the run, the value of \(eir\) is set to 100, which means that the whole population (100% of population) is under the influence of ABC's exploration. However, during one run, the value of \(eir\) is gradually decreased, until it finally reaches the threshold value of 5. For example, if the value of \(eir\) is 50, that means that the 50% worst candidate solutions are exposed to the risk of being discarded from the population if their \(trial\) value has reached a predetermined \(limit\) threshold. For this purpose, before the ABC's exploration is applied, the whole population is sorted according to fitness value criteria in descending order.  
According to performed empirical experiments, we found that the near optimal value of the dynamic \(eir\) parameter can be calculated as:  
\[eir=100\cdot(1-\frac{t}{maxIter}). \tag{33}\]