How Algorithms Run Amazon’s Warehouse
Amazon — one of the largest E-commerce platform was founded about 25 years ago. While this company would not function without its backbone, the labour force, the programmatically defined part of Amazon is also a major contribution — the part that we don’t see directly.
Following an item, from it being ordered to it being delivered is a very fast object localization. This poses as clutter for robotic bin picking, that is an essential part in the working of this company. The Amazon Fulfilment Centre is where items from various sellers are stored, and dispatched after a user orders them. The Fulfilment Centre involves several processes — picking an item, sortation, packing and shipping. ‘Pickers’ who are assigned to pick items from various aisles, as they are ordered, have to work around 12 hours a day. Can the time taken by a picker to do his/her task be optimized? This paper includes the analysis of the algorithm involved in picking an item, and an improvement to try and reduce the workload on the ‘pickers’.
Amazon is one of the biggest and most successful e-commerce companies and online retailers. The company stores their products in huge warehouses, called Amazon Fulfilment Centres, which handle the marketing, shipping and returns.
“Warehousing is an integral part of every logistics system”.
The warehouses are managed by more than 500 people and different kinds of technology.
To better understand the problem at hand, the three fundamental components of a warehouse are receiving, picking and shipment. The first one is how the warehouse gets its inventory — from different dealers, sellers and so on, and then sent to storage. The last one is the last step before the product leaves the warehouse, that involves labelling, packaging and finally sending the product out. Picking an item is often the most tedious and time consuming task of the whole process. The incoming orders are stored in shelves, divided into aisles. The storage in a warehouse is of great importance, because it needs to be optimized for the ‘pickers’ who pick the items. The pickers need to pick products at the right time so that they can be delivered at the right time. The pickers are given a list of items that they have to ‘pick’ from various locations in the storage.
Since there is high efficiency needed in this task, the ‘pick paths’ that the pickers have to take is algorithmically defined, to know exactly where the product is placed in the warehouse. In spite of this, however, the pickers have to work for an average of 10–12 hours and walk about 7–10 miles a day, from aisle to aisle. Optimizing this path to the fullest is essential. Right now, the pickers are the last thing considered in the algorithm.
Can this algorithm be unearthed to such a level that one could find what exactly is missing in it? Can the pickers’ paths be optimized so that they have to do minimum work with maximum efficiency?
This paper will answer these questions and some more.
2 Literature Review / Understanding Existing Algorithm
Warehouses form a link between producers and customers to ensure constant and timely delivery of products. Warehousing can be used at any point in the supply chain: at producer (eg factory warehouse), at customer (eg shopping centers, warehouse), and at any point in between. Picking orders is one a daily operation in the Amazon warehouse. The purpose is to collect the products from storage locations to meet client orders. According to the estimates,the operation of collecting orders amounts more than 50% of the total operational costs of running the warehouse. The main reason for this is often the employment of human pickers, as automating the collection of orders requires a large investment.
The general ways of picking up orders by the pickers is with a kind of trolley or vehicle with space for storage products. Optimization of algorithms that will help the collector-to-product is the main agenda of this research. According to the researchers, optimization of collection of orders in the warehouse enables significant savings in labour cost and the shorter delivery time improves quality of the product.
Through various sources online, websites and blogs, this is an overall picture of the Amazon Fulfilment Centre.
1. Order Placement and location of warehouse
This happens when the user places an order on the website. Once the order is placed, the warehouse where the item can be fetched from is located. This depends on a number of factors.
2. Building of inventory in the warehouse
Dealers book an appointment to stock their inventory in the AFC. All the items have barcodes generated by the Amazon dashboard. The receiving clerk measures, weighs and scans the item. Then the items are moved to random storage, where they are just assigned a random location in the warehouse. While placing each item, the clerk scans it, so that the system would know its location.
3. Picking of item within warehouse
A ‘picker’ is assigned to the item, who is supposed to locate the item from a given aisle, and fetch it from there. He gets a list of aisles the items are to be picked from. Once the picker reaches a particular aisle, he scans the location, and the ‘hand held gun’ tells him/her what item to pick up from the aisle. He then picks up the item, scans it and adds it to his ‘tote’. He does so for multiple items, until his tote is full and is ready for the next process.
4. Sorting of items from tote
Since the tote consists of items from various customers, the items are first separated into sorting trays. All the items are run through a sorter, where each sort tray is scanned by a laser. The items are re — binned according to the customer who has ordered them. Once all the items belonging to one customer have been collected, they move to the next process.
5. The Packer or Chuter and SLAM
The packer packs all the items belonging to one customer, and attaches a sticker which is scanned with customer information (also called the SP00). Once the package goes to SLAM, it is weighed, measured and a label is generated. The package then goes on to shipment.
Packages from different users are sorted into ‘flats’ or ‘singulators’ and then either loaded onto trailers or fluid loaded into trucks. Multiple shipments go out at once.
Step 3 of the above process is what we will be looking at in detail.
The sources we referred to gave us an idea about how warehouses function. The information was not specific to Amazon. This is a consolidated version of what we gathered.
Order picking optimization methods -
To further break down order picking, it can be carried out in various ways called Order Picking Systems (OPS). They can be designed keeping in mind the kind of products (size, number and value), customer orders and layout of the warehouse area. They are classified as the following :
Pickers move between aisles and pick up items from them. They could either pick up items from a single order, or from multiple orders. This can be further divided into low level picker-to-parts where the items are available on the warehouse floor, and high level picker-to-parts where lifting trucks or cranes have to be used to pick up items.
Pickers are assigned zones that they have to move within to pick items. They are only assigned items that fall in their zone. Orders can be picked sequentially, zone wise or simultaneously from all zones.
The advantages to this system are that since pickers get assigned a smaller area, they find it easier to get used to it, and in the long run this reduces pick time.
3. Pick and sort
In this system, there is no need to pick all items in one tour. Items are placed individually on the conveyor belt, and then sent to a sorting area. Here, a mechanical sorter sorts the items into customer orders. However, adopting a mechanical sorter requires extra investment, so not all warehouses can afford this facility.
A typical picking tour consists of the following, in increasing order of time required–
- Set-up time — Initial time involved in administrative tasks like forming of the order, and emptying of the tote on the conveyor.
- Pick time — Time involved in picking the item from the aisle
- Search time — Time spent looking for the product after arriving at the aisle.
- Travel time — Time spent moving from one aisle to another, and between the aisles and the drop station.
There are a few policies that need to be considered while optimizing an order picking process –
1. Storage policy
There could be any of these three types of storage in a warehouse. Dedicated storage is where a storage location, or a number of adjacent storage locations in the warehouse are dedicated to a particular item. This on the downside decreases space utilization, because a particular location is always saved for a product, even if the product is currently not present in the warehouse. Random storage is where one type of items are spread all over the warehouse, so that the item closest to the picker can be picked. This has a high space utilization, but it possible only in computer guided warehouses. Closest open location storage is a variation of randomized storage, where the pickers themselves can choose the empty location.
According to [CITE] our research, Amazon Fulfilment Centres use random storage to store inventory. This decreases travel time to each item.
2. Order consolidation policies
The two types of order consolidation policies are single order picking, where one customer’s order turns into a pick list and order batching, where there are multiple orders in one pick list. However, this gives rise to the problem of batching orders such that items can be picked at the same time to reduce travel path.
3. Order routing policies –
Optimal routing policies are tough to craft in the real world because algorithmically generated pick paths may seem illogical to pickers, and they might not end up following the pick paths. Besides, aisle congestion is not accounted for in optimal conditions.
Routing strategies are of three types. Return strategy is where a picker enters an aisle if there is an item to pick from it. The picker enters from the front of the aisle and once he/she reaches the furthest item to be picked in that aisle, returns to the front of the aisle. S — shaped strategy is where a picker traverses the entire aisle alternating from the front end and the back end. Largest gap strategy is where the picker tries to maximize the length of the aisle that is not traversed. The picker only enters the aisle up to the distance of the furthest item, and then returns. If the item is closer to the back end of the aisle, the picker enters the aisle from that end.
Algorithms involved in order picking optimization–
In the context of order picking, there are two main processes that occur.
1. A picker walking from one aisle to another, to pick up items.
2. A picker walking to the location of a particular item in the aisle.
Keeping in mind these two processes, there are two main algorithms involved in order picking. Travelling Salesman problem is used to find the shortest path between all locations of an order, usually starting and ending at the same point (here, could be the depot). The Shortest Path problem is used to find the shortest path between two particular items, when they’re not joined by a single edge.
The following is an analysis of the Travelling Salesman Problem, along with enhancements that can make it more efficient for order path generation.
The Travelling Salesman problem is described as a problem to find the shortest route to traverse all the nodes of a graph, starting and ending at the same vertex.
There are two enhancements that could be done to this algorithm. First, are Enhancements –
1. Exhaustive search — This searches through all the permutations of tours, and each time that a shorter one is found, that becomes the shortest. This, however, increases time complexity because it has to go through all the possible paths.
2. Nearest neighbour — This simply starts at a random current node, and looks at the closest node to it, until all the nodes have been visited. This, however, has no guarantee that it will yield a result close to the optimal result, so it is not used extensively.
The following is an analysis of the Dijkstra’s algorithm, along with enhancements that can be done to it, in order to implement it for order picking.
Dijkstra’s algorithm finds the shortest path between two vertices of a weighted graph.
1. Subgraph partitioning — When entire warehouse (graph) is subdivided into a part that actually has to be checked. For example, if there is no item to be picked from the north of the warehouse, the algorithm will not include that part of the warehouse at all while calculating the pick path. One disadvantage of the method is that there has to be an additional mechanism to calculate the subgraph, which might end up being more expensive.
2. Bidirectional searching — When start and end nodes are explicitly given, this method is used to map all paths from the starting node to the target node. The algorithm runs simultaneously from the start node and the target node, which reduces its run time, thus making it more efficient in terms of time.
Simulation to understand the working -
Our first level of simulation of the warehouse was very basic. The warehouse was a 3x3 warehouse, with 3 items being able to be stored in each compartment of the warehouse (amounting to a total of 27 items). There are 3 types of items — A, B and C. There are 5 A type items, 6 B type items, and 4 C type items. The algorithm randomly allots a location to these items, among the 27 available locations. The locations that don’t have an item assigned to them are assumed to be empty.
The algorithm generates an order containing 10 items (assuming the capacity of the tote to be 10). The warehouse contains one picker, whose initial position is [0,0]. He moves along the aisles, being able to move both horizontally, and vertically. The algorithm finds a list of available locations for each item of the order, and then finds the location closest to the picker’s current location. The distance travelled by the picker is calculated using Manhattan distance. This new location is added to the path.
To further detail out the simulation, we established our aim. To allow the warehouse to process more orders per unit time, we had to reduce the effort taken by the picker that we would consider to be measured in time and distance.
A list of attributes contributing to the picking of items was made, following which we made a list of assumptions. We took into consideration aisle width (assumed to be 8 units), number of aisles (assumed to be 100), time taken to search for an item in the compartment (different for different levels of the compartment) and time taken to pick an item based on the size of an item.
The second level of simulation included a warehouse that was 100x100 aisles, with each compartment being able to store 10 items. The warehouse contained a total of 74,954 items of types A to Z. These items were randomly allocated positions. Unlike the previous simulation, here the concept of time was introduced. The initial speed of the picker was assumed to be 1 unit/ unit time. The time taken to search for an item was also included. In each shelf, where there are 10 items present, it was assumed that the first three were kept on the lowermost level (taking 5 units of time to search for), the next three were kept in the middle level (taking 3 seconds to search for since the level is at eye level), and the last four were kept on the top most level (taking 10 seconds to search for). The time taken to pick an item, based on its size was also considered. For the sake of simplicity, it was assumed that items of type ‘A’ to ‘H’ were the smallest, so took 5 seconds to pick. Items of type ‘I’ to ‘P’ were medium sized, so took 10 seconds to search for, and items of type ‘Q’ to ‘Z’ were the largest, so took 12 seconds to pick.
As done previously, an order with 10 items was generated. For each item of the order, the closest available location was calculated, along with time taken to search for the item, as well as to pick it (according to rules mentioned above). The total time taken to complete the order was calculated.
To further imitate a real warehouse, the number of pickers simultaneously picking the orders had to be increased. This was done using threading in python.
The factor of fatigue was introduced, and for every three items that were picked, the speed of the picker would reduce by 0.5 times the speed.
In this paper, we hoped to look deeper into the warehouses of Amazon and attempt to optimize the process of the pickers so as to reduce the human efforts. In order to satisfy the dissertation, we carried out secondary research by looking into different papers and videos. This gave us data on the general functioning of warehouses and the process a package goes through after an order is placed. We picked up the details relevant to our problem area — the pick path.
We started with watching videos on how Amazon warehouse works. This gave a peek inside the warehouse and thus we got a fair idea about how things work in and around the warehouses. We referred to different papers based on the logistics of the working of warehouses, these spoke about the analysis of the algorithm of the pick path in the warehouse and generating problems based on the pick path in terms of the algorithms. Primary research for this topic was restricted as no warehouses are accessible to the outer public, due to issues with privacy.
In working time, pickers have several subtasks. Time used by collectors for search and collection, is often considered to be constant. Assuming pickers moving at a constant speed, the target optimization becomes distance travelled by the picker to meet all the required orders. Tactic storing regulates the storage of received products to the storage location. Purpose storing maintains one or more neighbouring storage locations for storing one type of product. On the other hand randomly storing each type of product.
Assumption — speed of the picker was taken to be 5 units/unit time, aisle width was taken to be 8 units horizontally. The other assumptions were are mentioned above.
To find the total average total time taken by a picker to pick 10 items, two studies were conducted. One, taking the starting position of the picker as [0,0], the total time was measured. 12 observations were taken for this study. The average total time was 218.54 units.
Second, the starting position was decided randomly, assuming the picker started from the 0th row. The location was thus [0, (random value from 0 to 100)]. The average total time was 209.796 units.
Thus, it was inferred that no matter where (in the 0th row) the picker starts, he takes a similar amount of time to complete the order.
On increasing the tote size, it was found that time taken increases almost perfectly linearly with increase in tote size.
In conclusion, we chose to look at the pickers as humans and not as robots. As we found out that in Amazon’s algorithm, the workers were considered last, we decided to revolve our study around them. With them in the focus, we hope to optimize the process as to reduce the efforts of the pickers and thus make the functioning of the warehouse more efficient.
 Anon. Facebook. Retrieved October 8, 2018 from https://l.facebook.com/l.php?u=https://cdn.fbsbx.com/v/t59.2708-21/42330502_244508472901122_3062303487250399232_n.pdf/Algorithmic-approach-to-warehouse-consolidation-and-optimization.pdf?_nc_cat=105&oh=177463e3da84c6e37d40803461b518a1&oe=5BB1B559&dl=1&h=AT1tLfeJ9EMm2JMQNseQZXotghN3IUgBr_XgwZnoNxGB8KSkgAT1FS2ctLodYObjFoU4OzhsXUbVsd6d4dGj3tuyQR7S2dyMKm8dMxqRSaqOMlatnuIsX1wN_FhHy9acsFaYEV0-XBFxVQ
 Anon. Facebook. Retrieved October 7, 2018 from https://l.facebook.com/l.php?u=https://cdn.fbsbx.com/v/t59.2708-21/17356636_10207908987432706_4435345707909513216_n.pdf/Warehouse-Pick-Path-Optimization-Algorithm-Analysis.pdf?_nc_cat=106&oh=fc4a911d00b960993a06cd5889d94710&oe=5BB196C7&dl=1&h=AT30Ty7n-SilIWPAO7Y9ABz0PcLfgFvcppbFbLsM6Ea7kpGIjYjImY_r21ZSrYWgUiijRVl0JcItAOmQKGe5D_tz3zHNxuBN5fM4BDCOANmutmvNo2IO0jlnsw6TYQcxFzvZnxltm04ZjQ
 Tom Buckland. 2018. Amazon A9 Optimization & Algorithm — What You NEED To Know. (September 2018). Retrieved October 7, 2018 from https://amazonseoconsultant.com/amazon-a9-optimization/
 Anon. 2016. How Amazon Warehouse Works — How Amazon FBA Works. (April 2016). Retrieved October 7, 2018 from https://www.youtube.com/watch?v=G5ObUzjs50g
 CNBCTV18. 2018. Behind the Scenes Journey of Online Package: Inside Amazon Fulfillment Center in Haryana | CNBC TV18. (August 2018). Retrieved October 7, 2018 from https://www.youtube.com/watch?v=nrshJKyefwM
 www.ETRetail.com. Inside Amazon’s Largest Warehouse in India — Zero Error | ET Retail. Retrieved October 7, 2018 from https://retail.economictimes.indiatimes.com/slide-shows/inside-amazons-largest-warehouse-in-india/65403091
 www.ETRetail.com. Inside Amazon’s Largest Warehouse in India — Sorting and Packaging | ET Retail. Retrieved October 7, 2018 from https://retail.economictimes.indiatimes.com/slide-shows/inside-amazons-largest-warehouse-in-india/65402012
 Anon. Pick Paths. Retrieved October 7, 2018 from http://amazonemancipatory.com/pick-paths
 Anon. 2016. How Amazon Arranges Its Warehouses. (August 2016). Retrieved October 7, 2018 from https://www.youtube.com/watch?v=5TL80_8ACPc
 ABCNews. 2012. Inside Amazon: Secrets of an Online Mega-Giant. (November 2012). Retrieved October 7, 2018 from https://www.youtube.com/watch?v=zknLfU7GJIw
 Dominique Robinson. SkuVault Blog. Retrieved October 7, 2018 from https://www.skuvault.com/blog/amazon-warehouses-how-to-harness-chaos
 Anon. Employees are expected to be incredibly efficient. Their pick mods will tell them how long it should take them to retrieve each product. Retrieved October 7, 2018 from https://www.businessinsider.in/What-Its-Like-Inside-One-Of-Amazons-Massive-Warehouses/Employees-are-expected-to-be-incredibly-efficient-Their-pick-mods-will-tell-them-how-long-it-should-take-them-to-retrieve-each-product-/slideshow/45313474.cms
 Anon. Quora — A place to share knowledge and better understand the world. Retrieved October 7, 2018 from https://www.quora.com/
The project was done as a part of a college assignment with Manasi Kulkarni and Ananya Rane.