An Intelligent Load Forecasting Expert System by Integration of Ant Colony Optimization, Genetic Algorithms and Fuzzy Logic Arash Ghanbari
Salman Abbasian-Naghneh*
Esmaeil Hadavandi
Department of Industrial Engineering University of Tehran Tehran, Iran P.O. Box: 11155-4563
[email protected]
Department of Mathematic Islamic Azad University, Najafabad Branch, Najafabad, Iran
[email protected]
Department of Industrial Engineering Sharif University of Technology Tehran, Iran, P.O. Box: 11365-9466
[email protected]
Abstract—Computational intelligence (CI) as an offshoot of artificial intelligence (AI), is becoming more and more widespread nowadays for solving different engineering problems. Especially by embracing Swarm Intelligence techniques such as ant colony optimization (ACO), CI is known as a good alternative to classical AI for dealing with practical problems which are not easy to solve by traditional methods. Besides, electricity load forecasting is one of the most important concerns of power systems, consequently; developing intelligent methods in order to perform accurate forecasts is vital for such systems. This study presents a hybrid CI methodology (called ACO-GA) by integration of ant colony optimization, genetic algorithm (GA) and fuzzy logic to construct a load forecasting expert system. The superiority and applicability of ACO-GA is shown for Iran’s annual electricity load forecasting problem and results are compared with adaptive neuro-fuzzy inference system (ANFIS), which is a common approach in this field. The outcomes indicate that ACO-GA provides more accurate results than ANFIS approach. Moreover, the results of this study provide decision makers with an appropriate simulation tool to make more accurate forecasts on future electricity loads. Keywords- Computational Intelligence; Ant Colony Optimization; Genetic Algorithms; Fuzzy Logic; Expert Systems; Load Forecasting
I. INTRODUCTION Load forecasting is a rigid task because of the complex relations existing in the load and the load-affecting factors. Many techniques have been investigated to solve the problem of load forecasting in the last decades. And there are widespread studies making efforts for improving the accuracy of forecasting approaches. In recent studies computational intelligence (CI) techniques have been frequently used as a forecasting tool. Several authors have determined preference of CI techniques to conventional techniques in the field of load forecasting [1], [2], [3], [4], [5]. Many works have attempted to apply CI techniques for contributing electricity load forecasting performance. AlSaba and El-Amin [6] applied artificial neural networks (ANN) to forecast the annual peak demand of a Middle Eastern utility up to the year 2006. Kermanshahi and Iwamiya [7] used backpropagation network and Jordan recurrent network for the forecasting * Corresponding Author
978-1-4244-9927-4/11/$26.00 ©2011 IEEE
of Japan’s electricity energy consumption until 2020. Ozturk et al. [8] developed two different non-linear estimation models using genetic algorithms (GA) and estimated Turkey’s electrical energy demand till 2025. Pao [9] used ANN for forecasting Taiwan’s electricity consumption. Hamzacebi [10] employed ANN for forecasting Turkey’s net electricity energy consumption on sectoral basis until 2020. Expert systems (ES) are one of the most commercially successful branches of CI. An expert system is a program, which has a wide base of knowledge in a restricted domain and uses complex inferential reasoning to perform tasks, which a human expert could do [11]. The first works in ES application in load forecasting were implemented by Rahman and Bhatnagar [12] their objective was to use the knowledge, experience and analytical thinking of experimental system operators. Park et al. made a further step by using fuzzy logic in an ES for a short-term load forecasting problem [13]. Ying and Pan [14] applied the adaptive network based fuzzy inference system (ANFIS) model to forecast the regional electricity loads in Taiwan and demonstrated the forecasting performance of this model. They found that ANFIS has better forecasting performance than regression, ANN, support vector machines with genetic algorithms (SVMG), recurrent support vector machines with genetic algorithms (RSVMG) and hybrid ellipsoidal fuzzy systems for time series forecasting (HEFST) model. They found ANFIS as a good alternative for forecasting electricity loads. This study presents a hybrid CI approach (called ACOGA) by integration of ant colony optimization (ACO), genetic algorithm and fuzzy logic to construct a load forecasting expert system with high interpretabilityaccuracy tradeoff. The superiority and applicability of ACO-GA will be shown for Iran’s annual electricity load forecasting problem and results will be compared with ANFIS. II.
METHODOLOGY
Nowadays Fuzzy rule-based systems are successfully applied to a wide range of real-world problems from different areas. In order to design an intelligent system of this kind for a concrete application, several tasks have to be performed. One of the most important and difficult ones is to derive an appropriate knowledge base (KB) about the problem being solved. The KB stores the
available knowledge in the form of fuzzy linguistic IF– THEN rules. It is composed of the rule base (RB), constituted by the collection of rules in their symbolic forms, and the data base (DB), which contains the linguistic term sets and the membership functions defining their meanings [15]. The difficulty presented by human experts to express their knowledge in the form of fuzzy rules has made researchers develop automatic techniques to perform this task. In this sense, a large amount of methods has been proposed to automatically generate fuzzy rules from numerical data. Usually, they use complex rule generation mechanisms such as neural networks [16] or genetic algorithms [17]. Also a family of efficient and simple methods guided by covering criteria of the data in the example set, called ad hoc data-driven methods, has been proposed in the literature [18],[19],[20]. In order to improve the interpretability and accuracy of the FRBS Casillas et al. [15] proposed a new approach to automatically learn the whole knowledge base, combining some AI techniques. This approach improves interpretability-accuracy trade-off by improving the degree of cooperation between DB and RB. With this aim, the Hybrid method proposes a KB learning approach that evolves DB definitions and looks for compact RBs, working cooperatively to generate linguistic models with good behavior. In the following firstly we’ll describe ANFIS which is one of the most successful neuro-fuzzy approaches in a nutshell, secondly we’ll present ACO-GA methodology which is based on the methodology proposed by Casillas et al. [15].
represent the parameter sets that are fixed in the system. The output data from the nodes in the previous layers will be the input in the present layer. The first layer executes a fuzzification process, the second layer executes the fuzzy AND of the antecedent part of the fuzzy rules, the third layer normalizes the membership functions (MFs), the fourth layer executes the consequent part of the fuzzy rules, and finally the last layer computes the output of fuzzy system by summing up the outputs of layer fourth. B. ACO-GA The generic scheme of ACO-GA approach is shown in Figure 2. In the following we’ll describe different stages of the approach. 1. 2. 3.
M
ݎ ܥ א ܤ
y
S
N
Layer 2
changes
ೕ ೝ by ೕ
ܤ
ே
B1
Layer 1
and
with ݇ ೕ ଵ randomly generated in ቄͳǡ ǥ ǡ ܿೕ ቅ such
ܧܵܯൌ f
B2
thatܿೕ ʹ,
ͳ ሺܻ െ ݕ ሻଶ ʹǤ ܰ ୀଵ
x
ࢃ
such
that ݇ ೕ ଵ ് ݇ ೕ . To evaluate the quality of each solution an index measuring the cooperation degree of the encoded rule set is considered. In this case the algorithm uses a global error function called mean square error (MSE), which is defined as
N
M
ೕ
ೝ భ ೕ
y
A2
y
with
the best accuracy. The initial solution is obtained by generating a possible combination at random. The neighbor mechanism randomly selects a specific
തതത ࢃ
ࢃ
A1 x
ಿ ೕ ೝ ǡ ǥ ǡ ܤೝಿ ቅ ೕ
for the combination ቄܤభೝభ ǡ ǥ ǡ ܤ
A. Adaptive Neuro-Fuzzy Inference Systems Adaptive Neuro-Fuzzy Inference Systems are fuzzy Sugeno models put in the framework of adaptive systems to facilitate learning and adaptation. An ANFIS [21] can help us find the mapping relation between the input and output data through hybrid learning to determine the optimal distribution of membership functions. ANFIS’s network organizes two parts like fuzzy systems. The first part is the antecedent part and the second part is the conclusion part, which are connected to each other by rules in network form. x
Generate the DB by means of the genetic algorithm. Generate the candidate rules in each fuzzy input subspace. Select the most cooperative rule in each subspace. This stage is performed in two steps: 3.1 Obtain the set of possible consequents (BS) for each subspace (S) containing examples. To do that let ܥൌ ൛ݎ ߳ሼͳǡ ǥ ǡ ܰ௦ ሽ ܤݐ݄ܽݐ݄ܿݑݏೕ ് ሽ - with ܰ ൌ ȁܥȁ being the number of subspaces which contain examples and ݆ אሼͳǡ ǥ ǡ ܰ ሽ be the set of identifications of those candidate consequent term sets which contain at least one element. 3.2 Run the ant colony optimization algorithm to look
തࢃ തത
Layer 3
4. Layer 4
forwards backward
Figure 1. ANFIS Architecture
Five layers are used to construct this inference system (See Figure 1). Each layer contains several nodes described by the node function. Adaptive nodes, denoted by squares, represent the parameter sets that are adjustable in these nodes, whereas fixed nodes, denoted by circles,
5.
with ୪ being the output obtained from the FRBS when the example el is used, and ୪ being the known desired output. The closer to zero the measure, the greater the global performance and, thus, the better rule cooperation. Calculate the following fitness function ܨ ൌ ߱ଵ Ǥ ܧܵܯ ߱ଶ Ǥ ͓ܴ with ߱ଵ and ߱ଶ being weighting percentages (߱ଵ ߱ଶ ൌ ͳ), and ͓ܴ being the number of rules. Considering ͓ܴ in ܨ will cause the FRBS to be penalized by the number of rules to obtain more compact linguistic models. If the termination condition is not met then go to the first stage. Else, the generated KB is optimum. Figure 2. General Scheme of ACO-GA
Stage 1 - Genetic process for the DB
Algorithm
learning
For the DB derivation, we use a genetic algorithm that includes its three usual components: number of labels per variable, membership function definitions (obtained from a non-linear scaling function) and scaling factors. The genetic process starts with a population of solutions called chromosomes, that constitutes the first generation (G(0)), and undergoes evolution over it. While a certain termination condition is not met, each chromosome is evaluated by means of an evaluation function (a fitness value is assigned to the chromosome) and a new population is created (G(t + 1)), by applying a set of genetic operators to the individuals of generation G(t). Detailed information about genetic DB learning can be found at [22].
Stage 2 - Generating Candidate Rules We can generate candidate rules through two different ways: guided by examples and guided by fuzzy grid. The linguistic rule generation process guided by examples obtains each rule from a specific example in the data set. This will be formed by the rule best covering each example contained in the input-output data set. The structure of each rule is obtained by taking a specific example (el) and setting each of the rule variables to the linguistic label associated with the fuzzy set best covering every example component, ሺܣଵ ǡ ǥ ǡ ܣ ǡ ܤ ሻ, with ܣ א ܣ and ܤ ܤ א. (ܣ is the set of linguistic terms of the i-th input variable, and B is the set of linguistic terms of the output variable). Another possibility to generate the linguistic rules is to bracket the examples according to a fuzzy grid, and then to obtain a rule for each group (subspace) taking into account all of them. The fuzzy grid is obtained by the Cartesian product of the linguistic terms existing in the input primary fuzzy partition for each input variable, ܣଵ ൈ ǥ ൈ ܣ . The following shows steps of generating candidate rules through this method (See Figure 3). ࢙ ࡾ࢙ ൌ ࡵࡲࢄ ࢙࢙ ࢇࢊࢄ ࢙ ࢙ ࢀࡴࡱࡺࢅ࢙࢙ ࢙ ࡾ࢛ࢋࢇ࢙ࢋ
Figure 3. Rule generation process followed by the methods guided by fuzzy grid
•
For each n-dimensional fuzzy input subspace (Ss) do: Build the set of ܧ௦ᇱ composed of the input-output data pairs that are located in this subspace, i.e. ೞ
•
ೞ
ೞ
ೞ
ܧ௦ᇱ ൌ ൛݁ೞ ൌ ൫ݔଵ ǡ ǥ ǡ ݔ ǡ ݕೞ ൯ ߤݐ݄ܽݐ݄ܿݑݏܧ אೞభ ൫ݔଵ ൯Ǥ ǥ Ǥ ߤೞ ൫ݔ ൯ ് ͲൟǤ
ȁܧ௦ᇱ ȁ
് Ͳ, i.e. if there is any data in this space zone, If then: Let ܤ௦ ൌ ൛ܤ ܤ אǡ ݇ אሼͳǡ ǥ ǡ ȁܤȁሽ݁ݐ݄ܽݐ݄ܿݑݏೞ א ೞ ܧ௦ᇱ ߤ݄ݐ݅ݓೖ ሺ ݕ ሻ ് Ͳൟbe the set of linguistic labels in the output variable term set which contain examples.
Generate rules with possible consequences in each subspace( ܤ௦ ).Add the rule as a ܴ௦ ೞ ൌ ܺܨܫଵ ݅ܣݏଵ௦ ܽ݊݀ ǥ ܽ݊݀ܺ ݅ܣݏ௦ ܶܤݏܻ݅ܰܧܪ௦ೞ
Stage 3 Ant Colony Optimization Learn Linguistic Fuzzy Rules
to
The basic operation mode of ACO algorithms is as follows [23]: At each iteration, a population of a specific number of ants progressively construct different tracks on a graph representing the problem instance (i.e., solutions to the problem) according to a probabilistic transition rule that depends on the available information (heuristic information and pheromone trails). After that, the pheromone trails are updated. This is done by first decreasing them by some constant factor (corresponding to the evaporation of the pheromone) and then reinforcing the attributes of the constructed solutions considering their quality. This task is developed by the global pheromone trail update rule. Figure 4 illustrates generic behavior of biological ants. (1)
(2)
(3)
Figure 4. Behavior of Biological Ants
To apply ACO for obtaining best cooperative rule set, it is convenient to see it as a combinatorial optimization problem with the capability of being represented on a weighted graph. In this way, we can face the problem considering a fixed number of subspaces and interpreting the learning process as the way of assigning consequents— i.e., labels of the output fuzzy partition—to these subspaces with respect to an optimality criterion, hence, we are in fact dealing with an assignment problem. We may draw an analogy between subspaces and locations and between consequents and facilities. The set of possible consequents for each subspace may be different and it is possible to assign a consequent to more than one subspace (two rules may have the same consequent). We can draw from these characteristics that the order of selecting each subspace to be assigned a consequent is not determinant since one assignment does not restrict the remaining ones, i.e., the assignment order is irrelevant. Detailed information about ACO rule learning can be found at [23].
Stage 4 - Evaluating the KB For each generated KB (DB+RB) we run the evaluation process once. To meet this purpose we calculate MSE over the training set using the KB obtained. In order to avoid the possible overfitting, thus improving the generalization capability of the final FRBS, we will lightly penalize FRBSs with a high number of rules (#R) to obtain more compact linguistic models. Therefore, once
the RB has been generated and its MSE over the training set has been calculated, the described fitness function is calculated.
Stage 5 - Final Stage As described in Figure 2 while the termination condition is not met we’ll iterate the procedure from first stage.
We evaluate the accuracy of the forecasts by calculating mean absolute percentage error (MAPE) which is the most common evaluation statistic in the field of forecasting. Definition of MAPE is as follows:
ͳ ܲ െ ܣ ܧܲܣܯൌ ൭ ฬ ฬ൱ ൈ ͳͲͲሺͳሻ ܣ ݊ ୀଵ
III. IMPLEMENTATION OF THE EXPERT SYSTEMS In this section we implement two different expert systems for forecasting Iran’s annual electricity loads by means of ACO-GA and ANFIS. The following socio/energy economic factors are considered as the model inputs: NRGDP: Non-Oil Real Gross Domestic Product POP: Total Population WPI: Wholesale Price Index EFL: Energy Efficiency with one year lag The historical data from 1971 to 2007 is used for training and testing processes. Namely we use data from 1971 to 2000 for training and data from 2001 to 2007 for testing. All data set is gathered from the Central Bank of Islamic Republic of Iran (CBI). Construction of ACO-GA is carried out by the Codes written in Java Programming Language, and construction of ANFIS is performed by Matlab Fuzzy Logic Toolbox. In order to increase the interpretability of the system, all data are transformed to percent change space. To meet the architectures with least errors, different feature of parameters are examined and finally suitable architectures are found. Some of the most important parameters of ACO-GA and ANFIS after tuning are shown in Tables I, II respectively. TABLE I. TUNED FEATURE OF ACO-GA Parameter Value(s) Agrupation of examples Fuzzy Grid Obtention of candidate consequents Fuzzy Grid MF Type Triangular Number of Membership Functions 5 Population size 50 Number of generations 100 Crossover probability 0.5 Mutations Probability 0.2 equal to the number of Number of Ants initial fuzzy input subspaces Iterations 70 TABLE II. TUNED FEATURE OF ANFIS Parameter Value(s) Hybrid - Mixture of Back Method Propagation and Least Squares Training # of Epochs 100 Input Layer Output Layer
IV.
Error Tolerance # of MF’s MF Type
10-5 5,5,5,5 Gaussian
MF Type
Constant
where ܲ and ܣ are ݅th predicted and actual values, and ݊ is the total number of predictions. A detailed comparison of the results is shown in Table III. Moreover, Figure 5 provides a graphical illustration of forecasted values in comparison with actual values. TABLE III. FORECASTED LOADS VS. ACTUAL LOADS ACO-GA ANFIS Actual Loads Forecasted Error Forecasted (M-Kwh) 97994.67 0.8 98511.72 97171 107339.8 1.7 107393.2 105525 116034.5 1.2 117069.9 114624 125695.5 0.1 127583.2 125528 136105.3 1.4 139012.1 134238 147064.2 0.1 151442.8 147001 157084.8 0.9 164965.8 155598
Year 2001 2002 2003 2004 2005 2006 2007
Mape
1.4 1.8 2.1 1.6 3.6 3.0 6.0 2.8
Figure 5. Actual Loads in comparison with Forecasted Loads
As it’s shown, outcomes of ACO-GA are more approximate to the actual loads than that of ANFIS. In order to establish statistical significance, we carry out statistical tests to comparatively evaluate prediction accuracy between ACO-GA and ANFIS. Following hypotheses is proposed: H0: There is no difference among accuracy of approaches. H1: Difference exists among accuracy of approaches. Since data used for prediction in both methods are the same, we carry out paired t-test (two samples for mean) on prediction accuracy (relative error
െ
ቚ ൈ ͳͲͲ) to test the hypothesis. The percentage:ቚ
results of paired t-tests are shown in Table IV.
EMPIRICAL RESULTS AND COMPUTER SIMULATION
After implementing the models in this section we use test set data and examine forecasting capability of the models.
0.9
Error
Mean -1.88
TABLE IV. RESULTS OF PAIRED T-TEST Std. Deviation t-Stat ܲ௩௨ df 1.7
-2.9
0.02
6
Conclusion ߤେିୋ ൏ ߤேிூௌ
Since ୴ୟ୪୳ୣ ൏ ͲǤͲͷ null hypothesis is rejected. The evidence indicates that the average prediction error of ACO-GA is significantly different from that of ANFIS. This conclusion also indicates that the prediction error of ACO-GA is lower than ANFIS model. On the other hand, in spite the fact that the generated system out of ANFIS has the same input-output components as ACO-GA, the number of generated rules is 625 which is much more than those of the ACO-GA (78); this shows capability of ACO-GA for constructing an expert system with optimum number of rules and higher interpretability. By means of such models which have high interpretability-accuracy tradeoff, we can visualize the electricity load level as a continuous function of its input parameters and as a result we can answer “what-if” questions about electrical energy loads and make plans for a coming period. For example, Figure 6 portrays variation of electricity loads related to GDP and WPI. Electricity Loads (%)
V.
CONCLUSIONS
This study presented a hybrid computational intelligence-based approach (called ACO-GA) to deal with electricity load forecasting problems and provide decision makers with an appropriate tool to make more accurate forecasts on future electricity loads. ACO-GA employs ant colony optimization, genetic algorithm and fuzzy logic techniques to construct load forecasting expert systems with high interpretability-accuracy tradeoff. We showed capability of the proposed approach for Iran’s electricity load forecasting problem and compared its outcomes with adaptive neuro-fuzzy inference system which is a popular approach in this field. To meet this purpose we proposed hypothesis tests and performed t-test for a significance level of 0.05. Results indicated that ACO-GA significantly outperforms ANFIS regarding forecasting accuracy. On the other hand, by comparing the constructed expert systems it was found that ACO-GA is considerably more interpretable than ANFIS due to its suitable number of generated rules. REFERENCES [1] A. Ghanbari, A. Naghavi, and S.F. Ghaderi, "Artificial Neural Networks and Regression Approaches Comparison for Forecasting Iran’s Annual Electricity Load," in IEEE Second International Conference on Power Engineering, Energy and Electrical Drives, Lisbon, Portugal, 2009, pp. 675-679. [2] Georges A. Darbellay and Marek Slama, "Forecasting the shortterm demand for electricity Do neural networks stand a better chance?," International Journal of Forecasting, vol. 16, p. 71–83, 2000.
WPI (%)
[3] Ajith Abraham and Baikunth Nath, "A neuro-fuzzy approach for modeling electricity demand in Victoria," Applied Soft Computing, vol. 1, p. 127–138, 2001. GDP (%)
Figure 6. Three dimensional surface view – WPI(%) and GDP(%) vs. Electricity Loads(%)
Moreover, Figure 7 demonstrates variation of electricity loads related to GDP and Energy Efficiency. Electricity Loads (%)
.
[4] Mara Lucia M. Lopes, Carlos R. Minussi, and Anna Diva P. Lotufo, "Electric load forecasting using a fuzzy ART&ARTMAP neural network," Applied Soft Computing, vol. 5, p. 235–244, 2005. [5] Ayca Kumluca Topalli, Ismet Erkmen, and Ihsan Topalli, "Intelligent short-term load forecasting in Turkey," Electrical Power and Energy Systems, vol. 28, p. 437–447, 2006. [6] Tawfiq Al-Saba and Ibrahim El-Amin, "Artificial neural networks as applied to long-term demand forecasting," Artificial Intelligence in Engineering, vol. 13, p. 189–197, 1999. [7] B. Kermanshahi and H. Iwamiya, "Up to year 2020 load forecasting using neural nets," Electrical Power and Energy Systems, vol. 24, p. 789–797, 2002. [8] Harun Kemal Ozturk, Halim Ceylan, Olcay Ersel Canyurt, and Arif Hepbasli, "Electricity estimation using genetic algorithm approach:a case study of Turkey," Energy, vol. 30, p. 1003–1012, 2005. [9] Hsiao-Tien Pao, "Comparing linear and nonlinear forecasts for Taiwan’s electricity consumption," Energy, vol. 31, p. 2129–2141, 2006. [10] Coskun Hamzacebi, "Forecasting of Turkey’s net electricity energy consumption on sectoral bases," Energy Policy, vol. 35, p. 2009– 2016, 2007.
GDP (%)
Energy Efficiency (%)
Figure 7. Three dimensional surface view – Energy Efficiency(%) and GDP(%) vs. Electricity Loads(%)
[11] M. Welbank, A Review of Knowledge Acquisition Techniques for Expert Systems. England: British Telecommunications Research Laboratories Technical Report, 1983. [12] S. Rahman and R. Bhatnagar, "An expert system based algorithm for short term load forecast," in IEEE Trans Power Syst, 1988, p. 392–9.
[13] Y. Park and J. Park, "An expert system for short-term load forecasting by fuzzy decision," in Proceedings of ESAPS, 1989, p. 244–50. [14] Li-Chih Ying and Mei-Chiu Pan, "Using adaptive network based fuzzy inference system to forecast regional electricity loads," Energy Conversion and Management, vol. 49, p. 205–211, 2008. [15] J. Casillas, O. Cordón, F. Herrera, and P. Villar, "A hybrid learning process for the knowledge base of a fuzzy rule-based system," in Proceedings of the 2004 International Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems, Perugia, Italy, 2004, pp. 2189--2196. [16] D. Nauck, F. Klawonn, and R. Kruse, Fundations of Neuro-Fuzzy Systems. New York: Wiley, 1997. [17] O. Cordón, F. Herrera, F. Hoffmann, and L. Magdalena, Genetic Fuzzy Systems: Evolutionary Tuning and Learning of Fuzzy Knowledge Bases. Singapore: World Scientific, 2001. [18] O. Cordón and F. Herrera, "A proposal for improving the accuracy of linguistic modeling," in IEEE Trans. Fuzzy Syst., p. 335–344. [19] H. Ishibuchi, K. Nozaki, H. Tanaka, Y. Hosaka, and M. Matsuda, "Empirical study on learning in fuzzy systems by rice taste
analysis," Fuzzy Sets Syst., vol. 64, p. 129–144, 1994. [20] K. Nozaki, H. Ishibuchi, and H. Tanaka, "A simple but powerful heuristic method for generating fuzzy rules from numerical data," Fuzzy Sets Syst., vol. 86, p. 251–270, 1997. [21] JSR. Jang, "ANFIS Adaptive-network-based fuzzy inference system," in IEEE Trans Syst, Man, Cybernet, 1993, p. 665–85. [22] O. Cordon, F. Herrera, L. Magdalena, and P. Villar, "A genetic learning process for the scaling factors, granularity and contexts of the fuzzy rule-based system data base," Information Sciences, vol. 136, pp. 85-107, 2001. [23] Jorge Casillas, Oscar Cordón, Iñaki Fernández de Viana, and Francisco Herrera, "Learning cooperative linguistic fuzzy rules using the best-worst ant system algorithm," International Journal of Intelligent Systems, vol. 20, pp. 433 - 452, 2005.