Our team is working with the Philadelphia School District to create software that will optimize the bus runs. The school district defines a run as a set of stops, the order of these stops, the number of students to pick up at each stop, and which school students are taken too.

For many years, the district has been plagued by a shortage of bus drivers which lengthens bus run times, has some students spending more than 2 hours on a bus, and results in some students arriving late to school or not at all.

The goal of optimization is to keep all runs under 90 minutes (thus minimizing the amount of time students are on the bus) and reduce the number of buses/bus drivers that are needed overall.

The school district has given us two core constraints: a student cannot be on a bus for more than two hours and bus capacity is currently fifty-five students.

What it does

Essentially, we have implemented an algorithm written in Python that takes as an input stop and school information in the form of an Excel file and returns optimized runs for a specific school.

How we built it

Using the integrated development environment Jupyter Notebook, we were able to implement our algorithm using numerous Python libraries, mainly the Google Maps API for time estimation.

Challenges we ran into

We have run into several challenges in the process of self learning. Being from Systems Engineering backgrounds, our team had to struggle through learning software engineering techniques needed to implement a fully functioning algorithm.

Accomplishments that we're proud of

We have successfully generate runs for over 6 schools. In our weekly meeting with the School District, we showcased the runs to the analysts, and we're proud to have generated runs that were extremely similar to the ones they generate by hand.

What's next for Team 21: No Student Left Behind

In the remainder of the school year we will be trying to improve our algorithm, and put it into a package that is usable by the school district for years to come. We will also explore implementing an "off the shelf" solution to compare our results with theirs.

Built With

Share this project: