PARAMETER-LESS SIMULATED KALMAN FILTER

Simulated Kalman Filter (SKF) algorithm is a new population-based metaheuristic optimization algorithm. In the original SKF algorithm, three parameter values are assigned during initialization, the initial error covariance, P(0), the process noise, Q, and the measurement noise, R. Further studies on the effect of P(0), Q and R values suggest that the SKF algorithm can be realized as a parameter-less algorithm. Instead of using constant values suggested for the parameters, this study uses random values for all three parameters, P(0), Q and R. Experimental results show that the parameter-less SKF managed to converge to near-optimal solution and performs as good as the original SKF algorithm.


INTRODUCTION
Simulated Kalman Filter (SKF) was first introduced in by Ibrahim et al. (2015) as an optimizer for unimodal optimization problems.The benchmarking of the SKF algorithm later has been extended to simple multimodal, hybrid and composite functions of the CEC 2014 benchmark suite (Ibrahim et al., 2016).Since then, the algorithm has been subjected to various adaptations and applications.These include extensions of the SKF algorithm by Md. Yusof et al. (2015) to deal with combinatorial optimization problems.The original SKF algorithm has been applied to find the optimal path of a 14-hole drill path optimization problem (Abdul Aziz, Ab.Aziz, Ibrahim and Razali, 2016) while the discrete type of SKF algorithm has been subjected to solve Airport Gate Allocation Problems (AGAP) by Mohd Azmi et al. (2016) and feature selection problem for EEG peak detection by Adam et al. (2016).Hybrid versions of the SKF algorithm have been introduced by Muhammad et al. (2015) by hybridizing the SKF algorithm with PSO algorithm, and later with the GSA algorithm (Muhammad et al., 2016).All these studies suggest SKF is a good global optimizer.
Despite its good performance, SKF is not a parameter-free algorithm.Parameter tuning is a tedious task, and the process itself can be considered as an optimization problem.For example, some Evolutionary Algorithms (EA) have many parameters that are hard to tune.The challenges in EA are not only the requirement of a good initial parameter values, but also the excessive sensitivities of some of the EA's parameters towards the overall performance.Genetic Algorithm (GA) is another example of algorithms that has many setting parameters.Parameters in GA include the probability of mutation and crossover, and the selection procedure (Holland, 1975).Particle Swarm Optimization (PSO) on the other hand, despite being easy to understand, also has 3 parameters to be tuned (Kennedy & Eberhart, 1995).Some classical algorithms, such as Tabu Search (TS) (Glover, 1986) and Simulated Annealing (SA) (Kirkpatrick, 2012), has at least 1 or 2 parameters required tuning.Usage of such algorithms requires some preliminary tuning computation of the parameters before applying them to solve an optimization problem.
Another option is to offer some default values for the parameters.Covariance Matrix Adaptation Evolution Strategy (CMA-ES) by Hansen, Ostermeier and Gawalczyk (1995) is an example of an algorithm which offers some default parameter values to the users.These values are claimed to be applicable to any optimization problems in hand.Self-tuning parameters, like what has been introduced in Differential Evolution (DE) (Storn & Price, 1997), is another alternative solution.Ultimately parameter-free algorithms such as Black Hole (Hatamlou, 2013) and Symbiotic Organisms Search (SOS) (Cheng & Prayogo, 2014) are desirable.Therefore, this research is conducted as an attempt to introduce a parameter-less version of Simulated Kalman Filter (SKF) algorithm.

THE ORIGINAL AND PARAMETER-LESS SKF ALGORITHM
The Simulated Kalman Filter (SKF) algorithm is a population-based algorithm inspired by the estimation capability of the Kalman Filter.The SKF algorithm is illustrated in Figure 1.Consider a population of N agents, the SKF algorithm starts with the initialization of the agents' estimated state, X(0) = {X1(0), X2(0), … , XN-1(0), XN(0)}.The initial estimated state of an agent, i, is defined as Xi(0) = {Xi 1 (0), Xi 2 (0), … , Xi d- 1 (0), Xi d (0)} where d refers to the problem's dimension.The initial estimated state of the agents, X(0), are randomly distributed within the search space of the problem.Besides X(0), the initial error covariance, P(0), the process noise, Q, and the measurement noise, R, are also initialized during this stage.
After initialization, the initial solution of each agent is evaluated using the fitness function of the problem.According to the type of the optimization problem, the agent with the best fitness in an iteration, t, is recorded as Xbest(t).The best-so-far solution on the other hand, is called Xtrue.For minimization problem, Xtrue is updated only if the fitness of Xbest (t) is less than the fitness of Xtrue.While for maximization problem, Xtrue is updated only if the fitness of Xbest (t) is more than the fitness of Xtrue.
Next, is the prediction step.During this step, the predicted state of each agent, ( 1) , and its corresponding predicted error covariance are updated using the following time-update equations: After that, is the measurement step.In SKF, measurement for each agent is simulated in such a way that the measured values lie in an area surrounding the predicted value, as given by Eq. ( 3) with This simulated measurement process helps to promote exploration, while at the same time, create balance between the exploration and exploitation in SKF.
Finally is the estimation step.During this step, Kalman gain, K(t), is first computed as follows: Kalman gain act as a weighted average between the prediction and measurement during estimation.Then, the estimated state of the agent for the next time step, ( 1) , and the corresponding error covariance are calculated using the measurement-update equations as follows: The next iteration is then executed until the stopping condition is met.
Figure 1.SKF algorithm The original SKF algorithm suggested the parameter P(0), Q and R to be given the value of 1000, 0.5 and 0.5 respectively.However, this study proposes that these parameter settings can be excluded.In this study, normally distributed random number, defined in the range of between 0 to 1, with a mean of 0.5 is suggested whenever a parameter value is needed, generated for every agent in every dimension, denoted as d i randn .
In the proposed parameter-less SKF, during initialization, the initial error covariance, P(0), is set to be d i randn .Then, during prediction, Eq. ( 7) is used instead of Eq. ( 2).
 

EXPERIMENTAL EVALUATION AND DISCUSSION
In order to evaluate the performance of the proposed parameter-less SKF algorithm, the algorithm is subjected to 30 benchmark functions from CEC 2014's benchmark suite by Liang, Qu and Suganthan (2013).Note that all CEC 2014 benchmark functions are minimization problems and have the same search space of [-100,100] for all dimensions.The search agents in SKF were initialized randomly within the search space for all benchmark functions in a uniform distribution.100 agents are used in the experiment.For each run of the experiment, the stopping condition is set at 10,000 number of function evaluations, and the experiment is being repeated for 50 times.
To evaluate the performance of the proposed parameter-less SKF algorithm, the average performance from 50 independent runs of each experiment were calculated and compared with the performance of the original SKF under the same experimental settings.Table 1 shows the comparison of the average value calculated over 50 runs between the original SKF and the parameter-less SKF algorithm.The sign is used to point which algorithm is better for each benchmark problem.However, this finding is far from conclusive.
To further evaluate the significance of the finding, the average performance from the 50 independent runs is statistically analysed using Wilcoxon signed-rank test.Wilcoxon signed-rank test is a non-parametric statistical hypothesis test normally used to assess whether the mean ranks between two related algorithms differ.The significance level of the test was set at 0.05.The statistical result of the Wilcoxon signed-rank test is presented in Table 2.For the Wilcoxon signed-rank test, the R+ and R-values were calculated and those values were compared to the threshold value obtained from the Wilcoxon statistical table considering 30 benchmark problems.Since both R+ and R-values are greater than the threshold value, which is 137, the finding suggests there is no significant difference between the results produced by both algorithms.
This finding is consistent when we compare the convergence curves produced by the original SKF algorithm and the convergence curves produced by the parameterless SKF algorithm.Figure 2 below shows an example of the convergence curves produced by both algorithms in solving for function no. 7, a simple multimodal benchmark problem (Shifted and Rotated Griewank's), which looks pretty much identical.Both algorithms managed to converge to a near optimal value in a similar pattern from start to finish.

CONCLUSION
A parameter-less SKF algorithm is successfully introduced.This proposed algorithm is tested for all types of optimization problems in the CEC2014 benchmark suite (unimodal, simple multimodal, hybrid and composition functions) and proven able to reach near-optimal solution without any significant degradation as compared to the original SKF algorithm.This enhancement enables users to use the SKF algorithm directly without the need to tune the parameters when solving for any specific optimization problem in the future.

Table 2 .
The Wilcoxon Signed-Rank Test

Table 1 .
Performance comparison between the original SKF algorithm with parameter-less SKF algorithm