## 3 Proposed Method
### The Proposed IFOA  
The basic FOA is very efficient in finding the global optimization, while it is a common problem to fall into local extremum. To tackle this problem, [PERSON] [59] adds a random perturbation to jump out of the local extremum, while the perturbation intensity is chosen randomly. Suppose that the basic FOA may fall into local optimum 1, as shown in Figure 2: a perturbation with high intensity may change the current location to another local optimum 2. While an appropriate perturbation intensity may reach to global optimum. In order to tackle this problem, the proposed IFOA utilizes a predict-update mechanism to determine if the perturbation intensity should be added or not. If the flag variable _bPredict_ is true, the proposed IFOA should add the perturbation and predict the next location. If the flag variable _bPredict_ is false, then go directly to the next step. To set the flag variable, the objective values with or without perturbation intensity should be compared. If the objective with perturbation intensity is better, then apply this perturbation intensity. If not, then set current perturbation intensity to zero, namely, without perturbation intensity. Thus, the perturbation intensity can be chosen via the following conditions:  
\[\Delta w=\left\{ \begin{array}{ll}0,&f(\Delta w)\geq f(0)\\ \Delta w,&f(\Delta w)<f(0)\end{array} \right. \tag{12}\]  
where \(f(\cdot)\) is the objective function to be minimized. As shown above, if random perturbation \(\Delta w=\Delta w_{1}\), and \(f(\Delta w_{1})<f(0)\), then the predicted random perturbation can be accepted and added to the current location, the next location may be a point near the global optimum or another local optimum. If random perturbation \(\Delta w=\Delta w_{2}\), and \(f(\Delta w_{2})>f(0)\), then the predicted random perturbation can be rejected, which means the procedure just uses the original location. By recursive execution of this step, the final global optimum will be located. To adaptively set the perturbation intensity, varying adaptive methods can be applied, while this is beyond the research scope of the paper. Finally, the flowchart of IFOA is shown in Figure 3, and the whole procedure contains two parts: predict and update. The algorithm can be described in the following steps. Step 2.1: Initialize all of the parameters, maximum iterative steps, population size, and location range of the fruit fly group, as well as the initial perturbation intensity \(\Delta w\). Step 2.2: Randomly choose the location of the fruit fly group, and check the flag of the prediction procedure which indicates whether the random perturbation should be used. If using the prediction procedure, reset the flag, and add the perturbation with intensity \(\Delta w\). If not, go directly to the next step. Step 2.3: Obtain a smell concentration judgment, and calculate the fitness function using the original distance with or without perturbation. Step 2.4: If the result of the fitness produced using the original distance with perturbation is better, update the current location of individuals by the disturbed locations. Otherwise, skip to the next step. Figure 2: Principle of random perturbation with different perturbation intensity. Suppose the next location without perturbation is a point near local optimum 1. The next location with perturbation intensity \(\Delta w_{1}\) is a point near the global optimum. The next location with perturbation intensity \(\Delta w_{2}\) is a point near local optimum 2. The objective is to minimize the objective function \(f(\cdot)\). Step 2.5: If the fitness value from the fruit fly with the best smell is better than that of the previous generation, then the global and local optimum can be updated. Otherwise, set the prediction flag to TRUE, and update the global and local optimum. Step 2.6: If the current iterative procedure output meets the requirement, stop the searching process; if not, go back to Step 2.2.