At the heart of all ridesharing and ride hailing systems is the algorithmic core, dispatching vehicles and matching them with ride requests or - in general - pick up and delivery tasks.
Algorithmic settings permit to satisfy a wide variety of product objectives, e.g. high ride pooling factors or minimal waiting times.
While technically the underlying optimization challenge is a vehicle routing problem (VRP), there is still a large number of additional constraints and input parameters as e.g. routing complexity through depots or vehicle reach, or the calculation of optimal intermodal connections.
Routing is a crucial part as no matter if ridesharing or goods delivery, there are often specific requirements, e.g. when it comes to the type of vehicle, adding or removing turn restrictions, temporary changes in traffic direction or real-time traffic data integration. It is also the combination of the algorithmic core with a sophisticated dispatching and routing which permit to have solid ETA predictions.