# Revised Gravitational Search Algorithms Based on Evolutionary-Fuzzy Systems
## 2 The Gravitational Search Algorithm  
The gravitational search algorithm was introduced for the first time by [PERSON] et al. in [22]. Their main idea was to consider the searcher agents as a collection of masses that interact with each other based on Newtonian gravity and the laws of motion. In nature, there are four fundamental interactions [36]: the electromagnetic force, the weak nuclear force, the strong nuclear force and the gravitational force. [PERSON]'s law of gravity states that every point mass attracts every single other point mass by a force pointing along the line intersecting both points [23; 36]. The gravitational force \(F\) is defined by the formula (1) where \(M_{1}\) and \(M_{2}\) are the masses of the particles, \(G\) is the gravitational constant and \(R\) is the distance between the two particles. Note that, the force \(F\) is directly proportional to the product of the masses \(M_{1}\) and \(M_{2}\) and inversely proportional to the square of the distance between the particles. \[F=G\frac{M_{1}M_{2}}{R^{2}} \tag{1}\]  
The second law of [PERSON] [23] states that the ratio between a force \(F\) applied on a particle of mass \(M\) is equal to the acceleration \(a\) of the particle (see (2)). \[a=\frac{F}{M} \tag{2}\]  
In order to describe the gravitational search algorithm, the definitions of active gravitational mass, passive gravitational mass and inertial mass are needed. The active gravitational mass is a measure of the strength of the gravitational field due to a particular object. The passive gravitational mass is a measure of the strength of an object's interaction with the gravitational field. The inertial mass is a measure of an object resistance of changing its state of motion when a force is applied. Let \(X_{i}=(x_{i}^{1},...,x_{i}^{d},...,x_{i}^{n},^{r})\) be the position of the \(i\)-th agent for \(i=1,2,...,n\) where \(x_{i}^{d}\) represents the position of the \(i\)-th agent in the \(d\)-th dimension. The force acting on mass \(i\) from mass \(j\) at a specific time \(t\) is denoted with \(F_{ij}^{d}(t)\) (see (3)), where \(G(t)\) is the gravitational constant, which depends on time,\(M_{aj}\) is the active gravitational mass related to agent \(j\), \(M_{pi}\) is the passive gravitational mass related to agent \(i\), \(\epsilon\) is a small constant and \(R_{ij}(t)\) is the Euclidean distance between two agents \(i\) and \(j\) as defined in (4). \[F_{ij}^{d}(t)=G(t)\frac{M_{pi}(t)\times M_{ai}(t)}{R_{ij}(t)+\epsilon}(x_{j}^{ d}(t)-x_{i}^{d}(t)) \tag{3}\]  
\[R_{ij}(t)=||X_{i}(t),X_{j}(t)||_{2} \tag{4}\]  
In the gravitational search algorithm, \(G(t)\) is defined as (5) [22], where \(G_{0}\) is the initial value of \(G\), \(T\) is the total number of iterations and \(\alpha\) is a parameter. \[G(t)=G_{0}\exp(-\alpha\frac{t}{T}) \tag{5}\]  
The total force \(F_{i}^{d}(t)\) that acts on agent \(i\) in a dimension \(d\) is a randomly weighted sum of \(d\)-th components of the forces exerted from other agents (see Equation (6)). In (6), \(rand_{j}\) is a random number that lies between \([0,1]\). \[F_{i}^{d}(t)=\sum_{j=1,j\
eq i}^{N}rand_{j}F_{ij}^{d}(t) \tag{6}\]  
By the law (2), it follows that the acceleration of the agent \(i\) at time \(t\) and in direction \(d\)-th, \(a_{i}^{d}(t)\), is given by (7), where \(M_{ii}\) is the inertial mass of the \(i\)-th agent. \[a_{i}^{d}(t)=\frac{F_{i}^{d}(t)}{M_{ii}(t)} \tag{7}\]  
The velocity of an agent at \(t+1\) time is a fraction of the velocity at \(t\) time added to its acceleration \(a(t)\) (see (8) with \(rand_{i}\) uniform random variable in the interval \([0,1]\)). Moreover, the position at \(t+1\) time \(x_{i}^{d}(t+1)\) is calculated through (9).