Presentation

The link to the presentation can be found here.

Abstract

The University of Pennsylvania Police Department (UPPD) is the largest private police department in the Commonwealth of Pennsylvania with 116 members. The main responsibilities of the UPPD are crime protection, abatement, and investigation within the patrolling zone. UPPD officers are required to work 40 hours per week. Officers currently work a morning shift (6AM – 4PM), afternoon shift (3PM – 1AM), or overnight shift (9PM – 7AM). Prior to November 2014, officers worked in 8-hour shifts, which meant that they were on duty for five days and off for two days each week. In November of 2014, the UPPD began a pilot program to test a 10-hour shift workday. However, they have faced a major challenge with the 10-hour shift schedule: there are not enough officers on duty at times when they are needed the most and a deficiency of officers on certain other days. There has been a problem with officers taking sick days when they are not actually sick, and the impact of each day off is greater with 10 hours than with 8 hours. Our project is focused on refining the 10-hour shift schedule to take into account all of the different stakeholders, including UPPD officers, UPPD management, and students, faculty, and other members of the West Philadelphia community.

Inspiration

When switching to the 10-hour shift, the UPPD cited benefits of the new shift, such as raising the number of days off in the week, increasing opportunities for overtime staffing, giving officers more flexibility to be subpoenaed for court, and allowing officers to have a healthier lifestyle, i.e. going to the gym and eating better. Additionally, studies from the National Institute of Justice suggest that “officers working 10-hour shifts averaged significantly more sleep” and reported “higher quality of work life than those working 8-hour shifts.” Further studies have shown that between 8, 10, and 12-hour shifts, 10-hour shifts have resulted in officers “working an average of 4.78 hours less per two-week period than those on eight-hour shifts,” representing potential cost savings for the UPPD due to greater scheduling efficiency.  The majority of UPPD officers enjoy the switch to the 10-hour workday; however, there has still been some dissatisfaction from management with the number of officers working on a given day and the impact of sick days.

What it does

Our code takes into account constraints for individual officers and management. For individual officers, each officer can work at most five days in a row and have at most three days off in a row. The officer must also get at least one full weekend off in a four week period plus an additional weekend day(s) off. Additionally, officers can only work 40 hours in a given week. For the multiple officer constraints, we wanted to make sure that each Friday, Saturday, and Sunday have enough officers working, as well as Thursday having more officers so that Thursdays can be used as training days.

The UPPD is deciding between selecting a four-week schedule that includes six or seven groups of schedules. The morning and afternoon shift are similar; however, the last-out shift differs due to the late timing of the shift.

How we built it

Our approach to refine the 10-hour shift schedule centers around the usage of Python scripting language in order to generate improved schedules in the eyes of the UPPD leadership and police officers. We used an indexing method to minimize run-time and memory storage constraints within Python. Instead of having to store the entire schedule through every iteration of the code, our indexing method allows for us to use a singular number rather than a multi-number array to refer to a specific schedule.

Challenges we ran into

Our main challenge with the code was runtime and Python memory. As described above, we solved this problem by using an indexing method. Another challenge was balancing the stakeholders differing opinions. Our project is unique in that we are working with an actual organization with many stakeholders, and so we needed to make sure that we were taking into account both the officers’ priorities (by working with the union), as well as the UPPD management’s opinions (by working with Captain Leddy and Maureen Rush). One main way that we overcame this challenge was by having in-person meetings with all stakeholders involved to make sure that everyone was on the same page. In addition to the direct stakeholders of this project, we also worked with three different sets of advisors.

Accomplishments that we're proud of

We are proud of being able to produce concrete results (in the form of schedules) that we were able to present to the UPPD management and officers/union representatitves. Additionally, we are proud that we got to work with a group that makes an impact and does so much for the University of Pennsylvania campus/student body.

What we learned

Our team had two main takeaways from this project. First, we learned how to apply our Systems Engineering approach to a new and very useful tool: Python. Most of our project was comprised of thinking about the problem from a high-level perspective before writing and implementing code, and thinking in advance about realistic constraints to our code. Our second main takeaway was learning how to work both as an efficient and effective team internally, as well as with an outside organization (UPPD Police). We learned about balancing different views and opinions, as well as coordinating with a very large set of stakeholders.

What's next for Team 1: Improving the 10-hour Shift for the UPPD

The next step for our team is to actually see the UPPD move forward with using the schedules that we produced for them. We have also been working on this project closely with Dr. Ridgeway who we will pass our codes off to in case the UPPD would like to continue to make changes to our constraints in the future after we graduate.

Built With

Share this project:

Updates