Vous êtes sur la page 1sur 21

optimal stock allocation for a capacitated

supply system
Francis de Vricourt, Fikri Karaesmen, Yves Dallery
26.1.2015
Presentation by Snke Matthewes and Ingo Marquart

Outline

1. Introduction
2. Model Set-up & Problem Definition
3. Exploring the Optimal Solution
3.1 What Value Functions make sense?
3.2 Multilevel Rationing (ML) Policies
3.3 Induction Proof Sketch

4. Illustration: Inventory Pooling w/ & w/o Optimal Stock


Allocation

Introduction

What is stock allocation?


common stock different customer types
differentiated wrt the costs of not satisfying their demand (e.g. varying
importance, supply contracts)

Limited resources nontrivial optimisation problem


production constraints
holding costs
backorder costs

Introduction (cont.)

Why common stocks?


delayed product differentiation
centralisation of inventories

Net gains > 0? Stock Allocation Problem is key!


Previous literature:
uncapacitated supply
two-class demand
lost sales instead of backordering

Research question: What is the optimal stock allocation policy


to a single-server, single-product, make-to-stock queue with
multiple demand classes?
3

Example

Components for our example

1. State vector x = (x1 , x2 , x3 ) RxR2


2. Controls to be defined below, with policy functions
3. Linear Costs per time

c(x(t)) = hx+
1 (t) + b1 x1 (t) b2 x2 (t) b3 x3 (t)
4. Demand arrival rates 1 , 2 , 3

5. Production rate i i
6. This is a homogeneous rate, continuous DP problem Pn (here
n = 3)

Controls, or what we can do

For policy , controls depend on which event happens. Production


(C0 ) or arrival of demand k (Ck )

0, Produce nothing

C0 = 1, Produce item and assign it to stock or demand 1 (1)

k, Produce and assign to demand k

1, Satisfy demand k
Ck =
(2)
k, Backorder demand k
C1 = 1, Satisfy demand or backorder if inventory is empty

(3)

The Optimization Problem

DM seeks to find policies so


[
]
+

t
min E
e (hx1 (t) + b1 x1 (t) b2 x2 (t) b3 x3 (t))dt

As in lecture this leads to


v (x) = c(x) + T0 v (x) + 1 T1 v (x) + 2 T2 v (x) + 3 T3 v (x)
With the overall T operator s.th. T v(x) is equal to the RHS. The Tk
operators code the controls, ex.

min [v(x e ), v(x e )] if x > 0


2
1
1
T2 v(x) =
v(x e2 ),
ifx1 0
7

What value functions make sense?

Define Un as follows:
1. v(x + ei ) < v(x) if xi < 0
better to satisfy demands; you have to produce
2. v(x + ei ) < v(x + ej ) if 1 i < j
satisfying more expensive demands saves more costs
if i is backordered, then i + 1, ... , n have to be backordered as
well
3. v(x + e1 ej ) < v(x + e1 ei ) if 1 < i < j
backordering more expensive demands will cost you more
if you satisfy j, then you have to satisfy j 1, ... , 1 as well
Lemma 1. If v Un then T v Un .
8

Multilevel Rationing (ML) Policies

Definition 1. An ML policy , is a policy characterized by the (n+1)


dimensional rationing level vector z, where
z1 = 0 z2 ... zn+1 , such that:

0, if x1 zn+1 and m(x) = n + 1

(4)
C0 = k, if x1 zk and m(x) = k < n + 1

1, if x1 < zk and m(x) = k

1,
Ck =
k,

if x1 > zk
if x1 zk

and m(x) k

(5)

Multilevel Rationing (ML) Policies

Scenario 1:
z4 > x1 > z3 > z2 > z1 = 0
all arriving demands are satisfied
Ck = 1, k
Scenario 2:
z4 > z3 > z2 > x1 > z1 = 0
classes 2 & 3 are backordered, only 1 immediately satisfied
Ck = k, for k = 2, 3 and C1 = 1
( production for inventory: C0 = 1 as x1 < zk until x1 = z2 )

10

Main Result 1

Theorem:
1. The optimal policy for Pn is a ML policy with rationing levels z
2. z is such that the projection (subvector) zk and corresponding ML
policy also solves a transformed P n1 , k < n

11

Sketch of proof

Define Vn Un , for v(x) Vn have that


1. Costs ratios are preserved from solution to Pn1 subproblem
2. Better to sell than accumulate if stock is big enough
3. Conditions if only backorder is in n or none at all
Benefit of selling vs stocking inc in stock, dec in demand
Benefit of stock decreases with n-type backorders
Returns are decreasing

4. Base level zn+1 : (Future cost) optimal stock when no demand.


If stock less than zn+1 , production decreases costs
12

Part 1 of Theorem

Step 1. Assume v Vn , and optimal policies k for k < n are


indeed ML
For v, actions pertaining to events k < n come from k ML
Vn membership implies ML for event n, so is ML
Step 2. Show that operator T preserves Vn (Lemma 2)
Take v Vn , verify conditions 1-4 for T v
Optimal value f. exists in Vn by iteration with T (Banach FP)
Step 3. Finish proof by induction on n
For n = 1, optimal policy is in Vn and ML
Assume true for n 1, by above T v for n is ML and in Vn
13

Part 2 of Theorem

Consider transformed problem P n1 to P n


Event of n is uniformized out via transformation of the cost c d,
eliminating n and such that d2 (d3 ) = d2
Dynamics for the transformed subproblem are same as the general
P n1
Knowing that n is ML, recursively move back via dn1 (dn ) etc.
For each step, use part 1 of theorem, where zn1 is ML, for P n1
and hence P n1

14

Illustration

15

Illustration (cont.)

g0 = initial costs under standard base-stock policy


g1 = costs after redesign under standard but suboptimal allocation
g2 = costs after redesign under optimal ML policy
Let:
1 =

g0 g1
g0

and

2 =

g0 g2
g0

16

Illustration (cont.)

17

Thank you

18

Appendix 1: Definitions and distributions

Time to demand arrival i is exponentially distributed: rate i ,


expected time to arrival 1i

Similarly i i is the production rate parameter


These events can happen in each state
Time to transition thus distributed =
= min{(i )i , }

i i

+ since

19

Appendix 2: T-Operators

T0 v(x) = min [v(x), v(x + e1 ), v(x ei Ixi <0 )]


1<in

T1 v(x) = v(x e1 )

min [v(x e ), v(x e )]


1
k
Tk v(x) =
v(x ek ),

if x1 > 0
ifx1 0
for k s.t. 1 < k n.

20