Why 'GSA: A Gravitational Search Algorithm' Is Not Genuinely Based on the Law of Gravity
Deep Dive into Why GSA: A Gravitational Search Algorithm Is Not Genuinely Based on the Law of Gravity.
Why ‘GSA: A Gravitational Search Algorithm’ Is Not Genuinely Based on the Law of Gravity
In [1], Rashedi, Nezamabadi-pour and Saryazdi propose an interesting optimization algorithm called 'GSA: A Gravitational Search Algorithm'. The paper has received numerous citations since its publication in 2009.
GSA simulates a set of agents in an N-dimensional search space, which behave as point masses. The position of agent i, denoted by x i , represents a candidate solution for the optimization problem at hand. The mass of agent i, denoted by m i , is correlated with the quality of the candidate solution it represents: the higher the quality, the higher the mass. The agents are said to “interact with each other based on the Newtonian gravity and the laws of motion” [1]. If the law of gravity were to be strictly followed, the magnitude of the force exerted on agent i by agent j (and vice versa) should be “proportional to the mass of each and [vary] inversely as the square of the distance between them” [2]. Formally,
where G is a proportionality constant analogous to the universal gravitational constant and R ij = || x jx i || is the Euclidean distance between agents i and j.
The authors claim to have implemented a law of gravity where the magnitude of the force between two agents is inversely proportional to the distance R between them. They use “R instead of R 2 , because according to [their] experiment results, R provides better results than R 2 in all experimental cases” [1].
In GSA, according to Equation 7 in [1], the force exerted on agent i by agent j along dimension d ∈ {1, 2, . . . , N} of the search space is calculated as follows:
where ǫ is a small positive constant used to avoid division by zero. However, in order to obtain the force vector f ij , its magnitude, || f ij ||, should be multiplied by the unit vector pointing from agent i to agent j. Equation 2 is not correct in that x d jx d i is not normalized. The denominator of Equation 2 should read R 3 ij in order to implement an inverse-square law, or R 2 ij in order to implement an inverse-linear law (as the authors intended). Using R ij effectively makes the magnitude of the force f ij independent of the distance between agents i and j. Formally, assuming ǫ = 0,
We do not in any way intend to undermine GSA’s capabilities as an optimization algorithm; rather, our observation is that it is not strictly motivated by how gravity works (compare Equations 1 and 3). Mass and distance are both integral parts of the law of gravity; in contrast, the force model used in GSA is independent of the distance between the agents and is based solely on their masses (qualities of candidate solutions).
This content is AI-processed based on ArXiv data.