# Niching Global Optimisation: Systematic Literature Review
## 2 Niching Paradigms
### Sequential Niching Paradigms  
Sequential niching (or temporal niching) essentially consists of restarting the search optimisation scheme while banishing access to previously discovered basins of convergence using a hypersphere of a fixed radius. This technique was proposed in [4] three decades ago. The objective function is modified by the inclusion of a derating function using a recursive formula:  
\[\prod_{n+1}(x)=\prod_{n}(x)G(x,s_{n}) \tag{1}\]  
where \(\prod_{n+1}(x)\) is the modified objective function to be used for searching the \(n+1^{th}\) minimum, \(\prod_{n}(x)\) is the objective function used to for searching for the \(n^{th}\) minimum, \(G(x,s_{n})\) is the derating function, and \(s_{n}\) is the \(n^{th}\) found minimum. We also have  
\[G(x,s_{n})=\begin{cases}exp(logm\frac{r-d(x,s_{n})}{r})\text{ if }\ d(x,s_{n})<r\\ 1\ \text{ otherwise}\end{cases} \tag{2}\]  
Figure 2: Classification of niching methods.  
where \(m\) is the derating value, \(r\) is the niche radius, and \(d(x,s_{n})\) the distance between the current point \(x\) and the previously found minimum \(s_{n}\). The authors of [25] proposed computing this radius as follows:  
\[r=\frac{\sqrt{d}}{2\sqrt[]{p}} \tag{3}\]  
where \(d\) is the dimension of the problem and \(p\), is the number of optima the problem is expected to have. This formula is applied to a normalised problem landscape \(x\in[-1,1]\). Similar derating functions have been proposed in the literature, aiming to modify search agents by modifying the objective functions [26]. Most of these techniques fight the risk of flattening the objective function of discovering multiple optima or the risk of creating new local optima around the transformed basin of convergence. Algorithm 1 provides a pseudo-code of the sequential niching paradigm.  
```
1 Set pop size N, max_iter \(K\);
2 Create initial population \(x_{i}\in X_{0}\);
3 Create niche-head list \(\mathcal{N}=\{\}\);
4 whileiter \(<K\)do
5 forx in populationdo
6 v = compute search direction(x) ;
7 for\(c\in\mathcal{N}\)do
8 if\(d(x,c)<r\)then
9 penalise the fitness (i.e., \(f(x)\));
10
11 end if
12
13 end for
14 Update next-generation individual;
15
16 end for
17 ifpopulation head stallsthen
18 add population-head to \(\mathcal{N}\) ;
19 restart main sub_population with N new individuals;
20
21 end if
22
23 iter++;
24
25 end for return niche-heads;
```  
**Algorithm 1**Typical sequential niching framework.  
Advances in Sequential Niching  
Although more attention in the research field has been directed towards parallel niching, some research has been conducted in the sequential niching paradigm. The authors of [27] proposed an improvement to the sequential niching in [4] by introducing a stretching function which deforms the search space to discover only optima points equal to or larger than previously discovered optima. The technique was effective in multi-global optima, but the effect of stretching could lead to losing other optima, including global optima, and introducing false local optima. The authors of [1] proposed a radius-free adaptive technique to locate basins of convergence using the hill-valley concavity test [28]. This technique yielded superior results, finding all global optima in the benchmarking testfunctions. However, because the hill concavity test requires function evaluations, the technique is computationally expensive in application problems where a single function evaluation is resource-intensive, such as in optimal control [29]. The authors of [30,31] proposed a memetic sequential niching algorithm which uses gradient-based hill climbing local search for exploration, a Gaussian derating function with clearing, and a genetic algorithm. The basin of convergence was still dependent on a fixed radius. Table 1 gives an aggregation of the surveyed methods.