The fusion–fission optimization (FuFiO) algorithm

Fusion–Fission Optimization (FuFiO) is proposed as a new metaheuristic algorithm that simulates the tendency of nuclei to increase their binding energy and achieve higher levels of stability. In this algorithm, nuclei are divided into two groups, namely stable and unstable. Each nucleus can interact with other nuclei using three different types of nuclear reactions, including fusion, fission, and β-decay. These reactions establish the stabilization process of unstable nuclei through which they gradually turn into stable nuclei. A set of 120 mathematical benchmark test functions are selected to evaluate the performance of the proposed algorithm. The results of the FuFiO algorithm and its related non-parametric statistical tests are compared with those of other metaheuristic algorithms to make a valid judgment. Furthermore, as some highly-complicated problems, the test functions of two recent Competitions on Evolutionary Computation, namely CEC-2017 and CEC-2019, are solved and analyzed. The obtained results show that the FuFiO algorithm is superior to the other metaheuristic algorithms in most of the examined cases.

www.nature.com/scientificreports/ the stability of the nucleus further decreases when more protons are replaced with neutrons. Also, in the nuclei, most of the paired protons are close to each other such that their repulsive force decreases the strong nuclear force, leading to instability. The concept of average nuclear binding energy, denoted by B Avg , is generally used to evaluate the stability of nuclei. B Avg is the amount of energy required to disassemble every single nucleon from the nucleus, which is defined as the nuclear binding energy per nucleon in the nucleus. As B Avg increases, disassembling every single nucleon from the nucleus becomes progressively more difficult; in other words, the most stable nucleus corresponds to the highest B Avg . The experimental diagram of B Avg associated with mass number A is shown in Fig. 1. According to this diagram, the binding energy reaches its peak at A = 56 ( 56 Fe ), and in A > 56 , the rate of energy reduction is low, such that the diagram has a relatively flat behavior due to saturation. The 56 Fe nucleus divides the diagram into two parts, namely fusion and fission. The nuclei of the fusion part tend to participate in a fusion reaction, whereas in the fission part, each nucleus tends to participate in a fission reaction.
Fusion is a nuclear reaction and occurs when two highly-energetic stable nuclei slam together to form a heavier stable nucleus. In the sun, this reaction creates a lot of energy through the fusion of two hydrogen nuclei to form one helium nucleus. On the other hand, fission is a nuclear reaction in which a larger unstable nucleus is split into two smaller (stable or unstable) nuclei due to a hit by a smaller stable or unstable one. This type of reaction is used to produce a lot of energy in nuclear power reactors through the fission of Uranium and Plutonium nuclei by neutrons. The procedures of nuclear fusion and fission are illustrated in Fig. 2a,b, respectively.
In nuclear processes, in addition to fusion and fission, there is another process called β-decay. The two types of β-decay are known as β − and β + . In β − -decay, a neutron is converted to a proton, and the process creates an electron and an electron antineutrino ( v ), while in β − -decay, a proton is converted to a neutron and the process creates a positron and an electron neutrino ( v) 94 . Also, neutrino and antineutrino particles have no essential role in reactions because they have considerably smaller masses compared to other particles. Therefore, protons www.nature.com/scientificreports/ and neutrons are the main factors in β ± -decays. In Fig. 3, the schematic representations of β − -and β + -decays are presented.
Mathematical model. In this section, we describe the mathematical model of the FuFiO algorithm, which is developed based on the tendency of nuclei to increase their binding energy and get a higher level of stability using nuclear reactions, including fusion, fission, and β-decay. Importantly, as a nucleus with a higher level of binding energy is considered a better solution, the FuFiO algorithm will move in a direction that increases the binding energy of the nuclei. FuFiO is designed as a population-based metaheuristic method in which a set of nuclei are considered as the agents of the population. Each agent of the population has a specific position, and each of them has a particular dimension (d) which is determined by the number of problem variables. Therefore, the nuclei move in a d-dimensional space, and are represented in the form of a matrix as follows:  where x j i (0) represents the initial position of the j-th design variable of the i-th nucleus; ub j and lb j are respectively the maximum and minimum possible values for the j-th design variable; and r is a random number in the interval [0,1]. The set of initial x j i (0) s will create X 0 that represents the initial position of nuclei. Furthermore, in the FuFiO method, the nuclei are divided into two groups, namely stable and unstable nuclei, based on the level of binding energy. Depending on the types of reacting nuclei, nuclear reactions (i.e., fusion, fission, and β -decay) are regarded differently. In other words, as illustrated in Fig. 4, three different types of reaction can be considered in each group for nuclei to update their positions.
The mathematical formulation of each reaction in each group modeled as follows: Group 1: Stable nucleus If the i-th nucleus is stable ( X stable i ), one of the following three reactions is selected randomly: x j 1 · · · x d 1 . . . · · · . . .
x 1 n x 2 n · · · . . . · · · . . .   where r is a random vector in [0,1] and X stable j is a stable nucleus selected randomly from other stable nuclei. This reaction simulates fusion, where two stable nuclei slam together to produce a new nucleus. Figure 5 shows a schematic view of this reaction, from which it can be seen that the new solution is a random point generated in the reaction space using r and 1 − r.
Reaction 2: If the i-th nucleus interacts with an unstable nucleus, this collision produces a new solution expressed as: where X unstable j is an unstable nucleus selected randomly from other unstable nuclei. The process of this reaction, shown in Fig. 6, simulates the rule of fission, where a stable nucleus is hit by an unstable one. Reaction 3: If the i-th nucleus decays, the new solution will be generated as follows: where p denotes a random subset of problem variables; d is the set of all variables; k is the counter of variables; R is a random nucleus; and UB and LB are the vectors of the lower and upper bound of variables, respectively. This reaction models the process of β-decay in a stable nucleus as presented in Fig. 7.

Group 2: Unstable nucleus
In the second group, if the i-th nucleus is unstable ( X unstable i ), one of the following three reactions will be used randomly to update the i-th nucleus: Reaction 1: If the unstable nucleus slams with another unstable nucleus, the new position is obtained as follows:  www.nature.com/scientificreports/ where r is a random vector in interval [0,1] and X unstable j is an unstable nucleus selected randomly from other unstable nuclei. As illustrated in Fig. 8, this reaction simulates the rule of fission where an unstable nucleus is hit by an unstable one.
Reaction 2: If the unstable nucleus, X unstable i , interacts with a stable nucleus, the new position is as follows: where X stable j is a randomly selected stable nucleus from stable nuclei. The process of this reaction, which establishes a fission model of stable and unstable nuclei, is shown in Fig. 9.
Reaction 3: If the i-th unstable nucleus decays, the new position is defined as follows:   www.nature.com/scientificreports/ where p denotes a random subset of variables; d is the set of all variables; k is the counter of variables; and X stable j is a randomly selected nucleus from stable nuclei. As presented in Fig. 10, this reaction models the β-decay process of an unstable nucleus. Both third reactions in the stable and unstable groups represent the β ± -decays. In the former reaction, a random set of decision variables takes new random values between their corresponding allowable lower and upper bounds, whereas, in the latter one, a random subset of decision variables takes their new values from the corresponding decision variables of a randomly-chosen stable solution. Importantly, the β ± -decays are considered as mutation operators to escape from local optima.
Stable and unstable nuclei. The level of binding energy of a nucleus determines whether it is stable or unstable, and in the FuFiO algorithm, the objective function value, F(X) , is used to specify the group of agents. In other words, in the FuFiO algorithm, a nucleus with a better F(X) is considered to be more stable. Moreover, as can be seen from Fig. 1, the 56 Fe nucleus is the boundary of stable and unstable groups. This boundary is also considered in the FuFiO algorithm to distinguish stable nucleus from unstable ones. To this end, the nucleus is evaluated in each iteration and a set of better ones is considered as the set of stable nuclei. The size of stable nuclei is determined as follows: where S z is the size of stable nuclei at each iteration; fix is a function that rounds its argument to the nearest integer number; n is the population size; L s and U s are the minimum and maximum percent of stable nuclei at the start and the end of the algorithm, respectively; Iter is the counter of iterations; and MaxIter is the maximum iteration of the algorithm. In Eq. (9), the size of stable particles is determined dynamically as the algorithm progresses. Also, in determining S z , the two parameters L s and U s should be fine-tuned. The values of L s and U s are considered 10% and 70%, respectively. This formulation increases the size of stable nuclei from 10 to 70% at the end of the algorithm. In addition, the value of U s is naturally adopted in which the ratio of stable nuclei to unstable nuclei is assumed to be around 70%. Boundary handling. In solving an optimization problem with d variables, optimizers search in a d-dimensional search space. Each of these dimensions has its upper and lower boundaries, and the variables of found solutions should be placed in the interval of boundaries. Given that some variables may violate boundaries during their movements, in the FuFiO algorithm, the following equations, which replace violated boundaries with violated variables, are used to return them within the boundaries: where x j inew is the j-th design variable of the i-th new solution X new i , and min and max are operators that return the minimum and maximum of (x j i , ub j ) and (x j i , lb j ) , respectively. Replacement strategy. In each reaction, a new position X new i is generated to be replaced with the current position of the i-th nucleus X i . This replacement will take place whenever the new solution has a better level of binding energy than the current one. This procedure is formulated as follows: Selection of reactions. In the FuFiO algorithm, nuclei are categorized into two groups; in each group, three different reactions are developed, of which one is randomly selected to generate a new solution. It should be noted that different groups and reactions do not represent different phases of the algorithm. In other words, the FuFiO algorithm has one phase, wherein for each nucleus in each iteration, one of the reactions is randomly selected according to the group of the nucleus to generate the new solutions, as shown in Fig. 11.
is better than f (X i ) Figure 10. Procedure of β-decay in an unstable nucleus. www.nature.com/scientificreports/ Terminating criterion. In metaheuristics, the search process will be finished after satisfying a terminating criterion, following that the best result will be reported. Some of the most common stop criteria are as follows: • The best result is equal to the minimum specified value determined for the objective function.
• The optimization process will be terminated after a fixed number of iterations.
• The value of the objective function does not change during the specified period.
• The optimization process time has reached a predetermined value.  (2)). • Step 4: Calculate the objective function of initial solutions.

Level 2: Nuclear reaction
In each iteration of the FuFiO algorithm, all of the agents will perform the following steps: • Step 1: S z is updated (Eq. (9)).  • Step 9: Nuclear reaction level is repeated until a terminating criterion is satisfied.
The flowchart of the FuFiO algorithm is illustrated in Fig. 12.  www.nature.com/scientificreports/

FuFiO validation
The No Free Lunch (NFL) theorem 95 is one of the most famous theories which have been cited many times in literature to pave the way for introducing new metaheuristic algorithms. This theorem has logically proved that no algorithm can solve all types of problems. However, the NFL theorem is used here for a different purpose. In other words, it is used here to validate the capability of the FuFiO algorithm in solving various problems compared to other algorithms. To this end, in this study, 120 benchmark test functions are considered to challenge the performance of the proposed algorithm in solving different types of problems. Also, another application of these problems is to create a dataset to be used in non-parametric statistical analyses to examine the performance of the proposed algorithm more thoroughly. In this section, first, the description of the test problems is presented; then, a number of rival metaheuristics with their settings are reviewed. Subsequently, the evaluation metrics and comparative results are explained; and finally, the results of non-parametric statistical methods will be presented.

Test functions.
To evaluate the capability of the proposed algorithm in handling various types of benchmark functions with different properties, a set of 120 mathematical problems has been used. Based on their dimensions, these problems have been categorized into two groups: (1) fixed-dimensional problems, and (2) N-dimensional problems.
Amongst these functions, F 1 to F 60 are fixed-dimensional functions, with dimensions of 2 to 10. The second group of problems, F 61 to F 120 , includes 60 N-dimensional test functions, the dimensions of which are considered to be equal to 30. The details of the mathematical functions in these two groups are presented in Tables 2 and  3, respectively. In these tables, C, NC, D, ND, S, NS, Sc, NSC, U, and M denote Continuous, Non-Continuous, Differentiable, Non-Differentiable, Separable, Non-Separable, Scalable, Non-Scalable, Unimodal, and Multimodal, respectively. In addition, R, D, and Min represent the variables range, variables dimension, and the global minimum of the functions, respectively.

Metaheuristic algorithms for comparative studies.
To investigate the overall performance of the FuFiO algorithm, its results should be compared with those of other methods. The selected metaheuristics for this purpose are FA, CS, Jaya, TEO, SCA, MVO, and CSA algorithms, of which the most recent and improved versions are utilized here. Among the selected methods, only SCA is parameter-free, whereas the other metaheuristics have some specific parameters that should be tuned carefully. Table 4 presents a summary of these parameters, adopted from the literature, that we have utilized in our evaluations.
Generally speaking, the performance of a powerful and versatile algorithm should be independent of the problem that is to be solved. In other words, for a good algorithm, parameter tunning should not be of crucial importance. Considering this point, we developed the FuFiO algorithm in a way that there are only two extra parameters, namely L s and U s . We performed a statistical study on the effect of these parameters and found out that if they are chosen from within predefined limits, determining the exact values of them is not necessary. Knowing that L s and U s are respectively the minimum and maximum percentages of stable nuclei at the beginning and end of the algorithm, L s should be a small value, e.g. 0.1-0.4, whereas U s should be in the range of 0.5-0.9. In this study, we considered L s and U s to be 0.1 and 0.7, respectively.
Numerical results. This section presents the results of the FuFiO and other methods in dealing with benchmark problems. In this study, due to the random nature of metaheuristics, each algorithm is independently run 50 times for each problem. Then, the statistical results of these runs are utilized to analyze the algorithms. The population size for each of the methods is set to be 50, and the maximum Number of Function Evaluations (NFEs) is considered 150,000 for all of the metaheuristics. The tolerance of 1 × 10 −12 from the optimal solution is considered as the terminating criterion, and the NFEs are counted until the algorithm stops. The statistical results of the fixed-dimensional and N-dimensional benchmark problems are presented in Tables 5 and 6, respectively. These results include the minimum (Min), average (Mean), maximum (Max), Standard deviation (Std. Dev.), and mean of the NFEs of each algorithm. Moreover, the last row of each function shows the rank of algorithms, where the ranking is based on the value of the Means.
Non-parametric statistical analyses. Non-parametric statistical methods are useful tools for comparing and ranking the performance of metaheuristic algorithms. In this study, four well-known non-parametric tests including the Wilcoxon Signed-Rank 98 , Friedman 99 , Friedman Aligned Ranks 100 , and Quade 101 tests, are used to analyze the ability of algorithms in solving benchmark problems; in all of these tests, the significance level, α , is 0.05 102 .
The results of the Wilcoxon Signed-Rank test are presented in Table 7, which shows that the R + of FuFiO is less than the R − of all the other methods, which means that FuFiO performs better than all of the compared ones. Furthermore, the p-values show that the FuFiO algorithm significantly outperforms other algorithms in solving benchmark problems, except in competition with the CS and CSA algorithms in solving the fixed-dimensional problems.
The Friedman test is a ranking method the results of which are presented in Table 8. According to this test, the FuFiO algorithm is placed in the first rank in all types of problems.
In the Friedman Aligned Rank test, the average of each set of values is calculated and then subtracted from the results. Subsequently, this method ranks algorithms based on their corresponding shifted values which are called aligned ranks. The results of this test, presented in Table 9, show that the FuFiO algorithm gains the first rank in solving both fixed-and N-dimensional benchmark problems.  Table 10, showing that the FuFiO method is ranked first in comparison with the other methods for all types of problems.
The final statistical method considered here is the analysis of variance (ANOVA) test, which compares the variance of results across the means of various algorithms. In this research, the ANOVA test has been employed with a significance level of 5% to study the efficiency and relative performance of optimizers. The results of this test are presented in Table 11. According to these results, the p-values indicate significant differences between the means in the majority of the considered problems. Besides, the results of the ANOVA test for four fixeddimension and four N-dimension problems are plotted in Figs. 13 and 14, respectively.

Analyses based on competitions on evolutionary computation (CEC)
In this section, the performance of the FuFiO algorithm is investigated using the single-objective real-parameter numerical optimization problems of two recent Competitions on Evolutionary Computation, namely CEC-2017 and CEC-2019 benchmark test functions. Then, the computational time and complexity of FuFiO is compared with other state-of-the-art algorithms.

Comparative analyses based on the CEC-2017 test functions.
To investigate the ability of FuFiO in solving more difficult problems, the CEC 2017 Special Season on single-objective problems are utilized in this sub-section. To establish and perform a comparative analysis, four state-of-the-art algorithms including the Effective Butterfly Optimizer with Covariance Matrix Adapted Retreat (EBOwithCMAR) 103 , ensemble sinusoidal differential covariance matrix adaptation with Euclidean neighborhood (LSHADE-cnEpSin) 104 , Multi-Method-based Orthogonal Experimental Design (MM_OED) 105 ], and Teaching Learning Based Optimization with Focused Learning (TLBO-FL) 106 are considered. Table 12 contains a list of these problems the mathematical details of which was presented by the CEC 2017 committee 107 .
The statistical results of FuFiO and the other algorithms in solving 10-, 30-, 50-and 100-dimensional problems are presented in Tables 13, 14, 15, and 16, respectively. These results are based on 51 independent runs. An error value is considered in this study such that when it is less than 10 −8 , the error is considered zero. The total number of function evaluations for each test problem is taken as 10000D, where D is the problem dimension. The results confirm that the FuFiO method can provide very competitive results.
Computational time and complexity analyses. A complete computational time and complexity analysis is conducted to evaluate the FuFiO algorithm. Awad et al. have proposed a simple procedure to analyze the complexity of metaheuristic algorithms in the CEC-2017 instructions 107 , in which complexity is reflected by four times, namely T 0 , T 1 , T 2 , and T 2 , as follows: T 0 is the computing time of the test program shown in Fig. 15; T 1 is given by the time of 200,000 evaluations of F 18 by itself with D dimensions; T 2 is the total computing time of the FuFiO algorithm in 200,000 evaluations of the same D-dimensional F 18 ; and T 2 denotes the mean value of five different runs of T 2 .
The complexity results of the FuFiO algorithm and other methods in 10, 30, 50, and 100 dimensions are presented in Table 17, which demonstrate that FuFiO can perform competitively.
The key metric in evaluating the running time of an algorithm is computational complexity, which is defined based on its structure. According to Big O notation, the complexity of the FuFiO algorithm is calculated based on the number of nuclei n, number of design variables d, maximum number of iterations t, and the sorting mechanism of nuclei in each iteration as follows: Comparative analyses based on the CEC-2019 test functions. In this sub-section, the problems defined by the CEC-2019 Special Season are utilized. Different physics-based methods including the Gravitational Search Algorithm (GSA) 86 and Electromagnetic Field Optimization (EFO) 56 . Furthermore, three recently-developed evolutionary methods including the Farmland Fertility Algorithm (FFA) 35 , African Vultures Optimization Algorithm (AVOA) 37 , and Artificial Gorilla Troops Optimizer (GTO) 42 , are considered for this comparative study. Table 18 presents the properties of the CEC-2019 examples 108 . www.nature.com/scientificreports/ The statistical results of the algorithms are presented in Table 19. These results are based on 50 independent runs, but for reporting the final result, we select the best 25 ones according to the CEC-2019 rules. An error value is considered in this study such that when it is less than 10 −10 , the error is considered zero. The total number of function evaluations for each test problem is taken as 10 6 . A conclusion concerning the statistical results is also added to the table. The final output shows that FuFiO is placed in the second place with a very small difference while its stability in finding results is so far better that the other methods based on the standard divination values. Moreover, the ANOVA test has been employed with a significance level of 5% and the related results for all problems are plotted in Fig. 16. The results show a good performance of the present method for many of the examined functions.

Conclusions and future work
Inspired by the concept of nuclei stability in physics, we developed a swarm-based intelligence metaheuristic method, called Fusion Fission Optimization (FuFiO), to deal with various optimization problems. In this method, three nuclear reactions including fusion, fission, and β-decay are modeled to simulate the tendency to change a stable nuclei.
The effectiveness of the FuFiO algorithm in solving optimization problems with better results can be related to its mechanism for creating the right balance between exploration and exploitation. Also, in the FuFiO method, three different reactions are proposed for each group with novel formulations. The search procedure of each reaction in each group can be interpreted as follows: • Fusion: Through this reaction, a nucleus in the stable group slams with another stable nucleus and exploits the search space. On the other hand, this operator explores the search space in the unstable group because the unstable nuclei slam with each other. • Fission: Through this reaction, in the first group, a stable nucleus slams with an unstable one that explores the search space around the stable nucleus. On the other hand, in the second group, the fission operator guides the unstable nuclei toward the stable region to exploit it. • β-decay: According to these operators, a stable nucleus slams with a randomly-generated nucleus, which results in exploration. However, in the second group, β-decay generates the new solution by a uniform crossover between the unstable nucleus and a stable one to transfer some stable features to the unstable nucleus.   www.nature.com/scientificreports/ The right balance between exploration and exploitation is guaranteed by randomness in selecting the reactions in each group algorithm.
To examine the performance of FuFiO in comparison with seven well-known optimizers, an extensive set of 120 benchmark problems were considered, where the obtained results were used as the inputs of several nonparametric statistical methods. The results of statistical analysis showed that the FuFiO algorithm has a superior performance in solving all considered types of problems. To further investigate the ability of FuFiO in solving complex optimization problems, the CEC 2017 and CEC 2019 was utilized. The results showed that the FuFiO algorithm can perform competitively when compared to the state-of-the-art algorithms.
Despite the good performance of FuFiO in solving different well-studied mathematical problems, this method, like other metaheuristics, may have some limitations for solving difficult constrained or engineering problems. The main reason is the influence of the utilized constraint-handling approach on the performance of the proposed method. In addition, for more complex problems where each function evaluation needs a considerable amount of time, applying this method may need further investigations. Importantly, not the advantages of the new method, but its limitations open up a new avenue to improve or adapt it for applications in other fields.
In addition to the abovementioned approaches, one may use alternative strategies to improving the FuFiO algorithm. For example, as a conventional approach, the hybridization of the proposed algorithm with other popular metaheuristic algorithms could lead to the development of more robust optimization algorithms. www.nature.com/scientificreports/   www.nature.com/scientificreports/

Data availability
The datasets used and/or analysed during the current study are available from the corresponding author on reasonable request.