## 2 Proposed Approach  
In this section, the proposed approach is described in detail. The approach combines cooperative coevolution, the multilevel self-adaptive approach for selecting the number of subcomponents and the number of individuals, and SHADE. This approach is titled CC-SHADE-ML. This study was inspired by the MLCC algorithm [16] proposed by [PERSON], [PERSON], and [PERSON]. MLCC is based on the multilevel cooperative coevolution framework for solving continuous LSGO problems. Before the optimization process, there is a need to determine a set of integer values \(CC\_set=(CC_{1},CC_{2},\ldots,CC_{i})\) corresponding to the number of subcomponents. The optimization process is divided into a predefined number of cycles. In each cycle, the number of subcomponents is selected according to the performance of decomposition in the previous cycles. Variables are divided in subcomponents randomly in each cycle. The Equation (2) is used to evaluate the performance of the selected number of subcomponents after each cycle. \(f_{before}\) is the best-found fitness value before the optimization cycle, and \(f_{after}\) is the best-found fitness value after the optimization cycle. If the calculated value is less than 1E-4, then it is set to 1E-4. If this condition is not applied, the selection probability for the applied decomposition size is set to 0 after a cycle without improving. This means that the algorithm will never select this parameter in the future. Before starting the optimization process, all values of the \(performance_{i}\) vector are set to 1.0. \[performance_{i}=\left(f_{before}-f_{after}\right)/f_{before} \tag{2}\]  
When the performance of the selected parameter is calculated, it is necessary to recalculate the selection probability for all parameters. In MLCC, the authors propose to use Equation (3), where \(k\) is a control parameter and it is set to 7. In the original study, the authors note that 7 is an empirical value. In Section 3, we investigate the influence of this parameter on the algorithm's performance. \[p_{i}=\frac{e^{k*performance_{i}}}{\sum_{j=1}^{t}e^{k*performance_{i}}},\ i=\{1,2, \ldots,t\} \tag{3}\]  
In the next optimization cycle, the decomposition size will be selected based on the new probability distribution. MLCC uses SaNSDE as a subcomponent optimizer. In the original article, the population size is fixed and is set to 50. At the same time, the population size is one of the most important parameters in population- and swarm-based algorithms. The choice of a good number of individuals can significantly increase the performance of an algorithm. In the proposed approach, for selecting the population size we apply the same idea as in selecting the number of subcomponents. In this study, we use a recent variant of differential evolution (DE) [17] as a subcomponent optimizer. DE is a kind of EA that solves an optimization problem in the continuous search space but does not require a gradient calculation of the optimized problem. DE applies an iterative procedure for the crossing of individuals to generate new best solutions. \(F\) and \(CR\) are the main parameters in DE, a scale factor, and a crossover rate, respectively. Many researchers have tried to find good values for these parameters [18], however, these parameters are good only for specific functions. Numerous varieties of the classic DE with self-tuning parameters have been proposed, for example, self-adaptive DE (SaDE) [19], ensemble of parameters and mutation strategies (EPSDE) [20], adaptive DE with optional external archive (JADE) [21], and success-history based parameter adaptation for DE (SHADE) [22]. We use SHADE as an optimizer of subcomponents in the proposed CC-based metaheuristic because it is the self-adaptive and high-performing modification of the classic DE algorithm. SHADE uses a historical memory that stores well-performed values of \(F\) and \(CR\). New values of \(CR\) and \(F\) are generated randomly but close to values of stored pairs of values.