## 2 Literature Review and Conceptual Context
### Situation-Aware Route Planning
#### 2.2.3 Dynamic Vehicle Routing Problem
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Year** & **Reference** & **Routing and Optimization** & **Constraints** \\ \hline
2014 & [56] & Heuristics, Hybrid & Fuzzy time windows \\  & & Neighborhood Search & \\ \hline
2015 & [57] & Ant Colony, Local Search & Time windows, capacitated, \\  & & Ant Colony, Local Search & heterogeneous fleet, \\  & & & split delivery \\ \hline
2016 & [58] & ADP, Heuristics & \\ \hline
2016 & [59] & Particle Swarm Optimization & Time windows, \\  & & & new demand urgency \\ \hline
2017 & [60] & Local Search & Time windows \\ \hline
2017 & [61] & Ant Colony Optimization & \\ \hline
2017 & [62] & Improved Simulated Annealing & Fuel consumption \\ \hline
2017 & [63] & Wolf Pack Algorithm & Fuzzy time windows \\ \hline
2018 & [64] & RNN, Reinforcement Learning & \\ \hline
2018 & [65] & Genetic Algorithm & \\ \hline
2019 & [66] & Evolutionary Algorithm & \\ \hline
2021 & [62] & Genetic Algorithm, Hill & Time windows \\  & & Climbing Algorithm & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Dynamic Vehicle Routing Problem articles and characteristics. traffic [60]. During the design stage of the routes, the service was partitioned into areas according to an intimacy degree. This design calculated the percentage of scenarios in which a pair of customers were grouped into the same cluster. Local search was used to improve the quality of customer clusters. Vehicle routes were different in every traffic condition scenario. In other words, it was not an in-route optimization but, rather, a set of solutions that had been obtained before the workday. This approach did not consider, however, that traffic is a continuous variable, which thus has a limited number of scenarios. Therefore, it is not generalized to non-occurrent traffic states. Additionally, delivery service time was not included in the solution, and it would potentially change the routing depending on the time spent and traffic conditions by the end of the service. One of the most recent time window constraint applications in DVRP used the time of arrival as the objective function for optimization [67]. The authors used an improved genetic algorithm to set an initial group of routes and optimized them using a hill-climbing algorithm. Data included in this optimization were road conditions, floating car data, and non-occurrent events. In addition, the network graph was modified using traffic data in intervals. Nonetheless, there was no practical application of this methodology. Implementing constraints in DVRP increases the computational complexity, and this is a challenge if the optimization is conducted online and when the vehicles are executing the routes. Studies have tried to include time windows to increase customer satisfaction and service level, which is the most important constraint for DVRPs due to them being a responsive problem, contrary to static VRPs. Fuel consumption could be another constraint, such as the problem analyzed in a study that used stochastic speeds in the road network to simulate actual traffic [62]. However, the optimization was conducted offline, and the routes are not updated. Other types of research simplify the DVRP into a VRP, called a time-probabilistic VRP [61], where they use common methodologies(for instance, ACO) for route optimization. Research concentrating on the DVRP without constraints usually improves the architecture to diminish online computing time. For example, a study used approximate dynamic programming (ADP) to avoid the curse of dimensionality when dealing with a DVRP with traffic congestion [58]. They used a non-stationary normal distribution to include traffic on roads and heuristics with a rollout algorithm to optimize the problem. In another instance, modifying an RNN using only the decoder significantly diminished the computational complications without sacrificing efficiency [64]. This later study states that since the VRP is not a seq2 seq problem, it should not use the encoder from the RNN.