| Algorithm 1: The pseudo-code of IBWOA | 
| Initializing populations using Gauss chaos mapping | 
| Calculate the fitness value of each spider | 
| Record the current worst fitness value, the best fitness value and its location information | 
| while | 
| initialize random parameters | 
| for | 
| if random ≤ 0.3 | 
| the spider moves and update its location information using Equation (1) | 
| or else | 
| the spider moves and update its location information using Equation (2) | 
| end if | 
| calculating the pheromone value of the spider using Equation (3) | 
| update the spider with low pheromone values using Equation (13) | 
| if random ≤ | 
| h = 0 | 
| if ≤ 0.5 | 
| update the spider location information using Equation (7) | 
| or else | 
| update the spider location information using Equation (8) | 
| end if | 
| or else | 
| h = 1 | 
| end if | 
| calculate the fitness value of the spider | 
| if the fitness value of the spider ≤ the best fitness value, | 
| update the best fitness value and its location information | 
| end if | 
| end for | 
| if h == 1 | 
| Obtain opposition solutions using Equation (11) | 
| Retaining spiders with higher fitness values | 
| end if | 
|  | 
| end while | 
| Output the best fitness value |