A Hybrid Simulated Kalman Filter-Gravitational Search Algorithm ( SKF-GSA )

In this paper, simulated Kalman filter (SKF) and gravitational search algorithm (GSA) are hybridized in such a way that GSA is employed as prediction operator in SKF. The performance is compared using CEC2014 benchmark dataset. The proposed hybrid SKF-GSA shown to perform better than individual SKF and GSA algorithm.


Introduction
The simulated Kalman filter (SKF) and gravitational search algorithm (GSA) are examples of populationbased optimization algorithms.GSA has been introduced in 2009 by Rashedi et al. [1].On the other hand, as a new estimation-based metaheuristic [2], the SKF has been introduced by Ibrahim et al. [3] in 2015.Even though both algorithms are population-based, however, they are inspired differently.In particular, GSA is inspired by Newtonian law of gravity and law of motion while SKF is inspired by the estimation capability of Kalman filter.In this paper, hybridization between GSA and SKF is proposed.Specifically, GSA is employed during the prediction stage of SKF.

Simulated Kalman Filter Algorithm
The SKF algorithm is illustrated in Figure 1.Consider n number of agents, SKF algorithm begins with initialization of n agents, in which the states of each agent are given randomly.The maximum number of iterations, tmax, is defined.The initial value of error covariance estimate, (0) , the process noise value, , and the measurement noise value, , which are required in Kalman filtering, are also defined during initialization stage.Then, every agent is subjected to fitness evaluation to produce initial solutions {X1(0), X2(0), X3(0), …, Xn-2(0), Xn-1(0), Xn(0)}.The fitness values are compared and the agent having the best fitness value at every iteration, t, is registered as Xbest(t).For function minimization problem, ( ) = min The-best-so-far solution in SKF is named as Xtrue.The subsequent calculations are largely similar to the predict-measure-estimate steps in Kalman filter.In the prediction step, the following time-update equations are computed as follows: ( | ) = ( ) where Xi(t) and Xi(t|t) are the current state and transition/predicted state, respectively, and P(t) and P(t|t) are previous error covariant estimate and transition error covariant estimate, respectively.Note that the error covariant estimate is influenced by the process noise, Q.
The next step is measurement, which is modelled such that its output may take any value from the predicted state estimate, ( | ), to the true value, .Measurement, Zi(t), of each individual agent is simulated based on the following equation: The sin( ×2 ) term provides the stochastic aspect of SKF algorithm and is a uniformly distributed random number in the range of [0,1].
The final step is the estimation.During this step, Kalman gain, ( ), is computed as follows: Then, the estimation of next state, Xi(t), is computed based on Eqn. ( 7).
and the error covariant is updated based on Eqn. ( 8).
Finally, the next iteration is executed until the maximum number of iterations, tmax, is reached.

Gravitational Search Algorithm
In GSA, agents are considered as an object and their performance are expressed by their masses.The position of particle is corresponding to the solution of the problem.best( ) and worst( ) denote the best and the worst fitness value of the population t.The best and the worst for the case of function minimization problem are defined as follows: while gravitational constant is defined as a decreasing function of time, which is set to at the beginning and decreases exponentially towards zero with lapse of time.
To give a stochastic characteristic to GSA, the total force acted on agent i in dth dimension is a randomly weighted sum of dth components of the forces exerted from other agents.
According to law of motion, the current velocity of any mass is equal to the sum of the fraction of its previous velocity and the variation in the velocity.Acceleration of any mass is equal to the force acted on the system divided by mass of inertia.Finally, the next iteration is executed until the maximum number of iterations, tmax, is reached.In summary, the algorithm of standard GSA is shown in Figure 2.

Hybrid SKF-GSA Algorithm
Note that even though the SKF follows predict-measureestimate steps as in Kalman filter, the states are not updated during the predict step.Hence, in the proposed hybrid SKF-GSA algorithm, GSA is employed as the prediction operator in SKF.An additional variable is introduced in hybrid SKF-GSA, which is the jumping rate, Jr, that is a predefined constant in the range of [0,1].Prediction based on GSA is performed if jumping rate condition is satisfied.The hybrid SKF-GSA algorithm is shown in Figure 3.
In detail, the hybrid SKF-GSA algorithm begins with initialization of n agents, in which the states of each agent are given randomly.The maximum number of iterations, tmax, the initial value of error covariance estimate, (0), the process noise value, , the measurement noise value, and jumping rate value, Jr, are also defined during initialization stage.Then, every agent is subjected to fitness evaluation to produce initial solutions.After that, Xbest(t) and Xtrue are updated according to SKF algorithm and pbest is updated according to GSA algorithm.
In hybrid SKF-GSA, the purpose of jumping rate, Jr, is to control the occurrence of the prediction.Based on our observation, the performance of SKF cannot be enhanced when GSA is executed at every iteration as the prediction operator of SKF.The following jumping condition is considered: Fig. 3. Hybrid SKF-GSA algorithm.
if rand < Jr apply GSA in prediction else proceed to measurement and estimation end where rand is a random number in the range of [0,1].If rand < Jr, agents' velocity is updated according to GSA.For the position update, Xpredict, is required and it is calculated as follows: The algorithm continues with measurement and estimation similar to SKF.The next iteration is executed until the maximum number of iterations, tmax, is reached.
The experimental result for CEC2014 benchmark functions are tabulated in Table 2. Result in bold represents the best performance.Based on the averaged performances, Wilcoxon signed rank test is performed and the result is tabulated in Table 3.Based on the level of significant, σ = 0.05, it is found that statistically, the proposed SKF-GSA is significantly superior to SKF and GSA in solving continuous numerical problems.

Conclusion
This paper report an attempt to hybrid SKF algorithm with a well-established GSA algorithm.In this study, GSA is chosen as the prediction mechanism in SKF algorithm.In addition, jumping rate is also incorporated in the proposed SKF-GSA algorithm.During the prediction, GSA is executed not only when the jumping rate condition is satisfied but also if the predicted solution is better.The findings proved that the proposed hybrid SKF-GSA is superior to individual SKF and GSA algorithms

Table 1 .
Setting Parameters

Table 2 .
The Average Values Obtained by SKF, GSA, and SKF-GSA

Table 3 .
Wilcoxon Signed-Rank Test Result