Você está na página 1de 18

Problem Definition

m retailers (indexed i = 1, . . . , m) restock from one warehouse (indexed 0)

Retailer i pays Ki dollars for every order, hi dollars per item per day for
holding inventory on site, h0 dollars per item per day for holding inventory
at the warehouse

Demand for items at retailer i is λi items per day

Warehouse is charged K0 dollars whenever it restocks from external supplier


(not identified in the problem)

1 of 18
Decision variables: Inventory profiles in time Ii(t) for every retailer and
I0(t) for the warehouse

Goal: Minimise long-term (infinite-horizon) average system cost (of retailers


and warehouse)

2 of 18
Optimal profiles can be very complicated

Thus, we restrict the analysis to stationary reorder policies: Every facility


i = 0, . . . , m reorders every fixed cycle time Ti

Still a little too involved, so we restrict our options further to policies where
each Ti is an integer multiple of a common base cycle time:

Ti = NiTB , ∀i ∈ {0, . . . , m} where Ni ∈ N

(TB can be given or itself a decision variable)

To reduce the dimensionality of the problem, we still further restrict our


options so that the integer multiple is a power of two:

Ti = 2ri TB , ∀i ∈ {0, . . . , m} where ri ∈ Z+

3 of 18
Power-of-two (POT) Objective Function

Retailer i orders every Ti days

1. Fixed retailer order cost: Ki in each cycle.

2. Holding cost @retailer: Items are exhausted at a rate of λi items per


day. To minimise holding costs, the quantity ordered must run out exactly
at the end of the Ti days. Thus, quantity ordered is λiTi. Total cost of
holding inventory at the retailer over one cycle is
Z Ti
1
hiλi(Ti − t)dt = hiλiTi2
0 2

4 of 18
3. Holding cost @warehouse:

Case 1 (T0 ≤ Ti): If the warehouse orders more frequently than retailer i
(i.e., T0 ≤ Ti) then the warehouse never holds inventory for i and therefore
the cost is zero.

Case 2 (T0 > Ti): Otherwise, the warehouse will hold inventory for i for a
number of cycles equal to ni = T0/Ti until the warehouse reorders again.
To minimise holding costs at the warehouse, the warehouse must order no
more than what retailer i will need over that time; i.e., niλiTi

This decreases by λiTi every Ti days (order deducted at the beginning of


the cycle so we start at (ni − 1)λiTi). Total holding cost at warehouse over
T0 ≡ niTi is:

ni
X 1 1
(ni − k)h0λiTi2 2
= ni(ni − 1)h0λiTi ≡ (ni − 1)h0λiTiT0
2 2
k=1

5 of 18
Total (retailer+warehouse) holding cost over T0 days:
(
1 2
2 ni λi hi Ti , Ti ≥ T0
1 2 1
2 n i λ i hi Ti + 2 ni (ni − 1)h0λiTi2, T0 > Ti
(
1
2 λi hi Ti T0 , Ti ≥ T0
= 1
2 λi (hi − h0 )Ti T0 + 12 h0λiT02, T0 > Ti
(
1
2 λi (hi − h0)TiT0 + 12 h0λiTiT0, Ti ≥ T0
= 1
2 λi (hi − h0)TiT0 + 12 h0λiT02, T0 > Ti
1 1
= λi(hi − h0)TiT0 + h0λiT0 max{T0, Ti}
2 2

4. Fixed warehouse order cost: K0 dollars every T0 days

6 of 18
Final POT average cost:

m
X Ki K0 + 12 λi(hi − h0)TiT0 + 21 h0λiT0 max{T0, Ti}
+
i=1
Ti T0
m
K0 X Ki 1 1
= + + (hi − h0)λiTi + λih0 max{T0, Ti}
T0 T
i=1 i
2 2

7 of 18
Final Optimisation Problem

m
K0 X Ki 1 1
minimise + + (hi − h0)λiTi + λih0 max{T0, Ti}
T0 T
i=1 i
2 2
subject to Ti = 2ri TB , ∀i ∈ {0, . . . , m}
Ti > 0, ∀i ∈ {0, . . . , m}
ri ∈ Z+, ∀i ∈ {0, . . . , m}
TB > 0

8 of 18
Let us relax all POT constraints and solve:
m
K0 X Ki 1 1
minimise + + (hi − h0)λiTi + λih0 max{T0, Ti}
T0 T
i=1 i
2 2
subject to Ti > 0, ∀i ∈ {0, . . . , m}

After solving the relaxation, we round the solution to a feasible POT


solution that does not incease the objective too much from the value of the
relaxation.

9 of 18
We use the following notation:
• z ∗ = optimal value over arbitrary policies
• zpot = optimal value over POT policies
• zrelaxed = optimal value of relaxed POT problem
• zrounded = objective value of rounded POT policy

Important results (presented without proof):

Lemma 1.
The relaxed POT problem is a convex program that can be solved in O(n)
time.

Lemma 2.
zrelaxed ≤ z ∗.

Lemma 3.
The solution of the relaxed problem can be rounded to a feasible POT
solution with objective zrounded such that zrounded ≤ 1.02zrelaxed if TB is
optimised.

10 of 18
Theorem 1. The rounded POT solution is a 2%-approximate solution for
the original problem.

Proof.

z ∗ ≤ zrounded (feasible point vs. optimal point)


≤ 1.02zrelaxed (by Lemma 3)
≤ 1.02z ∗. (by Lemma 2)

11 of 18
Warehouse-Retailer Network Design

Suppose we still have m retailers but now we have n warehouses instead of


one.

Additional cost terms:

• Fj : Per-day cost of operating warehouse j.


• vij : Per-day cost of transporting items from warehouse j to retailer i

Goal: Decide which warehouses to open, assign each retailer to exactly one
open warehouse and determine retailer and warehouse reorder policies so
that total operation, transportation, reorder and holding costs are minimised.

12 of 18
Suppose a set of retailers S ⊆ {1, . . . , m} are assigned to retailer j. Then
the average cost of this assignment is the cost of the optimal (arbitrary)
policy plus operation and transport costs.

As noted before, the first component is difficult to compute. Instead, we


use the rounded solution as an approximation:

Ki
cS,j ≈ min{ K + 12 (hi − h0)λiTi + 21 λih0 max{T0, Ti} : Ti > 0, ∀i}
0
P
T0 + i∈S Ti
X
+ Fj + vij
i∈S
X
,I(S, j) + Fj + vij
i∈S

13 of 18
The problem can be (2%-approximately) modelled as a set-partitioning
integer program:

n
X X
min cS,j xS,j
j=1 S∈2[n] \∅

n X
X
s.t. xS,j = 1, ∀i ∈ [n]
j=1 S:i∈S

xS,j ∈ {0, 1}, ∀j, S 6= ∅

14 of 18
Algorithm: Column Generation

Solve the linear relaxation of the above program by column generation:

1. Start with arbitrary basis (e.g., the Euclidean basis for one warehouse).

2. In each iteration:
(a) Solve the LP with the current set of columns and associated variables,
and find the dual variables u. P
(b) Find a column S, j (variable) with negative reduced cost cS,j − i∈S ui.
If no such column exists, terminate and output the current solution as
optimal.
(c) Otherwise, add the variable and associated column to the problem and
go back to (2a).

15 of 18
Obstacle: Exponentially-many columns; how to efficiently find a column
with negative reduced cost?

Lemma 4.
A column with negative reduced cost can be found (if one exists) in
O(mn log n) time.

This can be done through a variation of the algorithm used to solve


the convex relaxation above. Utilises the idea of separability of the cost
components if one can guess T0.

16 of 18
Example with m = 5 and n = 3:

Warehouses Retailers
K h F K h λ
1 1 6 3 1 4 12 2
2 2 8 4 2 3 9 2
3 5 3 2 3 4 12 8
4 2 16 4
5 4 18 3

Transportation v
1 2 3 4 5
1 5 1 13 5 1
2 2 10 6 4 4
3 1 7 4 2 3

17 of 18
Initial Basis Warehouse cS,j
1 0 0 0 0 1 23.4919
0 1 0 0 0 1 16.0000
0 0 1 0 0 1 46.9839
0 0 0 1 0 1 27.5959
0 0 0 0 1 1 27.2379
Iteration Column Added Warehouse cS,j
1 1 1 1 1 1 1 120.362
2 1 0 1 1 0 3 80.2523
3 1 1 1 0 1 1 99.0172
4 1 1 0 0 1 1 57.4866
5 0 1 1 0 1 1 80.1608
6 0 1 1 1 1 1 101.5056
7 0 1 0 0 1 1 38.6302
8 1 0 1 0 0 2 59.7975

Result: S = {1, 3, 4} assigned to warehouse 3; S = {2, 5} assigned to


warehouse 1. Total cost =118.9.

18 of 18

Você também pode gostar