Download presentation
Presentation is loading. Please wait.
1
Lafayette Crisis Center Scheduling System Project 2 1
2
Introduction Patryk Ozga, Computer Science, pozga@purdue.edupozga@purdue.edu Sahaj Saini, Computer Science, ssaini@purdue.edussaini@purdue.edu Richard Reasons, Computer Science, rreasons@purdue.edurreasons@purdue.edu LCC scheduling system 2
3
Agenda Partner Profile Project Specifications Approach – Algorithmic Choices Development and Testing Strategy Future Plans 3
4
Partner Profile Lafayette Crisis Center (LCC) – local crisis hotline 70+ volunteers/month 5x7 shifts per week 2 organizers Goal: replace manual scheduling LCC scheduling system 4
5
Scheduling System The problem is to create monthly schedules for volunteers at the Lafayette Crisis Centre The schedule must respect the scheduling constraints followed by the Lafayette Crisis Centre The schedule must be fair to the volunteers based on their preferences 5
6
Project History Project began in August 2009 Contact person at LCC is Jane McCann, Executive Director Designed to use Visual Basic and Python to generate a schedule based on volunteer preferences 6
7
Goals of the project We hope to use the scheduling software to: Create accurate and reliable results that will satisfy volunteers Eliminate continual reanalysis of scheduling data Keep scheduling familiar & simplified LCC scheduling system 7
8
Success Criteria Overall objective More efficient scheduling system that will save time and effort The schedule will accurately fit volunteers’ preferences Provide administrator with customizable final schedule LCC scheduling system 8
9
Project Specifications Provide input method for preferences Shift availability, requested hours, days off Restrict availability criteria Shift frequency, workers per shift Provide externally modifiable calendar 9 LCC scheduling system
10
Project Stage Analysis Project Background Conceptual Design Detail Design Delivery Service & Maintenance Current Status Conceptual Design Detail Design Delivery Service & Maintenance 10
11
Old Operational Overview LCC scheduling system 11
12
Previous Approach Non-integrated programming environment Python, Visual Basic Scripting requirements Non-Maintainable It would be hard to trace problems in case this code breaks Recovery would take a lot of time – might have to be done by different people who do not understand the code Non-extendable coding approach Algorithm itself non-extendable Future change in project specifications or other variables might break the code Current changes in project specifications are almost impossible to incorporate Rules out the possibility of extension to a Web-based version in the future 12 LCC scheduling system
13
New Approach Integrated programming environment C# Object-Oriented Robust Portable No Scripting requirements Extendable coding approach Implement new features Duplicate it to different organizations Extend to a web-based version 13 LCC scheduling system
14
New Operational Overview LCC scheduling system 14 GUI / Algorithm iCal
15
15
16
16
17
17
18
Constraints The 5-day constraint Volunteers should not be scheduled for more than 1 shift within any 5-day period. The days-off constraint Volunteers should not be scheduled for any shifts on their days off 18 LCC scheduling system
19
Constraints The 1-shift-a-month constraint Each volunteer should be scheduled for at least 1-shift a month, unless overridden by all days-off The must-work constraint Volunteers must be assigned to their must-work shifts if any 19 LCC scheduling system
20
Constraints The day-shift constraint No more than 2 volunteers should be assigned to day shifts. The night-shift constraint No more than 1 volunteer should be assigned to a night shift. The training-period constraint Volunteer under a training period i.e. who have worked fewer than 39 shifts, should be scheduled for at least 1-shift a week. 20 LCC scheduling system
21
Old Algorithm Hill Climbing Algorithm Nondeterministic Optimizes arbitrary scale Not suited for extensive constraints LCC scheduling system 21
22
New Algorithm Restricted Priority Algorithm Find Most Restrictive Shift Find Most Restrictive Volunteer for Shift Assign Volunteer to Shift Update Program State Iterate LCC scheduling system 22
23
Methodology Restrictiveness Stopping Criterion Inflation LCC scheduling system 23
24
Shift Restrictiveness Determined by the number of volunteers and their preferences for the shift (# of volunteers) * (sum of preferences for shift) LCC scheduling system 24
25
Volunteer Restrictiveness Determined by: Scheduled for at least one shift Number of Shifts per month Number of shifts per week Training period Weighted inflated preferences LCC scheduling system 25
26
Stopping Criterion All shifts are filled No more volunteers to assign Empty shifts conflict with volunteers’ preferences LCC scheduling system 26
27
Inflation Volunteers usually do not choose highest/lowest values in the preference range Need to normalize the preferences to schedule accurately Optimize the volunteer preference chart to give everyone a fair shot on being accurately scheduled LCC scheduling system 27
28
Testing Strategy - Algorithm Use multiple real data sets Estimate weights of restrictiveness parameters Generate calendars and analyze them for discrepancies Compare results between trials to perfect parameters 28
29
Testing Strategy - Calendars Generate calendars based off real volunteer data Test calendars against project specifications Meet with project partner to spot problems Iterate 29
30
30
31
31
32
Next Semester Implement re-designed algorithm Test and optimize the algorithm Test calendars against project specifications Deliver a prototype 32
33
Questions? LCC scheduling system 33
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.