1. Introduction
Recently, the harmony search algorithm (HS) has proven to be an interesting method in solving complex problems in intelligent computing, and several authors are focused on implementing this algorithm in different fields on computer science. For example, advances for this algorithm are presented by Kim et al. in [
1], HS-based management of distributed energy and storage systems in microgrids is described by Ceylan et al. in [
2], an HS is used for neural networks to improve fraud detection in banking system by Daliri in [
3], a discrete HS for flexible job shop scheduling problem with multiple objectives is explained by Gao et al. in [
4], a HS for optimal design of PID controller is described by Kayabekir et al. in [
5], an HS method to solve the vehicle routing problem by Liu et al. in [
6], an improved HS is described by Ouyang et al. in [
7], an HS with dynamic adaptation of Parameters for problem control presented by Peraza et al. in [
8], an HS for feature selection for facial emotion recognition using cosine similarity by Saha et al. in [
9], a novel HS and its application to data clustering presented by Talaei et al. in [
10], a case study to test a fuzzy HS is described by Valdez et al. in [
11], and an improved differential-based HS with linear dynamic domain is presented by Zhu et al. in [
12].
Another important meta-heuristic that has proven to be an excellent algorithm based on its implementation results in different areas of intelligent computing is the differential evolution (DE) algorithm, and some important works using DE include an Adaptive DE with novel mutation strategies in multiple sub-populations presented by Cui et al. in [
13], a novel DE for solving constrained engineering optimization problems presented by Mohamed in [
14], a hybrid real-code population-based incremental learning and DE for many-objective optimization of an automotive floor-frame described by Pholdee et al. in [
15], time series forecasting for building energy consumption using weighted support vector regression with DE optimization technique presented by Zhang et al. in [
16], an improved adaptive DE for continuous optimization outlined by Yi et al. in [
17], and an adaptive DE with sorting crossover rate for continuous optimization problems presented by Zhou et al. in [
18].
To validate the efficiency in the performance of the metaheuristics algorithms, two cases are used. The first one is in the area of stabilization of non-linear plants, and the second one is the area of mathematical functions. For the first case, some interesting related works can be mentioned—a Particle Swarm Optimization-Modified Frequency Bat (PSO-MFB) is implemented for stable path planning of an autonomous mobile robot (AMR) as presented by Ajeil et al. [
19], the use of multiple sensors for AMR navigation is presented by Hoang et al. [
20], a mobile robot path-planning using oppositional-based improved firefly algorithm under cluttered environment is presented by Panda et al. [
21], fuzzy sets in dynamic adaptation of parameters of a bee colony optimization for controlling the trajectory of an AMR are presented by Amador-Angulo et al. [
22], a robot path planning using modified artificial bee colony algorithm is presented by Nayyar et al. [
23], and a design and implementation of a fuzzy path optimization system for omnidirectional AMR in real-time is presented by Cuevas et al. [
24]. An interesting work where DE is used in the field of non-linear plants is for robot path planning as presented by Jain et al. [
25]. In this work, the optimal design of the MFs is search for a fuzzy logic system (FLS) [
26,
27], specifically a Takagi–Sugeno fuzzy controller is used in the experiments, this inference mechanisms in the FLS is an excellent tool a comparative of fuzzy sets, for example; a Takagi–Sugeno fuzzy logic controller (FLC) for a Liu–Chen four-scroll chaotic system is presented by Vaidyanathan et al. in [
28], a Whale optimization algorithm-based Sugeno FLC for fault ride-through improvement of grid-connected variable speed wind generators is presented by Qais et al. in [
29], a Fault tolerant trajectory tracking control design for interval-type-2 Takagi-Sugeno fuzzy logic system is outlined by Maalej et al. in [
30], a Sugeno–Mamdani fuzzy system based soft computing approach toward sensor node localization with optimization is presented by Kumar et al. in [
31], a hybrid technique of Mamdani and Sugeno–based fuzzy interference system approach is explained by Devi et al. in [
32], an optimization of fuzzy logic (Takagi–Sugeno) blade pitch angle controller in wind turbines by genetic algorithm is presented by Civelek in [
33], a control and balancing of two-wheeled mobile robots using Sugeno fuzzy logic in the domain of AI techniques is presented by Chouhan et al. in [
34], and a stable Takagi–Sugeno fuzzy control designed by optimization is presented by Vrkalovic et al. in [
35].
The second important field in intelligent computing to evaluate metaheuristic algorithms is in mathematical functions, and some interesting related works include Hussien et al. presenting a New binary whale optimization algorithm for discrete optimization problems [
36]; Ochoa et al. presenting a DE with a fuzzy logic approach for dynamic parameter adjustment using benchmark functions [
37]; Peraza et al. presenting an HS with dynamic adaptation of parameters for the optimization of a benchmark set of functions [
38]; Rao presents the Rao algorithms—three metaphor-less simple algorithms for solving optimization problems [
39]; Sulaiman et al. presenting a barnacles mating optimizer—a new bio-inspired algorithm for solving engineering optimization problems [
40]; Yue et al. presenting a hybrid grasshopper optimization algorithm with invasive weed for global optimization [
41]; and Perez et al. presenting a bat algorithm comparison with genetic algorithm using benchmark functions [
42]. Finally, an interesting work is presented by Mulo et al. as a combination of modified HS and DE optimization techniques in economic load dispatch [
43].
Therefore, it is important to analyze the study cases that have been implemented in the works previously presented [
37,
38]. In this paper, two metaheuristic algorithms are implemented, which are harmony search (HS) and differential evolutional (DE); the main purpose is to find the optimal parameters for each algorithm that allows the user to minimize the fitness functions in each of the study cases. Thus, an improvement on the original algorithm is proposed with the dynamic adaptation of parameters through the fuzzy logic system, specially to find the optimal design in the values for HS for harmony memory accepting (HMR) and pitch adjustment rate (PArate) to represent the optimized fuzzy harmony search (OFHS) and the dynamic parameters for mutation rate (F) and crossover rate (CR) for DE to represent the optimized fuzzy differential evolution (OFDE). The two proposed methods are applied for optimizing fuzzy controllers and mathematical functions, a statistical test is presented with the obtained results, and the main objective is to measure the efficiency in the performance of metaheuristic algorithms for the two study cases.
The organization of the sections in this paper is described in the following.
Section 2 describes two metaheuristics implemented in this paper; Differential Evolution and Harmony Search Algorithms,
Section 3 describes the optimal design of fuzzy system approach for the two study cases.
Section 4 describes two study cases to analyze—the first is the stabilization of trajectory for an autonomous mobile robot (AMR), and the second is the optimization in mathematical functions.
Section 5 describes a comparative of the results for the metaheuristic algorithms, and a statistical test is also presented.
Section 6 presents some relevant conclusions and future works for this paper.
3. Optimal Design of Fuzzy Systems Approach
The proposed method is based on the concepts and equations of the original DE and HS algorithms. Both original algorithms have the problem of parameters being fixed throughout the iterations. In previous work, this problem was eliminated using fuzzy logic to perform the dynamic parameter adjustment. This method consisted of a Mamdani fuzzy system with two inputs (iterations and diversity) and two outputs for each method, as shown by Castillo et al. in [
46].
Therefore, the main contribution in this paper is that the proposed method uses the original DE and HS algorithms to find the best architecture of the previous fuzzy differential evolution (FDE) and fuzzy harmony search (FHS) fuzzy systems shown by Castillo et al. in [
46], which are responsible for adjusting parameters along the iterations. The proposed methods are optimized fuzzy differential evolution (OFDE) and optimized fuzzy harmony search algorithm (OFHS). Once the best architectures of the proposed OFDE and OFHS algorithms have been found, two types of problems are considered for optimization: benchmark mathematical functions and a non-linear control problem.
Figure 1 shows the general diagram of the proposed method in this paper.
The proposed fuzzy systems have triangular membership functions at the inputs and outputs in both algorithms. The triangular membership function depends on three parameters which are
a,
b, and
c as given by Equation (14), where
a and
c represents the lower parts of the triangle and
b locates the peak. This triangular membership function is represented graphically in
Figure 2.
Table 1 and
Table 2 summarize the representation of the knowledge of the inputs and outputs of the fuzzy system with triangular membership functions.
Figure 3 and
Figure 4 illustrate the parameters that form each input and output triangular membership function.
The fuzzy system was optimized with DE and HS; in the DE, it is necessary to use a chromosome, and in HS, a harmony to optimize the membership functions (MFS) is necessary, and in this case, it is called a vector, as shown in
Figure 5. The vector has 44 positions, of which six parameters are fixed and 38 are optimized.
The limits for the optimization of each triangular membership function are specified in
Table 3.
4. Study Cases
Two types of problems are used in this work in order to validate the proposed methodology. The first one is benchmark mathematical functions, and the second one is a benchmark control problem of the Sugeno type. The explanation of each of the problems is shown in more detail in the following subsections.
4.1. Benchmark Mathematical Functions
A set of eight benchmark mathematical functions are selected for the first part of the experimentation. The idea of using mathematical functions is to explore the behavior of our proposal. In
Table 4 we show the search domain, minimum and their respective equation for each benchmark function.
The set of used functions is diverse, as we have simple functions and at the same time complicated functions, including both levels of complexity helps in our experimentation to check that it works in simple functions, as well as in complicated functions.
4.2. Robot Mobile Controller
The second control problem is a unicycle mobile robot, and a Sugeno type controller was used, which has a higher level of complexity. The main goal of this controller is to make the robot follow a reference trajectory. The robot is composed of two drive wheels located on the same axis and a front free wheel that is used only for stability. The graphical representation of the robot mobile is illustrated in
Figure 6, in which we can observe the two wheels that make up the robot, the two torques, and the angle with respect to the
Y axis.
Equations (15) and (16) represent the operation of the mathematical model of the mobile robot, and for each equation a brief explanation is given of each of the variables that constitute the equations is presented.
where
is the vector of the configuration coordinates;
is the vector of velocities;
is the vector of torques applied to the wheels of the robot where and denote the torques of the right and left wheel, respectively;
is the uniformly bounded disturbance vector;
is the positive-definite inertia matrix;
is the vector of centripetal and Coriolis forces;
is a diagonal positive-definite damping matrix.
The kinematic system is determined by Equation (16):
where
(x,y) is the position in the (world) reference frame;
is the angle between the heading direction and the x-axis;
are the linear and angular velocities, respectively.
Equation (17) represents the non-holonomic constraint, which this system has, which corresponds to a non-slip wheel condition preventing the robot from moving sideways.
One of the membership functions used in the controller is the trapezoidal one, which has four scalar parameters—
a,
b,
c, and
d as given by the Equation (18), where
a and
d represents the lower corners of the trapezoid and the
b and
c locate the shoulders. To represent the graphical form of the trapezoidal membership function, we illustrate it in
Figure 7.
The structure of the fuzzy system of the Sugeno-type controller is composed of two inputs: the first one is the linear velocity error, and the second is the angular velocity error, which are granulated into three membership functions (negative, zero, positive). Both are composed of trapezoidal functions on the extremes and a triangular one in the center, as can be appreciated in
Figure 8.
Table 5 and
Table 6 show the mathematical knowledge of each membership function for each of the inputs.
The controller used is of the Takagi–Sugeno type and is formed by nine fuzzy rules that govern the trajectory of the robot based on the controller.
Table 7 contains more detail of these fuzzy rules. The Sugeno coefficients of this controller are presented in
Table 8.
The surface of this controller is shown in detail in
Figure 9.
The proposed OFDE and OFHS methods are used to optimize the parameter values of the membership functions of the mobile robot controller in order to minimize the root mean square error (RMSE) described in Equation (19).
Figure 10 represents the vector with the points of the membership functions of both controller inputs. It has 22 total points, where eight are fixed and 14 are optimized. These points that we call optimized are the points (parameter values) that the original algorithm provides in order to create a new structure of the fuzzy system.
The limits for the optimization of each membership function are specified in
Table 9.
6. Conclusions
The main conclusions in this paper consist of highlighting the minimization of errors when the original algorithms are modified using the techniques of fuzzy logic. In both study cases in this paper, the proposed method demonstrates a stabilization and improvement with respect to the original algorithms. In this case, the proposed modification statistically shows in the mathematical functions a minimization of the error and, for the second problem of the mobile robot controller, stabilization in the trajectory even when noise is added in the model.
A comparison was presented between the two proposed methods in the case studies. In the first case of benchmark mathematical functions, OFHS achieves better results than OFDE. In the second case of control, both methods achieve good results by optimizing the robot controller with and without noise; in both cases, it is possible to minimize the error by applying noise to the controller. By comparing the results obtained with other existing methods in the literature, the effectiveness of the proposed methodology can be validated. The results obtained show the efficiency of the fuzzy logic system to find the optimal design in the membership functions (MFs) that allows the user to identify the values of the HMR and PArate parameters for the HS algorithm and the values of the F and CR parameters for the DE algorithm, and these values allow the user to obtain the modified algorithms that demonstrate a better performance in error minimization for the two study cases.
As to future work, we envision the implementation of this proposed method using interval type-2 fuzzy logic systems, as well as the experimentation with other non-linear models and being able to visualize the efficiency that this proposed method can demonstrate on the fuzzy control field.