Inspiration

Today, with 116 members, the University of Pennsylvania Police Department (UPPD) is the largest private police department in the Commonwealth of Pennsylvania. The main responsibilities of the UPPD include crime protection, abatement, and investigation. Our project is focused on improving the 10-hour shift schedule for the UPPD.

What it does

Our project generates schedules for six groupings of officers across a four week period.

How we built it

Our project is built on Python. Our current code first generates schedules for one officer across four weeks. Our second code filters these schedules down given certain constraints. Our next set of codes generates schedules for two, three, and four officers. Finally, our last code combines the four officer and two officer codes to generate schedules across six officers in a four week period. In every round of code, the schedules are filtered based on a series of constraints.

Challenges

Our largest challenge was with the Python software. Specifically, the way we originally designed our code generated schedules across all six officer groups before filtering. We did not anticipate that Python would have memory issues and long "run times." Changing the way we wrote our code helped our team overcome this challenge.

Accomplishments

At this stage in the process, we currently have 16,700 potential schedules for the afternoon shift, and we are continuing to filter these schedules down further.

What's next

Next semester, our team will focus on continuing to filter our schedules, expand our project to both the morning and overnight shifts, and potentially run a trial with the UPPD. We look forward to continuing working with the UPPD administration.

Built With

Share this project:

Updates