1 contents college 9 chapter 9 additional (sheets): –workforce planning –resource loading
Post on 20-Dec-2015
212 views
TRANSCRIPT
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