Neural Fuzzy Inference Network Based on Differential Evolution for Nonlinear System Control

We propose a neural fuzzy inference network (NFIN) based on a symbiotic Taguchi-based modified differential evolution (STMDE) algorithm for solving nonlinear control problems. The proposed STMDE algorithm not only uses the Taguchi method in its search for the best individual but also employs adjustable parameter control to tune the scaling factor, which can prevent a solution from being trapped at local optima and reinforce the search ability. Moreover, symbiotic evolution (SE) is applied to improve the structure of individual compositions. Unlike the traditional differential evolution (DE) algorithm, SE regards each individual in a population as being the partial solution to a problem instead of the full solution. Compared with traditional DE, the proposed STMDE algorithm reduces the error by 7.95, 4.51, 5.22, and 51.34% in terms of regulation performance, noise rejection ability, robustness to parameter variation of the controlled system, and controller tracking capability, respectively. In addition, our experimental results also indicate that the proposed STMDE algorithm exhibits superior performance to other algorithms used for solving nonlinear temperature-sensing control problems.


Introduction
Recently, neural fuzzy inference networks (NFINs) have been commonly used in different fields, such as mobile robotic control, (1) image processing, (2) and fabric pilling classification. (3) The advantage of an NFIN is that it incorporates the reasoning characteristic of a fuzzy inference system with learning ability. NFINs can be divided into two types: Mamdani-type NFINs (M-NFINs) (4,5) and Takagi-Sugeno-Kang (TSK)-type NFINs (T-NFINs). (6)(7)(8) The fuzzy reasoning in an M-NFIN involves the minimum fuzzy implication rule. However, in a T-NFIN, the consequence of each fuzzy rule is a linear function including a combination of input variables. Many studies (7,8) have shown that a T-NFIN achieves superior performance to an M-NFIN in terms of accuracy and network size. In general, the function involving a combination of input variables in a T-NFIN is linear. The traditional T-NFIN does not fully capitalize on the mapping capabilities in some nonlinear problems. Thus, in this study, we adopted an available network structure and embedded a functional link neural network (FLNN) (9,10) into the consequent part of each fuzzy rule, yielding a model called a functional-based NFIN (F-NFIN). In the F-NFIN, the consequent part of each fuzzy rule comprises the input functional expansion.
Learning algorithms have been used for tuning the network parameters of NFINs. The backpropagation (BP) learning algorithm (7,8) is widely used for tuning the parameters of NFINs. However, the BP algorithm is based on gradient descent and is easily trapped at local minima. An evolutionary algorithm has recently been designed for optimizing the parameters of NFINs. Yolmeh et al (11) predicted the effect of annatto dye on Salmonella enteritidis in mayonnaise using a genetic algorithm (GA)-based neural network and an adaptive neuro-fuzzy inference system (ANFIS). Kuo et al. (12) tuned membership functions and weights in NFINs by using immune algorithms. In addition, Shihabudheen et al. (13) proposed an ANFIS based on particle swarm optimization to reduce computational complexity and improve generalization. Hou et al. (14) combined the differential evolution (DE) algorithm with the BP algorithm to optimize an NFIN for forecasting network traffic. The aforementioned evolutionary methods are highly efficient in their search of the global space; however, problems pertaining to local minima and premature convergence persist. Therefore, in this study, we focused on improving the traditional DE algorithm to ensure that it can be used to obtain optimal network parameters.
In this study, we present an NFIN with a symbiotic Taguchi-based modified differential evolution (STMDE) algorithm. First, the proposed STMDE algorithm adopts an effective method to find the best individual and to adjust the scaling factor in the DE algorithm. In addition, the Taguchi method, (15) which was designed for conducting simple value analyses through orthogonal arrays, is used to achieve a better evolutionary direction. The power of the Taguchi method originates from its use of fewer experimental sets to obtain more crucial information. Moreover, the STMDE algorithm uses symbiotic evolution (SE) to reinforce the traditional DE structure. SE is different from the traditional DE algorithm in that it assumes that each individual in the group only represents a part of the solution, rather than a complete solution to the problem.

Structure of NFIN
As discussed in this section, the proposed NFIN model uses an FLNN to form the consequent part of the fuzzy rules. Figure 1 shows the structure of the proposed NFIN model. The jth fuzzy rule of the NFIN is represented as follows: The jth fuzzy rule: IF x 1 is A 1j and x 2 is A 2j , ..., and x i is A ij , ..., and x N is A Nj where x i represents the input variables, A ij represents the membership functions, φ k represents the basis trigonometric functions, w kj represents the local output weights, N is the number of inputs, and B is the number of basis functions.
The operation functions in each layer are as follows. Layer 1: This layer has no calculations, and the input variable directly transmits its value to the next layer: (2) Here, o (1) is the output of a node in the first layer. Layer 2: The membership degree is calculated as follows: where m ij and σ ij represent the mean and variance of the membership function, respectively. Layer 3: The node represents the premise part of a fuzzy rule and uses the product operator to compute the premise matching degree of the fuzzy rules. The output of each node is described as follows: Here, represents the excitation of the corresponding fuzzy rule. Layer 4: Nodes in this layer are the consequent nodes. The inputs of the consequent nodes are the outputs from layer 3 with the nonlinear combinations of inputs from an FLNN added. Here, w kj is the weighting value of the FLNN and φ k represents the functional expansion. (9) Layer 5: Each node matches a single output in this layer to perform a defuzzification operation. (3) Here, y denotes the output of the NFIN model and F is the number of fuzzy rules.

Proposed STMDE
SE assumes that each individual in the group only represents a part of the solution, rather than a complete solution to the problem, and it combines several individuals to solve complex solutions. That is, the partial solution of each individual is combined with the other solutions in the population to generate an effective overall solution. Figure 2 illustrates the structure of the SE.
The STMDE algorithm consists of four parts: initialization, fitness evaluation, parameter learning, and a solution-aging mechanism. During the coding step, the membership functions are processed by the fuzzy rules of an NFIN for individuals. Before the learning process begins, the sub-individual values are assigned for the initialization step. The fitness evaluation step assigns a suitable value to each fuzzy system, which is a combination of several fuzzy rules that are selected from each subpopulation. Then, the best individual is updated and recoded on the basis of the fitness value. The parameter-learning step executes STMDE for all subpopulations. This process is repeated until a given stopping condition is satisfied. A flow chart of the proposed STMDE algorithm is presented in Fig. 3, which depicts the entire learning process.

Initialization phase
The initialization phase is divided into two steps: coding and the creation of an initial population. The coding step involves the fuzzy rules representing suitable sub-individuals for SE, whereas the population values are assigned before the evolution process begins.

A. Coding step
The first step of STMDE is the coding of each individual (rule) into an NFIN. Figure 4 presents the parameter coding of the NFIN.

Evaluation phase
The fitness value (FV) of an NFIN is calculated using the suitable combinations of all selected rules.
Step 1: Randomly select F fuzzy rules (individuals) from each subgroup with size PS to form an NFIN.
Step 2: Through Step 1, evaluate every NFIN to obtain an FV. In this study, the FV is described as follows: Here, y k is the network output of the kth data item, d k y is the target output of the kth data item, and N t denotes the number of training data.
Step 3: Compare the FV of each current NFIN with the FV of the best NFIN. If the FV of the current NFIN is higher than that of the best NFIN, then replace the best NFIN with the current NFIN.
Step 4: Repeat Steps 1 to 3 until each rule of the NFIN has been selected a sufficient number of times.

Parameter-learning phase
In the parameter-learning phase, the proposed STMDE algorithm conducts parameter learning to update all individuals. Then, the composed NFIN is evaluated to reveal each subpopulation, which allows each individual (rule) to develop itself. Figure 5 shows the individual structure in STMDE.
The STMDE algorithm is divided into two major phases: parent choice and reproduction phases.

Parent choice phase
To achieve a better evolutionary direction, the Taguchi method is commonly used to find the best parent combination, which is one of the popular optimization methods in robotic design processes. In an evolutionary algorithm, the Taguchi method can effectively lead the individual to evolve in a better direction. In our proposed algorithm, this experimental method is used to obtain an optimal parent combination in the learning algorithm. We describe how to obtain the best parent combination using the Taguchi method. The orthogonal array (OA) in the Taguchi method provides many reduced variances for the experiment with the optimal control parameter setting. An OA provides a set of well-balanced (minimum number of) experiments and helps in analyzing the factor efficiency and predicting the optimal parameter combination. A two-level OA is used in the proposed algorithm. The general symbol for a standard two-level OA is where p is the number of experiments, q is the level of each factor, and s is the number of affecting factors.

A. Experimental factor determination and OA creation
For the ith individual in the gth generation x i,g , where i = 1, 2, ..., PS, three individuals (x r1,g , x r2,g , and x r3,g ) are randomly selected from the population, where r 1 , r 2 , and r 3 ∈ {1, 2, ..., PS} and i ≠ r 1 ≠ r 2 ≠ r 3 . Therefore, a mutated individual u i,g is generated as follows: where C is a scaling factor. To optimize the search direction and capability, a new method for mutating individuals is proposed and a mutated individual is redefined as follows: where C is the control rate of the evolved population and is equal to g/G, G is the number of generations, g is the current generation, and x best,g is the best individual of the gth generation. Because the three parameters (r 1 , r 2 , and r 3 ) of the evolutionary direction are closely related, these parameters are adopted as the affecting factors in the Taguchi method. Table 1 presents an L 4 (2 3 ) two-level OA in the proposed method. In the OA, the column "Experiment #" lists the experiments, where there are four experiments in this case. In the L 4 (2 3 ) OA, an experiment determines the influence of three different independent factors (r 1 , r 2 , and r 3 ) with each factor having two levels. The column "Performance value" lists the values of ε used to evaluate each experimental result in terms of the signal-to-noise ratio (SNR).
The SNR is widely used as a quality evaluation metric in communication engineering. Table  2 presents the homologous table of the factors and their corresponding levels. Here, r f,l denotes the parent index, which is between 1 and PS.
In the proposed algorithm, the tournament method is used to select the best individual. In this process, three individuals are randomly selected and the one with the best FV is selected. Then, this process is repeated three times until six different individuals from the population are obtained.
Next, the experiment is initiated in accordance with the created OA. Each individual requires four separate experiments, and the offspring individuals v i for each individual are generated by executing some evolutionary steps (mutated individual creation, crossover mutation). In the following paragraph, we discuss the experimental analysis.

B. Experimental analysis
Although the SNR in the Taguchi method is used for quality evaluation, it involves three types of transformations: larger-the-better, nominal-is-best, and smaller-the-better. In this study, larger-the-better is used and calculated with the following equation: Here, y k denotes the network output of the kth data item, d k y denotes the target output of the kth data item, and N t denotes the number of training data. The affecting factors are described as follows: where i is the number of experiments, f is the factor name, and l is the number of levels. Therefore, on the basis of the effects of the various factors, the level of the best performance of each factor can be determined. Table 3 presents the performance results obtained under the assumption that all experiments have been completed. The best level (BL) in this generation is described as follows: For example, Table 3 shows that the value of AF 1,2 is higher than that of AF 1,1 and that the BL of factor 1 is equal to level 2. Therefore, the best combination of the parents (r 1,2 , r 2,1 , and r 3,1 ) can be obtained.

A. Offspring generation
According to Eq. (8), the TMDE algorithm adopts a differential method to produce a mutated individual u i,g . To supplement the differential search operation, a discrete recombination operation called a crossover operation is used. The mutated individual u i,g in the crossover operation mates with x i,g to generate the offspring v i,g . The individual v i,g inherits from x i,g and u i,g and is determined using a crossover probability (CR). , , , Here, Rand(d)∈[0, 1] represents the dth evaluation by using a random number generator, the CR value is between 0 and 1, and d = 1, 2, ..., D represents the dth element of individual vectors. Figure 6 illustrates the crossover mechanism with eight-dimensional vectors.

B. Mutation
To avoid the proposed STMDE algorithm becoming trapped at local optima, a mutation scheme is adopted to maintain the population diversity and increase the search ability. We adopt a one-point operation in the proposed algorithm. If the element x d in x = (x 1 , x 2 , ..., x d , ..., x D ) is randomly selected, the resulting offspring is x = (x 1 , x 2 , ..., x' d , ..., x D ). Therefore, the newly generated element x' d is randomly set between 0 and 1.

C. Survivor selection
The STMDE algorithm only applies the selection process to select survivors. Therefore, the FV of the current composition of the NFIN, the FV of the trial composition of the NFIN, and the FV of the best NFIN are compared. If the FV of the current composition of the NFIN is greater than that of the best NFIN, the current composition of the NFIN replaces the best NFIN. If the FV of the trial composition of the NFIN is greater than that of the best NFIN, the trial composition of the NFIN replaces the best NFIN.

Aging mechanism
All individuals are evolved using the best NFIN, and the subpopulations of the network may be similar to each other. To improve the proposed method, we propose an aging mechanism to overcome the problem of trapping at local optima. Here, a counter value (CV) is used to record the number of times the FV of the individual obtained in the current generation is lower than that in the previous generation. If the CV is larger than a threshold value ε, a neighborhood value is generated to maintain solution variation. This situation can prevent the occurrence of premature convergence. A new individual is generated in a suitable space and is in the neighborhood of the previous individual as follows.
Here, α represents a control parameter used to determine the distance between the previous and new individuals. The value of α is between 0.001 and −0.001. If a new individual is generated, the CV is set to zero. When all individuals are updated, the generation should be inspected to determine whether it should be continued. If the generation does not achieve the terminal value, then the execution process returns to the fitness evaluation step.

Water Bath Temperature Control
To determine the performance of the proposed STMDE algorithm, we conduct a control experiment. As the initial parameters considered in this experiment, the number of generations is 1000, the number of fuzzy systems (N) is 100, CR is 0.9, the mutation rate is 0.3, and ε is 3. Each problem is simulated on an Intel Pentium Core i7 3.00-4.70 GHz desktop computer and the program is developed using Visual C++ 6.0.
The target of this example is water bath temperature control according to the following expression: Here, y(t) denotes the output temperature and is obtained using a temperature sensor, u(t) represents the heat flowing into the water bath system, and H and U are constant values. The discrete-time equation of the water bath system is where a and b are constant values (a = 1.0015e −4 , b = 8.67973e −3 ), T 0 is room temperature (25.0 °C), S is the sampling period and set as 30, and u(k) is set between 0 and 5 V. Figure 7 shows the proposed training method of the control system. This method is divided into the learning and control parts. In the learning part, we connect switches S1 and S2 to points 1 and 2, respectively. In the learning process, y(k) = [y p (k + 1) y p (k)] is used as the input of the training data and u(k) is used as the desired output of the training data. The general inverse modeling (16) training method is adopted for the NFIN controller. In the control part, we connect switches S1 and S2 to points 3 and 4, respectively.
The input u(k) is entered into the water bath system in accordance with Eq. (17) by the training method. Moreover, we select 120 training data on the basis of the input-output features to cater to the reference output. The water temperature gradually increases from T 0 = 25.0 °C after the random input signal is injected.
In this study, we compare the proposed STMDE and TMDE algorithms with the DE, (14) immune algorithm (IA), (12) and GA. (11) The following performance measures are used in this study: regulation performance, noise rejection ability, parameter variation of the controlled system, and controller tracking capability.
In the first simulation, the water bath system is controlled to track three temperatures.  Figure 8(b) shows the error results of the STMDE algorithm, TMDE algorithm, DE, IA, and GA, indicating that the STMDE algorithm exhibits the least error among the compared algorithms. The evaluation index, namely, the sum of the absolute errors (SAE), is used to further test the regulation performance. This index is defined as   (Table 4, third row). The STMDE algorithm exhibits superior performance to the other algorithms and recovers rapidly after the impulse noise.
In many industrial control processes, plant parameters usually vary unpredictably. In this study, a 0.6 × u(k − 2) signal is added to the water bath system input after the 60th sample time in the third simulation to evaluate the robustness of the algorithms against disturbance. The 50 °C set point is also adopted. Figure 10(a) shows the robustness of the STMDE algorithm against disturbance. Figure 10( In the final simulation, ramp-reference signals are used to evaluate the tracking capability of the STMDE algorithm. The following values are defined:    (14) IA (12) GA (11) (20) Figure 11(a) shows the tracking capability of the STMDE algorithm. In addition, Fig. 11    The learning curves of the STMDE algorithm, TMDE algorithm, DE, IA, and GA are illustrated in Fig. 12, revealing the highest FV value of the proposed STMDE algorithm in the water bath system. The four performance measure results are presented in Table 4. In this table, the results show that the NFIN with the STMDE algorithm outperformed the other algorithms.

Conclusions
We proposed an NFIN based on an STMDE algorithm to solve nonlinear temperature control problems. In the NFIN, a nonlinear combination of inputs is adopted as the consequent part of a fuzzy rule and the STMDE algorithm is used to optimize the controller parameters. The proposed STMDE algorithm uses SE to find suitable rule combinations. Then, an aging   mechanism is applied to prevent the solution from falling into a local optimum. This STMDE algorithm improves the convergence speed and accuracy. To determine the performance of the proposed STMDE, we conducted a temperature-sensing control experiment, where the temperature of the water bath system was measured using a temperature sensor. The obtained SAE values of the proposed STMDE algorithm were 356.79, 247.83, 234.86, and 31.68 for the regulation, anti-noise ability, robustness to parameter variation of the controlled system, and tracking capability of the controller, respectively. These values were also lower than those of other algorithms. In future work, the NFIN based on the STMDE algorithm can be implemented in a system on a chip to achieve high-speed operations in real-time temperature control applications.