Imperialist Competitive Algorithm with Dynamic Parameter Adaptation Using Fuzzy Logic Applied to the Optimization of Mathematical Functions

: In this paper we are presenting a method using fuzzy logic for dynamic parameter adaptation in the imperialist competitive algorithm, which is usually known by its acronym ICA. The ICA algorithm was initially studied in its original form to ﬁnd out how it works and what parameters have more effect upon its results. Based on this study, several designs of fuzzy systems for dynamic adjustment of the ICA parameters are proposed. The experiments were performed on the basis of solving complex optimization problems, particularly applied to benchmark mathematical functions. A comparison of the original imperialist competitive algorithm and our proposed fuzzy imperialist competitive algorithm was performed. In addition, the fuzzy ICA was compared with another metaheuristic using a statistical test to measure the advantage of the proposed fuzzy approach for dynamic parameter adaptation.


Introduction
Swarm intelligence techniques have gained popularity in recent decades because of their capacity to locate partially optimal solutions for combinatorial optimization problems.These have been applied in various areas, such as engineering, economics and industry, etc., and these problems benefit from the use of swarm intelligence techniques because they are usually very hard to solve accurately since there is no precise algorithm to solve them [1,2].
Swarm intelligence techniques are approximate metaheuristics that include a wide range of smart algorithms normally inspired in natural processes, such as artificial honey bee (AHB), genetic algorithm (GA), cuckoo search (CS), and gravitational search algorithm (GSA) [3].
The imperialist competitive algorithm (ICA), was proposed in 2007 by Atashpaz-Gargari and Lucas.ICA was originated on the idea of imperialism and in this process stronger countries try to colonize the weakest countries and make them part of their colonies [4].This algorithm has been currently used in different industrial applications [5].
ICA was initially used in continuous optimization problems, but now it has been utilized on many complex optimization problems such as flowlines scheduling problems (FSP), traveling salesman problem (TSP), assembly line balancing problem (ALBP), and facility line design problem (FLP) [1].
In the recent literature, there are some articles where the imperialist competitive algorithm has been studied, such as the work on an imperialist competitive algorithm to optimize artificial neural networks for UCAV global path planning [6], where the competitive imperialist algorithm is used to train a neural network with which it is possible to reduce uncertainty and avoid falling into local minimum.Another paper is that of a hybrid imperialist competitive algorithm for minimizing make span in a multi-processor open shop [1].In this case, a new linear programming model is proposed for programming problems of a multiprocessor store to minimize the make span, in which a hybrid imperialist competitive algorithm (ICA) with the genetic algorithm (GA) is used.Another work is the application of an imperialist competitive algorithm to the design of a linear induction motor [7].In this paper, the competitive imperialist algorithm is used to design a low speed linear induction motor to improve efficiency with a high power factor.Finally, there is also a paper on the Imperialist Competitive Algorithm for Solving a Dynamic Cell Formation Problem with Production Planning [8].This article uses the competitive imperialist algorithm to optimize the planning, production and reconfiguration costs in the cell formation with production planning.
The imperialist competitive algorithm has been used in different applications and in different branches of engineering, but there are some aspects that can be explored to improve its performance, like the hybridization of the imperialist competitive algorithm with different metaheuristics, such as GA, PSO and other population based metaheuristics [3,9,10].Since we can use the ICA algorithm as a starting point to create an initial solution or use the algorithm as a tool to promote exploration or exploitation.One aspect to be taken into account is to use the competitive imperialist algorithm in parallel to help accelerate the search and to achieve higher quality in the possible solutions.Another important alternative is to perform the adjustment of the ICA algorithm parameters to improve the algorithm efficiency as is the idea presented in this research.
After analyzing the existing literature, it has been observed that until now there are no works where the dynamic adjustment of the parameters has been done using fuzzy logic and very few where the imperialist competitive algorithm for the minimization of mathematical functions has been used.We conclude that realizing the dynamic adjustment of the parameters in the imperialist competitive algorithm utilizing fuzzy logic to carry out the adjustment of the parameters that influences the operation of the algorithm, which could help to improve performance and provide tools to address the uncertainty generated during operation of the algorithm.
The study of the metaheuristic is realized to observe the efficiency of the imperialist competitive algorithm (ICA) when used in optimization problems [11,12], having the original ICA algorithm as a basis for modifying the algorithm in dynamically performing adaptation of parameters.In this case, this has been proven to be a good idea in other metaheuristics, which utilize adaptation of parameters along the iterations to help improve the results obtained with respect to when static or fixed parameters are utilized.
To realize this modification utilizing fuzzy logic [13,14], we continued to the application of the algorithm for benchmark mathematical functions [10].In this case the idea is to observe the results of the ICA algorithm and it is expected to obtain good or better results than with the original algorithm and other metaheuristics.In this regard, statistical tests were conducted to compare the results of the original algorithm, the modified fuzzy ICA and other metaheuristics.
The article is organized as shown below: in Section 2 the methodology of the original Imperialist Competitive algorithm (ICA) is explained, that is, the equations used for assimilation, the power of empires and each of the algorithm parameters, an explanation is also given on how the parameters can be changed throughout the iterations.Section 3 presents the methodology that was followed for modifying the ICA algorithm using fuzzy logic.In Section 4 the results obtained with the ICA algorithm and the fuzzy imperialist competitive algorithm (FICA) are presented.In Section 5 the results of the comparison between fuzzy imperialist competitive algorithm (FICA) and the original ICA algorithm are presented.In Section 6 we show the statistical test performed between the fuzzy imperialist competitive algorithm (FICA) and fuzzy Cuckoo Search (FCS) and finally Section 7 describes the conclusions.

Imperialist Competitive Algorithm
This section provides a description of the original imperialist competitive algorithm that was proposed by Atashpaz-Gargari and Lucas, the corresponding equations, and the flowchart used to understand its operation [15].In the field of metaheuristics, ICA is based on political and human social progress, unlike other evolutionary metaheuristic algorithms, based on behaviors of animals or physical phenomena [16,17].
Figure 1 shows the flowchart of the imperialist competitive algorithm.Like other evolutionary or population based algorithms, ICA starts with an initial population.The best countries are selected as imperialist countries and the rest form the imperialist colonies.All colonies of the initial population are divided among the imperialists countries based on of their power [18].
After dividing all the colonies among the imperialists, the colonies begin the movement towards their imperialist countries.The total power of all the empires depend on the power of the imperialist countries and the power of their colonies.This fact is defined with the total power of an empire by the power of the imperialist country plus a percentage of the average power of their colonies [15].
When the imperialist competition between the empires starts, any empire that cannot remain in this competition and cannot augment its power will be removed from the imperialist competition.The imperialist competition will result in an increment in the power of the most powerful empires and a decrement in the power of the weaker empires.The weakest empires will lose their power partially and, ultimately, will collapse one by one.All countries will eventually become a state in which there is only one empire in the entire world and all remaining countries are colonies of that empire [19,20].
Figure 1 shows the flowchart of the imperialist competitive algorithm.Like other evolutionary or population based algorithms, ICA starts with an initial population.The best countries are selected as imperialist countries and the rest form the imperialist colonies.All colonies of the initial population are divided among the imperialists countries based on of their power [18].
After dividing all the colonies among the imperialists, the colonies begin the movement towards their imperialist countries.The total power of all the empires depend on the power of the imperialist countries and the power of their colonies.This fact is defined with the total power of an empire by the power of the imperialist country plus a percentage of the average power of their colonies [15].
When the imperialist competition between the empires starts, any empire that cannot remain in this competition and cannot augment its power will be removed from the imperialist competition.The imperialist competition will result in an increment in the power of the most powerful empires and a decrement in the power of the weaker empires.The weakest empires will lose their power partially and, ultimately, will collapse one by one.All countries will eventually become a state in which there is only one empire in the entire world and all remaining countries are colonies of that empire [19,20].The equations for the formation of empires (Initialization) are the following [21]:

., pNvar]
(1) The equations for the formation of empires (Initialization) are the following [21]: In Equation (1) Country represents a country, Nvar is the number of variables of interest and p i is the value of i-th variable, Equation (2) represents the cost of a country, Equation ( 3) is necessary to obtain the number of colonies of the population, Equation (4) is used to obtain the normalized cost of each imperialist, where c n is the n-th imperialist's cost, and C n is the normalized cost of n-th imperialist, Equation (5) obtains the power of each imperialist where p n is the power of n-th imperialist and Equation ( 6) represents the number of colonies that can possess that imperialist.
The equations for moving the colonies towards their imperialist country (assimilation) are [15]: Equation ( 7) represents a colony that moves a distance x towards its imperialist, where β is a number between 1 and 2 and d represents the distance among the colony and its imperialist, Equation (8) helps us to search for different positions around the imperialist.In which γ is a parameter where a large value estimates a global search and a small value impacts the local search.
The Equation for the full power of an empire is as follows [21,22]: This equation represents the total cost of n-th empire and ξ is a number between 0 and 1.Where with a small value of ξ, we have a greater influence of the imperialist power to determine the total power of the empire, and a large value of ξ, has a greater influence on the average power of the colonies to calculate the total power of the empire.
The equations for the imperialist competition are the following [21]: Equation ( 10) starts with the imperialist competition where the normalized total cost is calculated and in Equation (11) we provide the probability of possessing a colony.The main steps of the algorithm are shown below in the pseudocode [23,24].

3.
If there is a colony with has less cost than the imperialist country in an empire, exchange the locations of the colony and the imperialist country.4.

5.
Select the weaker colony from the weaker empire and pass it to the empire that has more possibility to possess it.(The imperialistic competition Equations ( 10) and ( 11)).
If only one empire remains, stop, if not return to step 2.

Mathematical Functions
In this section, the mathematical functions utilized in the tests to measure the performance of the ICA algorithm for the dynamic adjustment of its parameters are listed below.In the field of metaheuristics used for optimization problems it is usual to consider mathematical functions to measure their performance, as it is used in this paper.In this case, the idea is to measure an improvement of an optimization algorithm known as ICA, where the aim is to use dynamic parameters [13,25]: Figure 2 shows the plot of the sphere function, Figure 3 shows the quartic function, Figure 4 illustrates the plot of the Rosenbrock function, Figure 5 shows the Rastrigin function, and the Griewank function is presented in Figure 6 and finally in Figure 7 shows the plot of the Ackley function.All the mathematical functions that are used are accompanied by their respective equation and the search space in which they work as shown below [16,26].
( ) If there is a colony with has less cost than the imperialist country in an empire, exchange the locations of the colony and the imperialist country.4. Calculate total cost of each empire (Equation ( 9)).

= ξmean
5. Select the weaker colony from the weaker empire and pass it to the empire that has more possibility to possess it.(The imperialistic competition Equations ( 10) and ( 11)).
7. If only one empire remains, stop, if not return to step 2.

Mathematical Functions
In this section, the mathematical functions utilized in the tests to measure the performance of the ICA algorithm for the dynamic adjustment of its parameters are listed below.In the field of metaheuristics used for optimization problems it is usual to consider mathematical functions to measure their performance, as it is used in this paper.In this case, the idea is to measure an improvement of an optimization algorithm known as ICA, where the aim is to use dynamic parameters [13,25]: Figure 2 shows the plot of the sphere function, Figure 3 shows the quartic function, Figure 4 illustrates the plot of the Rosenbrock function, Figure 5 shows the Rastrigin function, and the Griewank function is presented in Figure 6 and finally in Figure 7 shows the plot of the Ackley function.All the mathematical functions that are used are accompanied by their respective equation and the search space in which they work as shown below [16,26].

Proposal Methodology
The Imperialist competitive algorithm is a search technique that takes as inspiration the theory of imperialism, where the most powerful countries intent to make a colony of other countries and currently been utilized to resolve complex optimization problems.A metaheuristic algorithm named Fuzzy imperialist competitive algorithm (FICA) with dynamic adjustment of parameters used on the

Proposal Methodology
The Imperialist competitive algorithm is a search technique that takes as inspiration the theory of imperialism, where the most powerful countries intent to make a colony of other countries and currently been utilized to resolve complex optimization problems.A metaheuristic algorithm named Fuzzy imperialist competitive algorithm (FICA) with dynamic adjustment of parameters used on the Search space x j ∈ [−30, 30] and f * (x) = 0.0

Proposal Methodology
The Imperialist competitive algorithm is a search technique that takes as inspiration the theory of imperialism, where the most powerful countries intent to make a colony of other countries and currently been utilized to resolve complex optimization problems.A metaheuristic algorithm named Fuzzy imperialist competitive algorithm (FICA) with dynamic adjustment of parameters used on the optimization of benchmark mathematical functions is proposed in this article.The main idea is that fuzzy logic will help in modeling the uncertainty in finding the appropriate parameter values during the execution of the algorithm and in this way improve performance of the algorithm.
The main objective of our proposal is to obtain the optimal values of the parameters with the help of fuzzy systems to increase performance of the ICA algorithm during execution.The fuzzy systems [13] will dynamically adjust the β and ξ parameters as shown below in Figure 8. optimization of benchmark mathematical functions is proposed in this article.The main idea is that fuzzy logic will help in modeling the uncertainty in finding the appropriate parameter values during the execution of the algorithm and in this way improve performance of the algorithm.
The main objective of our proposal is to obtain the optimal values of the parameters with the help of fuzzy systems to increase performance of the ICA algorithm during execution.The fuzzy systems [13] will dynamically adjust the β and ξ parameters as shown below in Figure 8.For the decades of the algorithm, we did perform an analysis and decided to utilize a percentage of decades with respect to the total number of decades, that is, when the algorithm starts the decades will be considered to have a linguistic value of "low", and when most of the decades have passed will be considered "high" or close to 100%.This notion is presented below [27]: This paper proposes and explains three fuzzy systems where the experiments were conducted.We have various fuzzy systems for obtaining the β parameter, the ξ parameter and a fuzzy system for the combination between β and ξ parameters.
The key issue is how to correctly define the fuzzy systems.In this regard, the fuzzy systems shown in Figures 9-11 are fuzzy systems of Mamdani type with the input defined as the decades and with one output variable, the first is with the β parameter, the second with the ξ parameter and the third one with a combination of β and ξ.For the decades of the algorithm, we did perform an analysis and decided to utilize a percentage of decades with respect to the total number of decades, that is, when the algorithm starts the decades will be considered to have a linguistic value of "low", and when most of the decades have passed will be considered "high" or close to 100%.This notion is presented below [27]: This paper proposes and explains three fuzzy systems where the experiments were conducted.We have various fuzzy systems for obtaining the β parameter, the ξ parameter and a fuzzy system for the combination between β and ξ parameters.
The key issue is how to correctly define the fuzzy systems.In this regard, the fuzzy systems shown in Figures 9-11 are fuzzy systems of Mamdani type with the input defined as the decades and with one output variable, the first is with the β parameter, the second with the ξ parameter and the third one with a combination of β and ξ.The design of the input variable is found in Figure 12, which represents the decades; this input variable is divided in three triangular membership functions tagged as Low, Medium and High.The design of the input variable is found in Figure 12, which represents the decades; this input variable is divided in three triangular membership functions tagged as Low, Medium and High.The design of the input variable is found in Figure 12, which represents the decades; this input variable is divided in three triangular membership functions tagged as Low, Medium and High.The design of the input variable is found in Figure 12, which represents the decades; this input variable is divided in three triangular membership functions tagged as Low, Medium and High.The design of the input variable is found in Figure 12, which represents the decades; this input variable is divided in three triangular membership functions tagged as Low, Medium and High.The Fuzzy systems have the output variables shown in Figures 13 and 14, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.For the design of the rules of the fuzzy systems, it was determined that in the initial decades the ICA algorithm begins to explore and when approaching the end eventually exploits.All the rules were designed taking the idea that they are in increasing fashion as shown below: The rules of the fuzzy system for β are: 1.If (Decades is Low) then (β is Low).

If (Decades is Middle) then (β is Medium). 3. If (Decades is Alto) then (β is High).
The rules of the fuzzy system for ξ are: 1.If (Decades is Low) then (ξ is Low).2. If (Decades is Middle) then (ξ is Medium).

If (Decades is Alto) then (ξ is High).
To design the rules of the fuzzy system combining β and ξ, we decided (based on previous experimentation) to use β in increase over the decades and ξ that was in decrement as shown below: 1.If (Decades is Low) then (β is Low) and (ξ is High).2. If (Decades is Medium) then (β is Medium) and (ξ is Medium).3. If (Decades is High) then (β is High) and (ξ is Low).For the design of the rules of the fuzzy systems, it was determined that in the initial decades the ICA algorithm begins to explore and when approaching the end eventually exploits.All the rules were designed taking the idea that they are in increasing fashion as shown below: The rules of the fuzzy system for β are: 1.If (Decades is Low) then (β is Low).

If (Decades is Middle) then (β is Medium). 3. If (Decades is Alto) then (β is High).
The rules of the fuzzy system for ξ are: 1.If (Decades is Low) then (ξ is Low).2. If (Decades is Middle) then (ξ is Medium).

If (Decades is Alto) then (ξ is High).
To design the rules of the fuzzy system combining β and ξ, we decided (based on previous experimentation) to use β in increase over the decades and ξ that was in decrement as shown below: 1.If (Decades is Low) then (β is Low) and (ξ is High).2. If (Decades is Medium) then (β is Medium) and (ξ is Medium).3. If (Decades is High) then (β is High) and (ξ is Low).For the design of the rules of the fuzzy systems, it was determined that in the initial decades the ICA algorithm begins to explore and when approaching the end eventually exploits.All the rules were designed taking the idea that they are in increasing fashion as shown below: The rules of the fuzzy system for β are: 1.
If (Decades is Middle) then (β is Medium).
The rules of the fuzzy system for ξ are: If (Decades is Middle) then (ξ is Medium).
To design the rules of the fuzzy system combining β and ξ, we decided (based on previous experimentation) to use β in increase over the decades and ξ that was in decrement as shown below: 1.
If (Decades is Low) then (β is Low) and (ξ is High).

Simulation Results with the Fuzzy Systems of the Imperialist Competitive Algorithm for Benchmark Mathematical Functions
In this section the imperialist competitive algorithm (ICA) [28,29] is tested with 6 mathematical functions with 30 dimensions for each of the β, ξ parameters and a combination of β and ξ and the results that were obtained by the ICA algorithm and our fuzzy ICA proposal are shown in separate tables for each function.All tables show the average, worst and best values obtained after 30 executions for algorithm from 1000 to 5000 decades.
The parameters utilized in the imperialist competitive algorithm [30] and the fuzzy imperialist competitive algorithms are: Table 1 shows the results of executing 30 times the proposed ICA algorithm with dynamic adaptation the β and ξ parameters, where we find the average, best and worst results obtained for the sphere function.Table 2 shows the results of running 30 times the proposed ICA algorithm with dynamic adaptation of the β and ξ parameters, where we find the average, best and worst results obtained for the quartic function.Table 3 shows the results of executing 30 times the proposed ICA algorithm with dynamic adaptation the β and ξ parameters, where we find the average, best and worst results obtained for the Rosenbrock function.Table 4 summarizes the results of running 30 times the proposed ICA algorithm with dynamic adaptation the β and ξ parameters, where we find the average, best and worst results obtained for the Rastrigin function.Table 5 shows the results of executing the proposed ICA algorithm 30 times with dynamic adaptation of the β and ξ parameters, where we find the average, best and worst results for the Griewank function.Table 6 shows the results of executing 30 times the proposed ICA algorithm with dynamic adaptation the β and ξ parameters, where we find the average, best and worst results obtained for the Ackley function.

Statistical Comparison for ICA and FICA with β Increasing
The statistical test was performed between the ICA algorithm and the FICA algorithm with dynamic adjustment of the β parameter with the range from 1 to 2, and the experiments correspond to the results obtained in tests for ICA and FICA algorithms.Each algorithm was applied separately to each of the mathematical functions, 6 functions were used for the algorithms and 30 experiments were realized.Table 7 contains the and standard deviation obtained after 30 executions for algorithm with 1000 decades.The values of parameters utilized in the fuzzy imperialist competitive algorithm and the ICA Algorithm [24,31]
Table 7 shows the performance of the FICA algorithm with dynamic adjustment of the β parameter and the ICA algorithm for 30 times we find the mean and standard deviation results.
The statistical test used for the comparison is the Wilcoxon test [32] that is commonly utilized to analyze data, where its parameters are shown in Table 8.The null hypothesis tells us that the average of the results obtained by the fuzzy imperialist competitive algorithm is equal to the average of the ICA algorithm, and the alternative hypothesis states that the average of the results obtained by the fuzzy imperialist competitive algorithm is different to the average performance of the ICA algorithm.The statistical test that was used for the comparison is the Wilcoxon paired test and the data and parameters are shown in Tables 11-14.The null hypothesis tells us that the average of the results obtained by the FICA (β) algorithm is equal to the average of the FCS (pa) algorithm and the alternative hypothesis states that the average of the obtained by the FICA (β) algorithm is different to the average performance of the FCS (pa) algorithm.
Table 12 shows a statistical test performed for two methods with a confidence level of 95% and a value of W = 5 and W0 = 1.The results obtained from the statistical test are as follows: for the FICA algorithm, it fails to reject H 0 the null hypothesis and the alternative hypothesis is rejected, which means that the average performance of the FICA algorithm is not significantly different to the performance of the FCS (pa) algorithm.The null hypothesis tells us that the average of the results obtained by the FICA combination (β-ξ) algorithm is equal to the average of the FCS (pa) algorithm and the alternative hypothesis states that the average of the results obtained by the FICA combination (β-ξ) algorithm is different to the average performance of the FCS (pa) algorithm.
Table 14 shows a statistical test performed for two methods with a confidence level of 95% and a value of W = 5 and W0 = 1.The results obtained from the statistical test are as follows: for the FICA combination (β-ξ) algorithm, it fails to reject H 0 the null hypothesis and the alternative hypothesis is

Figure 12 .
Figure 12.Input called Decades.The Fuzzy systems have the output variables shown in Figures 13 and 14, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.
, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.

Figure 12 .
Figure 12.Input called Decades.The Fuzzy systems have the output variables shown in Figures 13 and 14, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.
, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.

Figure 12 .
Figure 12.Input called Decades.The Fuzzy systems have the output variables shown in Figures 13 and 14, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.
, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.

Figure 12 .
Figure 12.Input called Decades.The Fuzzy systems have the output variables shown in Figures 13 and 14, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.
, and are β and ξ, respectively, and in the same way that the input variables are granulated into three triangular membership functions tagged as Low, Medium and High.
are the following:

Table 7 .
Comparison with ICA and FICA with increasing β.

Table 8 .
Parameters for the statistical test.

Table 11 .
Parameters for the statistical test for FICA (β) and FCS (pa).

Table 12 .
Parameters for the statistical test.