Keywords

1 Introduction

The use of algorithms based on nature has become very common in evolutionary computation and metaheuristics. In this paper we propose to use one of these algorithms, in particular the Differential Evolution integrating fuzzy logic for dynamically adapting its parameters.

Differential Evolution (DE) is one of the latest evolutionary algorithms that has been proposed in the literature. It was created in 1994 by Price and Storn in an attempt to solve the Chebychev polynomial problem. The following years after that these two authors also proposed the DE for optimization of nonlinear and non-differentiable functions on continuous spaces [20].

Fuzzy logic or multi-valued logic is based on the fuzzy set theory proposed by Zadeh in 1965, which can help us with modeling expert knowledge, through the use of if-then fuzzy rules. Fuzzy set theory provides a systematic calculus to deal with linguistic information, and improves the numerical computation by using linguistic labels stipulated by membership functions [16].

In addition, in reviewing the recent literature there are papers on Differential Evolution applications that use this algorithm to solve real world problems [23, 24]. In the last years the concept of fuzzy logic has been used to adapt certain parameters in metaheuristic algorithms [15, 17, 18, 26,27,28], which demonstrate the importance and the improvement of these algorithms.

Regarding related works that use fuzzy logic to optimize the performance of metaheuristic algorithms we can find some relevant ones in [4, 5, 11,12,13].

In addition, related work with regards to the Special Session & Competition on Real-Parameter Single Objective Optimization at CEC-2015 can also be mentioned, like the works that obtained the first place: A Self-Optimization Approach for L-SHADE Incorporated with Eigenvector-Based Crossover and Successful-Parent-Selecting Framework on CEC 2015 Benchmark Set [8] (rank 1).Finally, the other works presented in the Special Session & Competition on Real-Parameter Single Objective Optimization at CEC-2015 [1,2,3, 6, 8, 19, 21, 22, 29, 30].

The rest of the paper is organized in the following form: Sect. 2 describes the Differential Evolution algorithm. Section 3 describes the proposed methods using the fuzzy logic approach. Section 4 presents the experimentation with the Benchmark functions. Finally, Sect. 5 offers the Conclusions.

2 The Differential Evolution Algorithm

Differential Evolution algorithm (DE) is an optimization method belonging to the category of evolutionary computation that can be applied in solving complex optimization problems. The differential evolution consists mainly of 4 steps [20]:

  • Initialization

  • Mutation

  • Crossing

  • Selection

This is the mathematical form of the Differential Evolution algorithm [13, 14]:

Population structure

$$ {\text{P}}_{\text{x,g}} = \left( {{\mathbf{x}}_{\text{i,g}} } \right) ,\quad {\text{i}} = 0 , 1 ,\ldots , {\text{Np,}}\;\;{\text{g}} = 0 , 1 ,\ldots , {\text{g}}_{ \hbox{max} } $$
(1)
$$ {\mathbf{x}}_{\text{i,g}} = \left( {{\text{x}}_{\text{j,i,g}} } \right) ,\quad {\text{j}} = 0 , 1 ,\ldots , {\text{D}} - 1 $$
(2)
$$ {\text{P}}_{\text{v,g}} = \left( {\varvec{v}_{\text{i,g}} } \right) ,\quad {\text{i}} = 0 , 1 ,\ldots , {\text{Np}} - 1 ,\;\;{\text{g}} = 0 , 1 ,\ldots , {\text{g}}_{ \hbox{max} } $$
(3)
$$ \varvec{v}_{\text{i,g}} = \left( {v_{\text{j,I,g}} } \right) ,\quad {\text{j}} = 0 , 1 ,\ldots , {\text{D}} - 1 $$
(4)
$$ {\text{P}}_{\text{v,g}} = \left( {\varvec{u}_{\text{i,g}} } \right) ,\quad {\text{i}} = 0 , 1 ,\ldots , {\text{Np}} - 1 ,\;\;{\text{g}} = 0 , 1 ,\ldots , {\text{g}}_{ \hbox{max} } $$
(5)
$$ \varvec{u}_{\text{i,g}} = \left( {u_{\text{j,I,g}} } \right) ,\quad {\text{j}} = 0 , 1 ,\ldots , {\text{D}} - 1 $$
(6)

Initialization

$$ {\text{x}}_{\text{j,i,0}} = {\text{rand}}_{\text{j}} ( 0 , 1) \cdot \left( {{\text{b}}_{\text{j,U}} - {\text{b}}_{\text{j,L}} } \right) + {\text{b}}_{\text{j,L}} $$
(7)

Mutation

$$ \varvec{v}_{\text{i,g}} = {\mathbf{x}}_{\text{r0,g}} + {\text{F}} \cdot \left( {{\mathbf{x}}_{\text{r1,g}} - {\mathbf{x}}_{\text{r2,g}} } \right) $$
(8)

Crossover

$$ U_{i,g} = (u_{j,i,g} ) = \left\{ \begin{aligned} & v_{j,i,g} \quad if\;\left( {rand_{j} (0,1) \le Cr\;or\;j = j_{rand} } \right) \\ & x_{j,i,g} \quad otherwise. \\ \end{aligned} \right\} $$
(9)

Selection

$$ X_{i,g + 1} = \left\{ {\begin{array}{*{20}l} {U_{i,g} } \hfill & {if\; \, f\left( {U_{i,g} } \right) \le f\left( {X_{i,g} } \right)} \hfill \\ {X_{i,g} } \hfill & {otherwise.} \hfill \\ \end{array} } \right\} $$
(10)

3 Proposed Method

We propose using DE enhanced with fuzzy logic to dynamically modify the F parameter (mutation) during execution of the algorithm. We have previously work with the Differential Evolution algorithm using fuzzy logic and this method was called Fuzzy Differential Evolution, and we are now extending this previous work by using new and more complex functions to verify in more detail the efficiency of the proposed algorithm [14]. The way in which we integrate a fuzzy system algorithm can be found in Fig. 1, where we have the flowchart of the Differential Evolution algorithm and we have a component with Interval-type 2 fuzzy logic, which dynamically calculates the F parameter (mutation) to then make calculations in the algorithm. Figure 2 shows the structure for the Interval-type 2 fuzzy system, which contains one input and one output.

Fig. 1
figure 1

Propose method with Interval-type 2 fuzzy logic

Fig. 2
figure 2

Fuzzy system

Figure 3 shows the input variable (Generation) that has 3 membership functions and is granulated in the Low, Medium and High values that were used by each membership function are symmetric the ranges are as follows:

Fig. 3
figure 3

Input generation

  • Low: \( \left[ {\begin{array}{*{20}l} { - 0.5859} \hfill & { - 0.08598} \hfill & {0.4141} \hfill & { - 0.4193} \hfill & {0.08068} \hfill & {0.5807} \hfill \\ \end{array} } \right] \)

  • Medium: \( \left[ {\begin{array}{*{20}l} { - 0.08333} \hfill & {0.4167} \hfill & {0.9167} \hfill & {0.08333} \hfill & {0.5833} \hfill & {1.083} \hfill \\ \end{array} } \right] \)

  • High: \( \left[ {\begin{array}{*{20}l} {0.4167} \hfill & {0.9167} \hfill & {1.417} \hfill & {0.5833} \hfill & {1.083} \hfill & {1.583} \hfill \\ \end{array} } \right] \)

Figure 4 presents the output variable (F) has 3 membership functions and is granulated in Low, Medium and High values that were used by each membership function are symmetric the ranges are as follows:

Fig. 4
figure 4

Output F parameter

  • Low: \( \left[ {\begin{array}{*{20}l} { - 0.5859} \hfill & { - 0.08598} \hfill & {0.4141} \hfill & { - 0.4193} \hfill & {0.08068} \hfill & {0.5807} \hfill \\ \end{array} } \right] \)

  • Medium: \( \left[ {\begin{array}{*{20}l} { - 0.0807} \hfill & {0.419} \hfill & {0.919} \hfill & {0.086} \hfill & {0.586} \hfill & {1.09} \hfill \\ \end{array} } \right] \)

  • High: \( \left[ {\begin{array}{*{20}l} {0.4167} \hfill & {0.9167} \hfill & {1.417} \hfill & {0.5833} \hfill & {1.083} \hfill & {1.583} \hfill \\ \end{array} } \right] \)

Figure 5 represents the rules of the interval-type 2 fuzzy logic and the Fig. 6 shows the surface of the interval-type 2 fuzzy system.

Fig. 5
figure 5

Rules for the fuzzy system

Fig. 6
figure 6

Surface of the fuzzy system

4 Results of the Experiments

In this paper we consider the set of CEC 2015 Benchmark Functions to perform the experiments and thereby be to [7, 9, 10, 25].

Below a brief description of the set of CEC 2015 Benchmark Functions is presented.

Table 1 shows the set of 15 CEC 2015 Benchmark Functions used in this paper.

Table 1 Summary of the CEC’15 learning-based benchmark suite

For the experiments we use the metrics given by the comments of CEC’15 Benchmark Functions, are comprised of 15 minimization problems and the experiments for all functions are performed with different dimensions and for this competition are of D = 10, 30, 50, 100.

Tables 2 and 3 show the comparison between the article that obtained the first place in the competition of the CEC´15 and our proposed method [8].

Table 2 Comparison between the references and the propose method with D = 10 and D = 30
Table 3 Comparison between the references and proposes method D = 50 and D = 100

Figures 7, 8, 9 and 10 represent the comparison graph for each dimension D = 10, D = 30, D = 50 and D = 100.

Fig. 7
figure 7

Comparison with D = 10

Fig. 8
figure 8

Comparison with D = 30

Fig. 9
figure 9

Comparison with D = 50

Fig. 10
figure 10

Comparison with D = 100

5 Conclusions

In conclusion, we can notice that the results obtained using interval-type 2 fuzzy logic are not as good as we expected, most likely because the fuzzy system is a simple one input and one output and another part of the footprint uncertainty membership functions the input and the output is symmetric and not optimized.

We will try to improve our fuzzy system and/or we will make the footprint uncertainty trail be optimized by some algorithm and thus be able to make a comparison with statistical test to be able to affirm or reject if our proposed method is good with the functions Benchmark, But we can also conclude that our diffuse system for some functions if it is competitive and for those cases means that the uncertainty footprint is the one indicated for certain functions Benchmark CEC’15.