<!DOCTYPE html>
Understanding Via's 'System-First' Algorithm
A Research by Mohammed Majdi Alyahia
Via's algorithm doesn't just find the nearest vehicle. It performs a complex balancing act, making decisions that are best for the entire transportation network. It optimizes for overall efficiency, not just one person's convenience. This 'system-first' approach, operating like a dynamic 'virtual bus', is key to understanding why rides are assigned the way they are.
At its core, the algorithm constantly weighs several competing goals to find the most 'optimal' solution for the whole system. Hover over each goal to see the trade-off.
Keep vehicles full and productive.
Trade-off: May lead to small detours for existing passengers.
Pick up riders as quickly as possible.
Trade-off: Might require dispatching a less-utilized vehicle.
Minimize fuel and operational expenses.
Trade-off: The cheapest option might not be the fastest for a rider.
The algorithm uses a 'cost function' to score every possible ride assignment. It adds up factors like delays and penalties for unserved rides. The assignment with the lowest total 'cost' wins. It even uses predictive analytics to position vehicles for future demand.
You request a ride and see two empty vans right in front of you. Why does the system assign your ride to a van that already has passengers? Let's see it in action.
Van 1 & 2 are empty but are 'rebalancing' - moving strategically to meet predicted future demand. Van 3 is already active with a passenger.
This is the lowest 'cost' option. Adding you to an active route is more efficient for the whole system (the 'virtual bus') than starting a new one or disrupting a rebalancing vehicle.
You and a friend request rides from nearby locations, but not at the exact same time. Why does the system put you in two different vans instead of pooling you together?
Rider 1 requests a ride first. The system finds the optimal assignment. A moment later, Rider 2 makes a request.
Van A is assigned to Rider 1. Its route is now optimized and committed.
Adding Rider 2 to Van A would violate constraints (e.g., cause a long delay for Rider 1). This is a high-cost option.
Assigning a separate van is the new optimal solution. It maintains service quality for both riders and is the lowest 'cost' choice for the system at this exact moment.