Intelligent Warehouse Allocator for Optimal Regional Utilization
Girish Sathayanarayana girish.sathyanarayana@myntra.com Myntra Designs Arun Patro arun.patro@myntra.com Myntra Designs
Intelligent Warehouse Allocator for Optimal Regional Utilization - - PowerPoint PPT Presentation
Intelligent Warehouse Allocator for Optimal Regional Utilization Girish Sathayanarayana Arun Patro girish.sathyanarayana@myntra.com arun.patro@myntra.com Myntra Designs Myntra Designs Introduction Buying and Replenishment is a major,
Girish Sathayanarayana girish.sathyanarayana@myntra.com Myntra Designs Arun Patro arun.patro@myntra.com Myntra Designs
fashion e-commerce firms.
principal warehouses.
SKU ID QUANTITY A0001 320 A0002 234 A0003 124 … … … … … … … … A1000 1034
Vendor Partner 1 Vendor Partner 2 …. …. …. …. Vendor Partner N
among warehouses
be in proportion to the regional (areas in the vicinity of the warehouse) demand of the product.
accounted while determining the new stocking quantities.
Purchase Order {(𝑡𝑙𝑣𝑗 , 𝑂𝑗 ) |1 ≤ 𝑗 ≤ 𝑁} 𝐿 warehouses with capacities [𝐷1,𝐷2, …𝐷𝐿] Existing inventory of the SKUs {𝐹𝑗𝑘 |1 ≤ 𝑗 ≤ 𝑁; 1 ≤ 𝑘 ≤ 𝐿} Compute Optimal warehouse allocations {(𝑡𝑙𝑣𝑗 , [𝑌𝑗1, ...𝑌𝑗𝐿,𝑌𝑗𝑚 ]) |1 ≤ 𝑗 ≤ 𝑁} where 𝑌𝑗𝑘 is the number of 𝑡𝑙𝑣𝑗 allocated to warehouse 𝑘. 𝑌𝑗𝑚 denotes the number of 𝑡𝑙𝑣𝑗 not assigned to any warehouse. Input Output Subject To Total Orders Constraint Warehouse Capacity Constraint
𝑌𝑗L denotes the number of 𝑡𝑙𝑣𝑗 not assigned to any warehouse
Non-assigned quantity
X11 X21 … X12 X22 … … … … … … … X1K X2K … XM1 XM2 … … XMK X1L X2L … XML
Optimal Warehouse Allocation Matrix X ∈ RM*(K+1)
𝑌𝑗𝑘 is the number of 𝑡𝑙𝑣𝑗 allocated to warehouse 𝑘
K warehouses M orders Output
SKU ID QUANTITY SKU1 SKU2 SKU3 SKUM …. N1 N2 N3 …. NM
Input Purchase Order
X11 X21 … X12 X22 … … … … … … … X1K X2K … XM1 XM2 … … XMK X1L X2L … XML
Subject to Constraints
sum ( ) <= C2 Warehouse Capacity Constraint ) <= N2 Total Orders Constraint sum (
split prediction model and generating an ideal warehouse allocation given the order quantity from a demand model for every SKU assuming unlimited capacity in warehouses.
considering warehouse capacity constraints by defining an allocation penalty matrix and solving the constrained optimization problem.
Ideal Split Matrix by calculating the probability matrix
is located in geographical cluster with associated nearest warehouse being warehouse )
are computed by:
[Ii1, Ii2, . . . Iik] = Ni * [Pi1, Pi2, . . . Pik]
warehouse probabilities using predictors like attributes of the style
skui
Feature Vector representing attributes like colour, brand, fabric, size, age group, price, sleeve length, neck-type etc
P1 P2 P3
... …
PK
Probability Vector representing regional demand of the product
Log Loss for the three layer multi layer perceptron for various article types and genders
compute the Optimal Allocation Matrix using two formulations
warehouse redistribution task. We formalise this by defining a redistribution cost penalty matrix
fulfilling an order from warehouse 𝑘 when the nearest warehouse is warehouse 𝑗.
cases where total number of items in the PO is greater than the combined capacity of all warehouses.
L ∈ RK*(K+1) Redistribution Cost Penalty Matrix
L11 L21 … L12 L22 … … … … L1K L2K … … … … … LK1 LK2 … LKK … … … … …
λNA λNA
…
λNA λNA
Li,K+1 = λNA Non-assignment Loss λNA > > Lij
specification , we can define an exploded PO Specification item set by repeating number of times represented as .
exploded set. We define a Boolean Decision Variable Matrix
PO {(skui, Ni)|1 ≤ i ≤ M} PO′ skui Ni itemij
SKU ID QUANTITY SKU1 SKU2 SKU3 SKUM …. N1 N2 N3 …. NM
N1 items of SKU1
Exploded PO
ITEM QUANTITY item1 1 item2 1 … 1 … 1 … 1 itemN 1 NM items of SKUM
PO N =
M
∑
i=1
Ni
Y11 Y21 … Y12 Y22 … … … … … … … Y1K Y2K … YN1 YN2 … … YNK
Decision Variable Matrix Y ∈ {0,1}N*K
Z = 1N − Y1K W = Ideal Allocation Matrix
Yopt
Mapping from Item Allocation to SKU Allocation L′ = L[1 : K][1 : K] (Truncated Loss Matrix) Solved using https://github.com/coin-or/Cbc
an Integer Decision Variable Tensor
ideally allocated to warehouse which is finally placed in warehouse ( implies not assigned to any warehouse)
Y ∈ ZM*K*(K+1)
+
Yiuv skui u v v = K + 1
Decision Variable Matrix Yi
Y11 Y21 … Y12 Y22 … … … … … … … Y1K Y2K … YK1 YK2 … … YKK Y1,K+1 Y2,K+1 … YK,K+1
Yopt
Solved using https://github.com/coin-or/Cbc
Myntra using 2 scenarios
Care, covering 23 different Article types. Around 8,000 purchase orders were created for 43,000 SKUs and a total quantity of 3.4 million.
2DD: Percentage Two-Day-Delivery which is the fraction of orders which are fulfilled within two days of placing the order. RU: Regional Utilization which is the fraction of orders which are fulfilled by the nearest warehouse