Staff Scheduling

6,440 views

Published on

STAFF SCHEDULING

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,440
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
171
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Staff Scheduling

  1. 1. STAFF SCHEDULING Burcu Felekoğlu 2000503024 Sema Eroğlu 1999503081 Yuri Volkov 2000503076
  2. 2. Overview <ul><li>What is Staff Scheduling? </li></ul><ul><li>Types of Staff Scheduling Problems </li></ul><ul><li>Application Areas </li></ul><ul><li>Solution T echniques </li></ul><ul><li>Modeling Approach </li></ul><ul><li>A Real Time Problem in USPS </li></ul><ul><li>Expression in Lingo </li></ul><ul><li>Discussion of Solution </li></ul>
  3. 3. What is Staff Scheduling? <ul><li>Staff scheduling problems are concerned with scheduling a workforce so as to meet demand which varies with the time of day and with the day of week . </li></ul><ul><li>The major challenge is providing a reasonable labor cost and customer satisfaction while meeting this varying demand . </li></ul>
  4. 4. Types of Staff Scheduling Problems <ul><li>There are three kinds of staffing problems </li></ul><ul><li>S hift scheduling </li></ul><ul><li>D ays-on scheduling problem </li></ul><ul><li>Tour scheduling problem </li></ul>
  5. 5. S hift S cheduling <ul><li>It includes finding the optimal crew size and assigning each member of the crew to various shifts during the day . </li></ul>
  6. 6. D ays-on scheduling <ul><li>This kind of scheduling requires to define the working days and not working days of employees in their work schedules in order to satisfy their days-off requirement. </li></ul>
  7. 7. T our scheduling <ul><li>It contains both shift scheduling and days-on scheduling and it provides to plan working days of each employee in a planned period which is covered by the schedule. </li></ul><ul><li>The objective of the tour scheduling problem is to find the least costly way to staff the system at the targeted levels by determining the ideal number of employees to be assigned to each feasible work schedule. </li></ul>
  8. 8. B reak window <ul><li>A break must be given in all shifts which are longer than a specific number of periods. </li></ul><ul><li>These breaks generally can start after a specific time and must finish before another specific time; in literature this interval is called as break window. </li></ul>
  9. 9. Application Areas <ul><li>Some of application areas of staff scheduling are; </li></ul><ul><li>Hospitals (especially in nurse scheduling) </li></ul><ul><li>Mail processing organizations </li></ul><ul><li>Hub of trucking systems </li></ul><ul><li>Airlines </li></ul><ul><li>Call centers </li></ul><ul><li>C atering and house keeping workforce in the hospitality industry </li></ul>
  10. 10. Solution T echniques <ul><li>Integer linear programming ; to achieve an optimal schedule, </li></ul><ul><li>H euristics ; to reach good, if not optimal, solutions to very complex situations . </li></ul><ul><li>C ombinations of linear programming and heuristics. </li></ul>
  11. 11. Modeling Approaches <ul><li>Constraints </li></ul><ul><li>Hard Constaints </li></ul><ul><li>Soft Constaints </li></ul><ul><li>Sequence Constaints </li></ul><ul><li>Incompatibility Constaints </li></ul>
  12. 12. <ul><li>O bjectives </li></ul><ul><li>C ost, </li></ul><ul><li>F airness, </li></ul><ul><li>S oft constraint violations </li></ul>
  13. 13. A Real Problem in USPS <ul><li>An employee works 8 ½ consecutive hours which includes a ½ h allowance for a lunch break. </li></ul><ul><li>The organization operates 24 h a day, 7 days a week. </li></ul><ul><li>The workday has 48 periods, each 30 min. long. </li></ul>
  14. 14. <ul><li>The model includes 9 different full-time shifts whose start times are: </li></ul>8:30, 9:30,10:30 (p.m.) 3:00, 4:00, 5:00 (p.m.) 8 ½ hour (17 periods) 7:00, 8:00, 9:00 (a.m.) Full time Shift Length Start Times Shift Type
  15. 15. <ul><li>For e very worker a break window of 4 periods is assigned between 9 th and 12 th period. </li></ul><ul><li>E ach worker works 5 days a week. </li></ul><ul><li>The goal is to minimize the total weekly cost of the workforce </li></ul>
  16. 16. Expression in Lingo <ul><li>SETS: </li></ul><ul><li>days/sat, sun, mon, tue, wed, thu, fri/; </li></ul><ul><li>shifts/1..9/ : start, total; </li></ul><ul><li>periods/1..48/; </li></ul><ul><li>shift_x_day(shifts, days): number; </li></ul><ul><li>period_x_day(periods, days): required, breaks; </li></ul><ul><li>covers(shifts, periods): cover; </li></ul><ul><li>n_m_set/1..9/:n, m; </li></ul><ul><li>ENDSETS </li></ul>
  17. 17. <ul><li>DATA: </li></ul><ul><li>required = </li></ul><ul><li>4 4 7 7 7 7 6 </li></ul><ul><li>7 4 9 9 10 10 9 </li></ul><ul><li>6 4 8 8 9 9 8 </li></ul><ul><li>……………………………………… ; </li></ul><ul><li>start = 1 3 5 17 19 21 28 30 32; </li></ul><ul><li>n = 12 14 16 28 30 32 39 41 43; </li></ul><ul><li>m = 9 11 13 25 27 29 36 38 40; </li></ul><ul><li>ENDDATA </li></ul>
  18. 18. <ul><li>min = @sum(shifts(f):total(f)); (1) </li></ul><ul><li>@for(days(d): @for(periods(t): @sum(shifts(f):cover(f, t)*number(f, d)) - breaks(t, d) >= required(t, d))); (2) </li></ul><ul><li>@for(shifts(f): total(f) >= 0.20*@sum(days(d):number(f, d))); (3) </li></ul><ul><li>@for(shifts(f): @for(days(d): total(f) >= number(f, d))); (4) </li></ul><ul><li>@for(covers(f, t)|t #le# (start(f) + 16) #and# t #ge# start(f): cover(f, t) = 1); </li></ul>
  19. 19. <ul><li>@for(covers(f, t)|t #gt# (start(f) + 16) #or# t #lt# start(f) : cover(f, t) = 0); </li></ul><ul><li>@for(cover(f, t)| t #ge# (start(f) + 8) #and# t #le# (start(f) + 11) : break_window(f, t) = 1); </li></ul><ul><li>@for(cover(f, t)| t #lt# (start(f) + 8) #or# t #gt# (start(f) + 11) : break_window(f, t) = 0); </li></ul><ul><li>@for(period_x_day(t, d) | @sum(shifts(f): break_window(f, t) #le# 0: breaks(t, d) = 0); </li></ul><ul><li>@for(shifts(f):@gin(total(f))); (8) </li></ul><ul><li>@for(shift_x_day(f, d):@gin(number(f, d))); (8) </li></ul>
  20. 20. <ul><li>@for(days(d):@sum(shifts(f):number(f, d)) = @sum(periods(t)| t #ge# 9 #and# t #le# 40: breaks(t, d))); (7) </li></ul><ul><li>@for(days(d):@for(n_m_set(i):@sum(periods(t)|t #ge# 9 #and# t #le# n(i):breaks(t, d)) >= @sum(shifts(f)|(start(f) + 8) #ge# 9 #and# (start(f) + 11) #le# n(i): number(f, d)))); (5) </li></ul><ul><li>@for(days(d):@for(n_m_set(i):@sum(periods(t)|t #ge# m(i) #and# t #le# 40:breaks(t, d)) >= @sum(shifts(f)|(start(f) + 8) #ge# m(i) #and# (start(f) + 11) #le# 40: number(f, d)))); (6) </li></ul>
  21. 21. Discussion of Solution. 34 33 33 30 30 7 26 39 9 5 11 10 10 8 1 7 11 8 8 8 9 7 9 4 2 10 7 9 8 10 10 10 1 2 10 6 2 9 9 9 9 6 1 9** 5 21 18 16 13 13 3 21 21 4 6 5 7 7 7 1 2 7 3 3 3 0 4 0 3 4 4 2 11 14 15 9 13 4 9* 15 1 Fri Thu Wed Tue Mon Sun Sat Number of employees working on each weekday( d ) ( x fd ) Total Enrolled ( w f ) Shift Type ( f )
  22. 22. 8 7 8 1 6 13 8 6 9 8 7 1 6 12 8 9 9 8 1 6 11 15 15 13 14 9 10 13 15 14 14 3 10 9 8 1 Fri Thu Wed Tue Mon Sun Sat Number of breaks initiated on period ( t) on each weekday( d ) (  fd ) Periods (t)
  23. 23. <ul><li>Thank You </li></ul><ul><li>We wish you a happy </li></ul><ul><li>new year ! </li></ul>

×