You are on page 1of 2

Greedy Algorithm for Safety Stock Assumption: One distribution center supplies N types of parts to Mw warehouses and then

redistribute them to Mr retailers. A retailer i can only be supplied from warehouse k If i S k . Lead time demand by forecast for part i at location j is Fij. Assume the cumulative distribution of the lead time forecasting error for part j at location i as CDFij(x) is already on hand (which can calculated by bootstrap re-sampling over the history records). Let sij be the safety stock of part i at location j, the fill rate for each part j at location i to be fij(sij),the unit price for each part is Cj. The objective is to minimize the total cost of safety stocks while subject to the service level constraints. Here service level is defined as fill rate, also called service level and defined as the proportion of demands that could be satisfied without backorder. Consider the following different constraints 1) A single service level target ai for each location i: In this case, the service level is independent with each other but the parts in one location should be considered together. We can minimize the cost for each location separately. At location i, we have the following mathematical model:

Min j C j * sij sub

Fij
j

F j ij

f ij ( sij ) ai

The above optimization problem can be solved efficiently with the following greedy algorithm: 1. Starting with sij=0 for all j 2. Calculate f i ( sij ) = Fij ( f ij ( s ij + 1) f ij ( s ij )) 3. Find part j with min f i ( s ij ) / C j , which is the most efficient incremental contribution by increase a unit safety stock per dollar, and update Sij=Sij+1 4. Check if fi =

Fij
j

F j ij

f ij ( s ij ) = j

Fij

F j ij

CDFij ( s ij ) ai , if true then stop,

otherwise repeat from 2. 2) A single aggregate service level target a for all locations in the same echelon: In this case, the locations supplied by the same warehouse (or distribution center for echelon 2) should be consider simultaneously. Lets take retailers supplied by warehouse k as example and we have the following mathematical model:

Min iS sub

C
j j

* sij Fij Fij f ij ( sij ) ai


iS k


iS k

Similarly, The above optimization problem can be solved efficiently with the following greedy algorithm: 1. Starting with sij=0 for all j and i in Sk 2. Calculate f i ( sij ) = Fij ( f ij ( s ij + 1) f ij ( s ij )) 3. Find part j with min f i ( s ij ) / C j and update Sij=Sij+1 4. Check if

fi = iS

Fij
j


iS k

F j ij

f ij ( sij ) = iS

Fij
j


iS k

F j ij

CDFij ( s ij ) a , if

true then stop, otherwise repeat from 2. 3) In case we have both minimal service level requirement aj for each location and an overall aggregate service level a for the locations in the same echelon. As in the second model, we have to consider the locations supply by the same suppliers together( distribution center or warehouse) . For he retailers supplied by warehouse k we have;

Min iS sub

C
j j

* sij Fij F j ij f ij ( s ij ) a for all i S k


iS k


iS k

Fij
j

F j ij

f ij ( sij ) ai

To solve this model, we may apply Lagrangian Primal dual method and attach a mulitplier parameter l to each of the constraint and adapt the constraint into the objective function, solve the unconstraint objective function and update l until all constraint can be satisfied within some predefined tolerant value.

Finally, this is a relative simple model with some assumptions, for better adaption to your business, careful review and validation is necessary.

You might also like