Comparison of optimization methods based on GSA

: In recent years, many heuristic evolutionary optimization algorithms have been developed. Gravitational search algorithm (GSA) is one of these algorithms. It is inspired by Newton’s law of universal gravitation. In this paper, we compare two modified algorithms based on GSA. One of the algorithms is called Member-Satellite algorithm. Members are randomly positioned in the search space and a certain amount of satellites are assigned around the members in the predetermined region. Members and their satellites are used to find a near optimal solution all together. The second one is MSS-GSA. When interconnected objects are used, it is possible to obtain a solution closer to the optimum point. For this reason mass spring system is integrated into the GSA. Three benchmark functions are used to compare performance. Experimental results show that the highest performance is obtained with Member-Satellite algorithm.


Introduction
Optimization techniques are used to solve many engineering problems. Recently, in addition to the classical optimization methods, heuristic optimization methods have been developed to find the best, the optimum result under the given conditions. Gravitational search algorithm (GSA) is one of the heuristic optimization methods [1]. The algorithm is intended to improve the performance in the exploration and exploitation capabilities of a population based algorithm, based on gravity rules [2]. GSA has been verified high quality performance in solving different optimization problems in the literature [3], [4], [5], [6] and [7] and there are many improved version of GSA [8], [9], [10] and [11].
In [12], we proposed Member-Satellite Algorithm (MSA) in order to improve the searching ability of GSA and to offer faster convergence while maintaining and improving quality of the solution. In the proposed MSA, after agents are positioned in search space, new agents known as satellites are positioned around the agents. The search is then performed by the agents and by the satellites as well. Satellites, except for the calculation of the fitness values, are not included in the other computational processes. So, computational load of algorithm is reduced. Therefore, the algorithm realizes more detailed searching in the related space than standard GSA.
In [13], we proposed MSS-GSA which is based on Mass Spring System principle. Mass spring system which is used frequently in deformation of the objects is integrated into the GSA. In the optimization methods, the objects assigned to the search space search the optimum solution independently of each other. When using interconnected objects, it is possible to obtain a closer solution to the optimum point. For this reason, springs are linked between masses like MSS. The masses are pulled towards the best solution by applying force to each other in obtained MSS system. The algorithm scans a wider area by both global and local search in search space. The outline of the paper is as follows: The brief introduction to GSA is given in Section II, MSS-GSA and MSA are introduced in Section III and Section IV, respectively. In Section V the experimental results are demonstrated and finally in Section VI the conclusions are given in the last section.

Brief Review of GSA
GSA is an optimization method based on Newton's acceleration law, the second of motion laws, and Newton's universal gravitation law. Each mass in search space attract each others with gravitational force. A more effective mass which is the heaviest mass moves slower than the others and attracts the others better. At the end of the number of iterations or any termination is reached, the object with the greatest mass will be the optimal solution of the problem.
It is assumed that there are N masses, the position of the ith agent is as follows: Gravitational constant is defined as: The current fitness value of each mass is calculated by fitness function. The best and the worst of the calculated fitness values are selected.
According to [1], each mass is calculated as follows: With The heaviest mass is the most effective. The force acting on mass i from mass j in the dth dimension at a specific time t as following: Where R ij (t) represents Euclidean distance between ith mass and jth mass. ε is a small constant.
Total force that acts on agent i in a dimension d is computed as follows: _______________________________________________________________________________________________________________________________________________________________ Kbest is reduced linearly with time from the beginning K0 until one. So only the best solution at the end of the algorithm attracts other objects in the search space. Other objects can not apply a force to the best solution. The law of motion is used for the calculation of agent acceleration: The velocity and position updating equations: If a termination criterion is met, the algorithm stops.

MSS-GSA
The aim of MSS-GSA is to search of the optimum solution by considering the principle of the mass spring system. For this reason, a spring is connected between the masses used in the GSA. Total force applied to mass is calculated by addition of external forces that arising from the potential difference due to the location of the masses and internal forces generated by the spring which is connected to the mass. It is aimed to the global and local research in search space by this way. The motion of masses in search space is based on Newton's acceleration law.
In the algorithm, the boundaries of the search space are determined first. Masses are located randomly in created search space.
where is the location at dth dimension of ith mass. After the members are defined, they are sent to the fitness function and the fitness values of each are calculated. The best value of fitness values is decided by taking care whether the problem is minimization or maximization problem: where fitj(t) represents the fitness of the jth mass at iteration t, best(t) and worst(t) represent the best and worst fitness value of all agents at generation t.
When searching for the optimum solution, the search speed needs to be checked. The gravitational constant and the spring constant are reduced to provide spring stiffness and search speed control: where G(t) with initial value G 0 is named as the gravitational constant and K(t) is the spring stiffness at time t. T and t represent total iteration number and current iteration number, respectively. In a minimization problem with global and local minimums, as in Fig. 1, members are closer or farther away from the global minimum relative to their fitness values when they are randomly distributed in the search space. The mass with the lowest fitness value is the closest mass to the global minimum. In Fig. 1, it is clearly seen that the distance between the masses causes a potential difference. An external force occurs because of this potential difference. In other word, the external force arise due to potential difference of mass location that variation of fitness values of masses in search space.
In Eq .., the external force on ith mass by jth mass is calculated.

|X j d (t) − X i d (t)| represents distance between ith and jth mass in a dimension d. (X j d (t) − X i d (t)) represents difference location of ith
and jth mass in a dimension d. ε is a small constant value. Fitness values calculated masses is sorted best to worst. A mass spring system as in Fig. 2 is formed by linking spring between the ordered masses. Each mass apply force to masses which are linked with spring. (17) is used for zeroes to potential difference.
Springs apply a same quantity and reverse direction force to force which draws or stresses to itself:

Fig. 2. Linking springs
In (18), jth mass is the next of ith mass linked with spring. F_int ji d (t) represents internal force on jth mass by ith mass.
According to the above equations, masses are drawn to the best mass. In this case, local search in the search space is also performed. Finally, the internal and external forces applied by one mass to the other masses are summed and the total force is calculated: where F i d (t) represents total force on ith mass in dimension d. The rest of the algorithm, calculation of speed and displacement, is proceeds as in the GSA. If no stopping criterion is found, the algorithm is continued by returning to the step where the fitness values of the masses are calculated.

Member -Satellite Algorithm
GSA method is modified to make more surface scan in the proposed method, called Member-Satellite Algorithm (MSA). Each mass in the search space is named as a member; masses located around the members are named as satellite in MSA. This structure is demonstrated in Fig. 3. Large circles colourized differently with black frame represents members and small circles with same colour represent their satellite. The satellites are placed randomly to related members within a certain radius. Fitness values of members and their satellites are computed according to fitness function. A satellite having the best fitness value labelled as a member in case of its fitness value is better. Optimum solution is searched together with members and their satellites. Satellites, except for the calculation of the fitness values, are not included in the other computational processes. So, computational load of algorithm is reduced. In the algorithm, the boundaries of the search space are determined first. Members are located randomly in search space: A fixed number of satellites are assigned for each member.
where x is d represents location of sth satellite of ith member in d dimension. Fitness values of members and their satellite are computed. If fitness value of a member is better than any its satellite, member label continue and position of this is protected. Otherwise, the satellite having better fitness value becomes the member. The best and the worst member are determined in all members with obtained members and proposed algorithm is continued using GSA processes.
There is a pseudo-code of MSA: FOR Assign N members randomly in search space.
Assign M satellites randomly around of each members in a certain region

Experimental Results
In this section, GSA, MSS-GSA and MSA are evaluated on 3 benchmark functions. Algorithms were implemented in MATLAB language and run on a PC with an Intel Core i5-CPU M 430 @ 2.27 GHz and 4 GB memory.
Sphere function, which is the first benchmark function, has a single global minimum. This type of functions is called singlemode functions. Sphere functions also have a feature of convex and smooth.
where, n represents dimensions of function. The global minimum is 0 for this function. Its admissible range is [-100 100] n and its dimension is 30.
The second benchmark function is Ackley function. It has several local optimum points but one global optimum. This type of functions is called multi-mode functions. The third function is humpcamel function which is one of the multi-modal functions. It has 6 local optimum together with 2 global optimum. Its admissible range is [-32 32] n and its dimension is 30. All the functions are to be minimized. In all cases for both algorithms, population size is set to 25, G 0 and α are considered equal to 50 and 10, respectively. K 0 is set to 50 and is decreased exponentially to 1.

Conclusions
In this study we compare Mass-Spring System-Gravitational Search Algorithm (MSS-GSA) and Member-Satellite Algorithm (MSA) based on GSA. In MSS-GSA, masses in search space are linked with springs so mass-spring system is applied. In MSA, each mass called member have own satellites and optimum solution is search together. In this way, searching area is enlarged. The algorithms are tested on three benchmark functions.
Comparative experimental results demonstrate that MSA gets better result than the other algorithms. When algorithms are compared in terms of computation time, GSA converges to optimum value in a shorter time. In the future, we will make further study on how to apply the MSA into real world optimization problems.