1 Contents College 9 Chapter 9 additional (sheets): –workforce planning –resource loading

Preview:

Citation preview

1

Contents College 9

• Chapter 9• additional (sheets):

– workforce planning– resource loading

2

Hierarchical capacity planning

StrategicAggregate/ strategic planning

Resource loading

Scheduling

Tactical

Operational

Rough-cut process planning

Engineering & process planning

3

Workforce planning• Strategic level: workforce planning

– hiring/firing staff– training staff

• Tactical level: resource loading– planning overtime work– hiring temporary staff (e.g. Randstad)– subcontracting

• Operational level: workforce scheduling– staffing– shift scheduling– days-off scheduling

Long termdecisions

Intermediateterm

decisions

Short termdecisions

4

Capacity planningsolution techniques

• (Strategic) workforce planning: – linear programming

• (Tactical) resource loading:– integer linear programming– stochastic techniques

• (Operational) workforce scheduling:– integer linear programming– cyclic staffing algorithms

5

Workforce planning LP model(1 product, various machines)

• Demand forecast: sales (St) restriction:

• Machine capacity restriction (machine j):

aj = production time on machine j

cjt = capacity machine j in period t

Xt = amount produced in period t

t)( ddemandd tt

t)( dSd ttt

t),j( cXa jttj

6

• Inventory balance restrictions:It = inventory in period t

• Workforce balance restrictions (operators):Wt = workforce in period t (initial

workforce=w)Ht = hired workforce in period t

Ft = fired workforce in period t

1)t( SXII

0I

tt1-tt

0

Workforce planning LP model (cont.)

1)(t FHWW

wW

tt1-tt

0

7

Workforce planning LP model (cont.)

• Operator capacity restriction (machine j):b = man-hours required to produce one itemWt = Workforce in period t

Ot = Overtime in period t

Xt = amount produced in period t

• objective: maximize net profit, including labor, overtime, inventory, hiring/firing costs

t),j( OWbX ttt

8

Workforce planning LP model overview

t)( 0F,H,W,O,I,S,X

t)( OWbX

wW 1);(t FHWW

0I 1);(t SXII

t),j( cXa

t)( dSd

:tosubject

FfHhOoWwIiSsmax

ttttttt

ttt

0tt1tt

0tt1tt

jttj

ttt

T

1ttttttt

t in workforce firedF

t in workforce hired H

t in overtime O

t in workforceW

t of endat inventory I

t in soldamount S

t in productionX

periodt machine,j

t

t

t

t

t

t

t

9

Resource loading example:furniture manufacturer

Furniture manufacturer:• Produces large quantities of furniture to order• Mostly standard products (manufacture-to-

order)• 6 production activities:

1. Sawmilling (S)2. Assembly (A)3. Cleaning (C)4. Painting (P)5. Decoration (D)6. Quality control

(Q)

10

Resource loading example (cont.)

Order acceptance:

• Sales department negotiates prices & due dates (i.e. delivery dates) with customers

• Given are for each department:– available machine capacity (in hours per week)– operator capacity per week (regular & overtime)

11

Resource loading example (cont.)

example dataprocessing times (hours)customer

order1 2 3 4 5 6

duedate

(week)

1 S (37) A (19) C (14) D (32) Q (5) 72 S (18) A (12) C (15) P (10) D (14) Q (10) 83 S (20) A (21) C (17) Q (8) 54 A (10) C (25) D (16) Q (7) 55 S (16) A (33) C (14) P (16) D (15) Q (9) 96 S (36) A (16) C (20) P (15) D (15) Q (10) 97 S (15) A (10) C (15) P (15) D (20) Q (10) 6

S A C P D Q

Example customer order:

12

Resource loading questions

During order acceptance, for any given set of orders, these questions need to be answered:

• When should orders be released for production?• Can the delivery dates be met?• How much operator & machine capacity is

required per department per week?• Is irregular capacity (e.g. overtime work,

subcontracting) required?

This problem is the so-called resource loading problem

13

Resource loading example (cont.)

loading method of planner

• customer order consists of x jobs, each corresponding to a production activity

• lead time = 1 week per job• operator and machine capacity

check per department• repair plan, if infeasible• let each department solve their

scheduling problem

duedate

(week)

numberof jobs

starttime

(week)7 5 38 6 35 4 25 4 29 6 49 6 46 6 1

Machine capacity check for D-department:

Machine capacity check for Q-department:

0

5

10

15

20

25

30

35

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7hours

weeks

1

24

5

67

0

2

4

6

8

10

12

14

16

18

20

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7

hours

weeks

3

1

24

5

67

Optimal loading of D-department:

Machine capacity check for D-department:

0

5

10

15

20

25

30

35

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7hours

weeks

1

24

5

67

0

5

10

15

20

25

30

35

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7

hours

weeks

1

67

7

5

1

2

4

Optimal loading of Q-department:

Machine capacity check for Q-department:

0

2

4

6

8

10

12

14

16

18

20

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7hours

weeks

3

1

24

5

67

0

2

4

6

8

10

12

14

16

18

20

0 1 2 3 4 5 6 7 8 9

order1

order2

order3

order4

order5

order6

order7

weeks

hours

3

1

24

5

67

17

Repairing an infeasible plan

Tardy orders may induce penalty costs

Options to come to a feasible plan:• Shift jobs in time; split jobs over 2 or more

weeks• Increase order lead time• Expand operator capacity (overtime, hiring

staff)• Subcontracting jobs or entire orders

18

Resource loading problemsformal description

• Production system: job shop with operators and machine groups

• Demand: a predefined set of orders that consist of jobs• Time horizon/time unit: T periods (=weeks) / hours• Order constraints: release and due dates (weeks)• Job constraints:

– Pre-emption is allowed– Precedence relations (generic)– Machine and operator requirement (hours)– Optional: one-job-per-order-per-week production

policy– Minimal duration

19

Resource loading problems (cont.)

formal description• Resource capacity constraints:

– Operator capacity: regular, overtime, hiring, subcontracting

– Machine group capacity: regular

• Objective: assign jobs to machines and operators, and:

minimize the cost of the use of non-regular capacity

20

Resource loadingModel formulation

Order plan: indicates per job per order per week whether this job may be processed in that week

Input for the model as binary columns

Order schedule: indicates per job per order per week the fraction that is assigned to that week

Output of the model; must match with order plan

21

Resource loadingModel formulation (cont.)

Order plan represented by a binary column:

1

2

3

22

Resource loadingModel objective

Select one order plan per order, and determine the corresponding order schedule. Minimize the use of non-regular capacity.

PROBLEM: there are exponentially many feasible order plans

SOLUTION: column generation approach

23

Column generation algorithm

Add column

s to RLP

SolveRestricted

Linear Program (RLP)

Solve pricing algorithm

Columns exist with negative reduced

costs?

LP relaxation solved

yes

no

24

Model formulation (cont.)MILP model for resource

loadingminimize

t mmtttttt SsHhOo )(

0,,,,

)(

),(

),(1

),,(

)(1

,

}|,{

jkmtttbjt

mmttt

jbtbjtbj

monbjb

mtmtbjtbj

tbjt

kjkbjtkbjt

kjk

XSHOF

tSHOcFp

tmmcSFp

jbF

tjbXaF

jX select order plan

match order schedule with order

planall work must be

donemachine capacity

restrictionoperator capacity

restriction

objective function

subject to:

variable restrictions

25

Workforce scheduling topics (chapter 9)

• Days-off scheduling– assigning employees to work-patterns– various assignment patterns over the cycle

• Shift scheduling– assigning employees to shift-patterns– each shift has its own cost– objective: minimize cost

• Cyclic staffing problem & extensions– assigning people to m-period cyclic schedule, so

that requirement in each period is met• Crew scheduling

– transportation crew scheduling (airline industry)

26

Days-off schedulingFind the minimum number of employees to

cover a 7-day-a-week operation, so that the following constraints are satisfied:

1. The demand per day (nj) is met (n1=Sunday)

2. Each employee is given each k1 out of k2 weekends off

3. Each employee works exactly 5 out of 7 days

4. Each employee works no more than 6 consecutive days

27

Days-off scheduling (cont.)W = required workforce3 lower bounds on W:1. weekend constraint:

2. total demand constraint:

3. maximum daily demand constraint:

12

712

712

12

kk)n,nmax(k

W

)n,nmax(Wk

kk

7

1jj

7

1jj n

51

WnW5

jj

nmaxW

j

j

7

1jj

12

712 nmax,n51

,kk

)n,nmax(kmaxW

28

Days-off scheduling (cont.)

Define:n = max (n1,n7) = maximum weekend demand

uj = surplus of employees = W - nj (if j=2,…,6) n - nj (if j=1,7)

Assumption: the first day to be scheduled is a Saturday

29

Days-off scheduling algorithm• STEP 1: schedule the weekends offmaximum demand in weekend is n W-n empl. Free Cyclically assign the weekends of to W-n

employees

• STEP 2: Determine the additional off-day pairsConstruct a list of n “off day”-pairs (k,l):

– choose day k, such that uk =max (u1,…,u7)

– choose day l (l k) such that ul 0, if ul = 0 for all l, then set l = k.

– decrease uk and ul with 1

Pairs (k,k) are non-distinctive pairs

30

Days-off scheduling algorithm (cont.)

• STEP 3: Categorize employees in week i

type T1 weekend i off weekend i+1 off 0type T2 weekend i off weekend i+1 on 1type T3 weekend i on weekend i+1 off 1type T4 weekend i on weekend i+1 on 2

note: |T3|+|T4| = n, and |T2|+|T4| = n |T2|=|T3| pair each employee of T2 with an employee of T3

Off-days requiredduring week i

31

Days-off scheduling algorithm (cont.)

• STEP 4: Assign the n off-day pairs in week iFirst assign off-day pairs to the employees of T4Then assign off-day pairs to the T2-T3 pairs of

employees. Assign the earliest day to the T3-empl.

Set i = i+1 and GO TO STEP 3.

32

Days-off scheduling example

Demand requirement:

n = max(d1,d7)=2

surplus:

day-pairs: Sun-Mon & Mon-Mon

day S M T W T F Srequirement 1 0 3 3 3 3 2

33,3,3maxnmax,n51

,13n3

maxW

3k,1k

jj

7

1jj

21

day S M T W T F Su(j) 1 3 0 0 0 0 0

33

Days-off scheduling example (cont.)employee S S M T W T F S S M T W T F S S M T W T F S

1 X X X X2 X X3 X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X2 X X3 X X X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X X2 X X X3 X X X X

34

Days-off scheduling example (cont.)employee S S M T W T F S S M T W T F S S M T W T F S

1 X X X X X X X2 X X X3 X X X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X X X X2 X X X X3 X X X X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X X X X2 X X X X3 X X X X X

35

Days-off scheduling example (cont.)employee S S M T W T F S S M T W T F S S M T W T F S

1 X X X X X X X2 X X X X X X3 X X X X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X X X X X2 X X X X X X3 X X X X X X

employee S S M T W T F S S M T W T F S S M T W T F S1 X X X X X X X X2 X X X X X X3 X X X X X X

Minimum 4-day, maximum 6-day work stretch:

36

Days-off scheduling algorithm properties

• If all off-pairs are distinct maximum work-stretch is 5 days

• Schedule always satisfies the constraints

• There exists an optimal cyclic schedule, that may be found by the algorithm

37

Shift scheduling• Generalization of days-off scheduling

problem• Cycle of periods is predetermined (e.g.

1 day cycle, with periods of hours)• Several shift patterns, with associated

costs cj. Shift pattern j is binary vector a(i,j).

• Personnel requirement bi per period

solution method: linear programming

38

Shift scheduling ILP model

integer ),n,,1j(0x

bxa...xaxa

bxa...xaxa

bxa...xaxa

:tosubject

xc...xcxcmin

j

mnmn22m11m

2nn2222121

1nn1212111

nn2211

N patternsm periodsbi = requirement

0x

bxA

xcminT

39

• Strongly NP-hard problem• When shift-columns contain a

contiguous set of 1’s, the LP-relaxation solution is integer (note: LP optimization in polynomial time)

• Other special cases of shift scheduling also solvable: cyclic staffing problem

Shift scheduling ILP model properties

40

Cyclic staffing problem• Special case of shift planning problem• m-period cyclic schedule: period m is followed

by period 1

• Personnel requirement is bi per period

• Each person works k consecutive periods, and is free for the remaining m-k periods

• Example: (3,5)-cyclic staffing problem:• Columns of A do not always have a contiguous set of ones LP solutionclose to ILP solution

11100

01110

00111

10011

11001

A

41

Exact cyclic staffing algorithmSTEP 1: solve LP-relaxation solution vector x* if x* integer done, else: go to step 2STEP 2: form two linear programs LP’ and LP’’, so

that these constraints are added respectively:

LP’’ has an optimal solution that is integerif LP’ is not feasible LP’’ solution optimalotherwise: LP’ has an optimal solution that is

integer, and the optimal solution is the best of the solutions of LP’ and LP’’

'LP' to added x...xx...x

LP' to added x...xx...x*n

*1n1

*n

*1n1

42

Extensions of cyclic staffing• Days-off scheduling with a fixed cycle

– each employee 2 days off a week– every other weekend off (e.g. 1st, 3rd, 5th, etc.)

solved by column generation• Cyclic staffing with overtime

– 3 work shifts: 8:00-16:00, 16:00-0:00, 0:00-8:00– matrix A:

solved by algorithm 9.4.1 (cyclic staffing algorithm)

0000

1000

1100

1110

1\0 ,

11\00

011\0

1\001

A

43

Extensions of cyclic staffing (cont.)

• Cyclic staffing with linear penalties for under- and overstaffing– varying demand bi

– penalty ci’ and ci’’ for under- and overstaffing

– understaffing = x’ overstaffing = bi- (ai1x1+ … + ai1x1) - xi’

model:

if c-c’’A0 and c’-c’’ 0 solvable by alg. 9.4.1

0x

b'xIxA

)'xxAb(''c'x'cxcmin

44

Crew scheduling• Applications in airline/transportation industry• Each crew performs a number of jobs (flight

legs) in a so-called ‘round trip’• There are m jobs (flight legs), and n feasible

round trips

• A round trip has costs cj

• objective: choose a set of round trips, so that each flight leg is covered exactly once, by one and only one round trip set partitioning problem

• solution method: column generation heuristic on ILP model

45

ILP model for crew scheduling

N round trips

m jobs

}1,0{x

1xa...xaxa

1xa...xaxa

1xa...xaxa

:tosubject

xc...xcxcmin

j

nmn22m11m

nn2222121

nn1212111

nn2211

Recommended