1 / 33

Lafayette Crisis Center Scheduling System

Lafayette Crisis Center Scheduling System. Project 2. Introduction. LCC scheduling system. Patryk Ozga , Computer Science, pozga@purdue.edu Sahaj Saini , Computer Science, ssaini@purdue.edu Richard Reasons , Computer Science, rreasons@purdue.edu. Agenda. Partner Profile

selene
Download Presentation

Lafayette Crisis Center Scheduling System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lafayette Crisis Center Scheduling System Project 2

  2. Introduction LCC scheduling system • PatrykOzga, Computer Science, pozga@purdue.edu • SahajSaini, Computer Science, ssaini@purdue.edu • Richard Reasons, Computer Science, rreasons@purdue.edu

  3. Agenda • Partner Profile • Project Specifications • Approach – Algorithmic Choices • Development and Testing Strategy • Future Plans

  4. Partner Profile LCC scheduling system • Lafayette Crisis Center (LCC) – local crisis hotline • 70+ volunteers/month • 5x7 shifts per week • 2 organizers Goal: replace manual scheduling

  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

  6. Project History • Project began in August 2009 • Contact person at LCC isJane McCann, Executive Director • Designed to use Visual Basic and Python to generate a schedule based on volunteer preferences

  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

  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

  9. Project Specifications LCC scheduling system • Provide input method for preferences • Shift availability, requested hours, days off • Restrict availability criteria • Shift frequency, workers per shift • Provide externally modifiable calendar

  10. Project Stage Analysis Project Background Current Status Conceptual Design Detail Design Delivery Service & Maintenance • Conceptual Design • Detail Design • Delivery • Service & Maintenance

  11. Old Operational Overview LCC scheduling system

  12. Previous Approach LCC scheduling system • 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

  13. New Approach LCC scheduling system • 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

  14. New Operational Overview LCC scheduling system iCal GUI / Algorithm

  15. Constraints LCC scheduling system • 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

  16. Constraints LCC scheduling system • 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

  17. Constraints LCC scheduling system • 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.

  18. Old Algorithm Hill Climbing Algorithm Nondeterministic Optimizes arbitrary scale Not suited for extensive constraints LCC scheduling system

  19. 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

  20. Methodology Restrictiveness Stopping Criterion Inflation LCC scheduling system

  21. Shift Restrictiveness Determined by the number of volunteers and their preferences for the shift (# of volunteers) * (sum of preferences for shift) LCC scheduling system

  22. 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

  23. Stopping Criterion All shifts are filled No more volunteers to assign Empty shifts conflict with volunteers’ preferences LCC scheduling system

  24. 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

  25. 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

  26. Testing Strategy - Calendars • Generate calendars based off real volunteer data • Test calendars against project specifications • Meet with project partner to spot problems • Iterate

  27. Next Semester • Implement re-designed algorithm • Test and optimize the algorithm • Test calendars against project specifications • Deliver a prototype

  28. Questions? LCC scheduling system

More Related