Workforce Scheduling
description
Transcript of Workforce Scheduling
Operational Research & Management Operations Scheduling
Workforce Scheduling
1. Days-Off Scheduling
2. Shift Scheduling
3. Cyclic Staffing Problem (& extensions)
4. Crew Scheduling
Operational Research & Management Operations Scheduling
Topic 1
Days-Off Scheduling
Off-Days Scheduling:
“Scheduling workers who fall asleep on the job is not easy.”
Not
Operational Research & Management Operations Scheduling 3
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
Operational Research & Management Operations Scheduling 4
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
Operational Research & Management Operations Scheduling 5
Optimal Schedule
Algorithm for one week
Repeat for next week
Cyclic schedule when repeat
Operational Research & Management Operations Scheduling 6
Lower Bounds on Minimum Workforce W
Weekend constraint
Total demand constraint
Maximum daily demand constraint
1
12
712 ,maxB
kk
nnkW
2
7
15
1BnW
jj
3721 ,...,,max BnnnW
Operational Research & Management Operations Scheduling 7
Optimal Schedule
Define
First schedule weekends off (cyclic)
Furthermore,
Idea: Give W workers 2n days off during the week
7,1
6,...,2
,max
,,max
71
321
jnn
jnWu
nnn
BBBW
j
jj
nuj
j 27
1
Work both days!
Surplus when allworkers present
Operational Research & Management Operations Scheduling 8
Algorithm
Schedule weekends off
Determine additional off days (in pairs)
Categorize employees
Assign off-day pairs
Operational Research & Management Operations Scheduling 9
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
Sun Mon Tues Wed Thu Fri Satn(j) 1 0 3 3 3 3 2
35
15n
5
1
7
1j
j
32
2 x 3 W
Operational Research & Management Operations Scheduling 10
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 week 2 week 3 week 4S S M T W T F S S M T W T F S S M T W T F S S M T W T F
1 X X X X2 X X3 X X
Sun Mon Tues Wed Thu Fri Satsurplus 1 3 0 0 0 0 0
Week 11: off / on 12: on / off 13: on / on 2
X XX XXX X X
XX X X
X
X
X XXX
Operational Research & Management Operations Scheduling
Topic 2
Shift Scheduling
Operational Research & Management Operations Scheduling 12
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
),...,,( 21 mjjj aaa
1
1
min min
s.t.
0 0
n
j jj
n
ij j ii
j
c x c
a x b A
x
x
x b
x
Operational Research & Management Operations Scheduling 13
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
1 1 0 0 1 01 1 0 0 1 01 1 0 1 1 01 1 0 1 0 01 1 0 1 0 01 0 1 1 0 01 0 1 1 0 01 0 1 1 0 11 0 1 0 0 11 0 1 0 0 1
A
Operational Research & Management Operations Scheduling
Topic 3
Cyclic Staffing
(& extensions)
Operational Research & Management Operations Scheduling 15
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.
4 3
3
4
6
6
6
4
5
55
555
5
6
6
6
7
36
3
2
2
60
24
50
110
116
130
124
140
130
110
102
100
9672 96
98
90
80
58
20
18
24
3442
24
18
12
6
1
2
3
4
5
7
8
9
101113
14
15
16
17
19
20
21
22
23
# of agents needed
Call center agents
Operational Research & Management Operations Scheduling 16
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
Operational Research & Management Operations Scheduling 17
Integer Program Formulation
Shift patterns
(5, 7) example: 7 different patterns
1111100
0111110
0011111
1001111
1100111
1110011
1111001
A
Operational Research & Management Operations Scheduling 18
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
''' ,...,,21 nxxx
'''
21
'''21
......
......
21
21
nn
nn
xxxxxx
xxxxxx
Operational Research & Management Operations Scheduling 19
Example
(3,5)-cyclic staffing problem
Step 1:
7
4
6
4
3
11100
01110
00111
10011
11001
bA
1.5, 0, 4.5, 0, 2.5' ( )x
Operational Research & Management Operations Scheduling 20
Solution
Add together:
Step 2a: Add constraint:
– No feasible solution
Step 2b: Add constraint:
Solution:
5.85.205.405.1
854321 xxxxx
1 2 3 4 5 9x x x x x
2, 0, 4, 1, 2( )x Optimal
Operational Research & Management Operations Scheduling 21
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
Operational Research & Management Operations Scheduling 22
Example
Two days off in a week + no more than 6 consecutive workdays
1100
0011
0111
1111
1111
1010
1101
0111
0111
1111
1111
1111
1000
1000
A
Operational Research & Management Operations Scheduling 23
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
1 0 0\10\1 1 00 0\1 1
A
0 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 10 0 0 1 1 1 1 1 10 0 0 0 1 1 1 1 10 1 0 0 0 0 0 1 1 1 10 0 0 0 0 0 1 1 10 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 1
\
Operational Research & Management Operations Scheduling
Topic 44
Crew Scheduling
Operational Research & Management Operations Scheduling 25
Crew Scheduling
Have m jobs, say flight legs
Have n feasible combination of jobs a crew is permitted to do
1 2
3 45
6
6m
Set partitioningproblem
Operational Research & Management Operations Scheduling 26
Notation
Cost cj of round trip j
Define
otherwise0
tripround ofpart is leg if1 jiaij
otherwise0
selected is tripround if1 jx j
Operational Research & Management Operations Scheduling 27
Integer Program
1,0
1...
1...
1...
2211
2222121
1212111
j
nmnmm
nn
nn
x
xaxaxa
xaxaxa
xaxaxa
nnxcxcxc ...2211Minimize
Subject to
Operational Research & Management Operations Scheduling 28
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.
}1:{ lj
l xjJ
Operational Research & Management Operations Scheduling 29
Row Prices
Say that
is a set of feasible row prices if for
Cost of covering a job
1 2( , ,..., )l l l lm
1
mli ij j
i
a c
lJj
Operational Research & Management Operations Scheduling 30
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
2
2 1 1
1
m
i ij jij J
Z Z a c
m
ijijij ca
1
1
Operational Research & Management Operations Scheduling 31
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
Operational Research & Management Operations Scheduling 32
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
Operational Research & Management Operations Scheduling 33
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
B(i,t) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1B 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1C 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
R(i,t) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1B 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Operational Research & Management Operations Scheduling 34
Schedules that satisfy all wishes
X(i,t) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A 1 1 1 1 1 1 1 1 1 1 1 1 12B 1 1 2C 1 1
X(i,t) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A 1 1 1 1 1 5B 1 1 1 1 1 5C 1 1 1 1 1 5
X(i,t) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A 1 1 1 1 1 5B 1 1 1 1 1 5C 1 1 1 1 1 5
Operational Research & Management Operations Scheduling 35
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
it itX M i
itti tt
iti t
BM D i
B
Operational Research & Management Operations Scheduling 36
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
min
. .
0 of 1
additional constraints to create a fair schedule
it ijt ij ijti t j i j t
ijt itj
ijt ji
ijt
z r X w X
s t X B i t
X d j t
X