# An Efficient Framework Model for Optimizing Routing Performance in VANETs
## 3 Framework Components
### PSO Heuristic Algorithm Overview  
PSO is an adaptive algorithm developed by Dr. [PERSON] in [36]. The main concept of PSO is to emulate the social behavior of animal societies without any leader. This approach uses a computational method to optimize a problem by using a set of particles that move in a specific area and share knowledge about position and velocity update [37]. The topology of movement allows all particles to communicate with each other with few simple formulas, it moves and defines a subset of particles to communicate and exchange information about their own best known position as well as the entire swarms' in the search-space. The particles simultaneously achieve their best condition through communication, and the best solutions are obtained by repeatedly moving and exchanging information until the best condition is discovered. In order to initialize the population, we need to define the group of \(i\)-th in particle \(X_{i}\) (solutions) where \(i=i1,i2,...,\,in\) represents the number of particles and \(j=j1,j2,...,jm\) refers to the \(j\)-th dimension of the problem in the domain of the search space. These particles are distributed randomly in the search space, and the optimal solution is made depending mainly on updating the particles position with each iteration. \(X_{i}j(t)\): The location of particle \(i\) according to the \(j\)-th dimensional component. \(V_{i}j(t)\): The velocity of particle \(i\) according the \(j\)-th dimensional component. \(B_{ij}(t)^{local}\): The best location (local best) of particle \(i\) according to the \(j\)-th dimensional component. \(B_{ij}(t)^{global}\): The global best location of the swarm according to the \(j\)-th dimensional component. The basic operation of PSO is more appropriate to solve dynamic mobility problem, and it is used to change the network resources [21]. To find an optimal solution, the set of particles \(X_{i}j\) should communicate and exchange available information about the network topology in order to update the \begin{table}
\begin{tabular}{l l l} \hline \hline
**Parameters** & **RFC Standard Values** & **Extent of Range** \\ \hline HELLO-Interval & 2.0 s & [1.0,......., 30.0] \\ REFRESH-Interval & 2.0 s & [1.0,......., 30.0] \\ TC-Interval & 5.0 s & [1.0,......., 30.0] \\ NEIGHB HOLD TIME & 3 \(\times\) HELLO-Interval & [3.0,......., 100] \\ TOP HOLD TIME & 3 \(\times\) TC-Interval & [3.0,......., 100] \\ MID HOLD TIME & 3 \(\times\) TC-Interval & [3.0,......., 100] \\ DUP HOLD TIME & 30.0 s & [3.0,......., 100] \\ WILLINGNESS & 3 & [1, 2, 3, 4, 5, 6, 7] \\ \hline \hline \end{tabular}
\end{table} 
Table 1: OLSR RFC-3626 Configurations. local best \(B_{ij}^{local}\) and global best \(B_{ij}^{global}\) for each particle. Accordingly, the parentage of position change for each particle \(i\) is presented as \(V_{i}=v_{i}1\), \(v_{i}2\),..., \(v_{ij}\). The topology of movement allows all particles to communicate with each other according to few simple formulas, in which all particles have converged to a point in the search-space to create a sequence of solutions. In such cases, the cost function must be optimized to provide suitable solution for each particle. thus, the set of solutions are required to control the direction of movement for each particle at each iteration in the search space. Let \(f\) denote the fitness function needed to be optimized. Then the local best of particle \(i\) can update its velocity and position at iteration t as. \[X_{ij}^{new-best}=X_{ij}+V_{ij}^{new-best} \tag{1}\]  
where \(V_{ij}\) is velocity of particle \(i\) at \(j\)-th dimensional. \[V_{ij}^{new-best}=W_{i0}\ V_{ij}+Rnd_{1}\ W_{i1}\ (B_{ij}^{local}-X_{ij})+Rnd_{2} \ W_{i2}\ (B_{ij}^{global}-X_{ij}) \tag{2}\]  
where \(W_{i0}\), \(W_{i1}\), \(W_{i2}\) represent the acceleration coefficients that are applied in the beginning process and denote a positive constant weight for each particle in the swarm. \(W_{i}0\) - The inertia weight conditioning term. \(W_{i}1\) - The memory weight conditioning term. \(W_{i}2\) - The cooperation weight conditioning term.