STAFF SCHEDULING Burcu Felekoğlu 2000503024 Sema Eroğlu 1999503081 Yuri Volkov 2000503076
Overview What is Staff Scheduling? Types of Staff Scheduling Problems Application Areas Solution  T echniques Modeling Approach A Real Time Problem in USPS Expression in Lingo Discussion of Solution
What is Staff Scheduling? 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 .   The major challenge is  providing a reasonable labor cost and customer satisfaction while meeting this varying demand .
Types of Staff Scheduling Problems There are three kinds of staffing   problems S hift scheduling D ays-on scheduling problem Tour  scheduling problem
S hift  S cheduling   It includes finding the optimal crew size and assigning each member of the crew to various shifts during the day .
D ays-on scheduling   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.
T our scheduling   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.  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.
B reak window  A break must be given  in all shifts which are longer than a specific number of periods.  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.
Application Areas Some of application areas of staff scheduling are; Hospitals (especially in nurse scheduling)  Mail processing organizations  Hub of trucking systems  Airlines  Call centers  C atering and house keeping workforce in the hospitality industry
Solution  T echniques Integer linear programming ;  to achieve an optimal schedule,  H euristics ;  to reach good, if not optimal, solutions to very complex situations .   C ombinations of linear programming and heuristics.
Modeling Approaches Constraints Hard Constaints Soft Constaints Sequence  Constaints Incompatibility  Constaints
O bjectives C ost, F airness, S oft constraint violations
A Real Problem in USPS An employee works 8 ½  consecutive hours which includes a ½ h allowance for a lunch break.  The organization operates 24 h a day, 7 days a week.  The workday has 48 periods, each 30 min. long.
The model includes 9 different full-time shifts whose start times  are: 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
For e very worker   a break window of 4 periods   is assigned between 9 th  and 12 th  period. E ach worker works 5 days a week.   The goal is to minimize the total weekly cost of the workforce
Expression in Lingo SETS: days/sat, sun, mon, tue, wed, thu, fri/; shifts/1..9/ : start, total; periods/1..48/; shift_x_day(shifts, days): number; period_x_day(periods, days): required, breaks; covers(shifts, periods): cover; n_m_set/1..9/:n, m; ENDSETS
DATA: required = 4   4 7 7 7 7 6 7  4 9 9 10 10 9 6    4  8  8  9  9  8 ……………………………………… ; start = 1 3 5 17 19 21 28 30 32; n = 12 14 16 28 30 32 39 41 43; m = 9 11 13 25 27 29 36 38 40; ENDDATA
min = @sum(shifts(f):total(f));  (1)   @for(days(d): @for(periods(t): @sum(shifts(f):cover(f, t)*number(f, d)) -  breaks(t, d) >= required(t, d)));   (2) @for(shifts(f): total(f) >= 0.20*@sum(days(d):number(f, d)));   (3) @for(shifts(f): @for(days(d): total(f) >= number(f, d))); (4) @for(covers(f, t)|t #le# (start(f) + 16) #and# t #ge# start(f): cover(f, t) = 1);
@for(covers(f, t)|t #gt# (start(f) + 16) #or# t #lt# start(f) : cover(f, t) = 0); @for(cover(f, t)| t #ge# (start(f) + 8) #and# t #le# (start(f) + 11) : break_window(f, t) = 1); @for(cover(f, t)| t #lt# (start(f) + 8) #or# t #gt# (start(f) + 11) : break_window(f, t) = 0); @for(period_x_day(t, d) | @sum(shifts(f): break_window(f, t) #le# 0: breaks(t, d) = 0); @for(shifts(f):@gin(total(f))); (8) @for(shift_x_day(f, d):@gin(number(f, d))); (8)
@for(days(d):@sum(shifts(f):number(f, d)) = @sum(periods(t)| t #ge# 9 #and# t #le# 40: breaks(t, d))); (7) @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) @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)
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 )
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)
Thank You We wish you a happy  new year !

Staff Scheduling

  • 1.
    STAFF SCHEDULING BurcuFelekoğlu 2000503024 Sema Eroğlu 1999503081 Yuri Volkov 2000503076
  • 2.
    Overview What isStaff Scheduling? Types of Staff Scheduling Problems Application Areas Solution T echniques Modeling Approach A Real Time Problem in USPS Expression in Lingo Discussion of Solution
  • 3.
    What is StaffScheduling? 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 . The major challenge is providing a reasonable labor cost and customer satisfaction while meeting this varying demand .
  • 4.
    Types of StaffScheduling Problems There are three kinds of staffing problems S hift scheduling D ays-on scheduling problem Tour scheduling problem
  • 5.
    S hift S cheduling It includes finding the optimal crew size and assigning each member of the crew to various shifts during the day .
  • 6.
    D ays-on scheduling 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.
  • 7.
    T our scheduling 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. 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.
  • 8.
    B reak window A break must be given in all shifts which are longer than a specific number of periods. 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.
  • 9.
    Application Areas Someof application areas of staff scheduling are; Hospitals (especially in nurse scheduling) Mail processing organizations Hub of trucking systems Airlines Call centers C atering and house keeping workforce in the hospitality industry
  • 10.
    Solution Techniques Integer linear programming ; to achieve an optimal schedule, H euristics ; to reach good, if not optimal, solutions to very complex situations . C ombinations of linear programming and heuristics.
  • 11.
    Modeling Approaches ConstraintsHard Constaints Soft Constaints Sequence Constaints Incompatibility Constaints
  • 12.
    O bjectives Cost, F airness, S oft constraint violations
  • 13.
    A Real Problemin USPS An employee works 8 ½ consecutive hours which includes a ½ h allowance for a lunch break. The organization operates 24 h a day, 7 days a week. The workday has 48 periods, each 30 min. long.
  • 14.
    The model includes9 different full-time shifts whose start times are: 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.
    For e veryworker a break window of 4 periods is assigned between 9 th and 12 th period. E ach worker works 5 days a week. The goal is to minimize the total weekly cost of the workforce
  • 16.
    Expression in LingoSETS: days/sat, sun, mon, tue, wed, thu, fri/; shifts/1..9/ : start, total; periods/1..48/; shift_x_day(shifts, days): number; period_x_day(periods, days): required, breaks; covers(shifts, periods): cover; n_m_set/1..9/:n, m; ENDSETS
  • 17.
    DATA: required =4 4 7 7 7 7 6 7 4 9 9 10 10 9 6 4 8 8 9 9 8 ……………………………………… ; start = 1 3 5 17 19 21 28 30 32; n = 12 14 16 28 30 32 39 41 43; m = 9 11 13 25 27 29 36 38 40; ENDDATA
  • 18.
    min = @sum(shifts(f):total(f)); (1) @for(days(d): @for(periods(t): @sum(shifts(f):cover(f, t)*number(f, d)) - breaks(t, d) >= required(t, d))); (2) @for(shifts(f): total(f) >= 0.20*@sum(days(d):number(f, d))); (3) @for(shifts(f): @for(days(d): total(f) >= number(f, d))); (4) @for(covers(f, t)|t #le# (start(f) + 16) #and# t #ge# start(f): cover(f, t) = 1);
  • 19.
    @for(covers(f, t)|t #gt#(start(f) + 16) #or# t #lt# start(f) : cover(f, t) = 0); @for(cover(f, t)| t #ge# (start(f) + 8) #and# t #le# (start(f) + 11) : break_window(f, t) = 1); @for(cover(f, t)| t #lt# (start(f) + 8) #or# t #gt# (start(f) + 11) : break_window(f, t) = 0); @for(period_x_day(t, d) | @sum(shifts(f): break_window(f, t) #le# 0: breaks(t, d) = 0); @for(shifts(f):@gin(total(f))); (8) @for(shift_x_day(f, d):@gin(number(f, d))); (8)
  • 20.
    @for(days(d):@sum(shifts(f):number(f, d)) =@sum(periods(t)| t #ge# 9 #and# t #le# 40: breaks(t, d))); (7) @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) @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)
  • 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.
    8 7 81 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.
    Thank You Wewish you a happy new year !