440 likes | 938 Views
Workforce Scheduling. 1. Days-Off Scheduling 2. Shift Scheduling 3. Cyclic Staffing Problem (& extensions) 4. Crew Scheduling. Off-Days Scheduling: “Scheduling workers who fall asleep on the job is not easy.”. Topic 1. Days-Off Scheduling. Not. Days-Off Scheduling.
E N D
Workforce Scheduling 1. Days-Off Scheduling 2. Shift Scheduling 3. Cyclic Staffing Problem (& extensions) 4. Crew Scheduling
Off-DaysScheduling: “Scheduling workers who fall asleep on the job is not easy.” Topic 1 Days-Off Scheduling Not
Days-Off Scheduling • Number of workers assigned to each day • Fixed size of workforce • Problem: find minimum number of employees to cover a weeks operation
Constraints • Demand per day nj, j = 1,2,…,7 • k1 out of every k2 weekends (day 1 & 7) off • Work 5 out of 7 days • Work no more than 6 consecutive days
Optimal Schedule • Algorithm for one week • Repeat for next week • Cyclic schedule when repeat
Lower Bounds on Minimum Workforce W • Weekend constraint • Total demand constraint • Maximum daily demand constraint
Optimal Schedule • Define • First schedule weekends off (cyclic) • Furthermore, Idea: Give W workers 2n days off during the week Work both days! Surplus when all workers present
Algorithm • Schedule weekends off • Determine additional off days (in pairs) • Categorize employees • Assign off-day pairs
Example - analysis • Data • Bounds: • max(n1,...,n7) = 3, then W >= 3 • , so W >= 3 • n = max(n1, n7) = 2, k1 = 1 and k2 = 3, so
Example - solution • Weekends off (one worker per weekend) • Calculate 2n surplus days (in pairs) • (Sun, Mon) and (Mon, Mon) • Weekly: assign pairs to worker (or to pair of workers) Week 1 1: off / on 1 2: on / off 1 3: on / on 2
Topic 2 Shift Scheduling
Shift Scheduling • Fixed cycle of length m periods • Have bi people assigned to ith period • Have n shift patterns: • Cost cj of assigning a person to shift j • Integer decision variable: xj = # people assigned to j
Solution • NP-hard in general • Special structure in shift pattern matrix • Solve LP relaxation • Solution always integer when each column contains a contiguous set of ones
Topic 3 Cyclic Staffing (& extensions)
24 23 1 22 2 60 42 110 34 21 116 3 24 4 3 6 3 130 20 6 3 4 18 6 2 124 20 19 6 5 2 140 The outer ring shows the average arriving intensity at that hour. The inner ring shows the number of centralists necessary for that particular arriving intensity. 24 7 3 6 18 6 130 4 50 6 17 4 7 110 58 6 5 16 102 5 8 80 5 5 5 100 5 5 90 15 9 96 98 72 96 14 10 13 11 12 Call center agents # of agents needed
Cyclic Staffing Problem • An m-period cyclic schedule (e.g. 24 hours a day) • Minimize cost • Constraint bi for ith period • Each worker works for k consecutive periods and is free for the next m-k • Example: (5, 7)-cyclic staffing problem
Integer Program Formulation • Shift patterns • (5, 7) example: 7 different patterns
Solution • Solution to LP relaxation ‘almost right’ • STEP 1: Solve LP relaxation to get if integer STOP; otherwise continue • STEP 2: Formulate two new LPs with • The best integer solution is optimal
Example (3,5)-cyclic staffing problem Step 1:
Optimal Solution • Add together: • Step 2a: Add constraint: • No feasible solution • Step 2b: Add constraint: • Solution:
Extension 1: Days-Off Scheduling • We can represent our days-off scheduling problem as a cyclic staffing problem as long as we can determine all the shift patterns • Difficulty 1: unknown cycle length • Difficulty 2: many patterns larger problem
Example • Two days off in a week + no more than 6 consecutive workdays
Extension 2: Cyclic Staffing with Overtime • 24-hour operation • 8-hour shifts with up to 8 hour overtime • 3 shifts without overtime + 8 shifts with overtime
Topic 44 Crew Scheduling
Crew Scheduling • Have m jobs, say flight legs • Have n feasible combination of jobs a crew is permitted to do 2 1 5 4 3 Set partitioning problem 6
Notation • Cost cj of round trip j • Define
Integer Program Minimize Subject to
Set Partitioning • Constraints called partitioning equations • The positive variables in a feasible solution called a partition • NP-Hard • Well studied like TSP, graph-coloring, bin-packing, etc.
Row Prices • Say that is a set of feasible row prices if for • Cost of covering a job
Change Partition • Let Z1 (Z2) denote the objective value of partition 1 (2) • Then • Potential savings of including column j is • If all negative then optimal
Heuristic • Start with some partition • Construct a new partition as follows: • Find the column with highest potential savings • Include this column in new partition • If all jobs covered stop; otherwise repeat
Helpdesk (KPN) • 18 employees (= 15 in DH + 3 in G) • 6 required at desk (= 5 in DH + 1 in G) • 5 in DH (= 2 early + 3 late shift) • Wishes (soft constraints) • holiday • other duties • preference for early shif • preference for late shift • determine schedule for the next 8 weeks: • that is fair • satisfies all wishes as much as possible
Helpdesk model Groningen • bit: person i is available at day t (no holiday) • rit: person i has other duties at day t • xit: person i has desk duty at day t
More wishes, more constraints • All have same number of desk duties • May conflict with other wishes, e.g. request for duty free days • Holidays may not lead to relatively more desk duties • Desk duties evenly spaced in time
Helpdesk model Leidschendam • bit: person i is available at day t (no holiday) • rit: person i has other duties at day t • wij: person i prefers shift j • xijt: person i has desk duty at day t and shift j