Anda di halaman 1dari 45

1

Contents College 9
Chapter 9
additional (sheets):
workforce planning
resource loading
2
Hierarchical capacity planning
Strategic
Aggregate/
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 term
decisions
Intermediate
term
decisions
Short term
decisions
4
Capacity planning
solution 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 (S
t
) restriction:

Machine capacity restriction (machine j):
a
j
= production time on machine j
c
jt
= capacity machine j in period t
X
t
= amount produced in period t

t) ( d demand d
t
t
s s
t) ( d S d
t
t t
s s
t) , j ( c X a
jt t j
s
6
Inventory balance restrictions:
I
t
= inventory in period t

Workforce balance restrictions (operators):
W
t
= workforce in period t (initial workforce=w)
H
t
= hired workforce in period t
F
t
= fired workforce in period t

1) t ( S X I I
0 I
t t 1 - t t
0
> + =
=
Workforce planning LP model (cont.)
1) (t F H W W
w W
t t 1 - t t
0
> + =
=
7
Workforce planning LP model (cont.)
Operator capacity restriction (machine j):
b = man-hours required to produce one item
W
t
= Workforce in period t
O
t
= Overtime in period t
X
t
= amount produced in period t


objective: maximize net profit, including
labor, overtime, inventory, hiring/firing costs
t) , j ( O W bX
t t t
+ s
8
Workforce planning LP model overview
( )
t) ( 0 F , H , W , O , I , S , X
t) ( O W bX
w W 1); (t F H W W
0 I 1); (t S X I I
t) , j ( c X a
t) ( d S d
: to subject
F f H h O o W w I i S s max
t t t t t t t
t t t
0 t t 1 t t
0 t t 1 t t
jt t j
t
t t
T
1 t
t t t t t t
>
+ s
= > + =
= > + =
s
s s

t in workforce fired F
t in workforce hired H
t in overtime O
t in workforce W
t of end at inventory I
t in sold amount S
t in production X
period t 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 data
processing times (hours)
customer
order
1 2 3 4 5 6
due
date
(week)
1 S (37) A (19) C (14) D (32) Q (5) 7
2 S (18) A (12) C (15) P (10) D (14) Q (10) 8
3 S (20) A (21) C (17) Q (8) 5
4 A (10) C (25) D (16) Q (7) 5
5 S (16) A (33) C (14) P (16) D (15) Q (9) 9
6 S (36) A (16) C (20) P (15) D (15) Q (10) 9
7 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
due
date
(week)
number
of jobs
start
time
(week)
7 5 3
8 6 3
5 4 2
5 4 2
9 6 4
9 6 4
6 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
order7
h
o
u
r
s
weeks
1
2
4
5
6
7
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
h
o
u
r
s
weeks
3
1
2
4
5
6
7
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
order7
h
o
u
r
s
weeks
1
2
4
5
6
7
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
h
o
u
r
s
weeks
1
6
7
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
order7
h
o
u
r
s
weeks
3
1
2
4
5
6
7
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
h
o
u
r
s
3
1
2
4
5
6
7
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 problems
formal 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 loading
Model 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 loading
Model formulation (cont.)
Order plan represented
by a binary column:
1
2
3
22
Resource loading
Model 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
columns
to RLP
Solve
Restricted 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 loading
minimize

+ +
t m
mt t t t t t
S s H h O o ) (
0 , , , ,
) (
) , (
) , ( 1
) , , (
) ( 1
,
}
| , {
>
+ + + s
s
=
s
=

jk mt t t bjt
m
mt t t
j b
t bjt bj
m on b
j b
mt mt bjt bj
t
bjt
k
jk bjtk bjt
k
jk
X S H O F
t S H O c F p
t m mc S F p
j b F
t j b X a F
j X select order plan
match order schedule
with order plan
all work must be done
machine capacity
restriction
operator 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 scheduling
Find 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 (n
j
) is met (n
1
=Sunday)
2. Each employee is given each k
1
out of k
2

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 workforce
3 lower bounds on W:
1. weekend constraint:


2. total demand constraint:

3. maximum daily demand constraint:

(
(
(

>
>

1 2
7 1 2
7 1
2
1 2
k k
) n , n max( k
W
) n , n max( W
k
k k
(
(
(

> >

= =
7
1 j
j
7
1 j
j
n
5
1
W n W 5
j
j
n max W >

(
(
(

(
(
(

>

=
j
j
7
1 j
j
1 2
7 1 2
n max , n
5
1
,
k k
) n , n max( k
max W
28
Days-off scheduling (cont.)
Define:
n = max (n
1
,n
7
) = maximum weekend demand
u
j
= surplus of employees = W - n
j
(if j=2,,6)
n - n
j
(if j=1,7)

Assumption:
the first day to be scheduled is a Saturday
29
Days-off scheduling algorithm
STEP 1: schedule the weekends off
maximum 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 pairs
Construct a list of n off day-pairs (k,l):
choose day k, such that u
k
=max (u
1
,,u
7
)
choose day l (l = k) such that u
l
> 0, if u
l
= 0 for all l, then
set l = k.
decrease u
k
and u
l
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 0
type T2 weekend i off weekend i+1 on 1
type T3 weekend i on weekend i+1 off 1
type 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
required
during
week i
31
Days-off scheduling algorithm (cont.)
STEP 4: Assign the n off-day pairs in week i
First assign off-day pairs to the employees of T4
Then 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(d
1
,d
7
)=2



surplus:

day-pairs: Sun-Mon & Mon-Mon
day S M T W T F S
requirement 1 0 3 3 3 3 2
{ } 3 3 , 3 , 3 max n max , n
5
1
,
1 3
n 3
max W
3 k , 1 k
j
j
7
1 j
j
2 1
= =

(
(
(

(
(
(

>
= =

=
day S M T W T F S
u(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 X
2 X X
3 X X
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
2 X X
3 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 S
1 X X X X X
2 X X X
3 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 X
2 X X X
3 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 S
1 X X X X X X X
2 X X X X
3 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 S
1 X X X X X X X
2 X X X X
3 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 X
2 X X X X X X
3 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 S
1 X X X X X X X X
2 X X X X X X
3 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 S
1 X X X X X X X X
2 X X X X X X
3 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
c
j
. Shift pattern j is binary vector a(i,j).
Personnel requirement b
i
per period

solution method: linear programming
38
Shift scheduling ILP model
integer ), n , , 1 j ( 0 x
b x a ... x a x a

b x a ... x a x a
b x a ... x a x a
: to subject
x c ... x c x c min
j
m n mn 2 2 m 1 1 m
2 n n 2 2 22 1 21
1 n n 1 2 12 1 11
n n 2 2 1 1

= >
> + + +
> + + +
> + + +
+ + +
N patterns
m periods
b
i
= requirement
0 x
b x A
x c min
T
>
>

39
Strongly NP-hard problem
When shift-columns contain a contiguous set
of 1s, 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 b
i
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 solution
close to ILP solution
(
(
(
(
(
(

=
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
1 0 0 1 1
1 1 0 0 1
A
41
Exact cyclic staffing algorithm
STEP 1: solve LP-relaxation solution vector x*
if x* integer done, else: go to step 2
STEP 2: form two linear programs LP and LP, so that
these constraints are added respectively:



LP has an optimal solution that is integer
if LP is not feasible LP solution optimal
otherwise: 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 ... x x ... x
LP' to added x ... x x ... x
*
n
*
1 n 1
*
n
*
1 n 1
+ + = + +
+ + = + +
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)
(
(
(
(

=
(
(
(

=
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
1 \ 0 ,
1 1 \ 0 0
0 1 1 \ 0
1 \ 0 0 1
A
43
Extensions of cyclic staffing (cont.)
Cyclic staffing with linear penalties for under-
and overstaffing
varying demand b
i

penalty c
i
and c
i
for under- and overstaffing
understaffing = x
overstaffing = b
i
- (a
i1
x
1
+ + a
i1
x
1
) - x
i

model:



if c-cA>0 and c-c >0 solvable by alg. 9.4.1
0 x
b ' x I x A
) ' x x A b ( ' ' c ' x ' c x c min
>
> +
+ +
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 c
j

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
1 x a ... x a x a

1 x a ... x a x a
1 x a ... x a x a
: to subject
x c ... x c x c min
j
n mn 2 2 m 1 1 m
n n 2 2 22 1 21
n n 1 2 12 1 11
n n 2 2 1 1
e
= + + +
= + + +
= + + +
+ + +

Anda mungkin juga menyukai