1
Inventory Control with Time-Varying Demand
2
Week 1 Introduction to Production Planning and Inventory Control Week 2 Inventory Control – Deterministic Demand Week 3 Inventory Control – Stochastic Demand Week 4 Inventory Control – Stochastic Demand Week 5 Inventory Control – Stochastic Demand Week 6 Inventory Control – Time Varying Demand Week 7 Inventory Control – Multiple Echelons
Lecture Topics
3
Week 8 Production Planning and Scheduling Week 9 Production Planning and SchedulingWeek 10 Managing Manufacturing OperationsWeek 11 Managing Manufacturing OperationsWeek 12 Managing Manufacturing OperationsWeek 13 Demand ForecastingWeek 14 Demand ForecastingWeek 15 Project Presentations
Lecture Topics (Continued…)
4
Demand varies from period to period
The demand for each period is exactly known
Costs may vary from period to period
Capacity may vary from period to period
Characteristics
5
Big time-bucket models Items produced/ordered in a period can be used to satisfy the demand for that period
Small time-bucket models Production/supply leadtimes can take multiple periods
Big versus Small Buckets
6
The Lot Sizing Model
7
Assumptions for the Basic Model
Demand varies from period to period but is exactly known for each period.
Demand in each period must be satisfied during the same period (backordering is not allowed).
There are no limits on how much can be produced or ordered.
Items produced/ordered in a period are available to satisfy demand during the same period (big bucket model).
Setup/ordering, production/purchasing, and inventory holding costs can vary period to period.
8
Objective
Determine the optimal order quantity (lot size) in each period so that the demand in each period is met while the sum of ordering, purchasing, and inventory holding costs are minimized.
9
Notation
t: a period (e.g., day, week, month); t = 1, … ,T, where T represents the planning horizon
Dt: demand in period t (number of units)
ct: unit purchasing/production cost
At: ordering/setup cost associated with placing an order (or initiating production) in period t
ht: cost of holding one unit of inventory from period t to period t +1
Qt: the size of the order (or lot size) in period t; a decision variable
10
Example
t 1 2 3 4 5 6 7 8 9 10Dt 20 50 10 50 50 10 20 40 20 30ct 10 10 10 10 10 10 10 10 10 10At 100 100 100 100 100 100 100 100 100 100ht 1 1 1 1 1 1 1 1 1 1
11
The Lot for Lot Solution
t 1 2 3 4 5 6 7 8 9 10Dt 20 50 10 50 50 10 20 40 20 30ct 10 10 10 10 10 10 10 10 10 10At 100 100 100 100 100 100 100 100 100 100ht 1 1 1 1 1 1 1 1 1 1
t 1 2 3 4 5 6 7 8 9 10 TotalDt 20 50 10 50 50 10 20 40 20 30 300Qt 20 50 10 50 50 10 20 40 20 30 300It 0 0 0 0 0 0 0 0 0 0 0Setup cost 100 100 100 100 100 100 100 100 100 100 1000Holding cost 0 0 0 0 0 0 0 0 0 0 0Total cost 100 100 100 100 100 100 100 100 100 100 1000
12
The Fixed Order Quantity Solution
t 1 2 3 4 5 6 7 8 9 10 TotalDt 20 50 10 50 50 10 20 40 20 30 300Qt 100 0 0 100 0 0 100 0 0 0 300It 80 30 20 70 20 10 90 50 30 0 0Setup cost 100 0 0 100 0 0 100 0 0 0 300Holding cost 80 30 20 70 20 10 90 50 30 0 400Total cost 180 30 20 170 20 10 190 50 30 0 700
13
The Fixed Order Period Solution
t 1 2 3 4 5 6 7 8 9 10 Total Dt 20 50 10 50 50 10 20 40 20 30 300 Qt 70 0 60 0 60 0 60 0 50 0 300 It 50 0 50 0 10 0 40 0 30 0 180 Setup cost 100 0 100 0 100 0 100 0 100 0 500 Holding cost 50 0 50 0 10 0 40 0 30 0 180 Total cost 150 0 150 0 110 0 140 0 130 0 680
14
A Mixed Integer Linear Program (MILP) Formulation
TtIQ
TtY
TtDYQ
TtDQII
YAIhQczMinimize
tt
t
T
tt ttt
tttt
tttttt
T
t
,.....1 0,
,...,1 }1,0{
,...,1)(
,...,1 ,
subject to
' '
1
1
15
Solution Approach
Solve as a standard MILP (using for example a branch and bound algorithm); several commercial MILP solver software tools are available
Develop a customized solution that takes advantage of structural properties specific to the problem (e.g., the Wagner-Whitin algorithm)
16
Property 1
Under an optimal lot-sizing policy either the inventory carried to period t+1 from the previous period will be zero or the production quantity in period t+1 will be zero.
17
The Basic Idea of the Wagner-Whitin Algorithm
Using property 1, either Qt=0 or Qt=Dt+…+Dk for some k.
If jk* = t = last period of production (or
ordering) in a k period problem, then we will produce (or order) exactly Dt+ Dt+1 …Dk in period jk
*.
We can then consider periods 1, … , jk*-1 as if
they are an independent jk*-1 period problem.
18
The Basic Idea of the Wagner-Whitin Algorithm
(Continued…)
Construct an algorithm where the decision is whether or not to order in a given period. If we order, then the order quantity should be just enough to cover demand until the next period in which we order.
Solve a series of smaller sub-problems (a one period problem, a two period, …., N period problem), where the solution to each sub-problem is used in solving the next subproblem.
19
Example
t 1 2 3 4 5 6 7 8 9 10Dt 20 50 10 50 50 10 20 40 20 30ct 10 10 10 10 10 10 10 10 10 10At 100 100 100 100 100 100 100 100 100 100ht 1 1 1 1 1 1 1 1 1 1
20
Example
Step 1: Obviously, just satisfy D1 (note we are neglecting production cost, since it is fixed).
Step 2: Two choices, either j2* = 1 or j2
* = 2.
*1 1
*1
100
1
z A
j
1 1 2*2 *
1 2
*2
, order in 1min
, order in 2
100 1(50) 150min
100 100 200
150
1
A h Dz
z A
j
21
Example (Continued…)
Step3: Three choices, j3* = 1, 2, 3.
1 1 2 1 2 3
* *3 1 2 2 3
*2 3
( ) , order in 1
min , order in 2
, order in 3
100 1(50) (1 1)10 170
min 100 100 (1)10 210
150 100 250
A h D h h D
z z A h D
z A
*3
170
1j
22
Example (Continued…)
Step 4: Four choices, j4* = 1, 2, 3, 4.
1 1 2 1 2 3 1 2 3 4
*1 2 2 3 2 3 4*
4 *2 3 3 4
*3 4
( ) ( ) , order in 1
( ) , order in 2min
, order in 3
,
A h D h h D h h h D
z A h D h h Dz
z A h D
z A
order in 4
100 1(50) (1 1)10 (1 1 1)50 320
100 100 (1)10 (1 1)50 310min
150 100 (1)50 300
170 100
*4
270
270
4j
23
Property 2
If jk*=t, then the last period in which
ordering/production occurs in an optimal k+1 period policy must be in the set t, t+1,…k+.
24
Property 2 (Continued…)
In the Example: We order in period 4 for period 4 of a 4 period problem.
We would never order in period 3 for period 5 in a 5 period problem.
25
Example (Continued…)
Step 5: Only two choices, j5* = 4, 5.
Step 6: Three choices, j6* = 4, 5, 6.
And so on.
*3 4 4 5*
5 *4 5
*5
, order in 4min
, order in 5
170 100 1(50) 320min
270 100 370
320
4
z A h DZ
z A
j
26
Example Solution
Planning Horizon (t) Last Period with Ordering 1 2 3 4 5 6 7 8 9 10
1 100 150 170 320 2 200 210 310 3 250 300 4 270 320 340 400 560 5 370 380 420 540 6 420 440 520 7 440 480 520 610 8 500 520 580 9 580 610
10 620 zt 100 150 170 270 320 340 400 480 520 580
jt 1 1 1 4 4 4 4 7 7, 8 8
27
Example Solution (Continued…)
Optimal Policy: Order in period 8 for 8, 9, 10 (40 + 20 + 30 = 90 units)
Order in period 4 for 4, 5, 6, 7 (50 + 50 + 10 + 20 = 130 units)
Order in period 1 for 1, 2, 3 (20 + 50 + 10 = 80 units)
Note: we order in 7 for an 8 period problem, but this never comes into play in optimal solution.
28
A Network Representation
The lot sizing problem can be represented as a network, where each node t represents a period and an arc from node t’ to node t represents the fact that we order (or produce) in both periods t’ and t but not in periods in between.
29
2
3 4
5
61
The Network
Node 6 is a pseudo node representing the “end” of the problem.
30
2
3 4
5
61
Example Path
Interpretation: Order (or produce) in periods 1, 3, and 4 so that Q1 = D1 + D2 ; Q2 = 0; Q3 = D3; Q4 = D4 + D5 ; and Q5 = 0.
31
Arc Costs
The cost ct’,t of reaching node t from t’ is the cost of ordering in t’ but not in t’+1, t’+2, …, t-1:
', ' ' ' 1 ' ' 1 1
' 1 ' 2 1 2 1
( ... ) ( ... )
( ... ) ...t t t t t t t t t
t t t t t
c A c D D h D D
h D D h D
32
Key Insight
Finding the minimum cost solution is equivalent to finding the least costly path (shortest path) in the network to go from node 1 to node T+1, where T is number of periods.
33
A Dynamic Programming Algorithm to Find the Least
Costly PathStep 1: t = 1, zt
* = 0
Step 2: t = t+1. If t > T+1, stop. Otherwise go to step 3.
Step 3: For all t’ = 1, 2, …, t - 1,
Step 4: Compute }{min ,'*'
1,...,2,1'
*ttt
ttt czz
', ' ' ' 1 ' ' 1 1
' 1 ' 2 1 2 1
( ... ) ( ... )
( ... ) ...t t t t t t t t t
t t t t t
c A c D D h D D
h D D h D
34
Step 5: Compute
(that is, choose the period t’ that minimizes )
Step 6: Go to to step 2.
The optimal cost is given by
The optimal set of periods in which ordering/production takes place can be obtained by backtracking from
* *' ',
' 1,2,..., 1arg min{ }t t t tt t
p z c
ttt cz ,'*'
*1Tz
*1Tp
35
2
3 4
5
61
Example
36
2
3 4
5
61
Example (Continued…)
37
2
3 4
5
61
Example (Continued…)
38
2
3 4
5
61
Example (Continued…)
39
2
3 4
5
61
Example (Continued…)
40
2
3 4
5
61
Example (Continued…)
41
2
3 4
5
61
Example (Continued…)
42
2
3 4
5
61
Example (Continued…)
43
2
3 4
5
61
Example (Continued…)
44
Example
t Dt At ct ht
1 10 40 2 12 2 40 2 13 12 40 2 14 4 40 2 15 14 40 2 1
45
Example
z1*= 0
c1,2 = 40 + 20 = 60z2*= z1*+ c1,2 = 0+60=60p2*= 1
c1,3 = 40 + 24+2 = 66c2,3 = 40 + 4 = 44z3* = min (z1*+ c1,3, z2*+ c2,3) = min (66, 104) = 66p3*= 1
46
Example
c1,4 = 114, c2,4 = 80, c3,4 = 64 z4* = min (z1*+ c1,4, z2*+ c2,4, z3*+ c3,4) = min (114, 140, 130) = 114p4*= 1
c1,5 = 134, c2,5 = 96, c3,4 = 76, c4,5 = 48, z5* = min (134, 156, 142, 162) = 134p5*= 1
c1,6 = 218, c2,6 = 166, c3,6= 132, c4,6 = 86, c5,6 = 68z6* = min (218, 226, 198, 200, 202) = 198p6*= 3
47
Instead of solving the problem optimally, we could use a heuristic (a rule) that leads to reasonably good solutions but not necessarily optimal.
The advantage of heuristics is ease of implementation and lower computational effort to reach a solution.
Heuristics
48
Choose a fixed order quantity and order in multiples of this order quantity. Order again when demand in a period cannot be met from available inventory.
Choose a fixed order period P. Then, every P periods order all the demand for the next P periods.
Use a greedy heuristic such as the Silver-Meal heuristic.
Example Heuristics
49
The Silver-Meal Heuristic
Starting with a period t, order for the next k periods if the resulting average cost per period zt,t+k is smaller than the average cost per period if we ordered only for the next (k-1) periods.
50
The Silver-Meal Algorithm
Step 1: Set t = 1
Step 2:
Step 3: t’=t+1
Step 4: If t’ > T, go to step 7. Otherwise go to step 5
Step 5:
,t t t t tz A c D
, ' 1 '
1 ' ' 1 '
{ ( ... )
( ... ) ... }/( ' 1)t t t t t t t
t t t t t
z A c D D D
h D D h D t t
51
Step 6: If zt,t’ zt,t’-1 , set t’= t’+1 and go to step 4. Otherwise go to step 7.
Step 7: Set Qt = Dt + Dt+1 + … + Dt’-1
Step 8: Set t=t’.
Step 9: If t > T, stop. Otherwise, go to step 2.
52
Example
t Dt At ct ht
1 10 40 2 12 2 40 2 13 12 40 2 14 4 40 2 15 14 40 2 1
53
Example
z1,1 = 40 + 20 = 60z1,2 = (60 + 4 + 2)/2 = 66/2=33 < 60z1,3 = 114/3 = 38>33
So the heuristic sets Q1 = 12. Next,
z3,3 = 64z3,4 = 76/2 = 36 < 64z3,5 = 132/3 = 44>36
So, Q3 = 16. Next,
54
z5,5 = 68.
Since we have reached the end of the planning horizon, the heuristic sets Q5 = 14.
Top Related