operational research & managementoperations scheduling workforce scheduling 1.days-off...

36
Operational Research & Management Operations Scheduling Workforce Scheduling 1. Days-Off Scheduling 2. Shift Scheduling 3. Cyclic Staffing Problem (& extensions) 4. Crew Scheduling

Upload: molly-baker

Post on 03-Jan-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling

Workforce Scheduling

1. Days-Off Scheduling

2. Shift Scheduling

3. Cyclic Staffing Problem (& extensions)

4. Crew Scheduling

Page 2: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 3: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 4: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 5: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling 5

Optimal Schedule

Algorithm for one week

Repeat for next week

Cyclic schedule when repeat

Page 6: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 7: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 8: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling 8

Algorithm

Schedule weekends off

Determine additional off days (in pairs)

Categorize employees

Assign off-day pairs

Page 9: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 10: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 11: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling

Topic 2

Shift Scheduling

Page 12: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 13: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 14: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling

Topic 3

Cyclic Staffing

(& extensions)

Page 15: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& 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

Page 16: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 17: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 18: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 19: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 20: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 21: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 22: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 23: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

\

Page 24: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

Operational Research & Management Operations Scheduling

Topic 44

Crew Scheduling

Page 25: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 26: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 27: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 28: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 29: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 30: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 31: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 32: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 33: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 34: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 35: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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

Page 36: Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)

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