We will give an overview of the components of ride-sharing software systems, and dive into how match-making is performed for passengers and vehicles. We will also identify different metrics to optimize, and discuss how machine learning can be used to improve the algorithms. Participants will have a hands-on opportunity to learn how to program a multi-agent planning algorithm, and apply it to the ride-sharing problem in a simulated environment.

Key takeaways:
– A ride-sharing system consists of various interdependent components, such as routing, ETAs, payments, and ride-share match-making.
– The ride-share match-making algorithm has to be time-efficient in a production environment.
– Metrics such as rider wait time, trip time, vehicle distance, fleet utilization, revenue, etc, are commonly measured and optimized.
– Machine learning algorithms can be used to improve the algorithms and associated metrics.