w7_workforce.ppt

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
Not
Off-Days Scheduling:
“Scheduling workers who fall asleep on
the job is not easy.”
Operational Research & Management
Operations Scheduling
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
3
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
4
Optimal Schedule

Algorithm for one week

Repeat for next week

Cyclic schedule when repeat
Operational Research & Management
Operations Scheduling
5
Lower Bounds on Minimum Workforce W

Weekend constraint
 k2 max n1 , n7 
W 
  B1
k2  k1


1 7

W    n j   B2
 5 j 1 

Total demand constraint

Maximum daily demand constraint
Operational Research & Management
W  max n1 , n2 ,..., n7   B3
Operations Scheduling
6
Optimal Schedule

Define
W  max B1 , B2 , B3 
n  max n1 , n7 
W  n j
uj  
 n  nj

j  2,...,6
j  1,7
Surplus when all
workers present
First schedule weekends off (cyclic)
7

Work both days!
Furthermore,
u
j 1
j
 2n
 Idea: Give W workers 2n days off during the week
Operational Research & Management
Operations Scheduling
7
Algorithm

Schedule weekends off

Determine additional off days (in pairs)

Categorize employees

Assign off-day pairs
Operational Research & Management
Operations Scheduling
8
Example - analysis

Data
n(j)

Sun Mon Tues Wed Thu
1
0
3
3
3
Fri
3
Sat
2
Bounds:
–
–
–
max(n1,...,n7) = 3,
then
1 7
 15 
  n j      3 , so
 5 j1
 5
W >= 3
W >= 3
 3 x 2
3
n = max(n1, n7) = 2, k1 = 1 and k2 = 3, so W  

 2 
Operational Research & Management
Operations Scheduling
9
Example - solution

Weekends off (one worker per weekend)
week 1
S S M
X X X
X
X X
1
2
3

T
W
T
T
W
T
F
week 3
S S M
X
X X
X X X
T
W
T
F
week 4
S S M
X X X
X
X X
T
W
T
F
Calculate 2n surplus days (in pairs)
surplus


F
week 2
S S M
X X
X X X
X
Sun Mon Tues Wed Thu
1
3
0
0
0
Fri
0
Sat
0
(Sun, Mon) and (Mon, Mon)
Weekly: assign pairs to worker
(or to pair of workers)
Operational Research & Management
Week 1
1: off / on
2: on / off
3: on / on
1
1
2
Operations Scheduling
10
Topic 2
Shift Scheduling
Operational Research & Management
Operations 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
min
s.t.


n
j 1
n
(a1 j , a2 j ,..., amj )
cj xj
a x j  bi
i 1 ij
xj  0
Operational Research & Management
min
cx
Ax  b
x0
Operations Scheduling
12
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
Operational Research & Management
1
1
1
1

A  1
1
1
1
1
1

1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
Operations Scheduling
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1 
13
Topic 3
Cyclic Staffing
(& extensions)
Operational Research & Management
Operations Scheduling
Call center agents
24
23
22
1
2
60
42
110
34
21
116
4
6
130
20
3
3
#24 of agents
needed
3
6
3
18
6
124
4
2
20
19
6
140
The outer ring shows the average
arriving intensity
at that hour.
7
5
2
24
3
6
18
The inner ring shows the number of
centralists necessary for that
particular arriving intensity.
6
130
6
17
4
4
110
7
58
6
16
50
102
5
5
80
5
5
100
5
15
5
5
90
96
98
72
14
9
96
10
13
Operational Research & Management
8
12
11
Operations Scheduling
15
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
16
Integer Program Formulation

Shift patterns

(5, 7) example: 7 different patterns
1
1

1

A  1
1

0
0

Operational Research & Management
0 0 1 1 1 1
1 0 0 1 1 1
1 1 0 0 1 1

1 1 1 0 0 1
1 1 1 1 0 0

1 1 1 1 1 0
0 1 1 1 1 1
Operations Scheduling
17
Solution


Solution to LP relaxation ‘almost right’
STEP 1: Solve LP relaxation to get
x1' , x '2 ,..., xn'
if integer STOP; otherwise continue

STEP 2: Formulate two new LPs with
x1  x2  ...  xn  x1'  x '2  ...  xn' 
x1  x2  ...  xn  x1'  x '2  ...  xn' 

The best integer solution is optimal
Operational Research & Management
Operations Scheduling
18
Example
(3,5)-cyclic staffing problem
1

1
A  1

0
0

Step 1:
0 0 1 1

1 0 0 1
1 1 0 0

1 1 1 0
0 1 1 1 
 3
 
 4
b   6
 
 4
7
 
x '  (1.5, 0, 4.5, 0, 2.5)
Operational Research & Management
Operations Scheduling
19
Solution

Add together: 1.5  0  4.5  0  2.5  8.5

Step 2a: Add constraint:
–
x1  x2  x3  x4  x5  8
No feasible solution

Step 2b: Add constraint:

Solution:
x1  x2  x3  x4  x5  9
x  ( 2, 0, 4, 1, 2)
Operational Research & Management
Optimal
Operations Scheduling
20
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
21
Example

Two days off in a week + no more than 6 consecutive workdays
0

0
1

1
1

1

1
A  
1

0
1

1
1

1

0
Operational Research & Management
0
0

1
0
0

1
1
1

1
1
1

1
1
1

1
1
1

0
1
1

0
0
1

1
1
0

1
1
1

1
1
1

1
1
1

0
1
0

0
0
1

1






















Operations Scheduling
22
Extension 2: Cyclic Staffing with Overtime

24-hour operation

8-hour shifts with up to 8 hour overtime
0 0\1
 1
A   0\1 1
0 
 0 0\1 1 



0
0
0
0
0
\
1

  0
0
0
0

1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
3 shifts without overtime + 8 shifts with overtime
Operational Research & Management
Operations Scheduling
23
Topic 44
Crew Scheduling
Operational Research & Management
Operations Scheduling
Crew Scheduling

Have m jobs, say flight legs

Have n feasible combination of jobs a crew is permitted to do
m6
2
1
5
3
4
6
Operational Research & Management
Set partitioning
problem
Operations Scheduling
25
Notation

Cost cj of round trip j

Define
1 if leg i is part of round trip j
aij  
otherwise
0
1 if round trip j is selected
xj  
otherwise
0
Operational Research & Management
Operations Scheduling
26
Integer Program
Minimize
Subject to
c1 x1  c2 x2  ...  cn xn
a11 x1  a12 x2  ...  a1n xn  1
a21 x1  a22 x2  ...  a2 n xn  1

am1 x1  am 2 x2  ...  amn xn  1
x j  0,1
Operational Research & Management
Operations Scheduling
27
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.
J l  { j : xlj  1}
Operational Research & Management
Operations Scheduling
28
Row Prices

Say that
 l  ( 1l ,  2l ,...,  ml )
is a set of feasible row prices if for
jJl
m

Cost of covering a job
Operational Research & Management
l

 i aij  c j
i 1
Operations Scheduling
29
Change Partition

Let Z1 (Z2) denote the objective value of partition 1 (2)
Z  Z     i1aij  c j 
m

Then
2
1
jJ 2 i 1
 j    i1aij  c j 
m

Potential savings of including column j is
i 1

If all negative then optimal
Operational Research & Management
Operations Scheduling
30
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
31
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
32
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)
A
B
C
1
1
1
1
2
1
1
1
3
1
1
1
4
1
1
1
5
1
1
1
6
1
1
1
7
1
1
1
8
1
1
1
9
1
1
1
10 11 12 13 14 15
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
R(i,t)
A
B
C
1
0
0
0
2
0
0
0
3
0
0
0
4
0
0
0
5
1
0
0
6
0
0
0
7
0
0
0
8
0
0
0
9
0
0
0
10 11 12 13 14 15
1 0 0 0 0 1
0 1 1 1 1 1
0 0 0 0 0 0
Operational Research & Management
Operations Scheduling
33
Schedules that satisfy all wishes
X(i,t) 1
A
1
B
C
2
1
X(i,t) 1
A
1
B
C
2
1
X(i,t) 1
A
B
1
C
2
1
3
1
4
1
5
6
1
7
1
8
1
9
1
10 11 12 13 14 15
1 1 1 1
1
1
6
1
7
8
9
10 11 12 13 14 15
1
3
1
4
1
5
1
1
1
1
1
1
3
4
1
5
1
1
Operational Research & Management
6
1
7
8
1
1
9
1
1
1
1
1
10 11 12 13 14 15
1
1
1
1
1
1
Operations Scheduling
12
2
1
5
5
5
5
5
5
34
More wishes, more constraints
X
 Mi
i

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
  t Bit
Mi  
  i  t Bit


t Dt 

t
it
i
Desk duties evenly spaced in time
Operational Research & Management
Operations Scheduling
35
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 z   i  t rit  j X ijt   i  j wij  t X ijt
s.t.
X
X
j
i
ijt
ijt
 Bit
it
 dj
jt
X ijt  0 of 1
additional constraints to create a fair schedule
Operational Research & Management
Operations Scheduling
36