CAPÍTULO II: MARCO TEÓRICO
2.3. ACERCA DEL PERFECCIONAMIENTO DEL CONTRATO DE
Most microscopic simulations are based on these car-following models, wherein each vehicle computes its acceleration for the next timestep. The acceleration value is chosen to satisfy several conditions:
Collision avoidance A vehicle should not run into the vehicle ahead of it.
Acceleration limitations The ability of a vehicle to increase or decrease its speed is limited.
Preferred velocity Each vehicle has a ‘preferred’ velocity, usually related to the con- ditions of the road and driver behavior, that the vehicle should try to achieve. The notion of a car-following model as outlined above requires that each vehicle know only the position and velocity of the vehicle directly ahead of it to compute its accelera- tion for a time step. In the following paragraphs, I discuss how each vehicle determines
5.3.6.1 Simulation data structure
To keep track of the state of the vehicles in each lanej in the micro regime, I maintain a listCj (of cardinalityVj) in increasing order of the parametric position of each vehicle i = 0, 1, . . . , Cj −1 in the lane. Vehicles entering the lane are naturally inserted into
the front of the list, while vehicles that flow out of the lane are removed from the back. 5.3.6.2 Locating leaders
Fundamental to the operation of the car-following model is the ability for a given ve- hicle to determine the velocity of and distance to the vehicle ahead of it (its leader).
The algorithm for locating the leader for a given car, Locate-Leader, is given in Algorithm5.1.
I also define aninteraction limit distance dmaxon the order of 50–1000 meters beyond
which the leader has no effect on the behavior of the follower. If, in the search for the leader, dmax is exceeded, the searched search is terminated and ignore car-following
effects in the acceleration computation (described shortly in Section 5.3.6.3).
The algorithm for finding a leader works as follows; when a vehicle is not the last
in the lane, the next vehicle is trivial to compute from the data structure described in Section5.3.6.1; the leader of vehicle i < Cj−1 in lane j is simply vehiclei+ 1.
If a vehicle is the last in the lane, consider the next logical leader: if the lane ends at a stopped intersection, avirtual vehicle with zero velocity is created, positioned such
that its rear bumper corresponds to the end of the lane; if the lane flows freely into another, the first vehicle in that lane (found with the First-Car procedure, which trivially returns the first car in the list CL) is used. Should a lane contain no vehicles,
the process is repeated recursively until dmax is exceeded or a leader encountered.
There is one more consideration in this process; if the search for a leader comes upon a lane in the macroscopic simulation regime, a mechanism for reporting the first
Algorithm 5.1 Locate-Leader
Locate-Leader(L,c)
// L — a lane, c — the car inL to search from.
1 if c.nextcar // If there is a car afterc inL. . .
2 return c.nextcar // return it.
3 elseif L.next // If lane flows onto another. . .
4 return Locate-Leader-Sub(L.next,L.length) // search in that lane.
5 else // This lane stops at a (stopped) intersection or is a dead-end. . .
6 return Virtual-Car(0,L.length) // return ‘virtual’ stopped car.
Locate-Leader-Sub(L, dcurr)
// L — a lane, dcurr — accumulated distance in search.
1 if dcurr≥dmax// If the search exceededdmax. . .
2 return ∅// return nothing.
3 elseif !Empty(L) //If L has cars. . .
4 return First-Car(L) // return the first car.
5 elseif L.next
6 return Locate-Leader-Sub(L.next, dcurr+L.length)
7 else
8 return Virtual-Car(0, dcurr+L.length)
The Locate-Leader and Locate-Leader-Sub procedures used to find the leader
developed to couple macroscopic simulations to microscopic ones, and it is discussed in Section5.4.3.2.
5.3.6.3 Acceleration computation
At each timestep, vehicles undergoing microscopic simulation must choose how to ac- celerate to avoid collision with the vehicle ahead of them while continuing to travel at a pace that is reasonable given the conditions (i.e., the speedlimit of the road, behavioral factors associated with the driver or vehicle). The following formula for the acceleration of vehicle ibeing led by vehicle j is from [Treiber et al., 2000]:
ai =amaxi 1− vi vipref !δ − smin(v i, vj) si 2 (5.1)
The terms in the equation are explained as follows: • amax
i is the maximum forward acceleration vehicle i is capable of.
• vi is the current velocity of vehicle i.
• vipref the preferred velocity of vehicle i (perhaps based on the speedlimit of the current lane).
• δ a positive integer affecting the weight the vehicles preferred velocity has on its acceleration (a value ofδ = 4 is suggested by [Treiber et al., 2000]).
• si the distance between the ith and the next vehicle in the lane (vehicle j).
Figure5.3depicts these quantities graphically. sminis relation that returns the minimum
acceptable distance between two vehicles based on their velocities; I use the formula given in [Treiber et al., 2000]:
Figure 5.3: Terms in car-following acceleration computation equation Here, s0
i, s1i, Ti, andbprefi are parameters specific to the driver/vehicle model being used
representing ‘jam distances’, ‘safe headway time’, and ‘preferred braking acceleration’. Equation (5.1) represents two distinct factors; a positive or negative acceleration based on the ratio of a vehicle’s current velocity vi to its preferred velocity vipref (the first two terms inside the outermost parenthetical) and a zero or negative acceleration based on the ratio of the vehicle’s minimum braking distance and actual distance to the vehicle ahead of it.
5.3.6.4 Lane changes
While the lane following model handles traffic within a single lane, real traffic networks contain highways and arterial roads with numerous lanes, and real drivers change lanes to avoid slower moving vehicles. To simulate this behavior, I use a method based in part on [Kesting et al., 2007] and on the method presented in4.3.5. I use the underlying car- following model to calculate what the gain in acceleration, ∆a, is needed for a vehicles
cmerging to change lanes. If this ∆a is greater than a threshold value, the car will
attempt to change lanes if it is safe to do so. This safety check is done by finding the car cfollow that would be behind cmerging if it changed lanes. If the deceleration of
cfollowaftercmerging changes lanes is less than a factorpolite ∈[0,1] times the maximum deceleration, then the lane change is considered safe. Finally, to preserve the dynamics of the microscopic simulation, the car is considered to be its current lane and the lane it is merging into throughout the merge.