## 3 Materials and Methods
### Proposed Adaptive Large Neighborhood Search  
ALNS is a proven method in the literature for the CEVRP. Unlike the classical VRP, in this problem, where charging stations are also considered, ALNS's destroy and repair procedures give efficient results. For this reason, we propose a hybrid adaptive large neighborhood search (ALNS) algorithm to solve the CEVRPTW while considering the full charging strategy. ALNS is a metaheuristic algorithm for solving large-scale and complex optimization problems, first introduced by [PERSON] and [PERSON] (2006) [42]. ALNS has operators that obtain new neighbor solutions by sequentially applying structures responsible for the tasks of \"destroying\" and \"repairing\" a solution. One of the strengths of ALNS is that it allows the efficient use of operator structures and different heuristic methods. It can search the solution space more effectively with the operator selection mechanism, which increases the chance of selection of successful operators. For more detailed reviews on the acceptance criteria for ALNS, [PERSON] et al. (2018) provide an extensive discussion [43]. Regarding the adaptive mechanism and weight update, [PERSON] et al. (2021) offer a comprehensive review [44]. The general framework and distinguishing aspects of these studies are examined by [PERSON] et al. (2022), while [PERSON] (2024) analyzes the most commonly used and effective operators [45; 46]. The pseudocode of the proposed hybrid ALNS algorithm is given in Algorithm 1. The algorithm changes the solution with the removal and insertion operators in each iteration and creates \(S^{new}\) solutions. The solution is a list of routes. The procedures for calculating the cost of a solution based on the objective function are presented in Table 2. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c c} \hline \hline \multicolumn{1}{c}{**Solution (S)**} & \multicolumn{10}{c}{**Route Detail**} \\ \hline Route 1: & cs5 & \(\rightarrow\) & 75 & \(\rightarrow\) & 42B & \(\rightarrow\) & cs4 & \(\rightarrow\) & 31 & \(\rightarrow\) & 115 & \(\rightarrow\) & 32 & \(\rightarrow\) & cs5 \\ \hline Travel Time Between & - & 86.60 & - & 102.12 & - & 38.57 & - & 18.18 & - & 88.501 & - & 39.37 & - & 53.973 & - \\ Two Nodes \(\left(t_{j-1,j}\right)\) & & & & & & & & & & & & & & & \\ \hline Arrival Time at Node \(\left(a_{i}\right)\) & 0 & - & 86.60 & - & 646.12 & - & 807.57 & - & 1337.19 & - & 1580.501 & - & 1799.87 & - & 2033.843 \\ \hline Service Time \(\left(s_{j}\right)\) & - & - & 120 & - & 120 & - & - & - & 120 & - & 180 & - & 180 & - & - \\ \hline Charging Time \(\left(cht_{j}\right)\) & - & - & - & - & - & - & 511.427 & - & - & - & - & - & - & - & - \\ Time Window \(\left[c_{j}\right]\) & - & - & [424, & & [649, & & [1372, & [149, & [132, & - & [1378]] & - & \\  & & 487] & - & 729] & - & - & - & 1448] & - & [1531] & - & [1378] & - & - \\ \hline Tardiness \(\left(T_{j}\right)\) & - & - & 0 & - & 0 & - & - & - & 0 & - & 49.50 & - & 421.87 & - & - \\ \hline \multicolumn{10}{c}{Total Tardiness} & \multicolumn{10}{c}{471.37} \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Example solution of an RC05 problem and calculation of the tardiness objective function.