## 4 Solution Approach
Differential evolution attempts to improve the quality of individual candidate solutions in the population through mutation, crossover, and selection with a few control parameters. It achieves fast convergence for many problems. For the above reasons, we selected these two well-known and widely used approaches, particle swarm optimization and differential evolution, to solve the discount-guaranteed ridesharing problem. Seven DE-based algorithms and three variants of the PSO algorithm were considered as the candidate solvers to find the solutions for the discount-guaranteed ridesharing problem. The seven DE-based algorithms and the three variants of the PSO algorithm are briefly described below. Please refer to Table 2 for the notations and variables used in the seven DE-based algorithms. The seven DE-based algorithms considered in this study all followed the same three-step operation process: mutation, crossover, and selection. Figure 1 shows the flow chart for the seven DE-based algorithms. The differences between the seven variants of the DE algorithm were the mutation strategies used. In this paper, we refer to the seven mutation strategies used by the seven DE-based algorithms as \(m\in\{1,\ldots,7\}\). For convenience, we use DE-\(m\) to refer to the variant of the DE algorithm that used mutation strategy \(m\), \(m\in\{1,\ldots,7\}\). We also refer to DE-7 as NSDE, as it was based on neighborhood search. For a population of size \(NP\), the set of candidate solutions in the population is \(\{z_{i}\), where \(z_{i}=(z_{1l},z_{i2},z_{i3},\ldots,z_{iN})\) and \(i\in\)[1, 2, \(\ldots,\)_NP_]\(\}\). A mutation strategy was used to calculate a vector called a mutant vector, \(v_{i}=(v_{i1},v_{i2},v_{i3},\ldots,v_{iN})\), for each candidate solution in the population. The mutation strategies used by the seven variants of the DE algorithm are defined in Equation (15) through (21). \[v_{in}=z_{r_{1}n}+F_{i}(z_{r_{2}n}-z_{r_{3}n}),\text{ where }F_{i}\text{ is fixed} \tag{15}\]  
\[v_{in}=z_{bn}+F_{i}(z_{r_{2}n}-z_{r_{3}n}),\text{ where }F_{i}\text{ is fixed} \tag{16}\]  
\[v_{in}=z_{r_{1}n}+F_{i}(z_{r_{2}n}-z_{r_{3}n})+F_{i}(z_{r_{4}n}-z_{r_{5}n}), \text{ where }F_{i}\text{ is fixed} \tag{17}\]  
\[v_{in}=z_{bn}+F_{i}(z_{r_{1}n}-z_{r_{2}n})+F_{i}(z_{r_{3}n}-z_{r_{4}n}),\text{ where }F_{i}\text{ is fixed} \tag{18}\]  
\[v_{in}=z_{in}+F_{i}(z_{bn}-z_{in})+F_{i}(z_{r_{1}n}-z_{r_{2}n}),\text{ where }F_{i}\text{ is fixed} \tag{19}\]  
\[v_{in}=z_{in}+F_{i}(z_{bn}-z_{in})+F_{i}(z_{r_{1}n}-z_{r_{2}n})+F_{i}(z_{r_{3} n}-z_{r_{4}n}),\text{ where }F_{i}\text{ is fixed} \tag{20}\]  
\[v_{in}=z_{r_{1}n}+F_{i}(z_{r_{2}n}-z_{r_{3}n}),\text{ where }F_{i}=N_{i}(0.5,0.5). \tag{21}\]  
Note that \(F_{i}=N_{i}(0.5,0.5)\) in Equation (21) is randomly generated, and \(N_{i}(\mu,\sigma^{2})\) is the Gaussian distribution with mean \(\mu\) and standard deviation \(\sigma\). \begin{table}
\begin{tabular}{c l} \hline \hline
**Variable** & **Meaning** \\ \hline \(N\) & Dimension of the problem, \(N=\sum\limits_{d=1}^{D}I_{d}+P\). \\ \(m\) & A mutation strategy. \\ \(NP\) & Population size. \\ \(G\) & Number of generations. \\ \(t\) & The generation index. \\ \(z_{i}\) & The \(i\)–th candidate solution in the population. \\ \(F_{i}\) & Scale factor of individual \(i\). \\ \(CR\) & Crossover rate of individual \(i\). \\ \(v_{i}\) & A mutant vector. \\ \(u_{i}\) & A trial vector. \\ \(\overline{u}_{i}\) & The transformed binary trial vector corresponding to \(u_{i}\). \\ \(z_{b}\) & The best candidate solution in the current population. \\ \(z_{r}\) & A candidate solution randomly selected from the population, where \(r\) is a random integer between 1 and \(NP\). \\ \(r_{1},r_{2},r_{3},r_{4},r_{5}\) & Random integers between 1 and \(NP\). \\ \(N(\mu,\sigma_{1}^{2})\) & A random variable with Gaussian distribution \(N(\mu,\sigma_{1}^{2})\), where the mean is \(\mu\) and the standard deviation is \(\sigma_{1}\). \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Notations of symbols, variables, and parameters used in the seven DE algorithms.