lafayette crisis center scheduling system

Post on 24-Feb-2016

36 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Lafayette Crisis Center Scheduling System

Project 2

1

Introduction Patryk Ozga, Computer Science, pozga@purdue.edu Sahaj Saini, Computer Science, ssaini@purdue.edu Richard Reasons, Computer Science, rreasons@purdue.edu

LCC scheduling system

2

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

3

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

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

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

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

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

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

Project Stage Analysis

Project Background

Conceptual Design Detail Design Delivery Service & Maintenance

Current Status

Conceptual Design Detail Design Delivery Service & Maintenance

10

Old Operational OverviewLCC 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

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

LCC scheduling system

New Operational OverviewLCC scheduling

system

14

GUI / Algorithm

iCal

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

16

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

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

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.

LCC scheduling system

Old Algorithm

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

LCC scheduling system

21

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

Methodology

Restrictiveness Stopping Criterion Inflation

LCC scheduling system

23

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

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

Stopping Criterion

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

LCC scheduling system

26

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

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

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

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

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

Next Semester

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

32

Questions?

LCC scheduling system

33

top related