Intelligent Warehouse Allocator for Optimal Regional Utilization - - PowerPoint PPT Presentation

intelligent warehouse allocator for optimal regional
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

Intelligent Warehouse Allocator for Optimal Regional Utilization

Girish Sathayanarayana girish.sathyanarayana@myntra.com Myntra Designs Arun Patro arun.patro@myntra.com Myntra Designs

slide-2
SLIDE 2

Introduction

  • Buying and Replenishment is a major, throughout the year activity in large

fashion e-commerce firms.

  • Hundreds of Purchase Orders (POs) are raised every day to procure styles
  • f different article types from vendors.
  • The task is to distribute the procured inventory optimally between the

principal warehouses.

  • Goal is to reduce logistics cost and faster delivery times to customers.
slide-3
SLIDE 3

Introduction

SKU ID QUANTITY A0001 320 A0002 234 A0003 124 … … … … … … … … A1000 1034

  • 1. Raise a Purchase Order

Vendor Partner 1 Vendor Partner 2 …. …. …. …. Vendor Partner N

  • 2. Vendors deliver the products
  • 3. Optimally distribute the stock

among warehouses

slide-4
SLIDE 4

Caveats of Allocation

  • The quantity of the product (SKU) that gets located in a warehouse must

be in proportion to the regional (areas in the vicinity of the warehouse) demand of the product.

  • Warehouses have capacity constraints and old inventory which must be

accounted while determining the new stocking quantities.

slide-5
SLIDE 5

Problem Statement

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

slide-6
SLIDE 6

𝑌𝑗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

Problem Statement

slide-7
SLIDE 7

X11 X21 … X12 X22 … … … … … … … X1K X2K … XM1 XM2 … … XMK X1L X2L … XML

Subject to Constraints

Problem Statement

sum ( ) <= C2 Warehouse Capacity Constraint ) <= N2 Total Orders Constraint sum (

slide-8
SLIDE 8

Solution

  • 1. Ideal Splits Computation: Predicting the ideal split at the SKU level by a

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.

  • 2. Optimal Feasible Allocations: Finding optimal feasible allocations

considering warehouse capacity constraints by defining an allocation penalty matrix and solving the constrained optimization problem.

slide-9
SLIDE 9

Step 1: Ideal Splits Computation

  • Given a purchase order of size M and K warehouses, we compute the

Ideal Split Matrix by calculating the probability matrix

  • = Probability (Purchase event for

is located in geographical cluster with associated nearest warehouse being warehouse )

  • Ideal splits

are computed by:

I P Pij skui j Iij

[Ii1, Ii2, . . . Iik] = Ni * [Pi1, Pi2, . . . Pik]

slide-10
SLIDE 10

Step 1: Ideal Splits Computation

  • We estimate these probabilities by learning a classifier which predicts the

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

slide-11
SLIDE 11

Step 1: Ideal Splits Computation

Log Loss for the three layer multi layer perceptron for various article types and genders

slide-12
SLIDE 12

Step 2: Optimal Feasible Allocations

  • Given Ideal Split Matrix and Warehouse Capacity constraints, we can

compute the Optimal Allocation Matrix using two formulations

  • 1. Binary Integer Programming
  • 2. Integer Programming
slide-13
SLIDE 13
  • Optimality is with regard to the inter

warehouse redistribution task. We formalise this by defining a redistribution cost penalty matrix

  • Penalties mirror logistics cost involved in

fulfilling an order from warehouse 𝑘 when the nearest warehouse is warehouse 𝑗.

  • Non-assignment is allowed to handle

cases where total number of items in the PO is greater than the combined capacity of all warehouses.

Step 2: Optimal Feasible Allocations

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

slide-14
SLIDE 14
  • Given a

specification , we can define an exploded PO Specification item set by repeating number of times represented as .

  • We compute the warehouse allocation using a one-hot decision vector for each item of the

exploded set. We define a Boolean Decision Variable Matrix

PO {(skui, Ni)|1 ≤ i ≤ M} PO′ skui Ni itemij

Step 2: Optimal Feasible Allocations Binary Integer Programming

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

slide-15
SLIDE 15

Step 2: Optimal Feasible Allocations Binary Integer Programming

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

slide-16
SLIDE 16
  • In the Integer Programming Case, we define

an Integer Decision Variable Tensor

  • = number of

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

Step 2: Optimal Feasible Allocations Integer Programming

Decision Variable Matrix Yi

Y11 Y21 … Y12 Y22 … … … … … … … Y1K Y2K … YK1 YK2 … … YKK Y1,K+1 Y2,K+1 … YK,K+1

slide-17
SLIDE 17

Step 2: Optimal Feasible Allocations Integer Programming

Yopt

Solved using https://github.com/coin-or/Cbc

slide-18
SLIDE 18

Evaluation and Results

  • We back-tested the model on purchase
  • rders created during an entire month at

Myntra using 2 scenarios

  • Tested for Apparel, Footwear and Personal

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.

slide-19
SLIDE 19

Evaluation and Results

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

slide-20
SLIDE 20

End