A Migration-Based Cuttlefish Algorithm With Short-Term Memory for Optimization Problems

Cuttlefish algorithm (CFA) is a metaheuristic bio-inspired algorithm that mimics the color-changing behavior by the cuttlefish. It is produced by light reflected from different layers of cells and involves two processes, i.e., reflection and visibility. The reflection process simulates the light reflection mechanism, while the visibility process simulates the visible appearance of the matching pattern used by the cuttlefish. There is no cooperation strategy between the solutions of the CFA’s sub-populations. The strategy can improve the capabilities of local exploitation and global exploration in terms of solution diversity and quality during the search process. This paper introduces two schemes to improve the performance of the cuttlefish algorithm in continuous optimization problems. Firstly, a migration strategy is employed between the multi-population cuttlefish to increase solutions diversity during the search process. Secondly, one of the exploitation strategies of the standard cuttlefish is replaced with a new exploitation strategy based on short-term memory. The test demonstrates that the proposed algorithm outperforms the standard cuttlefish algorithm. Besides, the performance of the proposed algorithm was investigated using the CEC2013 benchmarking test functions. Comparisons with several state-of-the-art algorithms were performed, and the outcomes indicated that the proposed method offers a competitive performance advantage over the alternatives.


I. INTRODUCTION
Over the past years, an enormous number of metaheuristic algorithms have been introduced to solve optimization problems [10]. Metaheuristic algorithms have been formulated in the search for a solution optimizing a criterion between a set of candidate solutions. A broad category of metaheuristic algorithms includes single-solution and population-based algorithms.
The associate editor coordinating the review of this manuscript and approving it for publication was Xiaokang Wang. Solutions diversity in the population-based metaheuristics (P-metaheuristics) represents the diversity and variance of solutions within the upper and lower limits of the search space. The works in [7], [53] discussed the importance of the solutions diversity in the initial population and during the search process. It focused on the P-metaheuristics, which are known to be sensitive to the choice of the initial population and biased sampling during the search process. This drawback may result in a diversity loss for the application of P-metaheuristics.
One of the most common ways to improve and maintain diversity during the search process is to implement a cooperative strategy among the sub-populations, as discussed and investigated in [47]. The solutions diversity in the population has also been investigated recently by other researchers [11]- [13], [60], where improving the solutions diversity issue is examined with brain storm optimization (BSO). The tests were carried out by applying various strategies such as vector grouping learning scheme [13]; enhancement of the BSO ideas grouping and ideas generation mechanism [12]; multi-information interaction [11]; and simple individual updating [60]. The authors of [14] proposed a differential evolution flame generation strategy in an original moth-flame optimization algorithm (MFO) to obtain a sufficient population diversity and improve the algorithm's exploration performance. In [19], the researchers adopted the variable neighborhood search (VNS) to expand the intensification process and increase the population diversity of a hybrid discrete water wave optimization algorithm (HWWO). The researchers in [50] proposed two constructive heuristics based on the LR [33] and NEH [46]. The two constructive heuristics were used to help in generating the initial solutions of a discrete artificial bee colony algorithm (DABC), aimed to increase the solution quality and diversity. In [20], a chaotic sequence produced by the logistic map was used for solution initiation of a harmony search algorithm (HS). The application of the chaotic sequence was aimed to guarantee the solution diversity, improve the global search capabilities, and enhance the algorithm's convergence performance. The researchers in [40] proposed crow particle optimization (CPO), which is a hybrid algorithm based on particle swarm optimization (PSO) and crow search algorithm (CSA). The combination was suggested to eliminate the premature convergence in the PSO, which caused a rapid decrease in the solution diversity.
Solutions diversity has a direct impact on the convergence behavior; hence, weak solutions diversity may cause premature convergence. This scenario has been proven by [15], which examined the application of a replacement-based strategy. This strategy was purposely used to control population convergence by improving diversity based on calculated distance metrics. The solutions diversity in [15] was considered as an additional objective in the evolutionary algorithms. The evaluation of the experiments was carried out on the frequency assignment problem and a set of 44 instances. Thus, the results showed that the convergence was improved after the application of the strategy.
The effectiveness of the CFA was tested in [2] against a few of the popular bio-inspired optimization algorithms, such as bees algorithm (BA), genetic algorithms (GA), and The PSO. The reported results in [2] showed that the CFA is superior to the other algorithms using several well-known benchmark test functions. The CFA has the benefit of combing a population-based algorithm with local search. At each iteration in the algorithm, two global strategies (exploration) and two local strategies (exploitation) are applied to the solutions in the populations. However, each of the four strategies is applied independently on an equal number of solutions (sub-populations). The lack of cooperation between the sub-populations limits the algorithm of exploiting the globally explored solutions.
Some metaheuristics may contain some components that are not essential to the functioning of the algorithms. It is vital to investigate the core optimization components of the CFA to get an in-depth insight into which ones are better for removal or replacement to create a ''lean'' metaheuristic, as referred to in [34]. It is also vital to undergone further examination of a cooperation method between the sub-populations in the CFA to increase the solutions diversity during the search process. Developing a migration strategy between sub-populations is one method used to increase solutions diversity. The migration strategy involves migrating solutions from one sub-population to another to increase the solutions diversity in the sub-populations. The strategy's implementation has shown some performance improvements in some multiple P-metaheuristics, such as PMCPSO (a PSO variant) [54], biogeography-based optimization (BBO), bacterial foraging optimization (BFO), and artificial immune systems (AIS) [28].
Memory can play a significant role in the performance of metaheuristics to solve problems. The incorporation of memory into metaheuristics was first introduced in [18] in the tabu search algorithm (TS). The TS is one of the most known and used algorithms for solving varies kinds of problems, such as the TSP [58] and timetabling problem [52]. However, there are only a few works that have attempted to develop memory-based algorithms [4], [9], [24]- [26], [42]. It was also suggested in [38] that memory can be beneficial for achieving solutions diversity and helping to increase the intensification process. In [24], [25], the use of memory has been implemented by combining memory with the simulated annealing algorithm (SA). This implementation was able to obtain excellent performance in helping the algorithm to escape from the local optimum in solving a Timetabling problem. The researchers in [4] combined the TS and scatter search (SS) algorithms for solving a continuous optimization problem. The combination involved the use of a few TS elements, such as the use of memory structure in the SS algorithm, to improve its local search performance. The experimentation in [4] has shown that the local search was improved significantly after the implementation of memory structure.
Based on the above discussion, this paper aims to develop a migration-based cuttlefish algorithm with short-term memory to achieve diverse solutions and increase the solution quality. The performance of the proposed method was tested on a set of well-known unimodal and multimodal test functions. Then, it was compared to the standard CFA and several state-of-the-art algorithms, such as the top-ranking variants of a gravitational search algorithm (GSA) [59] and differential evolution (DE) [5].
The rest of this paper is organized as follows. Section II presents the standard cuttlefish algorithm. The modified cuttlefish is discussed in Section III. Discussion and analysis of the experimental results on benchmark test functions are given in Section IV. Section V concludes the paper.

II. STANDARD CUTTLEFISH ALGORITHM, CFA
CFA is a bio-inspired optimization algorithm that mimics the mechanism of color-changing behavior by the cuttlefish, depending on its surroundings [2]. It is achieved through an VOLUME 8, 2020  (1,2,3) and the three cell layers [16]. (a) the reflection of the two rays without the chromatophore contraction and one with fully contracted chromatophore, (b) the reflection of rays through fully and partially contracted chromatophore.
interaction between three cell layers, i.e., chromatophores, leucophores, and iridophores. The combination of these cells with the reflecting light produce different colors and patterns. Details of these three cells are given in Fig. 1. Two examples are described in Fig. 1 (a, b) and three different sources of rays (1,2,3), demonstrating the complex means by which the cuttlefish can change its reflective coloring. More details on the adaptive biological coloration of the cuttlefish can be found in [16].
CFA works via two search strategies, i.e., Reflection and Visibilty. Reflection represents the mechanism used by cuttlefish to reflect incoming light to output different colors and patterns. Visibilty represents matching pattern clarity, or the attempt to optimize output patterns according to the environment. The change of the color form from the combination of Reflection and Visibility produces six different cases, as shown in Fig. 2.
The six different cases shown in Fig. 2 may be classified into four groups:  The pseudo-code for the standard CFA is given in Algorithm 1. CFA has four parameters for the Reflection and Visibility search strategies. Two parameters (coded as r 1 and r 2 ) are used during the Reflection strategy. Whereas the other two (coded as v 1 and v 2 ) are used for Visibilty strategy. At the initialization stage, the initial population (referred to as P) is constructed at random using (1): where lowerLimit and upperLimit are the lower and upper boundary of the problem domain. The random represents a random number between [0, 1]. As described in Fig. 3, each solution contains two values, the first value is a vector of dimensions (d) of continuous values containing the solution points (referred to as Points), and the second value is the fitness of the solution, where x i represents an individual solution, and j is the j th point in the first value of that individual solution.
The fitness function (or objective function) is used to indicate how close a given solution is to the optimal solution. Each continuous problem has a different fitness function; for example, Table 1 shows different equations for different problems that guide the algorithm to the optimal solution. However, once the fitness of each solution is calculated, the best solution (BestSolution) is kept to be updated and used Calculate the average value of the best solution (AV best ) to be used in Case 5 (see (6)) 9: For each x i in G 1 10: Generate End for 14: For each x i in G 2

24:
Generate x new using Case 6 (see (1)) 25: End for 28: End while 29: Return the best solution (BestSolution) during the search process. The initial parameter values for r 1 , r 2 , v 1 , and v 2 are assigned. Those values can be tuned by an algorithm or can be manually set by the user using the trial and error method. The population is divided equally into four groups (G 1 , G 2 , G 3 and G 4 ) based on (2), and the remaining solutions are discarded (if any): where G size is the size of each group, and P is the initial population size.

B. IMPROVEMENT STAGE (PSEUDO-CODE LINE 6-28 OF ALGORITHM 1)
At the solutions improvement stage, a new solution, x new is generated using (3) until the termination criteria are met: where x new is the new solution, it is the summation of the Reflection and Visibilty calculated values. Before calculating the Reflection and Visibilty, the values of R and V are calculated using (4) and (5). R and V are needed to calculate the Reflection and Visibilty in most of the cases. However, in Cases 3, 4, and 5, R is set to value of 1, and during Case 1 and 2 V is set to 1: where random() represents a random number between 0 and 1. The parameters r 1 , r 2 , v 1 , and v 2 are defined manually at the initiation stage. The average value of the best solution points (AV best ) is calculated using (6). AV best is used in Case 5 (on the third group), and it is calculated by finding the summation of the best solution points divided by n, where n is the total number of points.
After the initialization stage is complete, the four search strategies are applied to the following groups: A new solution x new is generated using (7) and (8) to calculate the Reflection andVisibilty, respectively. G 1 acts as a global search (exploration), and the value of R is calculated using (4): where G 1 is the first group of solutions.
, is the j th point of the best solution.

2) GROUP 2 (G 2 ): CASE 3 AND 4 (PSEUDO-CODE LINE 14-18 OF ALGORITHM 1)
A new solution x new is generated around the best solution using (8) and (9) to calculate the Visibilty and Reflection, respectively. G 2 acts as a local search (exploitation), and the value of V is computed using (5):

3) GROUP 3 (G 3 ): CASE 5 (PSEUDO-CODE LINE 19-22 OF ALGORITHM 1)
A new solution x new is generated based on AV best . Equation (9) and (10) are used to calculate the Reflection and Visibilty, respectively. G 3 acts as a local search (exploitation), and the value ofV is computed using (5):  For example, if the best solution has two points (6, −2), v 1 , and v 2 are set to (1, −1), respectively. The result of the AV best will be calculated as follow; AV best = (6-2)/2 = 2. The difference in between the BestSolution and the AV best is (first difference = 6-2 = 4), and (second difference = −2 −2 = −4). Therefore, visibility will signify the interval between (-first difference, sec-

III. PROPOSED APPROACH: MIGRATION-BASED CUTTLEFISH ALGORITHM WITH SHORT-TERM MEMORY (MIG-CFA)
The aim of developing a migration strategy and short-term memory is to improve the diversity and quality of the Algorithm 2 Mig-CFA 1: Initialization Stage: 2: P = initial population 3: Evaluate (P) and keep best solution in BestSolution 4: Assign parameter values r 1 , r 2 , v 1 , v 2 , G5S percent , Memory IS , Iterations max 5: Collected = empty array (where the size is equal to Iterations max ) 6: Divide population into four groups G 1 , G 2 , G 3 , G 4 (see (2)) 7: Calculate G 5−Size using (11) and initialize a new fifth groupG 5 () (see (12)) 8: Sortthe solutions of each group in ascending order 9: Migrate top solutions ofG 1 , G 2 , G 3 , G 4 → to G 5 (see (12)) 10: While G 5 still have space for more solutions to be added Do 11: Generate x new using Case 6 (see (1) Generate x new using Case 1 and 2 (see (7)   Select two random x i from Collected 39: Place the two selected x i in the first memory list 40: While the maximum number of iterations (based on Memory IS ) is not reached Do 41: Generate x new using random point swaps (see (14)) 42: Place the point that have been swapped in the second memory list 45: End while 46: Empty the second memory list 47: End while 48: Return BestSolution The Mig-CFA starts with the same initialization stage as in the standard CFA. The Mig-CFA has two additional parameters, namely Memory IS and G5S percent .Memory IS is used for the newly implemented local search, and G5S percent is used for calculating a new sub-population called Group 5 (G 5 ). The size of G 5 (referred to as G 5−Size ) is calculated using (11): where G size is the size of any of the four groups. To illustrate, consider G5Spercent and P are set to 0.30 and 500 respectively.
Once the size of G 5 is calculated, the initial migration process using (12) can take place. G 5 is constructed mainly from the other four groups, and the number of solutions to migrate from the other groups depends on the G5Spercent parameter. After the initial migration process, G 5 should obtain some solutions from the other groups, while the remainder of the solutions is generated at random using (1). The solutions that are migrated from the four groups are sorted earlier, and only the top solutions are selected for the creation of G 5 : where ↑ represents the sorted solutions from best to worst. Mig-CFA improvement has two stages. The first stage involves the migration strategy, and the second stage applies the new local search with short-term memory. G 1 acts as a global search (exploration) and is unchanged from the standard CFA, while Reflection and Visibilty are calculated similarly using (7) and (8), respectively.
2) GROUP 2 (G 2 ) AND GROUP 3 (G 3 ) G 2 and G 3 in Mig-CFA are no longer used for the search process, instead, serve only the purpose of providing solutions to G 5 during the initial migration process.

3) GROUP 5 (G 5 ): CASE 3 AND 4 (PSEUDO-CODE LINE 20-24 OF ALGORITHM 2)
Case 3 and 4 are now applied to the G 5 rather than G 2 . Case 3 and 4 represent a local search (exploitation), and it is unchanged from the standard CFA. The Visibilty and Reflection are calculated similarly using (8) and (9), respectively. Equation (1) is used to generate a solution at random. Case 6 represents a global search (exploration), and neither R or V are used.

5) SOLUTION MIGRATION PROCESS (PSEUDO-CODE LINE 30-31 OF ALGORITHM 2)
Throughout the search process, G 1 and G 4 migrate their top solutions to G 5 based on G5Spercent parameter using (13). (13) where ↓ represents the sorted solutions from worst to best.

C. IMPROVEMENT STAGE 2 (PSEUDO-CODE LINE 34-48 OF ALGORITHM 2)
In Mig-CFA, Case 5 (i.e., G 3 in the standard CFA) is no longer used for a local search strategy. It was replaced by a new local search which uses a short-term memory. The new local search is applied to collected solutions (called Collected) during the improvement stage 1 (see Algorithm 2). The collected solutions are the best solutions gathered from each iteration. Improvement stage 2 starts when the maximum number of iterations (referred to as Iterations max ) is met, and the global optimum is not found. The maximum number of function evaluations (NOFE) can also be used as a termination condition. The aim of implementing improvements in stage 2 is to exploit further the best solutions found at each iteration during improvement stage 1. The short-term memory was implemented to avoid repeating the same exploitation search.
However, the new local search was carried out by applying a random point swaps in between the two randomly selected solutions using (14) and then evaluating both solutions after the swap. The application of the short-term memory shall help to increase the number of different exploited solutions; therefore, a solution quality is expected to be slightly higher.
where x 1 and x 2 , are randomly selected solutions from Collected. Points j rd() , is the randomly selected point from the solution. rd is a random number between 1 and d dimensions.
The improvement in stage 2 starts by creating two memory lists. The first memory list keeps track of the solutions that were selected randomly from Collected, whereas the second memory list keeps track of the points that are swapped in between the two selected solutions. This stage uses the Memory IS parameter to set the size of both memory lists, the maximum number of iterations for this stage, and the maximum number of point swaps at each iteration. The memory lists work as a queue based on First-In-First-Out (FIFO method). Moreover, only the second memory list is fully emptied after every iteration. Fig. 4 shows the selection of two random solutions from Collected and how they are placed in the first memory list over the first two iterations. Fig. 5 shows the point swaps between two selected solutions. For illustration purposes, only two swaps are tracked in the second memory list.

IV. NUMERICAL EXPERIMENTS
In this section, a comparison between the Mig-CFA and the standard CFA is given. The Mig-CFA is also examined on CEC2013 benchmarking test functions [30], [31] and then compared to some other state-of-the-art algorithms. The comparisons were made using well-known test functions. The experiments have been carried out using C# on an Intel Core i5-8400 CPU 2.80 GHz desktop, 8 GB RAM using Windows 10 64-bit Operating System.

A. BENCHMARK FUNCTIONS
A wide range of well-known test functions was used to determine the algorithm's performance. Table 1 describes the main benchmarking test functions that were used for comparing the Mig-CFA with the standard CFA. They were classified into shifted unimodal and multimodal functions. As for the comparisons of the Mig-CFA against other state-of-the-art algorithms, a different set of benchmarking test functions have been described in each experimental section.

B. PARAMETER SETTING
In this work, as presented in Table 2, the same parameter setting was used as in the standard CFA [2] for the r 1 , r 2 , v 1 , v 2 , population size (labeled Population), and the maximum number of iterations (labeled Iterations max ). Hence, to keep the  comparisons with other algorithms in the literature unbiased, the parameters are declared at each comparison.
Multiple variants of the Mig-CFA were tested and compared to set G5S percent and Memory IS values. Two functions were used, namely, Ackley (multimodal) and the Rosenbrocks valley (unimodal), where each function was simulated 31 times. The other parameters shown in Table 2 were used. First, we try varies G5S percent with no memory used, once the VOLUME 8, 2020  value of G5S percent is set, then the value of Memory IS can be tested based on the value of G5S percent .
As shown in Table 3, the value of 0.15 has the best values in terms of the average best fitness value (labeled Average) and has the best solution (labeled Best). For the search time (labeled Search Time), the parameter did not affect the convergence speed.
Once the value of G5S percent is chosen, other variants of the Mig-CFA to find a good Memory IS parameter was tested using the same settings explained in deciding a good G5S percent . As shown in Table 4, the best solution (labeled Best), average best fitness values (labeled Average), and the average search time (labeled Search Time) using the value of seconds were reported. It was found that a high value of Memory IS caused the convergence to be slower, and the value of the fitness did not improve. At lower Memory IS values of 10 to 30, the best performance in terms of the average best fitness value was found at the value of 20, and the best solution was at the Memory IS value of 10. The average best fitness value is more important than the best solution; therefore, the value of 20 was selected for the rest of Mig-CFA comparisons.

C. COMPARISON BETWEEN CFA AND MIG-CFA
In this paper, two approaches were used to compare the standard CFA with Mig-CFA. The first approach is to run the test functions, as presented in Table 1, on both algorithms over multiple runs. This approach helped to indicate the best and average fitness, success rate, and the algorithm's search time. For the second approach, a graphical representation of the solutions diversity in the standard CFA and Mig-CFA over the different number of iterations was applied.
After running both algorithms 31 times, the results were compiled as shown in Table 5. Based on the first comparison approach, the performance of both algorithms is given in terms of the best solution (labeled Best), average best fitness value (labeled Average), and the search time (labeled Search Time) using seconds. The modifications on the standard CFA did not affect the best solution on multiple test functions; instead, it was improved. The Mig-CFA outperformed the standard CFA using f 1−6 and f 1−7 in terms of the best solution. For the average best fitness value, Mig-CFA has achieved better results using f 1−3 , f 1−4 , f 1−6 , and f 1−7 .
As in [2], we also used Rosenbroack's function (f 1−7 ) with 16-d dimensions to indicate the speed of the convergence. The function is known as the Banana or Valley function, a popular test function for optimization algorithms. The function's category is unimodal, and the global optimum is inside a narrow, parabolic valley. This narrow valley is not difficult to find, but the convergence to the global optimum is complicated, as discussed in [49] f 1−7 is described in (15).
After approximately 250,000 function evaluations, the Mig-CFA was able to obtain much lower fitness value than the standard CFA, as shown in Fig. 7. Moreover, Mig-CFA had 9.6% more successful attempts to reach a feasible solution near the global optimum than the standard CFA. The main improvements were not only intended to achieve better solutions diversity and quality but also to improve the convergence speed. Figs. 8 and 9 give a graphical representation of the distribution of the solutions during the search process in the Mig-CFA and the standard CFA. The solutions in the figures are presented into three following types: 1. Explore: the solutions that are used for exploration in the next search iteration. 2. Exploit: the solutions that are used for exploitation in the next search iteration. 3. Explore and exploit (in the Mig-CFA only): the solutions that are migrated and used for exploration and exploitation in the next search iteration. For illustration purposes, the population size and G5S percent are set to 500 and 0.25, respectively.
The comparison of the distribution and diversity of the solutions in Figs. 8 and 9 are illustrated over the first few search iterations using f 1−7 using (15). Fig. 8 (a) and (b) show the solutions after the first and second search iterations, respectively. It can be seen that the distribution of the solutions in the Mig-CFA is higher than the standard CFA, especially under the fitness value of 2000. The Mig-CFA was able to obtain better quality fitness than the standard CFA with many solutions. The reason for achieving better quality fitness is the Mig-CFA initial migration of the best solutions from other groups for exploitation using Case 3 and 4.
In Fig. 8 (c) and Fig. 9 (a-c), the migrated solutions in the Mig-CFA can be seen spread outside the area where all of the exploit solutions in the standard CFA. The standard CFA only accepts better solutions; therefore, the solutions are exploited to achieve higher quality fitness only. For the Mig-CFA, it keeps exploiting solutions from varies areas of the search space (migrated solutions), except those solutions with a deficient-quality fitness, because only top solutions are migrated based on the parameter value of G5S percent .
The parameter G5S percent is responsible for controlling how many solutions from the exploration process to be exploited in the next search iteration. Controlling this parameter might help to balance the amount of exploitation against the exploration in the search space. In Figs. 8 and 9, the G5S percent parameter was set to the value of 0.25 for illustration. To understand the effect of that parameter during the search process, consider P is 500, G size = 500/4 = 125, the number of migrated solutions from G 1 and G 4 is (G5S percent * G size ) * 2 = (0.25 * 125) * 2 =∼62 solutions. Those 62 were used for exploration in their groups and also used for exploitation in G 5 using Case 3 and 4.
The exploit solutions shown in Fig. 9 (b-c) indicate that the standard CFA was only exploiting solutions with a fitness value of around 1000. For the Mig-CFA, it can be seen that it exploited solutions with varies fitness values ranges from around 1000 up to 10,000.
Additionally, the results from the tests using f 1−7 were used to justify further the implementations of the migration strategy and new local search in the standard CFA. Table 6 shows the number of times the best solution was improved at each search strategy in both algorithms over 31 independent runs. The results in Table 6 are based on a maximum NOFE of 250,000 in both algorithms. It also shows that the Mig-CFA was able to increase the average number of best solution improvements from 956.8 to 1,594.8 times per run, which is over 40% increase. There was an average of 294.7 times a migrated solution from Case 1, 2, and 4 became the best solution. It is also important to note that Case 5 (replaced exploitation strategy) in the standard CFA was able to improve the best solution with an average of only 2.2 times. VOLUME 8, 2020  In contrast, the new local search (Case 5 replacement, during improvement stage 2) in the Mig-CFA was able to surpass that number with an average of 22.8 times. As for the implementation of short-term memory, it was able to avoid an average of 23.6 times repeated selection of solutions and points. VOLUME 8, 2020

D. EXAMINING MIG-CFA ON CEC2013 BENCHMARKING TEST FUNCTIONS
Further examination of the Mig-CFA performance was conducted in different test environments. The 28 CEC2013 [30], [31] benchmarking test functions were adopted, as these benchmarking test functions have been used in many works like [14] and [48]. Table 7 lists the functions which include some complex shifted rotated functions. These functions were divided into three groups: unimodal, multimodal, and composition. The search range was defined in between −100 and 100. The maximum NOFE values of 300,000 and 500,000 were used as termination conditions for the 30-d and 50-d, respectively. The termination conditions were found in the same conditions as in [14].
The Mig-CFA uses two iterative searches. The first applies two global searches and one local search, while the second iterative search applies the new local search using short-term memory. Because of that, two termination conditions are placed into each iterative search to comply with VOLUME 8, 2020 the 300,000 and 500,000 maximum NOFE. Memory IS is used to indicate how many NOFE is placed in each iterative search. Based on the population size and the maximum number of iterations, the maximum NOFE can be calculated. To illustrate, consider the value of Memory IS was set to 20, the first iterative search will apply 300,000-(20 * 20) = 299600 NOFE, and the rest will be used in the second iterative search. The same method is applied if the termination condition is based on the maximum number of iterations. Memory IS controls how many of the maximum NOFE or iterations to take place in each of the iterative searches.
The simulation of the algorithm on the CEC2013 was carried out using all sets of r 1 , r 2 , v 1 , and v 2 parameters are given in Table 2 on each of the 28 functions with a population size of 50. The G5S percent and Memory IS are set to 0.15 and 20, respectively.
Each function was simulated 30 times using 30-d and 50-d dimensions, respectively. Tables 8 and 9 show the error mean value (Mean), which is as the error mean value in between the achieved best solution (BestSolution) and the global optimum (M) shown in Table 7 over 30 independent runs. The Mean is calculated using (16).
where BestSolution is the best solution found after the termination condition is met and M is the global optimum specified in Table 7. It can be observed from the results in Tables 8, and 9 that the Mig-CFA was able to obtain an error mean value of 0 on both 30-d and 50-d dimensions using f 2−3 , f 2−5 , f 2−7 , f 2−9 , and f 2−11 . The increase of dimensions from 30 to 50 did not affect the error mean value on every independent run using these functions. For the other functions, it can be seen that the increase in dimensions had a slight increase in the error mean value, except for f 2−1 , where the error mean value has increased noticeably. Moreover, the Mig-CFA was able to obtain a mean error value of 0 only in the 30-d dimension using f 2−4 , f 2−12 , and f 2−13 .

E. COMPARISON WITH STATE-OF-THE-ART 1) FIRST COMPARISON
Based on a recent survey on the metaheuristics done by [37]. The PSO was found to be the most used and has the highest interest in over 33 years of publications. Because of the popularity of the PSO applications in many works, a PSO variant (PMCPSO) [54] that uses a migration strategy was selected for comparison with the Mig-CFA. The same test functions as in [54] were used in this work, details of the functions and dimensions are given in Table 10. As in the original study, the Mig-CFA was simulated 50 times, and the population size was set to 40. As a termination condition, Iterations max given in Table 11 was set to the same as in [54]. Table 11 also shows the equivalent maximum NOFE. The rest of the used parameters in Mig-CFA can be found in Table 2, except for the Schaffer N2 function (f 3−6 ). f 3−6  has not being tested in the original study [2], for that reason, all sets of r 1 , r 2 , v 1 , and v 2 parameters given in Table 2 have been used to test the algorithm on f 3−6 . As shown in Table 12, parameters set 3 were selected and used in f 3−6 for this comparison. All sets of parameters have achieved the best solution (labeled Best) with the fitness of 0, and average best fitness value (labeled Average) of 0, except that set 2 had a different average value. The main reason for selecting parameters set 3 was because it had the lowest search time. Table 13 shows the best solution (labeled Best) and average best fitness values (labeled Average). In terms of the average best fitness values, Mig-CFA achieved better results using f 3−3 , f 3−4 , and f 3−5 . For the best solution, Mig-CFA outperformed PMCPSO using f 3−4 , and f 3−5 .

2) SECOND COMPARISON
Double-evolutionary learning moth-flame optimization algorithm (DELMFO) [14], enhanced adaptive guided differential evolution algorithm (EAGDE) [5], and hierarchical gravitational search algorithm (HGSA) [59] are three of the new state-of-the-art proposed algorithms. The DELMFO uses two distinguished evolutionary learning strategies: differential evolution flame generation and dynamic flame guidance. Those strategies are applied to improve the convergence speed and global search performance. The HGSA uses a hierarchical population structure to improve convergence behavior. EAGDE uses a non-linear function for population size reduction to improve the optimization process at an early stage. EAGDE showed a competitive performance against several state-of-the-art  algorithms, namely adaptive guided differential evolution algorithm (AGDE), creatively-oriented optimization algorithm (COOA), self-adaptive differential evolution with pBX crossover (MDE_pBX), super-fit multi-criteria adaptive differential evolution (SMADE), cooperatively coevolving particle swarms optimizers (CCPSO2), and covariance matrix adaptive evolution strategy (CMAES) [6]. All the algorithms mentioned above were tested using the CEC2013 benchmarking test functions. Hence, for that reason, these algorithms were selected for comparison with the Mig-CFA.
The reported results in [5], [14] are based on the same experimental settings and performance measurement (error mean value) as in subsection D. Thus, it allowed a valid comparison with the Mig-CFA's results in this paper. However, each CEC2013 test function tested by EAGDE, AGDE, COOA, MDE_pBX, SMADE, CCPSO2, and CMAES was simulated 51 times. As to keep the comparison unbiased, each function tested by the Mig-CFA was also simulated 51 times in addition to the 30 times reported in subsection D. For all the tests, Mig-CFA's parameters were set to those given in Table 2.
The comparison between the Mig-CFA and seven other algorithms, namely EAGDE, AGDE, COOA, SMADE, MDE_pBX, CMAES, and CCPSO2, is given in Tables 15 and  16 for solving the 30-d and 50-d dimensions, respectively. The Mig-CFA showed an advantage performance against the EAGDE and AGDE as it outperformed the EAGDE on   13 functions using 30-d dimensions and 15 functions using 50-d dimensions. These results showed that the Mig-CFA is performing better with a higher dimensions problem when compared to those two algorithms. It also can be observed in Table 15 that the Mig-CFA was able to compete with all seven algorithms on 13 functions achieving the best value and also has outperformed all other algorithms on 7 functions, namely f 2−3 , f 2−7 , f 2−9 , f 2−12 , f 2−13 , f 2−24 , and f 2−27 . As for the 50-d dimensions results reported in Table 16, it can be seen that the Mig-CFA has outperformed all other seven algorithms on 6 functions, namely f 2−3 , f 2−7 , f 2−9 , f 2−12 , f 2−13 , and f 2−26 .

3) THIRD COMPARISON
In the third comparison, Mig-CFA was employed for comparison with the CPO [40]. The CPO in [40] showed superior performance when compared to the CSA [1], GSA [17], and particle swarm gravitation optimization (PSGO) [41]. Similar to the method used in [40] for comparison, the maximum number of iterations was set to 2000 (equivalent to 36,400 maximum NOFE), and each function is simulated 30 times. As in [40], the test functions and the number of dimensions used for this comparison are given in Table 17. The population size was set to 20, which is the same size as in [40]. The rest of Mig-CFA parameters were set based on Table 2. The comparison also includes the results of CSA, GSA, and PSGO that are reported in [40]. Table 18 shows the best solution (labeled Best) and average best fitness values (labeled Average). Additionally, as in [40], the average search time (labeled Search Time) was also computed for comparison. Table 14 gives the results of a comparison between the Mig-CFA and DELMFO using both 30-d and 50-d dimensions, and between Mig-CFA and HGSA using 30-d dimensions. The comparison with the HGSA was performed using the 30-d dimensions only because the study in [59] reported the results without using 50-d dimensions. As shown in Table 14, the Mig-CFA was able to outperform the DELMFO on 7 out of 15 multimodal functions, and 3 out of 8 composition functions. It outperformed the HGSA on 15 functions, including four unimodal functions, eight multimodal functions, and three composition functions. Another observation is that Mig-CFA had a much better result on f 2−3 and f 2−4 when compared to DELMFO under the 30-d dimensions. Further, the results also showed that Mig-CFA outperformed DELMFO on four out of five unimodal functions. It can also be observed in Table 14, the performance of the Mig-CFA against both algorithms was considered the best on the unimodal functions. Whereas for the multimodal and composition functions, it performed competitively, achieving an error mean value of zero on a few functions.
The results in Table 18 indicates that the Mig-CFA outperformed all algorithms using f 4−1 , f 4−3 , f 4−4 , f 4−5 , and f 4−6  In [2], the standard CFA has shown superior performance against a few well-known P-metaheuristics, such as the GA and the PSO. It has four search strategies that work independently on an equal portion of the population. Two of those strategies are used for exploration, and the other two are used for exploitation. There is no communication between the search strategies, which could help the algorithm exploit more solutions that have been explored by the exploration search strategies. As shown in Table 6, implementing the migration strategy has solved this issue by migrating some explored solutions to be exploited by the exploitation strategies. Additionally, the migration strategy helped to improve VOLUME 8, 2020 the solutions diversity, as shown in Figs. 8 and 9. Furthermore, one of the local search strategies (Case 5 on G 3 ) works by exploiting only the best solution. Case 5 in the standard CFA only exploits a small search area around the best solution with very few best solution improvements (see Table 6). For that reason, Case 5 was replaced with a new proposed local search that uses short-term memory. The convergence of the Mig-CFA has shown significant improvement over the standard CFA, as shown in Fig. 7, and the solution quality was also improved, as shown in Table 5. However, the use of solution migration strategy to increase the solutions diversity during the search process and the implementation of short-term memory in a new local search strategy are the key points that were highlighted to justify the potential of Mig-CFA to perform competitively in comparison with multiple state-of-the-art algorithms.

F. THE WILCOXON SIGNED RANKS TEST
Additionally, the statistical Wilcoxon signed ranks test was used to determine the significance of the results achieved by the Mig-CFA in comparison with the other methods in the literature.
The Willcoxon signed ranks test tries to claim whether two given samples have populations with the same medians. The test has two hypotheses, the first is the null hypothesis (H o ), and the second is the alternative hypothesis (H 1 ). The null hypothesis indicates that the population median of the two samples has no effect, whereas the alternative hypothesis suggests that an effect is present between the two samples.
In this study, the EDISON-WMW tool introduced by [8] was used to calculate the P-value. The significance level α was set to 0.05 [32], and the value of the P-value then compared to α to suggest the conclusion of the test. Table 19 shows the Wilcoxon signed ranks test results, reporting the P-value of the best solution (labeled P-value-Best), P-value of the average best fitness values (labeled P-value-Average), and the P-value of the search time (labeled P-value-Search Time). The Mig-CFA showed a significant improvement over CPO, CSA, GSA, and PSGA using the best solution and average best fitness values with a P-value of less than α. It also showed significant improvement in the error mean value over the HGSA and CMAES using the 30-d dimensions. For the Mig-CFA versus DELMFO, the P-value of the error mean value using the 30-d dimensions was very close to α; hence, H o can be rejected, whereas, for the 50-d dimensions, there is no firm evidence of H o rejection. H o also can be rejected for the P-value of the error mean value of the Mig-CFA versus COOA, MDE_pBX, and CCPSO2 using the 30-d dimensions, as the P-value was very close to α. For the Mig-CFA versus the PMCPSO, there was not enough evidence to reject H o using both the best fitness and average best fitness values. However, the Mig-CFA was able to achieve significant improvement in search time against the GSA with a P-value of less than α.

V. CONCLUSION
In this paper, we have modified the Cuttlefish Algorithm (CFA) by introducing two schemes to improve the performance in continuous optimization problems. In the first scheme, a migration strategy is employed between the subpopulations to increase solutions diversity during the search process. The second scheme, which takes the form of an exploitation strategy in the standard CFA, is replaced with a new exploitation strategy based on short-term memory. The Migration-based Cuttlefish Algorithm with Short-term Memory (Mig-CFA) was tested against well-known benchmarking test functions to determine the performance before and after the modifications. Also, the Mig-CFA was tested on the complex CEC2013 benchmarking test functions to report the performance against a state-of-the-art algorithm.
With these results, we may conclude that Mig-CFA offers competitive performance compared to the standard CFA and several high-performance state-of-the-art algorithms.