Uber and Lyft have been working on ride-sharing algorithms with some degree of success.

For example, in San Francisco, Lyft’s carpooling service makes up 50% of rides.

Professor Daniela Rus of MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) researched actual taxi data and determined 3,000 ride-sharing cars could replace every cab in New York City.


Let’s turn our attention to the actual report: carpooling apps could reduce traffic 75%.

Led by Professor Daniela Rus of MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL), researchers developed an algorithm that found that 3,000 four-passenger cars could serve 98 percent of taxi demand in New York City, with an average wait-time of only 2.7 minutes.

The team also found that 95 percent of demand would be covered by just 2,000 ten-person vehicles, compared to the nearly 14,000 taxis that currently operate in New York City.

Using data from 3 million taxi rides, the new algorithm works in real-time to reroute cars based on incoming requests, and can also proactively send idle cars to areas with high demand – a step that speeds up service 20 percent, according to Rus.

“To our knowledge, this is the first time that scientists have been able to experimentally quantify the trade-off between fleet size, capacity, waiting time, travel delay, and operational costs for a range of vehicles, from taxis to vans and shuttles,” says Rus. “What’s more, the system is particularly suited to autonomous cars, since it can continuously reroute vehicles based on real-time requests.”

Existing approaches are still limited in their complexity. For example, some ride-sharing systems require that user B be on the way for user A, and need to have all the requests submitted before they can create a route.

In contrast, the new system allows requests to be rematched to different vehicles. It can also analyze a range of different types of vehicles to determine, say, where or when a 10-person van would be of the greatest benefit.

The system works by first creating a graph of all of the requests and all of the vehicles. It then creates a second graph of all possible trip combinations, and uses a method called “integer linear programming” to compute the best assignment of vehicles to trips.
After cars are assigned, the algorithm can then rebalance the remaining idle vehicles by sending them to higher-demand areas.

“A key challenge was to develop a real-time solution that considers the thousands of vehicles and requests at once,” says Rus. “We can do this in our method because that first step enables us to understand and abstract the road network at a fine level of detail.”

The final product is what Rus calls an “anytime optimal algorithm,” which means that it gets better the more times you run it – and she says that she’s eager to see how much it can improve with further refinement.

“Ride-sharing services have enormous potential for positive societal impact with respect to congestion, pollution and energy consumption,” says Rus. “It’s important that we as researchers do everything we can to explore ways to make these transportation systems as efficient and reliable as possible.”

Video Simulation

Drivers Not Needed

Will people get annoyed when the algorithm decides the first of 10 people to get in the van is the last one dropped off?

Regardless, such technology is coming. And of course it will not be long before drivers will not be needed at all.

Mike “Mish” Shedlock