## 3 Proposed Methodology
### PSO for CVRP  
PSO is a population-based metaheuristic which consists of particles or chromosomes consisting of candidate solutions. In this work, a chromosome is a \"Customer Vector\", a permutation of all the  
Figure 2: Flowchart diagram of the proposed BLS-PSO. customers specified in a problem statement. We can also think such a customer vector as a position vector in the solution space. At first, we generate a predetermined number of random particles for PSO. We also assign a random velocity for each particle to guide the particles to search for better solutions utilizing the PSO scheme. If the position of the \(l\)-th particle is \(A_{l}^{t-1}\) on iteration (\(t-1\)), then the particle can move to its new position \(A_{l}^{(t)}\) influenced by its velocity \(V_{l}^{t}\), as done in the traditional PSO, using  
\[A_{l}^{t}=A_{l}^{t-1}\,\oplus\,\,V_{l}^{t} \tag{10}\]  
The velocity also gets updated at each iteration, according to [PERSON] and [PERSON] [53], as  
\[V_{l}^{t}=k_{1}V_{l}^{t-1}\,\oplus\,k_{2}\big{(}B_{l}\to A_{l}^{t-1} \big{)}\,\oplus\,k_{3}\big{(}G\to A_{l}^{t-1}\big{)} \tag{11}\]  
where \(V_{l}^{t}\) is the velocity of the \(l\)th particle in the \(t\)-th iteration, \(B_{l}\) is the best solution attained by the \(l\)-th particle till (\(t-1\)) iterations, and \(G\) is best solution attained by any particle in the population in (\(t-1\)) iterations. \(k_{1}\), \(k_{2}\) and \(k_{3}\) are parameters to guide the velocity to move a particle to a certain direction specifying the effect of its own velocity, attraction to the best position ever reached by itself and the best position ever reached by any particle in the population. Effect of the history of velocity is controlled by the parameter \(k_{1}\), influence of the personal best position is determined by \(k_{2}\) and \(k_{3}\) maintains the balance with the global best solution at any stage. These influences are basically the strength of PSO algorithm which leads a particle to a better position. Thus, we have utilized the proposal of [PERSON] and [PERSON] [53] instead of using the straightforward PSO velocity update equation from [PERSON] and [PERSON] [40] to try to keep the preeminent balance among the influential portions in Equation (11). PSO was first proposed for continuous problem domains where \(\oplus\) can be considered as vector addition and \(\rightarrow\) as vector subtraction. However, CVRP is defined in discrete domain. Hence, to apply PSO in discrete domain, we adopt the swap sequence-based PSO [54]. We need to map the meaning of Equations (10) and (11) so that PSO can deal a discrete type problem. In this purpose [54], authors proposed a new definition to the characteristics of two symbols, \(\oplus\) and \(\rightarrow\). \(X\oplus\SS\) means applying a sequence of swap sequence on the elements of \(X\) to reach \(Y\), a new position in the solution space, while \(X\)\(\rightarrow\)\(W\) gives a basic swap sequence \(BSS\), the applying of which \(W\) can be converted to \(X\). A detailed description is presented here to understand the mechanism of the operators. Swap sequence is basically moving a particle from one solution or position to another solution or position in the solution space. Suppose an encoded solution or particle in the solution space is \(X\) = (1, 3, 5, 2, 4) assuming the problem has five nodes in the problem statement. Then \(SS\) can be a swap sequence consisting of one or more swap operators that move \(X\) to its new position \(Y\). For example \(SS\) = SO(2,3) may be a random initial swap sequence having a single swap operator or velocity for particle \(X\). Thus, \(X\)\(\oplus\)\(SS\) = (1, 3, 5, 2, 4) \(\oplus\) SO(2, 3) = (1, 5, 3, 2, 4) would be \(Y\) the new particle position. However, \(SS\) may be a swap sequence having more than one swap sequence or basic swap sequence or swap operators as well. Let another \(SS\) = SO(2, 3) \(\oplus\) SO(4, 5) having two swap operators.