Skip to content

A fleet-based simulation platform that connects MATSim with external ride-pooling simulators

License

Notifications You must be signed in to change notification settings

BUILTNYU/Fleet-Demand-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Fleet-Demand-Platform

This repository gives the code for Fleet-Demand platform (FD platform). Full explaination of the FD platform can be found here. The FD platform is an API dedicated to connecting MATSim with external ride-pooling simulators, which enables the collaborative output between the two parts. Currently, the only ride-pooling extension in MATSim is the DRT extension. However, it still has limited functionality. To add a novel ride-pooling service design in MATSim, an external ride-pooling simulator needs to be converted to a new extension, which is illustrated in Figure 1.


Figure 1. Extension Conversion.

By using the API, the extension conversion process can be eliminated. The API directly tranfer the information between MATSim and the external simualtor. The process is illustrated in Figure 2.


Figure 2. API structure.

In the case of the FD platform, information on trip legs that involve the studied transportation mode are generated first using the given assumptions. Those trip legs are then extracted and used as input for the external simulator, which generates realized trip leg details. The details are subsequentially used to update the trip leg results previously generated by MATSim. As such, the updated trip itinerary can properly reflect the user experience involving the studied mode.

As illustrated in Figure 3, an agent’s chosen trip involves a public transit ride from home to work, a MOD service trip to have dinner, and another public transit ride back home. The mode choices are made by selecting the plan that maximizes the user’s utility between the 2 perceived trip itineraries. An initial estimation of the MOD trip time is 15 minutes with a given average travel speed of 15 miles/hr. After providing the trip start location and start time, the simulator generates a realized trip time of 20 minutes with a travel speed of 12 miles/hr. The result is then used to update the previous itinerary. The updated itinerary is therefore a combined result of MATSim and the external simulator.


Figure 3. Itinerary Update using the FD Simulator.

Figure 4 is a detailed flow chart of the FD platform process. In summary, configuration and the initial trip plan file are inputted into MATSim. This process produces a preliminary passenger itinerary. Subsequently, trip details associated with ride-pooling services are extracted from this itinerary and transformed into a trip request log. This log is called by the local simulator to execute the service. The external simulator’s output contains the realized ride-pooling service details. The initial passenger itinerary and configuration file are then modified based on the ride-pooling service outcomes for the subsequent day of MATSim simulation. This process is iterated multiple times until a consistent output is achieved.


Figure 4. Workflow of the FD simulator process.

The files provided are using part of New York City (NYC) network for simulation. The network contains Manhattan, Brooklyn, and Queens. The ride-pooling service area locates inside midtown Manhattan. The population file contains 35,000 agents. The subpopulation file describes te group each agent belongs to, which are "Low_Income" and "Not_Low_Income". The value of time (VOT) for “Not_Low_Income” is $9.98/hr, while for “Low_Income”, it is $5.68/hr. The configuration file defines two ride-pooling fleets called "drt_1" and "drt_2". The services provided by the two fleets are identical in this case. However, the parameters can be easily changed to reflect heterogenous services. The cost per trip for both services is $7 per trip. The disutility caused by the cost is reflected in the constant defined in the trip attribute. For all the supplement files (network, population, DVPRT input), please go to the Zenodo page.

Files includes:

"FD_platform.py": Full code of the FD platform, which involves MATSim and an external simulator "ridepooling".
The full version of "ridepooling" simulator can be found here.
"config-with-mode-vehicles-drt-tele_2_income.xml": Configuration file for MATsim run in cycle 0.
"config-with-mode-vehicles-drt-tele_2_income_updated.xml": Configuration file for MATsim run in following cycles.

License

The NYU NON-COMMERCIAL RESEARCH LICENSE is applied to Fleet-Demand-Platform (FD Platform). Please contact Joseph Chow (joseph.chow@nyu.edu) for commercial use.

For questions about the code, please contact: Hai Yang (hy1236@nyu.edu).

About

A fleet-based simulation platform that connects MATSim with external ride-pooling simulators

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages