Abstract

Evolutionary programming (EP) uses a mutation as a unique operator. Gaussian, Cauchy, Lévy, and double exponential probability distributions and single-point mutation were nominated as mutation operators. Many mutation strategies have been proposed over the last two decades. The most recent EP variant was proposed using a step-size-based self-adaptive mutation operator. In SSEP, the mutation type with its parameters is selected based on the step size, which differs from generation to generation. Several principles for choosing proper parameters have been proposed; however, SSEP still has limitations and does not display outstanding performance on some benchmark functions. In this work, we proposed a novel mutation strategy based on both the “step size” and “survival rate” for EP (SSMSEP). SSMSEP-1 and SSMSEP-2 are two variants of SSMSEP, which use “survival rate” or “step size” separately. Our proposed method can select appropriate mutation operators and update parameters for mutation operators according to diverse landscapes during the evolutionary process. Compared with SSMSEP-1, SSMSEP-2, SSEP, and other EP variants, the SSMSEP demonstrates its robustness and stable performance on most benchmark functions tested.

1. Introduction

Evolutionary programming (EP) is a major evolutionary algorithm that attempts to find a global optimum for benchmark functions; mutation is the only available operator in EP. Cauchy [1], Gaussian [1], Lévy [2], and double exponential [3] distributions are used as mutation operators in EP, and the popular EP variants include fast evolutionary programming (FEP), classic evolutionary programming (CEP), and Lévy-based evolutionary programming (LEP).

The early version of EP employs a single-mutation operator to optimize functions. While researchers observed that EP employing a single-mutation operator has limitations, Kumar [4] proposed that different mutation operators can generate different step sizes on average; however, the same mutation operator with different parameter values can generate various step sizes. For example, the Cauchy distribution can generate larger random values, thereby allowing individuals to jump from local optima, unlike the Gaussian distribution. The Lévy distribution is compatible with two features by controlling the value of . Combining mutation operators was proposed in [4]; the mutation operators are classified into very small, small, medium, large, and very large mutation types. Researchers have proposed several mixed-mutation strategies for EP because different mutation operators have different characteristics. Improved FEP (IFEP) [5] uses both Gaussian and Cauchy distributions as mutations. Hong et al. [6] proposed a mixed-mutation strategy called evolutionary programming (MSEP), wherein the appropriate mutation operator is selected during evolution based on the probabilities of the four mutation operators. MSEP with a local fitness landscape (LMSEP) [7] is an upgraded mutation strategy in which a local fitness landscape is proposed based on MSEP. Ensemble strategies with adaptive EP [8] combine a population with mutation operators, allowing every population to benefit from the function calls. Hong et al. [9] proposed an EP variant that employs a mutation strategy which is step-size-based and has a self-adaptive mechanism (SSEP). In recent years, researchers have proposed the automatic design of mutation operators and adaptive mutation operators for EP using hyper-heuristic/genetic programming [1012].

The previously proposed different mutation strategies attempt to use different step size mutation operators during the evolutionary process; however, one of the issues is that mutation strategies may cause loss of step size control [13, 14]. We herein propose a novel mutation strategy that uses both “step size” and “survival rate” to control the selection of mutation operator/type for evolutionary programming (SSMSEP). Meanwhile, the standard deviation of the Gaussian distribution is updated if a Gaussian mutation is selected. In [9], principles were proposed to guide the mutation strategy. SSMSEP-1 and SSMSEP-2 are two variants of SSMSEP, which use either the survival rate or step size, respectively. In this study, the principles are optimized, and the experimental data illustrate that SSMSEP is more robust and stable than existing mixed-mutation strategies and single-mutation operators in most cases. The proposed mutation strategy conquers the loss of step size control on our tested benchmark functions.

Section 2 describes function optimization and the basic EP algorithm. The details of the mutation strategy of SSMSEP are introduced in Section 3. Section 4 describes the implementation of the proposed algorithm. In Section 5, experimental results are presented, and SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, CEP, FEP, and LEP with different values are tested. A comparison among SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, MSEP, and LMSEP is also presented in this section. We explain and discuss future work in Section 6. Section 7 summarizes and concludes the paper.

2. Function Optimization and Evolutionary Programming

The global minimization in can be formalized as a pair , where is a bounded set on and is an -dimensional real-valued function. The objective is to obtain a point such that is a global optimum on . More explicitly, it is necessary to obtain such that

Here, must be bounded and it does not need to be continuous or differentiable. The EP algorithm is described as follows [1, 15]:(1)Generate individuals for the initial population and set k = 1. Each individual is taken as a pair of real-valued vectors. (), . The strategy parameter as the initial value was set to 3.0.(2)Calculate the fitness value for each (), .(3)Each parent (), , generates a single offspring () (where ).The above two formulas are used to generate new offspring. The benchmark function is used to evaluate the fitness value. The factors and are set as and .(4)Calculate the fitness value for each offspring (), , according to .(5)Conduct pairwise comparison over the set of parents () and offspring (), . For each individual, Y opponents were chosen randomly from the set of parents and offspring with equal probability. The individual gets a “reward” if its fitness value is smaller than that of the opponents in the comparison.(6)Select the individuals out of both parents and their offspring, , which have the most rewards to be parents, for the next generation.(7)Stop when the end condition is met; otherwise, k++ and go to Step 3.

It is CEP [1], FEP [5], and LEP [2] when is a random number generated by Gaussian, Cauchy, and Lévy distributions, respectively. The above algorithm acts as a basic framework for SSMSEP, and the general parameter settings of EP are provided in Table 1.

3. Step Size and Survival Rate-Based Mutation Strategy

Here, we introduce the strategy used to design a step size and survival rate-based mutation strategy (SSMSEP) and explain how it works. The motivation of the SSMSEP is to solve the drawback of SSEP [9]. In SSEP, one of the issues is that the evolutionary process may have insufficient usage of long step-size-based mutation operators in the earlier generation of EP, which is also called loss of step size control [13, 14]. A typical case is the optimization of ; the mean best value over 50 runs is much worse than that of most single-mutation operators. From the experimental results, we observed that SSEP may fall into local optima in earlier generations because of insufficient mutation with a mutation operator which can generate a long step size. To solve this problem, we introduce the “survival rate” to control the mutation types in the proposed mutation strategy. The number of surviving offspring will be recorded to evaluate whether a long step size mutation is sufficient. In the proposed strategy, “step size” and “survival rate” are two keys to control mutation selection and parameter updating. Compared with SSEP, there are two significant changes.(i)A “survival rate” is imported, and we work with “step size” to control mutation type selection.(ii)Parameter calculation and updating strategy for mutation operators are proposed in each generation of EP.

Liang et al. [13, 14] proposed the lower bound control of the offspring to improve the EP performance and pointed out that self-adaptation may swiftly cause a search step size that is too narrow to further scan the search space, which is called the loss of step size control. In addition, Liang et al. [13, 14] analyzed how step size control was lost. Yao et al. [5] indicated that the Gaussian mutation is more likely to produce offspring closer to its parent than a Cauchy mutation. Thus, a Gaussian mutation is a better selection if the individual is near the global optimum; in contrast, the Cauchy mutation is a better selection for EP. Hong et al. [9] designed an SSEP that can explore space with a long step size at the outset and afterwards use a short step size mutation operator in the search, where “step size” denotes the distance between a “survived” offspring and its parent. In this paper, we propose using both “step size” and “survival rate” to control the mutation operator with parameter updating.

EP uses a static mutation operator, which leads to a few offspring surviving in the later generations of the run. A mutation strategy that switches mutation operators with related parameters is necessary to improve the performance of EP. The idea is to design an algorithm that can search a wider space to guarantee that more of the search space can be explored at the outset, and that search for a narrower space can be conducted later. is a Gaussian distribution, and and represent the standard normal distribution. Usually, represents a mutation operator that can generate a short step size, and the Cauchy distribution represents a long step size mutation operator. In SSMSEP, is dynamically updated using the proposed equation. is set to 0.1, 0.01, or 1 in SSEP, where the step size cannot effectively prevent the EP loss of step size control on some benchmark functions. In SSMSEP, “step size” and “survival rate” are combined and calculated to evaluate whether a mutation with a long step size is sufficient.

3.1. Symbols Used in the Novel Mutation Strategy

The symbols used by the mutation strategy are as follows:(i) is a single real value; it represents the step size at generation . The new population comprises both “survived” parents and “survived” offspring after tournament selection at generation ; the parents and offspring which appear in the new population are called “survived” parents and offspring, respectively. is evaluated as the mean absolute value of the jumped step size of all surviving offspring. This value is updated at generation (in Algorithm 1 line 11), , where is the maximum EP generation.(ii) is taken as a single real-valued vector; it records the nonabsolute value of the step size of each individual i after tournament selection, , where is the population number; can be either a positive or a negative value.(iii) is a single real value; it represents the mean step size from generation 1 to generation . is evaluated as , where is the number of current generations. This value is recalculated in every generation as well (in Algorithm 1 line 13).(iv) is a single real value; it represents the survival rate at each generation . Each parent has an offspring after mutation, and after tournament selection, both parent and offspring have the opportunity to be selected as parents for the next generation. In SSMSEP, the number of selected offspring (which is summed up) divided by the population size is called the survival rate.(v) represents the Gaussian distribution; in SSMSEP, , and is updated dynamically.(vi) indicates the Cauchy distribution.(vii) is the distance coefficient; it helps EP to control the usage of the long step size mutation operator, when is very small, to prevent EP from being trapped in a local optimum prematurely. Table 3 provides the value of which is empirically determined for each benchmark function. The values of follow [9].(viii) represents survival rate; it is an empirically determined constant; it is set to 0.12.

(1) T/∗Set constant ∗/
(2) S_RATE/∗Set constant ∗/
(3) Update both popStepSize[1…POPNO] and popStepSizeRaw[1…POPNO] after tournament selection;
(4)  = popStepSizeRaw[1…POPNO];
(5)for i: POPNO do
(6)  if pop[i] is offspring then
(7)   totalPopStepSize + = popStepSize[i];
(8)   survivedOffspringNo ++;
(9)  end if
(10)end for
(11)  = totalPopStepSize/survivedOffspringNo;/∗Renew ∗/
(12)  = survivedOffspringNo/POPNO;/∗Renew survival rate∗/
(13)  = mean();/∗Renew ∗/
(14)ifthen
(15)  ;/∗Set mutation type C∗/
(16)else ifthen
(17)  ;/∗Set mutation type ∗/
(18)  ;/∗Renew for ∗/
(19)else
(20)  ;/∗Set mutation type ∗/
(21)  ;/∗Set 1 for ∗/
(22)end if
3.2. Mutation Strategy for SSMSEP

The step size and survival rate-based mutation strategy for EP is as follows:(i)If , , or survival rate and the mutation type is Cauchy distribution in current generation, then Cauchy distribution is selected for the next generation.(ii)If and and survival rate at the current generation, Gaussian distribution is selected and set to by the following equation, where is the population number, for the next generation:(iii)For all other cases, Gaussian distribution is selected and set and for , as the mutation operator for EP.

In this study, for the earlier generation of EP, the Cauchy distribution was used as the mutation operator. We used both the step size and survival rate to evaluate whether the Cauchy distribution was sufficiently applied. 0.12 is an empirically determined value based on a large number of experiments. When the step size is sufficiently small, a Gaussian distribution is applied with the updated for each generation. Instead of fixing the value of , which is set to 0.1 and 0.01, we control the shape of the Gaussian distribution in SSEP. The proposed strategy can also effectively avoid getting trapped in local optima during the evolutionary process.

4. SSMSEP Implementation

In this section, we present the pseudocode of the SSMSEP algorithm designed in accordance with the description of the mutation strategy in Section 3.2. The absolute value and non-absolute value of the step size for the population at each generation of EP are calculated using Algorithm 2. The calculation of and in Algorithm 1 uses the values prepared in Algorithm 2. Algorithm 1 implements the strategy proposed in Section 3.2 and describes how to switch the mutation operators with related parameters. Algorithms 1 and 2 are inserted into the EP algorithm described in Section 2.

(1)DIM/∗Set dimensional size∗/
(2)POPNO/∗Set population size∗/
(3)pop[POPNO 2][DIM]/∗Parents and offspring in present generation∗/
(4)for i: POPNO do
(5) indStepSize = 0;
(6)for j: DIM do
(7)  temp(i, j) = pop[i][j] - pop[POPNO + i][j];/∗Compute single step size for an individual∗/
(8)  indStepSize + = abs(temp(i, j));/∗Compute value of total absolute step size for overall individuals∗/
(9)  indStepSizeRaw + = temp(i, j);/∗Compute value of total step size for overall individuals∗/
(10)end for
(11) popStepSize(POPNO + i) = indStepSize/DIM;/∗Compute mean absolute step size for pop[i]∗/
(12) popStepSizeRaw(POPNO + i) = indStepSizeRaw/DIM;/∗Compute mean non-absolute step size for pop[i]∗/
(13)end for

To better observe the influence of “step size” and “survival rate” on the algorithm, we designed two variants of SSMSEP: SSMSEP-1 only uses “survival rate” ( in line 14, in line 16 in Algorithm 1) to select the mutation operator; SSMSEP-2 only uses “step size” ( in line 14, in line 16 in Algorithm 1) to select the mutation operator.

5. Experimental Results

Table 2 lists the 23 benchmark functions, which are also commonly used by other researchers [1, 5, 7, 9] in experiments. The benchmark functions include unimodal benchmark functions, multimodal benchmark functions with many local optima, and multimodal benchmark functions with a few local optima, specified as , , and , respectively [5]. The results of SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, EP using Cauchy distribution (FEP), EP using Gaussian distribution (CEP), and EP using Lévy distributions with different values (1.2,1.4,1.6, and 1.8) are provided for each function in Table 4. We retain 4 digits after the decimal point on most benchmark functions in this table.

The results of the Wilcoxon signed-rank test within a 95% confidence interval among SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, and other single-mutation operators are given in Table 5. “” and “” indicate that SSMSEP can perform better or worse on average, respectively, compared to a specific existing mutation strategy or mutation operator in this table; “” and “” denote statistical significance for better or worse on average, respectively.

5.1. Comparison and Analysis

The experimental data in Table 4 show that SSMSEP achieves the best performance on average compared with SSMSEP-1, SSMSEP-2, SSEP, and EP using a single-mutation operator on , , , , , and , the second-best performance on average of , and the third-best performance on average of , , and . The SSMSEP provides the best fitness value on , , and and the third-best fitness value on , , , , , and . , , , and have equivalent values for both the averaged values and best fitness values over 50 independent runs. and have equivalent best fitness values for all EP variants except for FEP, and and have equivalent best fitness values for all EP variants.

Table 5 lists the results of the 2-tailed Wilcoxon signed-rank tests, showing a statistically significant difference among SSMSEP and SSMSEP-1, SSMSEP-2, SSEP, CEP, FEP, and LEP variations. SSMSEP is significantly better than SSMSEP-1 on , , , , , , , , , , , , and ; it shows better performance on , , , and . SSMSEP is significantly better than SSMSEP-2 on , , and ; it shows better performance than SSMSEP-2 on , , , , , , and . SSMSEP is significantly better than SSEP on and ; it shows better performance than SSEP on , , , , , , , and .

Table 6 gives function evaluations (FEs) of SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, CEP, FEP, and LEP with .

The mean best fitness values of over 50 runs for each generation are plotted in Figures 1 and 2. SSMSEP not only demonstrates a consistent convergence rate for , , , , , , and throughout the evolutionary process but also shows its robustness when compared with SSMSEP-1, SSMSEP-2, and SSEP. SSMSEP shows the stability of the convergence rate on , , , and in both the earlier and later generations of EP.

5.2. Comparison of Existing EP Mutation Strategies

SSEP, MSEP, and LMSEP are recent EPs that use mutation strategies with different mutation operators. The experimental results of SSMSEP, SSMSEP-1, SSMSEP-2, SSEP, LMSEP, and MSEP are displayed in Table 7, among which SSMSEP demonstrates the best performance on , , , and . Compared with SSEP, SSMSEP significantly improves , , , and . SSMSEP demonstrates the second-best performance on and third-best performance on , , , and . SSMSEP, SSMSEP-2, SSEP, and LMSEP exhibit equivalent performance on . The EP variants demonstrate equivalent performance on , , and . SSMSEP demonstrates outstanding performance on among all compared mixed-mutation strategies (including SSMSEP-1 and SSMSEP-2) in this study. Overall, the mutation strategy of SSMSEP provides very competitive performance on unimodal benchmark functions and multimodal functions with many local optima. We believe that the proposed SSMSEP can better fit the optimized two types of benchmark functions in various stages of EP. LMSEP performs better on average on multimodal functions with a few local optima (especially on , , , and ). Reference [7] does not provide results for , , , , and ; thus here we only list the benchmark functions with existing results.

From the observation of the experimental results, the SSMSEP overcomes “loss of step size control” on most of the benchmark functions and benefits from the “survival rate,” compared with SSEP, SSMSEP-1, and SSMSEP-2. The experimental results of are an exception in Table 4; SSMSEP-1 demonstrates the best performance on , but its performance is worse than or equivalent to SSMSEP on the rest of the benchmark functions; LEP with also demonstrates a much better performance on . We think that SSMSEP still has limitations; this also inspires the use of Cauchy distribution as a fixed long step size mutation while there is room for improvement. Currently, there is no mechanism for selecting and updating long step size mutations in the proposed mutation strategy.

6. Future Work and Discussion

The objective of this study is to design a strategy that can select a proper mutation operator for EP at each generation and update the parameters to select the probability distribution.

The mutation strategy proposed by SSEP involves updating the step size and the historical step size at each generation and using the distance coefficient to dominate SSEP to avoid getting trapped into a local optimum in earlier generations of EP. However, SSEP cannot solve all evolving situations and easily falls into a local optimum, such as , which also exists in other mixed-mutation strategies (LMSEP and MSEP). To solve this common issue, the SSMSEP importing both step size and survival rate to control and avoid EP will fall into a local optimum in the earlier generations. It is similar to the analogy of two keyholes being present in the door, and one having to use two keys to open this door. The “step size” and “survival rate” are two keys used simultaneously for the door. Through both keys, the mutation strategies can select the proper mutation operator by automatically updating the parameters.

The mutation strategy proposed in Section 3.2 was implemented in SSMSEP. We also notice that the algorithm does not demonstrate outstanding performance on a few functions. We believe that the mutation strategy still has room for improvement. Below are possible directions for future research to promote the robustness and accuracy of the mutation strategy.(i)Automatically tune of Lévy distribution during the evolution. The Cauchy mutation can be replaced by the Lévy distribution with various values of . The value of can be updated based on historical information.(ii)If “step size” and “survival rate” are the first and second keys for our proposed mutation strategy, whether there exists a third key is still worth investigating.(iii)The mutation strategy is applied at the population level; it is possible to build a mechanism to apply the strategy on an individual level.(iv)SSMSEP does not show outstanding performance on multimodal functions with a few local optima, and it is worth investigating the reasons to continue to improve SSMSEP.

7. Conclusions and Summary

Evolutionary programming is a popular evolutionary computation algorithm used to solve numerical optimization problems. It has been applied in various domains [1621]. Probability distributions (Gaussian, Cauchy, Lévy, and double exponential, among others) were used as unique mutation operators for evolutionary programming early on. Over the last two decades, several mutation strategies have been adopted in the EP algorithm, such as combining mutation operators [4], which improved FEP [5], MSEP [6], LMSEP [7], and SSEP [9].

The SSMSEP is inspired by the drawback of the SSEP. SSEP only uses “step size” to control the selection of the proper mutation operator with parameters; “step size” is imported as a unique key to control the mutation type and parameters of probability distributions. The SSMSEP imports the “survival rate,” and our proposed method updates the parameters at each generation to select mutation operators throughout the evolutionary process. The mutation strategy proposed herein can maintain a high convergence rate in both the earlier and later generations of EP on unimodal benchmark functions and multimodal benchmark functions with many local optima, thereby demonstrating excellent performance on most benchmark functions in both the earlier and later generations of EP. In SSMSEP, the “survival rate” is imported as a second key to control the selection of mutation types and can update the parameters for the mutation operator. SSMSEP-1 and SSMSEP-2 are two variants of SSMSEP, with either one using only “survival rate” or “step size.” Neither SSMSEP-1 nor SSMSEP-2 demonstrated an impressive performance in the experiments. SSMSEP can successfully overcome the defects of SSEP, which is the loss of step size control in the earlier generation of evolution. The new algorithm demonstrates its robustness and effectiveness in most tests although it does not demonstrate its best performance on some tests, only second-best or third-best. SSMSEP neither displays outstanding performance nor worst performance on average on multimodal benchmark functions with a few local optima. The research direction for future work is proposed as it is necessary to continue to discover more factors and investigate the internal connections among collected historical information.

Data Availability

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.