# Chemotherapy Regimen Optimization Using a Two-Archive Multi-Objective Squirrel Search Algorithm
## 3 Proposed Model and Method
### Two-Archive Multi-Objective Suirrel Search Algorithm
#### 3.2.3 Two-Archive Multi-Objective Squirrel Search Algorithm (TA-MOSSA)
Conversely, in \"winter\", the SSA maintains the current status and allows \(FS_{nt}\) individuals to continue moving towards \(FS_{ht}\) or \(FS_{at}\). As shown in Equation (19), the seasonal monitoring condition emphasizes global search in the early stages and local exploitation in the later stages of algorithm iterations, achieving an adaptive balance between the two. However, since the multi-objective optimization generates a set of non-dominated solutions, the seasonal monitoring conditions described in Equation (19) are insufficient for capturing the convergence of the Pareto front during the search process. Therefore, we introduce the generation gap (G) [37] to modify the seasonal monitoring conditions in the proposed TA-MOSSA. The generation gap (G) is an indicator used in evolutionary algorithms to measure the convergence of the population. It quantifies the convergence of the population by calculating the minimum Euclidean distance between all non-dominated solutions generated in two consecutive iterations, expressed as follows:  
\[G=\frac{\sqrt{\sum_{i=1}^{n_{1}}{{{sp}_{i}}}}}{n_{1}} \tag{35}\]  
\[gap_{i}=min_{j=1}^{n_{2}}{{\left|{{\left|{FS_{i}^{iter-1}-FS_{j}^{iter}}\right| }\right|}^{2}}} \tag{36}\]  
where \(gap_{i}\) represents the minimum Euclidean distance between the \(i\)th non-dominated solution at the \(iter-1\) iteration and all non-dominated solutions generated at the \(iter\) iteration. \(FS\) denotes the non-dominated solution, and \(n_{1}\) and \(n_{2}\) are the number of non-dominated solutions generated in the \(iter-1\) and \(iter\) iterations, respectively. A smaller generation gap value indicates that the newly generated non-dominated solution set shows no significant change compared to the previous iteration, indicating that the search process tends towards local exploitation and gradually converges. A larger generation gap indicates a significant difference between the non-dominated solution sets obtained in two consecutive iterations, indicating that the algorithm's search process has not yet reached a stable convergence state. In this case, the calculation of the minimum seasonal constant value remains unchanged to preserve the adaptive balance between global exploration and local exploitation, as in the original SSA. The calculation of the minimum seasonal constant remains unchanged, as in Equation (20), to preserve the adaptive balance between global exploration and local exploitation. To help the search process converge better towards regions with superior solutions, the two-point crossover operator is introduced to the seasonal monitoring mechanism, serving as a local search for solutions in the Convergence Archive (CA). This improvement fully utilizes the neighborhoods of CA solutions to explore potential better solutions. Solutions are then selected and replaced based on dominance relations, enhancing the quality of the Pareto front and alleviating local optima to some extent. The two-point crossover operator, a widely employed method in genetic algorithms, generates offspring by recombining parental genetic information. The primary steps involved are as follows:  
1. Randomly selecting two crossover points within the chosen parent individuals, dividing them into three segments. These crossover points are the same for both parental individuals. 2. Exchanging segments between the crossover points of parental individuals to produce two new offspring individuals. The implementation of the two-point crossover is illustrated in Figure 5, where \(X_{i}\) and \(X_{j}\) represent the parent solutions, the arrow indicates the crossover point, and \(X_{1}^{*}\) and \(X_{2}^{*}\) represent the offspring. It can be observed that the two-point crossover operator introduces relatively small and concentrated variations in individual solutions. Employing the two-point crossover operator for local search facilitates exploration of neighborhoods surrounding optimal solutions, preserving their vital information.