lafayette crisis center scheduling system

33
Lafayette Crisis Center Scheduling System Project 2 1

Upload: selene

Post on 24-Feb-2016

36 views

Category:

Documents


1 download

DESCRIPTION

Lafayette Crisis Center Scheduling System. Project 2. Introduction. LCC scheduling system. Patryk Ozga , Computer Science, [email protected] Sahaj Saini , Computer Science, [email protected] Richard Reasons , Computer Science, [email protected]. Agenda. Partner Profile - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lafayette Crisis Center Scheduling System

Lafayette Crisis Center Scheduling System

Project 2

1

Page 2: Lafayette Crisis Center Scheduling System

Introduction Patryk Ozga, Computer Science, [email protected] Sahaj Saini, Computer Science, [email protected] Richard Reasons, Computer Science, [email protected]

LCC scheduling system

2

Page 3: Lafayette Crisis Center Scheduling System

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

3

Page 4: Lafayette Crisis Center Scheduling System

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

Page 5: Lafayette Crisis Center Scheduling System

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

Page 6: Lafayette Crisis Center Scheduling System

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

Page 7: Lafayette Crisis Center Scheduling System

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

Page 8: Lafayette Crisis Center Scheduling System

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

Page 9: Lafayette Crisis Center Scheduling System

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

Page 10: Lafayette Crisis Center Scheduling System

Project Stage Analysis

Project Background

Conceptual Design Detail Design Delivery Service & Maintenance

Current Status

Conceptual Design Detail Design Delivery Service & Maintenance

10

Page 11: Lafayette Crisis Center Scheduling System

Old Operational OverviewLCC scheduling

system

11

Page 12: Lafayette Crisis Center Scheduling System

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

LCC scheduling system

Page 13: Lafayette Crisis Center 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

LCC scheduling system

Page 14: Lafayette Crisis Center Scheduling System

New Operational OverviewLCC scheduling

system

14

GUI / Algorithm

iCal

Page 15: Lafayette Crisis Center Scheduling System

15

CRISIS CENTER VOLUNTEER AVAILABILITY FORM My availability for Crisis Center shifts as shown on this form begins on the 1st of (month) October, 2010 and will be the same unless I submit a new one.

Volunteer’s Name Bob B. Date 9/ 17/ 11 Vols Phone #(s) (H) (W) (C)

IMPORTANT POLICY INFORMATION! 1. Volunteers who have not yet completed 39 shifts are committed to working one scheduled shift weekly (or one

overnight shift every other week) and must have an active availability form on file with the Volunteer Coordinator. 2. To remain active, volunteers who have completed at least 39 shifts, are required to work 6 shifts within 6 months (at

least one per month would be best). If you choose to sign on, please indicate this on your availability form and sign on by the first of each month.

3. An availability form remains in effect until a new one is submitted. All vols must turn in availability forms unless arranged previously with staff.

4. Fill out your availability carefully. It is possible that you may be scheduled in a slot that contains a "1". If you cannot work the shift, put a "0" in the slot. The scheduler tries to honor all "3" shifts but it is not always possible.

5. Write in any special requests for shifts; i.e., dates you will not be available due to holidays and/or vacations. # of shifts wanting to work in the week (Circle one): 1 2 3 4+ # of shifts wanting to work in a month (Circle one): 1 2 3 4+ Special Requests: I can't work October 17th-19th Instructions: Make sure you put one of the following code numbers into each and every slot below. Leave no slots empty or they will be considered as a "2".

0 = I can NOT work this shift; don't schedule me for it. 1 = I can work this shift but would prefer not to. 2 = I can work this shift. 3 = I would prefer to work this shift.

11:45pm - 8 am 8 am - noon noon - 4 pm 4 pm - 8 pm 8 pm – mid

Monday

0 0 0 0 0

Tuesday

0 0 0 0 3

Wednesday

0 0 0 0 2

Thursday

0 0 0 0 3

Friday

0 0 0 0 1

Saturday

0 0 0 0 0

Sunday

0 0 0 0 0

Revised 1/94 as per Town Hall policy revisions

Page 16: Lafayette Crisis Center Scheduling System

16

Page 17: Lafayette Crisis Center Scheduling System

17

Page 18: Lafayette Crisis Center Scheduling System

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

LCC scheduling system

Page 19: Lafayette Crisis Center 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

LCC scheduling system

Page 20: Lafayette Crisis Center 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.

LCC scheduling system

Page 21: Lafayette Crisis Center Scheduling System

Old Algorithm

Hill Climbing Algorithm Nondeterministic Optimizes arbitrary scale Not suited for extensive constraints

LCC scheduling system

21

Page 22: Lafayette Crisis Center Scheduling System

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

Page 23: Lafayette Crisis Center Scheduling System

Methodology

Restrictiveness Stopping Criterion Inflation

LCC scheduling system

23

Page 24: Lafayette Crisis Center Scheduling System

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

Page 25: Lafayette Crisis Center Scheduling System

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

Page 26: Lafayette Crisis Center Scheduling System

Stopping Criterion

All shifts are filled No more volunteers to assign Empty shifts conflict with volunteers’ preferences

LCC scheduling system

26

Page 27: Lafayette Crisis Center Scheduling System

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

Page 28: Lafayette Crisis Center Scheduling System

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

Page 29: Lafayette Crisis Center Scheduling System

Testing Strategy - Calendars Generate calendars based off real volunteer data

Test calendars against project specifications

Meet with project partner to spot problems

Iterate

29

Page 30: Lafayette Crisis Center Scheduling System

30

Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14 Week 15Study project historyMeet with project partnerDetermine current shortcomingsEstablish semester goalsReplace file format with JSONImplement JSON parserAssess algorithm viabilitiesDebug scheduled days off Debug shift frequency standardsAssess project delivery viabilityGUI and Algorithm refinementAssess project partner opinionPlan future web-based scheduler

Page 31: Lafayette Crisis Center Scheduling System

31

Week 10 Week 11 Week 12 Week 13 Week 14 Week 15Discuss re-designing the algorithmCode the data structuresLaid out database schemaPort GUI Design Restricted Priority AlgorithmDesign Shift RestrictivenessDesign Volunteer RestrictivenessPrepare for Design Review

Page 32: Lafayette Crisis Center Scheduling System

Next Semester

Implement re-designed algorithm Test and optimize the algorithm Test calendars against project specifications Deliver a prototype

32

Page 33: Lafayette Crisis Center Scheduling System

Questions?

LCC scheduling system

33