TNC Operator#

The operator is in charge of several critical actions at the beginning and end of the simulation. At the beginning, the operator, strategy, and fleet vehicles are initialized. The charging station RTree is also created. The critical functions at the end of the simulation include writing tnc statistics, zonal tnc revenue, and generated EVCS. Within the simulation at discrete time steps the operator logs repositioning statistics (governed by the TNC_LOGGING_INTERVAL value in minutes) and hourly statistics (TNC wait & FMLM times).

Critical functions include:

  • filling out the request information with passenger-vehicle assingment information (assign_TNC)

  • find nearest TNC vehicle for assignment (query_closest_and_remove)

  • find nearest EVCS (find_nearest_charging_station)

  • find nearest depot (find_nearest_service_station)

EVCS Siting Algorithm#

Electric vehicle charging stations for TNCs could, in theory, use existing public charging station infrastructure, which is imported into POLARIS in the supply file. Alternatively, we can use the existing SAEV siting algorithm (Gurumurthy et al. 2021). The algorithm will site a new station with a default x plugs if there is no station within y miles of the vehicle once the decision to charge is met. If a SAEV queues at an EVCS longer than z minutes, a new plug is added. If the SAEV does not have sufficient range to meet a charger in the generation phase, a new EVCS is generated. These xyz parameters can differ based on the region and the underlying configurations of the base model.

The following figure illustrates how the siting algorithm works. The first station is adjacent to Bloomington’s Downtown. The station label indicates that all plugs are currently in use. The yellow car with the 2-mile maximum Euclidean search radius is actively generating a new station with 5 plugs. Simultaneously, it reduces the number of plugs available to 4 and will exit the road network and park at the EVCS (hence, the vehicle “disappears”). If the blue car hits a range or idle constraint requiring the vehicle to travel to an EVCS, it will first determine if it is within the pre-defined range of an existing EVCS. In this instance, it is within two stations and will use an R-tree search procedure to identify the closest station. This siting algorithm does not consider the tradeoff between driving to a further station with available plugs to waiting for an available plug at the closest station. Thus, the blue car will travel to station 1 and queue. If the queue exceeds 15 minutes, the station will expand by 1 additional plug.

image

Fig: EVCS Siting Demonstration

The strategy file contains the function do_evcs_station_generation and takes in only the distance parameter once the operator decides to build a new EVCS location.

The EV_Charging_Station_Methods.h file calls the function do_evcs_plug_update in the strategy file and takes in only the wait time and number of current plugs. There is a check to ensure that the number of plugs does not exceed the max number of plugs.

EVCS Assignment Trade-off#

If the operator does not site charging stations, then the fleet will go through the Rtree of charging stations and weigh sending the vehicle to the nearest n stations. Where the size is the minimum between eligible stations and 5. If the fleet is allowed to access public charging stations, the operator searches the combined public & fleet-owned RTree list. The definition for public includes Tesla, EVgo, ChargePoint, EA, and others. The EVCS table in the Supply.sqlite file includes a column called “Public_Flag” that is 1 for true.

The operator considers up to 5 charging stations and finds the station with the lowest cost in time. This cost estimate is for total downtime, which includes expected queue time and charging time upon arrival.