## 4 Proposed Approach  
In this study, a new modification consisting of using the success history-based position adaptation of potential solutions (SHPA) is introduced. The main idea is to improve the search diversity of biology-inspired component algorithms of the fuzzy-controlled COBRA meta-heuristic approach and consequentially COBRA's efficiency. The key concept of the proposed technique is described below. First, one population for each component algorithm is generated, namely the set of potential solutions called individuals and represented as real-valued vectors with length \(D\) is randomly generated, where \(D\) is the number of dimensions for a given optimization problem. It should be noted that on this step the population size for each component is chosen beforehand and will be changed later automatically by the fuzzy controller. Also, additionally for each population (component algorithm) an external archive for best-found positions is created. At the beginning the external archive is empty and then its size can increase to the maximum value, which is chosen by the end-user and stays the same during the work of the component algorithm. The best position found by a given individual or in other words the local best-found position in the search space for each individual in each population is saved. Initially each individual's current coordinates are used as its local best. If later a better position is found, then it will be used as the local best and the previous one will be stored in the mentioned external archive. The pseudo-code introduced in Algorithm 1 for a minimization problem can describe the process of updating the external archive for each component algorithm. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multicolumn{2}{c}{**Rule**} & & & & & \\ \hline
1 & IF & \(x_{1}\) is \(A_{3}\) & \(x_{2}\)–\(x_{6}\) is \(A_{4}\) & \(x_{7}\) is \(DC\) & THEN & \(y_{1}\) is \(B_{3}\) & \(y_{2}\)–\(y_{6}\) is \(B_{1}\) \\ \hline
2 & IF & \(x_{1}\) is \(A_{2}\) & \(x_{2}\)–\(x_{6}\) is \(A_{4}\) & \(x_{7}\) is \(DC\) & THEN & \(y_{1}\) is \(B_{2}\) & \(y_{2}\)–\(y_{6}\) is \(B_{2}\) \\ \hline
3 & IF & \(x_{1}\) is \(A_{1}\) & \(x_{2}\)–\(x_{6}\) is \(A_{4}\) & \(x_{7}\) is \(DC\) & THEN & \(y_{1}\) is \(B_{1}\) & \(y_{2}\)–\(y_{6}\) is \(B_{3}\) \\ \hline \(\ldots\) & & & & \(\ldots\) & & \\ \hline
19 & IF & \(x_{1}\)–\(x_{6}\) is \(DC\) & \(x_{7}\) is \(A_{1}\) & THEN & \(y_{1}\) is \(B_{1}\) \\ \hline
20 & IF & \(x_{1}\)–\(x_{6}\) is \(DC\) & \(x_{7}\) is \(A_{2}\) & THEN & \(y_{1}\) is \(B_{2}\) \\ \hline
21 & IF & \(x_{1}\)–\(x_{6}\) is \(DC\) & \(x_{7}\) is \(A_{3}\) & THEN & \(y_{1}\) is \(B_{3}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Part of the rule base. ```
1: The objective function is \(f\)
2:for\(i\) in \(1\dots 6\)do
3:\(N_{i}\) is the size of the \(i\)-th population
4:\(A_{i}\) is the external archive for the \(i\)-th population
5:\(|A_{i}|\) is the maximum size for the \(i\)-th external archive
6:\(k_{i}\) is the current number of individuals stored in the archive \(A_{i}\) (\(k_{i}\leq|A_{i}|\))
7:for\(j\) in \(1\dots k_{i}\)do
8:\(A_{ij}\) is the \(j\)-th individual stored in the archive \(A_{i}\)
9:endfor
10:for\(j\) in \(1\dots N_{i}\)do
11:\(P_{ij}\) is the \(j\)-th individual in the \(i\)-th population
12:\(local_{ij}\) is the local best for each \(P_{ij}\)
13:endfor
14:endfor
15:for\(i\) in \(1\dots 6\)do
16:for\(j\) in \(1\dots N_{i}\)do
17:if\(f(P_{ij})<f(local_{ij})\)then
18:if\((k_{i}+1\leq|A_{i}|)\)then
19:\(A_{i(k_{i}+1)}=local_{ij}\)
20:\(k_{i}=k_{i}+1\)
21:endif
22:if\((k_{i}+1>|A_{i}|)\)then
23: randomly choose the integer \(r\) from \(1\) to \(|A_{i}|\)
24:if\(f(local_{ij})<f(A_{ir})\)then
25:\(A_{ir}=local_{ij}\)
26:endif
27:endif
28:\(local_{ij}=P_{ij}\)
29:endif
30:endfor
```  
**Algorithm 1** The process of updating the external archive for component algorithms  
As was already mentioned, all component algorithms are executed in parallel after generating of six populations (one for each of them) and creation of the external archives.