Urban transportation networks continually confront pressing operational strains from vehicular congestion, localized pollutant emissions, and shifting commuter preferences, prompting widespread scientific evaluation of mobility-on-demand systems that dispatch passenger fleets via mobile software platforms. Despite extensive inquiry across transport planning and operations research, comparative evaluation has historically suffered from fragmented experimental setups, private datasets, undocumented preprocessing routines, and proprietary algorithmic codebases that impede systematic validation. To resolve these widespread reproducibility barriers, a research team led by Roman Engelhardt, Florian Dandl, and Klaus Bogenberger introduced FleetPy, an open-source, modular, agent-based simulation platform designed to evaluate and benchmark on-demand vehicle systems under standardized experimental conditions. Documented in the European Transport Research Review, the framework establishes transparent base classes and standardized application programming interfaces that decouple high-level algorithmic logic from underlying simulation infrastructure. By replacing disparate, one-off modeling environments with a shared computational architecture, the platform enables investigators to conduct direct, rigorous comparisons of dispatching, repositioning, and pricing strategies across equivalent urban scenarios.
At the computational core of the simulation architecture lies a time-discretized execution engine that typically updates system dynamics at intervals spanning several seconds. The platform accommodates two distinct simulation flows, enabling researchers to explore differing operational philosophies regarding how service providers interact with incoming customer requests. In the Immediate Decision Simulation flow, the platform evaluates incoming travel requests strictly in the chronological order of their arrival. Under this operational scheme, the operator generates immediate trip offers reflecting the instantaneous vehicle fleet state, prompting the prospective customer to make an immediate booking decision that immediately alters fleet assignments. Conversely, the Batch Offer Simulation flow aggregates incoming passenger travel requests over predetermined time windows before executing centralized fleet optimization routines. This batching mechanism allows operators to evaluate multi-request pooling opportunities collectively before dispatching offers to all prospective passengers simultaneously. While centralized batch optimization theoretically identifies globally superior routing schedules, the authors emphasize that empirical gains depend heavily on whether travelers retain the operational freedom to reject generated service offers.
Physical movement across urban territory is modeled through adaptable street network modules that represent roadways as directed graphs carrying edge-specific deterministic travel times. To reflect fluctuating traffic congestion, network edge speeds can be modulated dynamically using global temporal scaling factors or time-varying, edge-specific travel duration tables. While path computation natively executes within Python, shortest-path calculations leveraging Dijkstra’s algorithm can be offloaded to optimized C++ routines through simple scenario configuration settings, drastically curbing computation times during large-scale network queries. Alongside road routing, FleetPy integrates a specialized Public Transport module that constructs schedule-based transit networks directly from General Transit Feed Specification datasets. Querying the fastest intermodal transit trajectories across dense schedules is accelerated through a dedicated C++ implementation of the Round-Based Public Transit Routing algorithm, commonly known as RAPTOR. The investigators also designed external communication interfaces connecting the framework to established microscopic traffic simulators, including SUMO and AIMSUN, alongside the mesoscopic traffic simulation environment MATSim, ensuring consistent fleet control testing across varying levels of physical network fidelity.
Passenger demand generation and behavioral decision-making are handled through a dedicated demand module that instantiates individual simulated travelers from empirical or synthetic trip records containing origin-destination coordinates and request timestamps. Once service operators compute candidate trip itineraries, simulated customers evaluate the offers using configurable behavioral decision models ranging from simple first-come acceptance rules to sophisticated econometric utility formulations. These choice models incorporate heterogeneous traveler attributes, such as individual values of travel time and alternative mode utilities, balancing expected fares, pick-up delays, and in-vehicle journey times. Interaction between passenger demand and available transportation supply is orchestrated through an abstract Mobility Broker Platform module. This broker structure supports unregulated multi-operator competitive markets as well as integrated municipal platforms coordinating intermodal journeys. For multimodal travel requests, the broker platform disassembles a user’s cross-town trajectory into coordinated modal legs, requesting first-mile, last-mile, or combined feeder services from on-demand operators while synchronizing intermediate transfers with scheduled public transit networks.
Fleet control operations within the framework address the underlying vehicle routing problem by structurally decomposing its NP-hard computational complexity into modular, interconnected sub-problems. The platform formally models trip requirements through PlanRequest objects, bundles valid chronological stops into VehiclePlan objects, and encapsulates individual customer boarding or alighting events within discrete PlanStops. To allocate vehicles effectively, FleetPy provides pre-implemented assignment algorithms representing varying operational trade-offs between mathematical optimality and computational execution speed. Researchers can deploy a rapid greedy insertion heuristic initially formulated by Jaw and colleagues, a balanced heuristic linear assignment routine developed by Simonetto and associates, or an anytime-optimal assignment formulation based on the method of Alonso-Mora and collaborators. Because dynamic network variations and stochastic passenger decisions continually perturb scheduled trajectories, the operator periodically re-evaluates active vehicle plans prior to incorporating new request assignments. These core assignment capabilities can be further augmented with modular extensions covering combined parcel delivery operations and semi-on-demand scheduled transit services.
Beyond real-time request assignment, FleetPy incorporates dedicated control sub-modules targeting auxiliary fleet management functions that critically govern operational viability. To handle trip reservations submitted in advance without causing combinatorial explosions in the assignment search space, the simulator applies rolling-horizon scheduling strategies that systematically update pre-booked commitments as real-time conditions unfold. To correct recurring spatial imbalances where vehicles accumulate in low-demand zones while high-demand sectors face shortages, the framework integrates zone-based demand forecasting paired with multiple automated vehicle repositioning algorithms. Auxiliary modules also regulate vehicle energization and economic policies: a charging management module redirects electric vehicles to neighboring charging infrastructure whenever their battery state of charge drops beneath a defined threshold. Concurrently, dynamic pricing routines apply surge factors based on instantaneous fleet utilization, while time-based sizing algorithms systematically activate or retire vehicles across operational shifts to simulate human driver scheduling constraints without necessitating structural code revisions.
To ensure empirical comparability across independent research institutions, the authors assembled and published standardized open-source benchmark datasets reflecting distinct urban geographies in Manhattan, Chicago, and Munich. The Manhattan dataset derives its road graph from OpenStreetMap, comprising 4,410 nodes and 9,574 edges after restricting boarding access away from motorway segments. Demand files incorporate 1,807,255 verified trips filtered from public New York City taxi records collected between November 11 and November 18, 2018, calibrated against hourly travel time scaling factors. For Chicago, the road network was refined to 12,585 nodes and 27,446 edges by omitting residential roadways, subsequently filtering access nodes to 4,000 locations spaced at least 300 meters apart to facilitate rapid routing table lookups. Chicago demand incorporates 1,055,772 passenger trips derived from June 2022 Transportation Network Company records, highlighting major airport hubs where O’Hare International Airport accounts for approximately 12 percent of all trips and Midway International Airport contributes 3 percent.
Representing European urban spatial dynamics, the Munich benchmark environment utilizes a synthetic demand model derived from a calibrated microscopic traffic simulation containing weekday private vehicle origin-destination matrices from 2016. By sampling from hourly origin-destination pairs via a Poisson process converting up to 15 percent of private automotive journeys into on-demand requests, the dataset establishes approximately 104,000 travel requests across an organic, non-grid road network comprising 35,474 nodes, 64,888 edges, and 5,113 boarding-safe access intersections with speed limits at or below 50 kilometers per hour. Comparative structural analysis across the three benchmarks demonstrates stark operational contrasts: Chicago encompasses an expansive geographic footprint with pronounced airport traffic nodes; Manhattan exhibits severe vehicular congestion yielding average travel speeds roughly half those observed in Chicago and Munich, alongside peak demand densities exceeding 1,000 requests per square kilometer per hour near Grand Central Terminal and Penn Station; and Munich presents a centralized European density pattern tapering gradually toward outer districts.
The investigators demonstrated FleetPy version 1.0.2 through two exemplary ride-pooling case studies using a 10 percent sample containing 21,400 trip requests from the Manhattan benchmark dataset across a simulated day on November 12, 2018. Operating with a fleet of 180 four-passenger vehicles, 60-second time steps, 480-second maximum waiting limits, and 40 percent detour tolerances, the first experiment evaluated three batch assignment algorithms. The Alonso-Mora algorithm achieved the highest overall user service rate at 90.0 percent, modestly outperforming the linear assignment heuristic at 89.6 percent and the insertion heuristic at 89.0 percent. However, this increased service volume entailed a measurable latency penalty: average passenger waiting times reached 4.70 minutes under the Alonso-Mora approach, compared to 4.35 minutes for linear assignment and 4.32 minutes for the insertion heuristic. Correspondingly, fleet utilization was slightly higher under Alonso-Mora, recording an average daily vehicle occupancy of 1.33 passengers compared to 1.31 passengers observed under both heuristic alternatives, illustrating the classic operational tension between passenger wait times and pooled system throughput.
The second exemplary application investigated competitive market dynamics between two coexisting mobility providers: an exclusive ride-hailing service operating 180 vehicles with non-shared travel, and a ride-pooling operator deploying 120 vehicles offering shared passenger journeys at discounted rates. Simulated travelers selected services based on an econometric utility function reflecting fare expenses, wait durations, in-vehicle travel times, and discrete values of time ranging across 0.25, 0.45, and 0.75 units. Incremental fare discounts between 10 percent and 30 percent generated the steepest gains in pooling adoption, with the market crossover point shifting from approximately 2 percent discount for low-value-of-time commuters to 5 percent for time-sensitive passengers. Crucially, operator profits broadly declined as fare discounts expanded, demonstrating that aggressive discounting yields diminishing economic returns. To ensure widespread experimental reproducibility across future investigations, the authors packaged their complete scenario configurations, analysis notebooks, and an automated archiving script that compiles experimental code and data artifacts, inviting the international research community to benchmark evolving fleet algorithms against identical, transparent baselines.
Subject of Research: Open-source simulation frameworks for mobility-on-demand transportation systems
Article Title: FleetPy: an open source simulator for reproducible research on mobility-on-demand services
Article References: Engelhardt, R., Dandl, F., Syed, A. A., Ding, C., Alvarez-Ossorio Martinez, S., Zhang, Y., Hamdy, H., Brodersen, J., Chen, Z., & Bogenberger, K. (2026). FleetPy: an open source simulator for reproducible research on mobility-on-demand services. European Transport Research Review, 18(1), Article 52. https://doi.org/10.1186/s12544-026-00823-3
Image Credits: AI Generated
DOI: 10.1186/s12544-026-00823-3
Keywords: FleetPy, mobility-on-demand, agent-based simulation, vehicle routing problem, ride-pooling, reproducible research, fleet control algorithms, batch assignment, dynamic repositioning, multimodal transit, public transport routing, RAPTOR algorithm, value of time, Manhattan benchmark dataset, Chicago TNC dataset, Munich traffic simulation, dynamic vehicle pricing, electric vehicle charging
News Source: Denise Maddox. (November 11, 2026). Open Source FleetPy Simulator Enables Standardized Mobility On Demand Research. Scienmag.



