# Review of Traffic Assignment and Future Challenges
## 3 Traffic Assignment: Theoretical Background
### Dynamic Traffic Assignment (DTA)
#### 3.2.2 Resolving Approaches  
The algorithmic procedures for static assignment and dynamic assignment share comparable structures. The structure is outlined in Algorithm 1. The differences primarily lie in the following elements:  
* Initialization: In the majority of studies, the network is initialized using the all-or-nothing assignment based on the computation of the shortest path. In the context of \(STA\), the shortest path is computed with an empty network. Consequently, the all-or-nothing assignment associates a route with each origin-destination (\(o\)-\(d\)) pair throughout the entire temporal horizon of the study. In the case of dynamic assignment, the travel time (generalized cost) for a given route, \(k^{ad}\), varies based on the departure time intervals of vehicles. Indeed, with each new time interval, it is necessary to update the generalized costs induced by vehicles already assigned in previous time intervals. Thus, the search for the shortest path occurs progressively as the network fills up. * Iteration: Recall that, at each iteration, a flow of vehicles is shifted from a costly route to a less costly one until a convergence criterion is met. In the context of \(DTA\), this flow shift occurs for all time intervals, \(T\), within the study interval at each iteration. Several approaches exist in the literature for determining the direction and quantity of the traffic shift. The most classical approach is based on the Frank-Wolfe algorithm [83; 30]. Other more efficient algorithms have been proposed since, including the gradient projection algorithm [41] and the method of successive averages (\(MSA\)) [79; 84; 85] to compute the generalized cost. Approaches based on meta-heuristics have also been proposed. * Evaluation of Travel Times: The time it takes to travel a road segment can vary from when a vehicle starts its journey to when it is moving on that segment. Drivers base their route decisions on the time spent actively driving on the segment. Thus, it is crucial to predict this travel time accurately. In advanced methods, travel times are assessed by adding up the times for each segment, forming a travel time chain. The estimated travel time for each segment is based on when the vehicle is expected to reach that specific segment [78]. * Stopping Criterion: Recall that, in \(STA\), there is a unique equilibrium solution in terms of traffic flow for each segment. This solution is reached when Algorithm 1 converges. Unlike \(STA\), the convergence of vehicle routes in \(DTA\) does not imply that the network has reached a dynamic equilibrium. The convergence problem becomes more complex when the granularity of the traffic model is high. It is widely reported that microscopic models are intractable. Similar to \(STA\), classical approaches for solving the dynamic traffic assignment problem are based on iterative algorithms that involve route permutation in the direction of gradient descent. The outcome of these approaches and their convergence depends not only on the initial solution (initialization phase) but also on intermediate solutions [86] and the network saturation state [87; 88; 89] (e.g., deadlock and shock waves). Additionally, classical \(DTA\) approaches are susceptible to the risk of converging to a local minimum. Furthermore, the solution space exploration is limited [87]. Consequently, several authors propose the use of heuristics and meta-heuristics for dynamic assignment problem resolution, such as simulated annealing [86; 90; 91], population-based search (e.g., genetic algorithm and teaching-learning-based optimization) [86; 92; 93; 94; 95; 96], and ant colonies [97; 98]. A noticeable work presented in [99] introduces a new modeling paradigm for DTA and uses multi-agent reinforcement learning to solve DTA. Algorithm 2 presents an overview of population-based search, where multiple solutions are generated, evaluated, and enhanced, enabling a comprehensive exploration of the solution space. 1. **Initialization**: Generate a collection of candidate solutions for a given problem. 2.