Skip to content

Optimizing School Bus Schedules

AlphaRoute uses Julia to help schools eliminate school buses, save money, reduce traffic and emissions and let students get more sleep

AlphaRoute is a tech startup that uses machine learning and optimization in Julia to help schools optimize bus schedules and school start and end times based on student ages and biorhythms. AlphaRoute solutions help school districts reduce transportation costs, reduce the number of school buses required, alleviate school bus driver shortages, reduce traffic and carbon emissions, and ensure that students reach the classroom quickly, on time, alert, awake and ready to learn.

AlphaRoute was founded to build on the success of the 2017 Boston Public Schools Transportation Challenge, when three AlphaRoute co-founders, Dimitris Bertsimas, Arthur Delarue and Sebastien Martin, used Julia to create a solution that took 50 school buses off the road, reducing pollution, traffic and cost, and saved $5 million per year for taxpayers, allowing that money to be redirected into the classroom. Furthermore, the optimal solution they identified, if fully implemented, would have reduced the number of school buses by 200 and saved $18 million.


According to AlphaRoute CEO and co-founder John Hanlon,

These achievements were spectacular examples of what can be done using Julia to help society. Both were also game-changing innovations that now form the backbone of much of what we do at AlphaRoute.

Hanlon explains:

AlphaRoute uses Julia as its main programming language for developing and maintaining revolutionary algorithms we deploy to help school districts and transit systems... and eventually other customer groups. These algorithms power our incredibly valuable work, saving public agencies millions of dollars each year, while helping them improve their service. School systems everywhere are struggling to offer reliable operations right now, amidst a severe driver shortage crisis. We are helping these districts to offer full service, despite the fact that many of them are short more than 100 drivers.

We helped Columbus City Schools (Ohio) reduce their bus fleet from 704 to 558. Before working with us they were faced with cutting service for thousands of students; less than a month after working with us, they had an optimal routing solution in place allowing them to maintain their level of service.


We are currently using code built in Julia to optimize school start- and end-times for two major school districts in the US. These projects, like others before them, will allow our customers to save money, alleviate their driver shortage, and align their bell times with prominent research which suggests a critical need for secondary students to start school after 8am.

Our para- and microtransit code is capable of saving millions of dollars for public transit agencies while, more importantly, helping them attain much higher customer satisfaction.

We build new code and new algorithms all the time and much of it is in Julia - which means the impact that our work offers to the public is only growing. Our goal is to transform the world of mobility, saving millions of dollars for our clients, improving the lives of their constituents, and saving the environment. Julia helps to make this possible!

Co-Founder Mohammad Ghane elaborates:

Choosing the main programming language for a tech company is very challenging. There are many options and each has their own pros and cons. We knew that analytics is the core of all our products. We use optimization in many parts of our code and we found Julia very handy and fast in optimization. So we selected Julia as our main programming language. Also, in many of our products, we combine machine learning and optimization. Julia is good at both of them. Other languages might be good in one of the two fields; for example, Python is convenient for machine learning, but we liked how Julia is good in combining these two fields. In addition to this, our company is growing fast and it was very important for us to minimize the onboarding process for our new hires. Julia is very convenient for writing well organized codes and it is easy to learn. This helped our new hires to get onboard as fast as we want. The other reason that we selected Julia is because Julia easily integrates with other programming languages. You can smoothly use Python code in your Julia code and this is very important when it comes to implementing complex algorithms that need to have parts already implemented in other programming languages.

We compared the speed of Julia in optimization with Python and we really liked the speed that Julia offers.

JuliaHub-Modeling-Platform-alpha-route-alpha-route-2-inlineFinally, according to Hanlon:

Our school bus route optimization work routinely reduces school district bus fleets by 10% to 30% - available either through our state-of-the-art software or through a consulting arrangement we call Routing as a Service. We are working with a district right now with a student body of less than 30,000 and we will likely reduce their fleet by about 14%, saving them an estimated $1.5M. This one example, on the smaller side of the districts we have worked with, could reduce the district’s carbon emissions by roughly 40,000 pounds per year. We worked with a much larger district earlier this year and showed them the potential to reduce their carbon footprint by more than 100 tons of CO2 each year.

On the transit side, our systems often generate a 15% to 30% increase in productivity (measured by trips per hour). For moderate-sized urban public transit agencies, serving more than 1 million trips per year, we typically generate $5 million in savings or more each year. Our algorithms also allow transit providers to intelligently outsource trips to external partners such as Uber and Lyft - a major breakthrough in this space.