## 2 Improved Adaptive VMD Algorithm
### IFOA-VMD Decomposition
#### 2.2.2 FOA-VMD Algorithm  
The fruit fly optimization algorithm (FOA) is a new method based on the global optimization of fruit fly foraging behavior. Drosophila is superior to other species in sensory perception, especially in terms of smell and vision. The olfactory organ can sensitively collect various scents floating in the air and can also find the location of food and companion gathering through clear vision and then fly in this direction. Therefore, the fruit fly algorithm can be applied to solve the optimal problem [18]. Figure 1 shows a schematic representation of iterative search for food in Drosophila populations. The main process of the FOA-VMD algorithm is as follows:  
The first step: first assign the population size sizepop, the maximum number of iterations maxgen. Let \(\mathrm{sizepop}=10\), \(\mathrm{maxgen}=20\).  
The second step: initialize the initial position coordinates of the fruit fly population and initialize the initial position of the individual flies according to the range of variation of the parameters. Wherein the decomposition number K ranges from 1 to 10, and the penalty parameter \(\alpha\) ranges from 200 to 6000. Init X_axis, Init Y_axis.  
The third step: according to the behavior of fruit flies searching for food, give the fruit flies a random direction and distance for foraging. The choice of random distance is determined according to the initial coordinates, generally two orders of magnitude.  
\[\left\{\begin{array}{c}\text{Xi }=\text{ X\_axis}+\text{Random Value}\\ \text{Yi }=\text{ Y\_axis}+\text{Random Value}\end{array}\right. \tag{8}\]  
The fourth step: Since the position of the food cannot be known, first estimate the distance from the origin (Dist) and then calculate the taste concentration determination value (Si), which is the reciprocal of the distance.  
\[\left\{\begin{array}{c}\text{Disti }=\text{ sqrt(Xi}^{2}+\text{Yi}^{2})\\ \text{Si }=\text{ }1/\text{Disti}\end{array}\right. \tag{9}\]  
The fifth step: the taste concentration determination value (Si) is substituted into a taste density determination function (or a fitness function) to determine the taste concentration (Smell(i)) of the individual position of the fruit fly. The energy growth factor e is used as the concentration determination function, that is, the energy growth rate minimum value is calculated, and the lower threshold value of e is set to 0.01.  
\[\text{Smell(i) }=\text{ Function(Si)}\] \[\text{Function(Si) }= e\text{ }=\text{ }\frac{\|\sum u_{k}-\sum u_{k-1}\|_{2}^{2}}{\|f\|_{2}^{2}} \tag{10}\]  
The sixth step: Bring the taste concentration determination value into the concentration determination function to determine the taste concentration value of the fruit fly individual, find the fruit fly with the lowest taste concentration in the fruit fly group, and obtain the minimum value of the energy growth factor e.  
\[\left[\text{bestSmell bestIndex}\right]\text{ }=\text{ min(Smell)} \tag{11}\]  
The seventh step: Preserve the optimal taste concentration value and the coordinates of x and y. At this time, the fruit fly group uses vision to fly to the position and record the values of the best parameters \(K\) and \(\alpha\).  
\[\left\{\begin{array}{c}\text{Smellbest }=\text{ bestSmell}\\ \text{ X\_axis }=\text{ X(bestIndex)}\\ \text{ Y\_axis }=\text{ Y(bestIndex)}\end{array}\right. \tag{12}\]  
The eighth step: Enter iterative search, repeat steps 2-5, and determine whether the taste concentration is better than the previous iteration taste concentration. If yes, proceed to step 6, until the  
Figure 1: Iterative search for food programs for fruit fly populations.  
number of runs meets maxgen times, stop the operation, and output the best taste concentration value and the best parameters.