A simple measure to improve Warehouse Picking Efficiency
Designed for small and medium sized warehouses operating as fulfillment centers for customer orders and last-mile delivery.
A process of collecting items together for customer order in the quantity required at a warehouse is called Picking. It is one of the most pivotal parts of a warehouse daily operations process. Manpower usually accounts for 70% of operations cost within a warehouse and 50–60% of manpower cost is spent on order picking. Picking is a significant part of the warehouse process that often goes overlooked.
Every warehouse manager understands the value of a smooth and efficient picking process and the possible impact it can have on the bottom line. A picking optimization should be a crucial part of DNA within every warehouse because an effective picking strategy can result in:
- Lower inventory management cost
- Improved customer experience
- Higher employee satisfaction and an easier on-boarding and training process
- Improved Revenue
In the blog, we have described a simple yet effective process to improve picking efficiency. Along with algorithm design for path optimization and order allocation, we have described process implementation — technology used for platform integration, employee training and picking SOP. The updated methodology has been successful across all warehouses and has improved the picking efficiency by more than 180%.
Here are the pointers we will be covering
- Understanding Process
- Algorithm Design
- Process Rollout
- Measuring Results
Understanding Process
Before we deep dive into the picking optimization algorithm and its process, we must understand basic concept of picking.
- Warehouse Layout
A warehouse designed to store, pick, pack, and ship usually has a floor plan designed with aisles, racks, shelves, and bins. Bins are the smallest available storing space within a warehouse, it describes a location in the warehouse where goods are stored. A coordinate system is used to locate a bin, with a sequence of Aisle-Rack-Shelf-Bin ID. For instance, A-R2-S1–8 represents Aisle A, Rack 2, Shelf 1, and Bin 8.
For optimization, a 2 dimensional view of floor plan is used, where pathways as built at aisle-rack level. A sample floor plan is shown in image below:
- Picking Strategies
There are 5 types of picking strategies that can be implemented:
- Discrete Order Picking: One order-picker picks one order, one line item at a time. A very inefficient picking process, it requires high picking time. Not suited for warehouses with multiple orders.
- Cluster Picking: Methodology of picking into multiple containers at one time. The containers could either be tote containing order batches, discrete order shippers, or discrete order totes. A cluster picking solution optimizes efficiency by allowing operators to batch pick multiple orders in a single pass, minimizing the non-value-added travel time.
- Zone Picking: Order pickers are assigned specific and physically defined zones based on aisles. The picker assigned to each zone is responsible for picking orders in each zone. If the order is fulfilled from multiple zones, the order is passed from zone to zone. Also known as “pick and pass” methodology.
- Waves Picking: Picking based on combination or orders based on various conditions — order recency, SKU Count, delivery date, types of order, customer location, frequency, or SKU location zones. Typically, orders are picked one after another without optimization. Wave based is best suited for medium to large warehouses that have medium or large size SKUs.
- Batch Picking: Groups of orders that picked at the same time are called batch picking. It aims to minimize the distance traveled for picking orders where multiple orders can be picked in a single picker run. This methodology has a high potential to optimize and improve process efficiency. However, this picking methodology is best suited for small to medium-sized warehouses and does not work for large SKUs. A key constraint with this methodology is, it requires a dedicated cart design.
Algorithm Design
Equipped with the right information and knowledge we start to build the path optimization algorithm for the warehouse. As stated before, the warehouse we are focusing on is small to medium-sized, working as fulfillment centers designed to fulfill customer orders and ship out products for last-mile delivery. These products stored in the warehouse are medical supplies — prescription and OTC drugs, medical devices and products; number of line items are usually in the range of 1 to 6.
Wave based picking is deployed in the warehouse, where multiple orders are given to pickers on a single-run as per the order recency and number of SKUs. Orders are sorted based on recency and a picker completes the run by picking one order at a time.
The algorithm we are proposing is based on batch picking, where a set of orders will be assigned to a picker to be picked as a single order. This would help in reducing the path traveled by the picker and improve the overall picking speed.
Objective
Design a path optimization algorithm to maximize the SKUs picked by a picker in a single run, while minimizing the time taken to complete the run. No bin should be visited twice in the activity to improve system efficiency.
Assumptions
- The algorithm assumes warehouse as a 2-D grid with racks representing nodes on the grid, allowing only orthogonal movement between the racks
- The grid was developed using graph network theory where each rack within an aisle could be considered as node and edges can be drawn between racks that can be accessed from one another without passing other rack.
Network theory is the study of graphs as a representation of either symmetric relations or asymmetric relations between discrete objects, it is a part of graph theory: a network can be defined as a graph in which nodes and/or edges have attributes.
- Two kinds of edges can be built
a. Direct Edges: Racks in the same aisle that are physically connected
b. Indirect Edges: Set of racks that are not in the same aisle, but a picker can travel directly between them without passing near any other rack in between them. Example — two racks that are facing each other.
- Movement from a point can only be made to another point that is either connected directly or indirectly to the starting point
- Distance is measured based on orthogonal movement on X and Y-axis
Constraints
- One order cannot be split into multiple pickers
- There is a constraint on the number of SKUs that picker can pick in a single run
- Size of SKU is a key factor, for ease of communication, the SKUs are divided into four categories — Small, Medium, Large, and Extra Large. Constraints are set based on the quantity of each SKU. These constraints are derived from the cart dimension.
Route Optimization Process
A. Converting floor plan into the network map
The first part of the algorithm is a detailed study of the floor plan, this involves building a network with racks as nodes and edges representing racks that are connected from each other, the connection here can be either direct or indirect, while the strength of the edge represents the distance between two racks. The graph below shows a sample output for the network of a connected graph based on kamada_kawai_layout.
Features on warehouse floor plan network layout:
- A fully connected graph, where all racks are connected
- High-density show in the right-center of the graph represents starting and ending point in the warehouse, this has been modified to reduce picker crowding and a high density of picker at the same spot (explained later)
- Distance calculation is based on the network, where the smallest pathway between two racks is identified.
B. Creating a two-tiered connection map
However, we can overcome the issue by utilizing the constraints that are built within a warehouse.
In a standard warehouse, one pathway is flanked by aisles on either end, we have utilized this constraint to build a model that has two-layered of structure
Within the aisle pathway, a traveling salesman problem is used to build a predefined order.
a. Inside aisle pathways:
Traveling salesman problem is used to build a sequence to cover racks within an aisle pathway which will provide the smallest distance required to cover all the racks inside the aisle pathway.
b. Inter aisle routes
With the inside-aisle pathway resolved, the number of nodes to optimized is reduced by a magnitude of 23. Compared to 200 nodes and 580 edges, now we have to be optimize for 18 nodes and 25 edges (only orthogonal movements allowed).
Model 1 — Vehicle Routing Problem
Vehicle Routing Problem: A critical problem that uses route optimization methodologies, it aims to identify an optimal set of routes for a fleet of vehicles to traverse to deliver to a given order customer. Determining a solution for the vehicle routing problem is NP-Hard and often solvers tend to use heuristics due to the size and frequency of real-world VRPs they need to solve.
As a first attempt for optimizing the overall path traveled based on Vehicle Routing Problem, this methodology was deployed to work on live data creating dynamic paths and order allocation.
Input for this algorithm was — list of orders, location of SKUs within the list was provided as input, predefined routes for inside-aisle pathways, and network map connecting start and endpoints for pathways. The model still had the constraints and the assumption as stated before.
Overall, this methodology proved very effective in terms of simulated output, simulations showed an average of 53% reduction in distance traveled when compared against a simulation for standard wave-based picking approach and 50% improvement over a simulated random picking methodology. However, the processing time for a list of 200 orders was above 20 mins. With high processing time and capability, this algorithm was not the best fit.
Model 2 — Traveling Salesman Problem & predefined routes
Traveling salesman problem or TSP aims to find the shortest possible route that visits every node exactly once and returns to the starting point. The problem is NP-hard problem.
Similar to predefined calculations for within-aisle pathway, a route map was developed to travel between aisles. A standard traveling salesman problem approach was used to identify the optimal sequence connecting the endpoints of aisles within the floor plan, assuming orthogonal movements between the points.
With this approach, we still need the algorithm to handle order-picker allocation, which is described below.
C. Order allocation
Order allocation, a significant part of the pre-defined route methodology was done with the same overall objective of reducing the distance traveled by the picker.
Order allocation is done on three levels:
- Orders are sorted based on the number of aisle-ends points orders cover, with order just assigned to 1 or 2 same endpoints allocated together.
- Order with 3 or less different endpoints are sorted based on two-tier map and assigned to the picker
- For orders with 3 or more endpoints, a simple linear optimization algorithm is used to complete the order allocation
All the order allocation is done as per the number of orders, number of SKUs within the tour, and size of the SKU.
Simulation result for model based on TSP and the predefined path has slightly lower path distance improvements but extremely low processing time. The output showed an improvement of 48% over the random picking process, but the processing time was under 5 seconds for 200 orders.
Quick note — simulation was done on multiple sets of random orders with a wide variety of SKUs under harsh constraints on order and SKU quantity (10 orders and 30 SKU per picker).
D. Avoiding Picker Crowding
Picker operate in the closed and confined spaces of warehouse, hence the algorithm has to ensure pickers are not gathered together at hot zones at the same time. To solve this issue, two further modifications were made to the algorithm:
- Changing the connectivity with the start point: As shown in the network graph above certain endpoints of the aisle pathway were connected to the picklist generation point in order to create a more distributed graph.
- Random reverse picking list: Certain picklist generated from the algorithm were reversed. This primarily worked in warehouses where a high density of heat map was closer to the picklist generation point.
E. Output
A python script was created using open source libraries where a list of orders with SKU is provided as input along with SKU Location and a static file with a two-tiered map for the warehouse; it produces an output with picklist allocated to a picker ID and sorted in an order the picklist should be picked.
System Integration
To scale the picklist operation, the script has to be incorporated into the in-house build CRM system designed for the warehouse. Two key systems were used for the integration:
Lambda is a service-less architecture that lets you run code without provisioning or managing servers and you pay only for the compute time you consume. Containers are deployed each time a request is made to run the script. Lambda provides scalability as you can run code for virtually any type of application or back-end service — all with zero administration. Within lambda, a python runtime environment is being used to run the picklist generator code and deploying libraries used in the code.
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale micro-services, distributed systems, and server-less applications.
For the picklist to be generated, a CRM system will publish the input in AWS SQS which is a simple queue invoking the lambda container with the python script and the result is pushed into another SQS queue which will be subscribed by the CRM.
Process rollout
The algorithm moves picking methodology from waves based picking to batch picking, with high optimization results (48% reduction in travel distance based on simulations). However, the batch process would not help reduce the aging of the orders in the picking pipeline. A combination of wave and batch-based picking would be best suited for the overall picking methodology.
Due to changes in methodology where batch processing requires a specially designed cart which can support multiple orders picking as one order. An output model should provide a combined picklist with tags for each SKU with the order ID. Sample output for the combined picklist is given below.
The updated methodology also requires a change in the picking cart. The cart has to support the flexibility of picking multiple orders as one where the selected order goes in a designated basket within the cart.
Selected pickers were identified within a warehouse and provided training for a couple of hours a day on the updated picking process. The process was slowly rolled out for other pickers and made part of the standard picking process within 10 days.
Measuring Results
A key part of the success here is training pickers on the updated process and ensuring the right SKU is added to the right bucket, we faced issues with training in first few days where there were errors and pickers not following the designed process. With kinks ironed out in a week, we saw an 180% increase (and still increasing) in the picking speed while maintaining a high level of quality. Improvements in implementation were higher than an initially expected improvement of 50% based on a reduction in distance traveled by the picker. Upon further analysis, we identified that wave based picking was muddled with U-turns, overcrowding which slowed down a picker even further, which is solved in the algorithm based picking approach.
Next Steps
- This number can be improved by updating the constraints assigned to the process due to the order count and SKU count. A modified picking cart could result in further improvements by a margin of 50%.
- Path optimization could be used for the process of putting away, where the process can be migrated from waves based to batch or cluster-based put away.
This project would not have been possible without help and guidance from
- Operations and Management team at 1mg partner warehouse, who were open, willing, and eager components for driving this project from a theoretical concept into reality. Their continuous work, even during the COVID-19 crunch was very valuable and important in implementing this design and improving the algorithm within a month.
- Technology team at partner warehouses, took this project in stride and worked overtime to help me integrate this within the existing CRM system. Their expertise in connecting the dots between business and platform was evident and a helpful asset.
- 1mg Management team — for showing openness and eagerness to experiment and improve, even during a time of crisis.