The present inventions relate generally to warehouse automation, and more particularly to a computerized system, and associated computerized method, and computer-readable media having instructions thereon for optimization of “Picker-to-Goods” Order fulfilment and parts replenishment that includes conveying totes in horizontal and vertical directions to a picker on a moving cart, and Order Batching to optimize throughput of the system.
A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings attached hereto: Copyright® 2016-2019, Robert D. Ahmann, All Rights Reserved.
Fulfillment of Orders for goods by customers using the internet has become a very important and cost-competitive business threatening the traditional retail space. This dramatic shift was initiated with the formation of Amazon Inc. in the 1990's. eCommerce as it has come to be known appears to be establishing itself as the primary mechanism for selling goods.
As a result, the cost associated to fulfill an Order has become a primary focus of companies practicing eCommerce from their Fulfillment Centers. The typical largest cost associated with these Fulfillment Centers is generally the cost of Order picking, essentially gathering the goods that comprise an Order. Historically, that cost can exceed 50% of the operational costs of the Fulfillment Centers.
That caused the company Amazon in 2012 to acquire the company Kiva for a sum of $775M, likely a price exceeding 20 times revenue. Their solution was a plurality of small robots that retrieve/present/return small storage towers to the Picker (i.e., a human who picks an item from the storage tower and places the item into a container that holds one or more items for a customer's Order). This intellectual property acquisition excluded that technology from all of Amazon's other competitors.
This caused the remainder of the growing industry to pursue other Automated Warehouse Systems (AWS's) in their efforts to reduce costs. Most current commercialized automated solutions (including Kiva), focus on automating the presentation of goods to a stationary Picker. Exceptions include the Fulfillment Center Automation (FCA) system described in U.S. patent application Ser. Nos. 16/339,471 and 16/339,473, which automates taking the Picker to the goods (so-called “Picker-to-Goods” systems).
The FCA system, when combined with the software, associated hardware, and processes described for the present invention, set a new (higher) level of potential performance in the industry. Today, the accepted prolonged level of performance for conventional AWS's is between 400 and 600 Picks per Hour (PPH). This document will demonstrate substantial improvements that are available for the FCA and other AWS's employing the Batch Optimization algorithm of the present invention.
Besides U.S. patent application Ser. Nos. 16/339,471 and 16/339,473 by Ahmann et al. listed above, other patents which describe background technology usable by the present invention include the following:
U.S. Pat. No. 3,351,219 to Ruderfer issued with the title “Warehousing order selection system” and is incorporated herein by reference. U.S. Pat. No. 3,351,219 describes a selective order selection system for removing individual articles from a pallet-type unit load, in which the actual condition of articles remaining at the desired unit load is sensed and a picker means is actuated to individually remove the next article. A warehousing system employing this system is described.
U.S. Pat. No. 6,602,037 to Winkler issued Aug. 5, 2003 with the title “System for picking articles situated in rack storage units” and is incorporated herein by reference. U.S. Pat. No. 6,602,037 describes a system for picking articles situated in a rack storage unit, which includes a plurality of parallel rack rows for the storage of articles situated on retrieval pallets and/or in containers, storage aisles and picking aisles formed alternately between the rack row, at least one storage vehicle in each storage aisle, which vehicle is designed to accommodate at least one retrieval pallet and/or container and is capable of travelling along each storage aisle to place the retrieval pallets and/or containers into storage in the pallet racks, at least one picker vehicle in each picking aisle for picking the articles to be picked, which is capable of travelling along in each case one of the two mutually opposing picking fronts forming the picking aisle, buffer locations, which are disposed in the picking aisles between the routes of the picker vehicles travelling along the two opposing picking fronts, for the intermediate storage and/or transfer of the pick articles from a picker vehicle at one side of the picking aisle to a picker vehicle at the other side of the picking aisle, and a system controller comprising a control computer. Besides the storage and retrieval of pallets, the system also allows the storage and retrieval of containers for smaller articles.
U.S. Pat. No. 8,718,815 to Shimamura issued on May 6, 2014 with the title “Automated warehouse system” (AWS), and is incorporated herein by reference. U.S. Pat. No. 8,718,815 describes an automated warehouse system asserted to have an improved cycle efficiency of storing and retrieving articles to and from the automated warehouse system includes a storage station, a retrieval station, a plurality of article storage shelves, a stacker crane, and a system controller. An article is brought to the storage station to be stored and retrieved from the retrieval station. The article storage shelves store articles. The stacker crane can move an article between the storage station, the retrieval station, and the article storage shelves. The system controller keeps track of the amount of storage time articles have been stored and, when it determines that an article has been stored on an article storage shelf in a buffer area for a first predetermined amount of time or longer, the system controller controls the stacker crane such that the stacker crane carries the article from an article storage shelf in the buffer area to an article storage shelf in the first storage area.
U.S. Pat. No. 8,790,061 to Yamashita issued Jan. 13, 2011 with the title “Transferring shuttle for three dimensional automated warehouse” and is incorporated herein by reference. U.S. Pat. No. 8,790,061 describes a transferring shuttle, which transfers package(s) between a pair of layered stacked racks in a three dimensional automated warehouse, includes a mobile platform which runs between the stacked racks; elastic mechanisms, which include telescoping rails that extend into the stacked racks and surround a package; and terminal fingers placed at the ends of the rails, which can move between an extended position, which allows the package to be engaged and a contracted position. The rails also contain inner fingers between the terminal fingers. The inner fingers can push the package further into the stacked rack than previously possible.
U.S. Pat. No. 9,950,863 to O'Brien, et al. issued on Apr. 24, 2018 with the title “Automated order fulfillment system and method,” and is incorporated herein by reference. U.S. Pat. No. 8,790,061 describes an automated order fulfillment system and automated method for fulfilling orders includes a donor-handling system having at least two donor buffers and a recipient-handling system having at least one recipient buffer. An item-handling system includes a vision system and an item manipulator. The vision system has a field of view encompassing the at least two donor receptacle buffers. A control causes the vision system to scan items in a donor receptacle at one of the donor buffers to obtain a pick list of location data of items in the scanned donor receptacle. The control causes the manipulator to pick an item from a donor receptacle at the other of the donor buffers under guidance of the vision system and place the picked item to a recipient receptacle at the at least one recipient buffer using the location data of items in that donor receptacle.
PCT Patent Application Publications WO2008085638 and WO2010110981 describe various aspects of a Kiva-type AWS, and are each incorporated herein by reference.
PCT Patent Application Publication WO2008085638, and U.S. Pat. No. 8,311,902 which issued to Mountz et al. on Nov. 13, 2012 with the title “System and method for filling an order” and which is incorporated herein by reference, each describe a method for fulfilling inventory requests that includes receiving an inventory request requesting an inventory item and selecting the requested inventory item from an inventory holder. The method further includes storing the requested inventory item in an order holder associated with the inventory request and moving the order holder to a storage space. In addition, the method includes detecting a triggering event and in response to detecting the triggering event, retrieving the order holder from the storage space.
PCT Patent Application Publication WO2010110981, and U.S. Pat. No. 8,483,869 which issued to Wurman et al. on Jul. 9, 2013 with the title “Method and system for fulfilling requests in an inventory system” and is incorporated herein by reference, each describe a method for fulfilling requests in an inventory system that includes receiving a request indicating an activity to be completed. The method also includes selecting a holder to fulfill the request and an inventory station at which to fulfill the request. The inventory station is associated with a queue that includes a plurality of queue spaces. The method further includes moving the selected holder from a first location to a second location remote from the selected inventory station. Additionally, the method also includes determining that a trigger event has occurred and, in response to determining that the trigger event has occurred, moving the selected holder from the second location to a queue space of a queue associated with the selected inventory station.
There remains a need for improved systems for inventory management and movement.
Aisle—The space between two storage racks in which the picker operates. Two Aisle faces are exposed to the picker when the picker is within an Aisle.
Automated Guided Vehicles (AGV's)—Robotic driverless vehicles that can follow prescribed paths within a warehouse carrying goods from one point to another.
Automated Warehouse Systems (AWS's)—Mechanized systems used to increase the Pick Rate and the accuracy with which orders are fulfilled within a Fulfillment Center above and beyond which a manual operation can provide. These are currently in general Goods-to-Picker systems.
Batch—A group of Orders collected into one or more Totes and sent to Shipping where the Items from the Totes are segregated from the Totes and then aggregated back into individual Orders.
Batch Optimization—The assignment of the right Orders to the right Batches and the Orders' SKU's to the right Tote within the Batch to maximize Multi-Picks and Chain Picks.
Batch Window—The period of time Orders are aggregated to provide the plurality of Orders used to populate the optimized batches which constitute the basis of these patent claims.
Bin—Container that resides on the shelves within a warehouse Aisle. It contains individual SKU's available to be utilized by the Picker to fulfill individual orders. Some Bins contain only one SKU type while others may contain numerous types. Bins may be open faced to allow picking without withdrawing the container from the shelf.
Bin Data—Data managed by the FCA that identifies what SKU is associated with each Bin location. Bin Data includes the quantity of each SKU at each Bin location. In some embodiments, Bin Data also includes the Aisle, the Aisle face, Bin type, and the X, Z coordinates of the Bin within the Aisle face, with (0, 0), in some embodiments, being the bottom corner of the Aisle face nearest the Tote Storage.
Bin Wall—A collection of small cubicles (also called order-aggregation compartments or Bins (unrelated to those Bins in an Aisle)) where an order-aggregation operator (e.g., in some embodiments, a human operator) can segregate the multi-pick, chain pick, and ordinary pick SKU Items which are presented to the order-aggregation operator in a Tote or Totes and aggregate those SKU Items into their respective Orders. This segregation/aggregation process is generally accomplished with a bar-code scanner and the associated software that directs the order-aggregation operator which order-aggregation compartments the SKU Items should be placed into to ultimately constitute individual Orders, ready to ship. Bin Walls are also referred to as “Put Walls” commercially, such as described in U.S. Pat. No. 9,950,863. Herein, such a Bin Wall is also called an “order-aggregation” structure.”
Chain Pick—When multiple picks are performed one after another with no interruption to place the ensuing Items into the Tote accumulating the current Batch. This results from SKU's located in a common Pick Window being assigned to the same Tote.
Combinatorial Optimization (CO)—A Combinatorial Optimization problem is an optimization problem, where an optimal solution must be identified from a finite set of solutions. The solutions are normally discrete or can be formed into discrete. This is an important topic studied in operations research, software engineering, artificial intelligence, machine learning, and so on.
Conveyor—A common piece of mechanical material-handling equipment that moves materials from one location to another in an automated manner generally along some type of track.
Dynamic Slotting—The periodic planned movement of SKU placement locations in the Shelving Units to keep the overall placement optimized. This is monitored real time.
FCA (Fulfillment Center Automation (FCA) system)—The term FCA is used to refer to the Fulfillment Center Automation in its entirety (i.e., including all physical hardware) which is a newly invented automated Picker-to-Goods Automated Warehouse System.
FCA Control Software—Refers to the system that downloads Orders from the WMS, schedules fulfillment, tracks local Bin data & Tote data, keeps the WMS updated, and performs the optimization that is the basis of this invention. It also essentially acts as the communications hub between the PLC's, FCA database, and WMS.
Fulfillment Center—A distribution warehouse where orders are prepared for shipping to a customer.
Item—A single unit/piece of a given SKU.
Kiva—One type of a Goods-to-Picker AWS where small AGV's cycle small Shelving Units between their storage locations and a Picker presenting them in a sequence that allows the Picker to complete a Pick List. Refer to U.S. Pat. Nos. 8,483,869 and 8,311,902 for more detail.
Line Item—Every product on the order is referenced by a record that includes a SKU Identifier, a quantity and a reference to which order it belongs. This record is known as a Line Item.
Line Laser—A laser that displays an accurately horizontal or vertical illuminated line on a surface the Line Laser is laid against.
Linear Actuator—A mechanical device that converts energy (power from air, electricity or liquid) to create motion in a straight line.
Mini-ASRS (Automated Storage & Retrieval System)—Tote storage device that utilizes a gantry crane and load handling device to be able to automatically store and retrieve Totes from shelves.
Multi-Pick—When multiple Line Items of the same SKU from different Orders are picked at the same time to improve the Pick Rate.
Multi-Shuttle—One type of a Goods-to-Picker AWS where small automated carriages reside in a high precision Shelving Units allowing them to move both horizontally and vertically within the structure retrieving and restoring SKU Items for a Picker residing at the end of the Shelving Units. Refer to U.S. Pat. No. 8,790,061 for more detail.
OOP—Acronym for Object-Oriented Programming. It is a programming language model organized around objects rather than “actions” and data rather than logic.
Order—A Fulfillment Center customer generally creates an Order online to purchase Items from that company in exchange for payment. The WMS then breaks the Order into one or more Shipments. Either Orders or Shipments can be downloaded to the FCA dependent on the WMS.
OrderSKU—A concatenation of two pieces of information, the Order # and every SKU Identifier # within that Order. It provides the primary key (unique record identifier) for the Order information provided by the WMS to the Batch Optimization algorithm.
PAV—Picker Automated Vehicle—Picker ‘cab’ and its associated drive mechanism that transports and positions the operator within an Aisle.
Pick Action—All the various movements required to successfully perform a Pick. In a manual system that could entail the time required to walk from one Pick location to another. In more automated systems, that time is reduced. The reduction of this time is the goal of all Fulfillment Centers.
Pick Face—All the Shelving Units and their Bins constituting one side of a warehouse Aisle.
Pick List—A plurality of Pick Requests that constitute all the picks a Picker must perform during a Segment of a Batch Window.
Pick Rate/Performance—The average time required for a Picker to complete a single pick in a sequential series of continuous picks. This sequential series needs to be able to be replicated over a given time period such that the Pick Rate can be sustained. The Pick Rate then establishes the overall Pick Performance in Picks Per Hour ((PPH).
Pick Request—A request that specifies a number of Items of a particular SKU that are to be picked for a shipment.
Pick Station—A construct utilized in a Kiva type AWS consisting of the Picker, holders for Totes, a receiving area for the small AGV's holding the small Shelving Units, and miscellaneous hardware like bar code scanners required in the Pick implementation.
Pick Window—Segmentation of a Pick Face into smaller individual areas, each containing their own respective Bins. The size of a Pick Window corresponds to an area of the Pick Face serviceable by the Picker Platform in a static position.
Picker—Individual that retrieves items from storage locations to fulfill orders received by the Fulfillment Center.
Picker Platform—Platform on the PAV where the Picker resides. It can be extended vertically or moved horizontally by the PAV to give the Picker access to any storage location in a warehouse Aisle.
Prime Area—The central part of the Pick Face that contains the SKU's that account for approximately 90% of the Line Items in all Orders (24 of 108 Pick Windows).
Replenishment—The act of moving stock to the pick areas upon request from the WMS to restore the SKU reserves within the Shelving Units.
Segment—A portion of a Batch Window consisting of a group of Batches. The number and nature of those Batches is defined by the software described in these patent claims, the storage available to store totes, and the capacities of the available Bin Walls.
Segment Totes—These are the group of Totes that are used within a single Aisle while Orders are being fulfilled within that Aisle during a single Segment. Each Tote is generally assigned to a different Batch with a Batch spanning multiple Aisles.
Sequence—The process of placing Totes in the correct order for presentation to the Picker such that the Pick List can be performed accurately.
Shelving Unit—An assembly consisting of framework and shelves extending from the floor to the full rack height. Shelving units are placed side by side to form an Aisle face.
Shipment—One or more Pick Items that are intended to be placed into a single shipping box.
Shuttle Cart—The cart which contains Vertical Elevators and is towed by the PAV in the FCA system. It carries Totes to/from the Aisle Conveyors to/from the Picker Platform in the correct sequence to facilitate Order picking in an optimized manner.
SKU—An industry-standard acronym for Stock Keeping Unit which is a distinct type of item for sale, such as a product or service, and optionally some or all attributes associated with the Item type that distinguish it from other Item types.
SKU Identifier—A unique identifier or code that refers to the particular Stock Keeping Unit (SKU).
Storage—Locations where Totes can be stored while awaiting processing by an Automated Warehouse System or awaiting transfer to a Bin Wall by Conveyors. This can be short-term when specific totes will be required within a short time frame or long-term when cycle time is longer. Separating Storage into these two types defines where the storage must be located and how much used in some embodiments, subsequently allowing a lower overall amount of storage.
System as a Whole (SAAW)—In the First Part of the Invention documentation below, the general term ‘SAAW’ will be used to refer to the FCA system as a whole (i.e., PAV, Shuttle Cart, Tote Storage units, Conveyors, and FCA Control Software).
Tote—In some embodiments, a plastic tote is 600 mm long×400 mm wide×323 mm tall at the rim with a 505 m long×335 mm wide footprint. Tote capacity is 35 kg. Totes can be nested.
Velocity—The frequency with which any individual SKU is ordered.
Vertical Elevator—A mechanical device that can transport a load from one vertical position to another vertical position along a single vertical axis.
WMS (Warehouse Management System)—Refers to the system that manages shipments, maintains SKU definitions, handles restock and replenishment, and provides problem solving functionality.
The First Part of the Invention primarily addresses the use of optimized Batching to significantly increase the performance of the FCA. Batching refers to the practice of collecting several orders at one time in the process of fulfilling commercial Orders. This is typically done by placing Items into some type of container, such as a Tote. Today, these orders generally refer to eCommerce. Batching has historically been used to improve the performance of Pickers in a manual system where they traverse a warehouse and access its Shelving Units to collect the Items for an Order.
In some embodiments, a computerized system and method uses optimization after aggregation of orders over a Batch Window period of time to increase Pick Performance in the Fulfillment Center Automation (FCA) system that automates taking the picker to the goods; or an Automated Warehouse System (AWS) that automates the presentation of goods to a stationary picker. A Batch Optimization algorithm improves pick performance for the FCA or AWS using a closed-form algorithm, combinatorial optimization, or OOP to perform the Batch Optimization. Some embodiments adapt to Picker Performance by automatically shifting certain orders to different aisles while stocking a plurality of identical-SKU items in each of a plurality of aisles. Programmable Capacity is optionally provided to allow the Fulfillment Center to easily adapt to varying order loads. Some embodiments selectively place orders from a given Batch Window period of time into selected Batches in order to maximize multi-picks of identical-SKU items at one time and maximize chain-picks of different-SKU items in sequential picks from a single pick window location at a pick wall.
By collecting the items for numerous Orders at one time, the present invention reduces the overall distance required to be travelled by the Picker, thus resulting in an overall cost savings as opposed to just collecting the Items for one Order at a time. When the Orders are collected in such a manner, they still need to be segregated into individual Orders when the Batch arrives at shipping. However, that time is generally far less than the time that would otherwise have been required if the Orders were collected individually.
To the inventor's knowledge, Batching has generally not been utilized with AWS's since the Picker remains stationary in those systems. Therefore, there is no walking distance to be saved. However, the inventor has discovered that Batching determined by software, combined with the necessary hardware and the associated processes can be utilized to also improve Pick Performance in these automated systems, particularly for the FCA.
The First Part of the Invention focuses on software, associated hardware, and associated processes which will significantly enhance the performance of picker-to-parts systems such as the FCA.
However, aspects of the First Part of the Invention can improve the performance of any AWS. This document also demonstrates those benefits to the AWSs that are most prevalent in the eCommerce Industry outside of Amazon. There are several types of AWS systems available in the industry today, many with their own unique aspect that is covered by their own intellectual property. This type of system generally has precision mechanical Shelving Units containing Bins holding commercial Items that can be retrieved and returned by small mobile robots. The shelving system typically contains a multitude of these robots such that the static Picker can remain motionless while these robots present the requested commercial Items to the Picker for inclusion in an order.
Pick-performance improvement is done by aggregating several Orders in what is referred to as a Batch Window. These Orders are then strategically combined into certain groupings or Batches prior to the Items being retrieved from the FCA or other competitive AWS's. Assuming the Orders are collected into Totes, by then utilizing strategic Tote Storage combined with high speed automated Conveyors, much of the wasted time surrounding the Order fulfillment process can be eliminated.
Depending on the AWS, this time savings involves picking numerous Items at one time, reducing/eliminating the time penalty associated with the mechanical system movement, and minimizing wasted Picker motion involved in the picking and Replenishment processes. The software, hardware, and associated processes to achieve this are set forth in this First Part of the Invention. Many of them are novel and result in significant Pick Performance improvement. A detailed example is provided to assist in the clarity of understanding.
Although the following detailed description contains many specifics for the purpose of illustration, a person of ordinary skill in the art will appreciate that many variations and alterations to the following details are within the scope of the invention. Specific examples are used to illustrate particular embodiments; however, the invention described in the claims is not intended to be limited to only these examples, but rather includes the full scope of the attached claims. Accordingly, the following preferred embodiments of the invention are set forth without any loss of generality to, and without imposing limitations upon the claimed invention. Further, in the following detailed description of the preferred embodiments, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. The embodiments shown in the Figures and described here may include features that are not included in all specific embodiments. A particular embodiment may include only a subset of all of the features described, or a particular embodiment may include all of the features described.
The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
When Batches are utilized in the Order fulfillment process, a multitude of the SKUs constituting those Orders arrive at shipping in containers of some type. For purposes going forward we will assume those containers are Totes. Ignoring the possibility of partitioned Totes, the SKUs in those Totes will need to be segregated from the Totes and aggregated back into individual Orders, so they can each be placed in their respective shipping boxes and sent on to their final destinations.
This segregation can be accomplished with the use of a Bin Wall 100.
There are many different forms of Bin Walls, sometimes known as Put Walls in the industry. In some cases, the compartments might be on a mobile unit where that entire unit can be delivered to shipping when all the compartments are filled. In other cases, the compartments may be simply an array of box-shaped compartments with both ends open as shown in
However, it is not the purpose of this description to belabor with specifics on Bin Walls, suffice it to say that one or more of the available permutations of Bin Walls are used by some embodiments of the invention, the number of which is fully dependent on the size and scope of the Fulfillment Center that will be utilizing it (them).
Once the Orders are identified that will comprise a Batch Window, software is employed which will optimize the assignment of a specific Order with a specific Batch and with a specific Tote. It will also need to be processed with the hardware described in this invention in such a manner to greatly reduce and/or eliminate the wasted time involved with current pick processes. Finding these optimal combinations of orders is a classic problem for the use of Combinatorial Optimization. In this case, it also requires the use of constraints. Combinatorial optimization is one preferred embodiment for this invention.
Optimization problems deal with the minimization or maximization of a function of many variables subject to a set of constraints. These problems arise in an enormous variety of areas such as industry, logistics, finance, transportation, configuration, etc. Since the 1960s, linear and mixed-integer programming technologies have been employed with tremendous success for solving hundreds of problem types. Combinatorial Optimization Problems (COPs) deal with optimization problems where some or all variables are constrained to be integer. This class of problems is both extremely important and difficult to solve. A simple example is shown below assuming COP=<X,D,C,f> where:
The Operations Research (OR) approach for solving hard Combinatorial Optimization problems is like this and was the only one used for a long time. It is based on a mathematical representation of the problem, which is typically modeled as an integer linear program where (integer) variables are linked by linear equalities and inequalities.
Currently, approaches for solving COPs are divided into two categories: complete (or exact) methods and incomplete (or approximate) methods. The aim of the complete methods is to find an optimal solution with the proof of its optimality. Generally, the time complexity of these methods is exponential. Examples include Branch-and-Bound and Dynamic Programming.
The incomplete methods aim at finding a high-quality solution in a reasonable time but without information on the quality of the solution. These include Greedy Algorithms, Approximation Algorithms, Local Search, Metaheuristic methods like Tabu Search, Simulated Annealing, Large Neighborhood Search, Very Large-Scale Neighborhood Search, Genetic Algorithms, Ant Colony Optimization, etc.
The nature-inspired approaches are an interesting area of research within the approximate methods which explore the search space by imitating some behavior from nature to find optimal or near-optimal solutions. Nature-inspired meta-heuristics can be classified in two main branches, the bio-inspired and physics-inspired techniques. One of the most representative methods from the bio-inspired techniques is Genetic Algorithms (GAs) which was used in the original FCA concept to optimize routes for the Picker Platform on the PAV.
These meta-heuristic algorithms are iterative problems. In other words, from the initialization point of the associated program, the process is repeated based on the selected algorithm and asymptotically approaches a solution. The question becomes the time required for the convergence and the relative error of the asymptotic limit from the true optimal solution. The speed and accuracy of the convergence is a function of the specific type of problem, the selected algorithm, and the population size. Both the speed and accuracy can vary dramatically based on those combinations. Each algorithm has its own set of parameters that require fine tuning to achieve the best results.
While the use of a meta-heuristic algorithm traditionally simplifies the algorithm and ensuing software combined with also providing greater efficiency and flexibility, the requirement to contend with system constraints adds back additional complexity. That complexity is a function of the particular constraints, the number of constraints, and the selected algorithm.
A constrained problem consists of a set of constraints involving a number of variables restricted to have values in a set of (possibly different) finite domains. A constraint is basically a relation maintained between the entities (e.g., objects or variables) of a problem, and constraints are used to model the behavior of systems in the real world by capturing an idealized view of the interaction between the variables involved.
Solving a constrained problem means finding a possible assignment (of values in the computation domains) for the constrained variables that satisfies all the constraints. Solving this kind of problem can be done by using different techniques ranging from traditional techniques to modern ones. These approaches to solve the problem can be in operational research (OR), genetic algorithms, artificial intelligence (AI) techniques, rule-based computations, conventional programs and constraint-based approaches amongst others.
Usually, the solving is understood as the task of searching for a single solution to the problem, although sometimes it is required to find the set of all solutions. Also, in certain cases, because of the cost of finding all solutions, the aim is just to find the best solution or an approximate solution within fixed resource bounds (e.g., in a reasonable time). That is the case surrounding the nature of this invention. There is no need to have “the optimal solution”, only a highly optimized one, and that is what this invention delivers.
In the original FCA, the system relied solely on route optimization in the use of the Genetic Algorithm (GA). The computer execution time required for the GA to converge that was used in the initial FCA concept caused significant system-dependency issues relative to available CPU time. This was due to the system being reactive and continuously reoptimizing in each Aisle based on the most recent Orders. The current invention breaks this requirement for reactiveness, and instead relies on planning in a Three-Tier Optimization approach. While the Three-Tier approach still uses route optimization, the dependency on its reactive use has been eliminated as part of this invention. This approach greatly reduces the requirement on CPU time and overall system speed.
The Three-Tier Optimization approach begins with SKU placement optimization in the Pick Faces of the warehouse Aisles.
Besides locating high Velocity SKUs next to one another, there is also a requirement to stock the highest moving SKUs in multiple Aisles as part of the SKU placement optimization. Besides other benefits that will be divulged, having multiple locations for the highest Velocity SKUs allows the system to continuously adapt to differing picking speeds by the Pickers in the different Aisles. The extent to which SKUs are stored in multiple locations is a function of the specific warehouse and its inventory Velocity patterns. Each application will be slightly different.
The initial optimization of SKU placement takes place when the warehouse is initially stocked or an FCA system is installed in an existing warehouse. The overall optimization does not occur real time. However, the FCA Control Software monitors the ongoing Velocities of the SKUs. As the Velocities change over time due to changes in customer demand, seasonality, and/or other issues, the FCA Control Software will periodically reposition SKU locations to keep the overall placement optimized. This is known as Dynamic Slotting.
Following the optimization of SKU placement, comes Batch optimization. Batch optimization is performed once every Batch Window cycle by the FCA Control Software, which takes the Orders aggregated in the Batch Window, identifies which Totes to group together into their respective Batches across the aisles of the Fulfillment Center, assigns all the Orders to specific Totes in those Batches, and then controls the FCA system to deliver those Totes in the correct sequence to the Pickers in the Aisle in order to achieve four goals:
Every SKU in an Order is referenced by a record that includes quantity and a reference to which Order it belongs. A pick is considered the retrieval of one Line Item in one Order. An order requires as many Picks as it has Line Items. In the event of multiples of the same SKU, that is still considered a single Line Item. Goal #1 is then achieved by picking multiples of a single SKU at one time to fulfill multiple Line Items on multiple Orders at one time. These achievements will be known as Multi-Picks going forward.
Goal #2 is achieved using another new concept within this invention called Pick Windows.
Normally, a Picker in the FCA system or any AWS will pick a SKU from some type of container and then turn to carry it over to another container that is being used to acquire all the Line Items in the Order(s) assigned to that container (Tote). This is generally wasted motion. By having Orders assigned to the Tote the FCA Picker is servicing that all have SKUs in a common Pick Window, the Picker can eliminate much of the wasted motion just identified.
In some embodiments of these instances, as opposed to continually returning to the Tote with picked Line Items, the Picker utilizes a small basket appended to their front (i.e. strap around neck). This allows the Picker to proceed from Bin to Bin in the PW acquiring all those common SKUs until such time that the Tote they are servicing has its requirement fulfilled from that Pick Window. Another new concept, called Pick-to-X (described more in Section 3), will automatically direct the Picker to the next SKU location within a Pick Window and some type of mobile communication device will be used to convey the required multiple to pick. These are either Multi-Picks and/or Orders with multiples of the same SKU.
Goal #3 is achieved by utilizing modular storage Bins for the SKU's that can rapidly be swapped by the Picker. In some embodiments, the FCA Control Software as part of the Batch optimization will also only do a Replenishment action for any given SKU when it is accompanied by an associated pick action. This will then only require an incremental motion to restock a Bin as opposed to a dedicated set of actions usually accompanying a stand-alone Replenishment.
Goal #4 is achieved in a number of combined ways. By reducing the total number of overall picks using Multi-Picks the requirement to continually return to a given pick location is minimized. With another two new concepts called Auto-Move and Auto-Drift, further wasted motion can also be eliminated. These two concepts are addressed in Section 3.
The final way Goal #4 is achieved is done with the final step of the Three-Tier Optimization. That is by route optimization as the Picker progresses from one Pick Window to another. Through the Batch optimization process, the distance required to be moved is minimized by ensuring the next series of picks is done in an adjacent Pick Window if possible. The best way to demonstrate how this is achieved is through the example utilized in Section 5 as opposed to covering details here.
With this Three-Tiered Optimization process, it will be demonstrated that Pick Performance (PPH) can be significantly increased. To that end, Pick Performance is the sole variable that this invention is trying to optimize. It just happens to be a function of the four goals addressed.
While the three elements of the process are completely applicable to the FCA, some elements are also applicable to other AWS's, specifically the Batch optimization element. Going forward, the Multi-Robot Systems will be used as a comparison to the FCA relative to demonstrating and/or comparing potential increased performance using elements of this invention.
A key element in this invention is what is referred to as Pick-to-X.
On these actuators are mounted two Line Lasers 511 that project laser lines 513 across the Pick Face. The intersection of the two resulting laser lines is used to designate the Bin the Picker is to make the next pick from. Also mounted on the Picker Platform are two Light Curtains on either side of the platform in front of the two Pick Faces in any given Aisle.
These Light Curtains have a two-fold purpose. First is when the Picker reaches for the designated Bin at the intersection of the laser lines, their hand breaks the Light Curtain beam. This triggers the FCA Control Software to move the two actuated Laser Lines where their intersection can designate the next Bin for the Picker to use. This is shown in
In combination with the moving Line Lasers, the Picker will also have a mobile communication device that will inform them of the number of Items that need to be picked from the current Bin. This device might be a head set, a heads-up display in their glasses or the like.
The second purpose of the Light Curtains is for their standard use and that is safety. This invention uses that for two additional new concepts. One is called Auto-Move and the other Auto-Drift. As discussed in Section 2, the Batch optimization process attempts to schedule Totes such that the next series of picks is in an adjacent Pick Window. This opens the opportunity for the Picker Platform to begin its movement to the next Pick Window as soon as the Picker is safe inside the Light Curtain following their last pick in that Pick Window. In addition to providing the trigger to begin a move, the Light Curtain will also be used for safety in the event the Picker happens to break the Light Curtain while it is moving. In that instance, it will trigger an immediate stop.
The self-initiating move can then be done in one of two ways. The first is as the name suggests (Auto-Move), by moving completely into the next Pick Window, which will most likely be adjacent. In this case, the only time savings that is achieved is the time it takes the Picker to return to the most recent Tote and either insert their last picked SKU or to empty the small basket used in the latest Chain Pick, but savings are savings. Following that, the Picker can grasp the PAV controls or just wait.
The biggest time savings occur in what is herein referred to as Auto-Drift. In
In that scenario, once the Picker has completed inserting SKU's into the most recent Tote, they can potentially begin to start picking again immediately as opposed to grasping the PAV controls or just waiting. This assumes the Pick Platform has just moved incrementally enough to expose the next Bin to be picked from. Therefore, it becomes feasible, particularly in the Prime Area, the Picker could just “drift” around the Prime Area picking SKU's that has had their pick sequence optimized by the Batch Picking algorithm.
The extent to which Auto-Drift is possible depends on the nature of the Orders and the SKU placement in the Pick Face. However, in the work already done on this invention, it is known it can be effective at least part of the time. Therefore, it warrants a claim as a time saving optimization.
This system used in the FCA has a very high number of variables that need to be optimized and/or can affect system performance. This section will explain these variables and their impact in the system. This is done to provide a deeper insight into how the FCA system and its control software performs. In so doing, the variables will be broken up into two different type categories, Static and Dynamic. Static Variables are those that are established when the physical system is constructed. They are defined at that time and can subsequently limit system performance as the business grows. However, they can be modified with differing degrees of difficulty as required.
The second type of variable are the Dynamic Variables. These are the ones that can change from day to day and/or Batch Window to Batch Window. They include the 4 Goals addressed under Three Tier Optimization plus others that can be highly variable and/or those that can be set at the start of a Batch Window to best optimize performance.
These variables also apply to other AWS's depending on their overall design. The FCA can best leverage these variables to increase Pick Performance more than any of the other AWS's due to its design considerations. To contrast the FCA to the Multi-Robot System and later compare performance, each variable will be identified by an “F” if it applies to the FCA and an “M” if it applies to the Multi-Robot System, and FM if it applies to both. The variables are (The items numbered #1 to #4 are the goals):
(#1) Multi-Picks (Dynamic) (FM)—This and the next three items are the Four Goals already discussed. Optimizing these four variables results in the best Pick Performance possible. While Goal #1 was identified as minimizing the wasted time of Picker motion in picking one Line Item at a time, this is the same as maximizing Multi-Picks. Multi-Picks are realized by assigning Orders with a common SKU to one aisle without violating the system constraints that exist.
(#2) Chain Picks (Dynamic) (F)—As above, Goal #2 was identified as minimizing the wasted time of Picker motion in shuttling between an Aisle Bin and a Tote between every pick. This is the same as maximizing Chain Picks. Chain Picks are realized by assigning Orders with SKU's in a common Pick Window to one tote without violating the system constraints that exist.
(#3) Move Time (Dynamic) (F)—This variable can be minimized by maximizing Multi-Picks and utilizing Auto-Move/Auto Drift as much as possible.
(#4) Replenishment Time (Dynamic) (F)—The only way the system can minimize this time is to synchronize the Replenishment of any given SKU at the same time (there are multiple Tote holders on the Picker Platform) an Order pick is required for that same SKU. This is done with the Batch optimization software.
This is a very difficult problem given all the variables to optimize and with others as constraints and/or limitations. It also quickly becomes obvious that it is impossible to realize all the available opportunities for Multi-Picks and Chain Picks. However, it will be shown there is sufficient opportunity to significantly enhance the Picker Performance, particularly for the FCA and even other AWS's.
From an overall perspective, the Batch optimization software will tie down variables in the system constrained by system limitations like Storage and then proceed to optimize the assignment of Orders to Batches while abiding by the three constraints identified. The assignment of Orders to Batches defines the Aisle assignments and the SKU's in the Order define the Tote assignments (i.e. once an Order is assigned to a Batch, the software also needs to assign the SKU's in that Batch to the Totes involved). In general, it also assumes the typical usage of one Tote per Aisle to one Batch, barring anomaly assignments. To the extent multiple Totes are assigned to one Batch within one Aisle, more opportunity arises to optimize assignments, but complexity arises as well.
The primary purpose of the software is to optimize Batches for the FCA.
As described previously, the Batch optimization algorithm cannot be accomplished alone, it requires Tote Storage, a multiplicity of Totes, automated Conveyors, and the associated control software.
The example to demonstrate the results of the algorithm is based on a simulation using data modeled from an actual Fulfillment Center. Therefore, the example has a solid foundation in reality. The example aggregates Orders over a one-hour period (the Batch Window). This results in 405 orders with 527 Line Items for the Aisle that will be simulated in the example and a corresponding 498 Line Items from the other Aisles those 405 Orders are dependent on. Only the results from one Aisle are shown to make the results significant (one-hour Batch Window with a high number of required picks) enough to demonstrate viability, yet small enough to publish in this document and understand. The results from the entire warehouse model are just not tractable for this purpose.
There are 4314 Bins in the Aisle with 6452 different SKU's, 1394 of which also have placements in other Aisles. In the one hour, there were 119 Single SKU Orders, a 29.4% result. This is well below the overall data average of 56.1%. This data was intentionally chosen to provide a scenario that was the most challenging by minimizing Single SKU Orders which have no challenge in their Batch assignments. In addition, 48.6% of the orders have dependencies from other Aisles while the overall data average is only 41.1%. Again, this was done to make the example the most challenging, yet realistic.
As discussed, the algorithm is intended to be one utilizing Combinatorial Optimization but can also be optimized using standard structured programming. A 23-step algorithm is used to guide that type of programming. A plurality of different types of Combinatorial Optimization (C)O) algorithms can be used to provide optimized results. The specific algorithm that provides the most optimal results is still being investigated. However, the results from any of the CO algorithms and even the structured programming provide results that demonstrate startling improvement in Pick Performance.
While the Batch Window for the example has a duration of 1 hour, it was broken up into 3 Segments. Those three Segments are shown in
Outline 1 below shows a summary of the software used in the example for the Combinatorial Optimization algorithm. Since a plurality of the different standard Combinatorial Optimization algorithms (such as the already-mentioned Greedy Algorithms, Approximation Algorithms, Local Search, Metaheuristic methods like Tabu Search, Simulated Annealing, Large Neighborhood Search, Very Large-Scale Neighborhood Search, Genetic Algorithms, Ant Colony Optimization, etc.) can be used in the solution for the example, the generic form of the pseudocode is shown. Persons of skill in the art will readily implement this generic form of the pseudocode using any of the standard Combinatorial Optimization algorithms for the present invention.
Outline 1 and Outline 2 shown above were used as guidelines for the software that implements the Batch Window example provided in this document. The pseudocode in Outline 1 assumes certain high-level steps and the implementation of a constrained Combinatorial optimization algorithm using the identified constraints in Outline 2.
Much information was already provided about the functioning of the software in the discussion of the variables. However, that information will be reiterated below now in the proper sequence combined with additional steps to provide sufficient information to understand the pseudocode in Outline 1. The software proceeds as such:
With the Tote assignments identified in the representative Tables of
The FCA Control Software will then control the system to present the Totes to the Picker in the right sequence. Besides the representative Pick List information,
While the representative data in tables 12A-12B was obtained in simulation, it might be assumed the numbers could be fabricated. On the contrary, it is possible to take all the Tote assignments in those tables, generate an Order list for every Tote, then manually calculate the pick and move times (using table in
The table 1300 in
This First Part of the Invention represents the opportunity for significant Pick Performance improvement for AWS's but particularly the FCA. In the example cited, 527 Line Items were reduced to 359 picks, 181 Chain Picks were realized, and the overall move time was reduced considerably. This resulted in 85.2 seconds of move time, 1608 seconds of pick time and 208 seconds of additional Replenishment time with a Pick Performance of 998 Picks/Hour. This is almost double the performance of its next best competitor.
In comparison, the system in the initial FCA concept would have required 2311 seconds of move time, 1909 seconds of pick time, and 636 seconds of Replenishment time with a Pick Performance of 391 Picks/Hour. This First Part of the Invention results in at least a 250% improvement in Pick Performance over the original FCA.
It should also be noted that only 168 of 217 Multi-Pick opportunities were achieved for a 77.4% Optimization Efficiency. In the case of Chain Pick, only 181 of 314 possible Chain Picks were realized for a 57.6% Optimization Efficiency. While this is an optimized result, it is not optimal. The anticipation is that a 90% Optimization Efficiency can be reached for both Multi-Picks and Chain Picks, realizing 100% efficiency is not possible. If so, the Pick Performance of the FCA could exceed 1500 Picks/Hour. This is performance unheard of in the industry.
Of significant note in this First Part of the Invention is the use of the Batch Window duration to positively impact Pick Performance. Based on actual Fulfillment Center data for one day, if Orders were aggregated over 10-minute periods, the average maximum Pick Performance improvement based only on pick time savings would be 7.2%. If Orders were aggregated over 1-hour periods, the average maximum Pick Performance improvement based only on pick time savings would be 31.3%. On the other hand, if Orders were aggregated over the entire day, the maximum Pick Performance improvement based only on pick time savings would be 293.5%.
The maximum pick time savings were calculated by determining the number of different SKU's and the associated number of Orders over the respective time periods. For example, for the day there were 5540 Line Items in the Orders for the day comprised of 1408 SKU's. That is a Pick Performance of 230.8 Picks/Hour versus 908.3 Picks/Hour or a 293.5% increase assuming a 100% Optimization Efficiency (the maximum) (i.e. one pick for every SKU type). In the case of the smaller time periods, the maximum Pick Performances for each time period were averaged over that number of time periods in the day (i.e. 24 for hours).
This all opens the possibility of what is called Programmable Capacity. By aggregating Orders over longer periods, the Pick Performance can be made to increase. This obviously causes increasing shipping delays but can be used effectively in times of heavy Orders such as the Holiday Season. In today's processes, if there are more Orders than Fulfillment Center capacity, the Fulfillment Center gets progressively behind. By using Programmable Capacity, the backlog can eventually be erased with less overall delay. There is a limitation however in system resources like available Tote Storage capacity and Bin Wall capacity.
While the improvements defined in this First Part of the Invention work most effectively for the FCA, they can also be used for other AWS's to a lesser degree, dependent on the features of the system. We will use the Multi-Robot System as a comparison. If that system were used for the example provided in this document the time required to complete the Orders would be 1:19:03. This assumes a 400 Picks/Hour over 527 Line Items (picks).
In the case of the Multi-Robot System, it can only benefit from the Multi-Picks, but not the potential improvement coming from Chain Picks or move time improvements. This is due to their design which only presents one container (SKU) at a time to the Picker. As such, there are no opportunities for Chain Picks. Likewise, the mechanical movement in the system cannot be further reduced and is already done in parallel with other Picker motion.
Nonetheless, if one assumes a 90% Optimization Efficiency for the Multi-Picks for the example, the number of picks would be reduced from 527 to 333 picks. This would increase the Pick Performance from 400 Picks/Hour to 633 Picks/Hour, a 58% increase. However, the system would need to be modified to include the Tote Storage and the Conveyors as shown in
In some embodiments, the present invention provides an apparatus that includes:
a computer system that includes:
a storage system,
a receiver that receives a first plurality of commercial orders and stores the plurality of orders to the storage system, wherein each respective order of the plurality of commercial orders specifies one or more items to be picked for that respective commercial order,
a batch aggregator that organizes the first plurality of commercial orders into a first plurality of batch windows, wherein a first subset of the first plurality of batch windows is initially associated with a first aisle of a warehouse, and wherein each commercial order specifies one or more pick items,
a path optimizer that generates an ordered sequence of pick-operation specifications associated with each batch window of the first subset of the first plurality of batch windows that is associated with the first aisle in order to optimize a throughput of commercial orders during each of a plurality of sequential time periods, and
a tote sequencer that generates an ordered sequence of tote identifiers corresponding to the sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle.
Some embodiments of apparatus further include:
a first mobile picker platform that moves a picker to a sequence of pick locations along the first aisle of the warehouse according to the sequence of pick-operation specifications; and
a first tote-delivery system that delivers a first sequence of totes to the mobile picker platform in the first aisle of the warehouse according to the ordered sequence of tote identifiers.
In some embodiments of the apparatus, a second subset of the first plurality of batch windows is initially associated with a second aisle of the warehouse, the path optimizer generates a second ordered sequence of pick-operation specifications associated with each batch window of the second subset of the first plurality of batch windows that is associated with the second aisle, and the tote sequencer generates an ordered sequence of tote identifiers corresponding to the sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle, and the apparatus further includes:
a first mobile picker platform that moves a picker to a sequence of pick locations along the first aisle of the warehouse according to the sequence of pick-operation specifications;
a first tote-delivery system that delivers a first sequence of totes to the mobile picker platform in the first aisle of the warehouse according to the ordered sequence of tote identifiers;
a second mobile picker platform that moves a picker to a sequence of pick locations along the second aisle of the warehouse according to the second ordered sequence of pick-operation specifications; and
a second tote-delivery system that delivers a second sequence of totes to the mobile picker platform in the second aisle of the warehouse according to the second ordered sequence of tote identifiers.
In some embodiments of the apparatus, a second subset of the first plurality of batch windows is associated with a second aisle of a warehouse, wherein the computer system tracks performance of a picker in the first aisle and tracks performance of a picker in the second aisle, and based on the tracked performance of the picker in the first aisle, automatically shifts some of the first plurality of batch windows initially associated with the first aisle to instead be associated with the second aisle, wherein a plurality of items having the same SKU are stocked in both the first aisle and in the second aisle.
In some embodiments of the apparatus, the batch aggregator and the path optimizer are software routines that use a combinatorial optimization routine.
Some embodiments of apparatus further include:
a first mobile picker platform that moves a picker to a sequence of pick locations along the first aisle of the warehouse according to the sequence of pick-operation specifications; and
a first tote-delivery system that delivers a first sequence of totes to the mobile picker platform in the first aisle of the warehouse according to the ordered sequence of tote identifiers,
wherein the first aisle includes at least a first pick face having a plurality of defined pick windows, wherein each respective pick window has one or more bins that are reachable by the picker when the first mobile picker platform is stopped at a location associated with that respective pick window,
wherein, for a first tier of optimization, those pick items having highest pick velocities of the pick items on the first pick face are located in bins nearest one another in one or more pick windows at a center area of the first pick face and other pick items having successively lower pick velocities are located in bins of pick windows of the first pick face successively more distant from the center area,
wherein, for a second tier of optimization, the computer system specifies to the picker a plurality of bin locations for a plurality of pick items that are to be chain picked for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, and
wherein, for a third tier of optimization, the computer system determines an optimal route that specifies a sequence of pick windows that minimizes a distance moved by the first mobile picker platform and specifies a sequence of tote delivery times corresponding to the specified sequence of pick windows.
In some embodiments of the apparatus, following the picker's last pick in a current pick window of the plurality of pick windows, the computer system specifies an auto-move movement of the first mobile picker platform from the current pick window to a next pick window as soon as the picker is safe inside a light curtain of the first mobile picker platform.
In some embodiments of the apparatus, the plurality of defined pick windows includes a plurality of partially overlapped pick windows, and wherein the computer system specifies an auto-drift movement of the first mobile picker platform from one of the plurality of partially overlapped pick windows to an adjacent partially overlapped pick window.
In some embodiments of the apparatus, the computer system specifies to the picker a plurality of bin locations for a plurality of pick items that are to be chain picked to a container carried by the picker for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, in order to minimize back-and-forth motion of the picker between bins of the given pick window and a tote associated with the given pick window.
In some embodiments of the apparatus, the first tote-delivery system includes:
a horizontal conveyor,
a vertical conveyor associated with the first mobile picker platform, and
a tote-buffer automated storage and retrieval system (ASRS) configured to receive a plurality of totes from the horizontal conveyor, temporarily hold, and selectively return totes of plurality of totes,
wherein the horizontal conveyor moves the first sequence of totes from the tote-buffer ASRS to a horizontal location of a vertical conveyor associated with the first mobile picker platform, and wherein the vertical conveyor and the first mobile picker platform together move the first sequence of totes to a sequence of horizontal-vertical locations according to the first ordered sequence of pick-operation specifications.
In some embodiments, the present invention provides a computerized method that includes:
receiving, into a computer system, a first plurality of commercial orders, wherein each respective order of the plurality of commercial orders specifies one or more items to be picked for that respective commercial order;
storing the plurality of orders to a storage system of the computer system;
organizing, in the computer system, the first plurality of commercial orders into a first plurality of batch windows, wherein at least some of the first plurality of batch windows are associated with a first aisle of a warehouse;
generating, in the computer system, an ordered sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle in order to optimize a throughput of commercial orders during each of a plurality of sequential time periods; and
generating, in the computer system, an ordered sequence of tote identifiers corresponding to the sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle.
Some embodiments of the method further include:
under control of the computer system, moving a mobile picker platform that supports a picker to a sequence of pick locations according to the sequence of pick-operation specifications; and
under control of the computer system, delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers.
Some embodiments of the method further include:
moving a mobile picker platform that supports a human picker to a sequence of pick locations according to the sequence of pick-operation specifications; and
delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers.
In some embodiments of the method, the throughput optimization of commercial orders of the first plurality of commercial orders is measured across a plurality of days.
In some embodiments of the method, the generating of the ordered sequence of pick-operation specifications is done using a combinatorial optimization routine.
Some embodiments of the method further include:
moving a first mobile picker platform supporting a picker to a sequence of pick locations along the first aisle of the warehouse according to the sequence of pick-operation specifications;
delivering a first sequence of totes to the mobile picker platform in the first aisle of the warehouse according to the ordered sequence of tote identifiers, wherein the first aisle includes at least a first pick face having a plurality of defined pick windows, wherein each respective pick window has one or more bins that are reachable by the picker when the first mobile picker platform is stopped at a location associated with that respective pick window,
locating those pick items having highest pick velocities of the pick items on the first pick face in bins nearest one another in one or more pick windows at a center area of the first pick face and other pick items having successively lower pick velocities are located in bins of pick windows of the first pick face successively more distant from the center area,
specifying, by the computer system to the picker, a plurality of bin locations for a plurality of pick items that are to be chain picked for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, and
determining, by the computer system, an optimal route specification of a sequence of pick windows that minimizes a distance moved by the first mobile picker platform and a specification of a sequence of tote-delivery times corresponding to the specified sequence of pick windows.
In some embodiments of the method, following the picker's last pick in a current pick window of the plurality of pick windows, specifying, by the computer system, an auto-move movement of the first mobile picker platform from the current pick window to a next pick window as soon as the picker is safe inside a light curtain of the first mobile picker platform.
In some embodiments of the method, the plurality of defined pick windows includes a plurality of partially overlapped pick windows, and the method further includes specifying, by the computer system, an auto-drift movement of the first mobile picker platform from one of the plurality of partially overlapped pick windows to an adjacent partially overlapped pick window.
Some embodiments of the method further include specifying, by the computer system to the picker, a plurality of bin locations for a plurality of pick items that are to be chain picked to a container carried by the picker for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, in order to minimize back-and-forth motion of the picker between bins of the given pick window and a tote associated with the given pick window.
Some embodiments of the method further include:
under control of the computer system, moving a mobile picker platform that supports a picker to a sequence of pick locations according to the sequence of pick-operation specifications;
under control of the computer system, delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers;
providing a horizontal conveyor,
providing a vertical conveyor associated with the first mobile picker platform,
receiving, into a tote-buffer automated storage and retrieval system (ASRS), a plurality of totes from the horizontal conveyor, temporarily hold, and selectively return totes of plurality of totes, and
using the horizontal conveyor, moving the first sequence of totes from the tote-buffer ASRS to a horizontal location of a vertical conveyor associated with the first mobile picker platform, and together moving the vertical conveyor and the first mobile picker platform and the first sequence of totes to a sequence of horizontal-vertical locations according to the first ordered sequence of pick-operation specifications.
In some embodiments, the present invention provides a computer-readable medium having instructions stored thereon for causing a suitably programmed computer to perform a method that includes:
receiving, into a computer system, a first plurality of commercial orders, wherein each respective order of the plurality of commercial orders specifies one or more items to be picked for that respective commercial order;
storing the plurality of orders to a storage system of the computer system;
organizing, in the computer system, the first plurality of commercial orders into a first plurality of batch windows, wherein at least some of the first plurality of batch windows are associated with a first aisle of a warehouse;
generating, in the computer system, an ordered sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle in order to optimize a throughput of commercial orders during each of a plurality of sequential time periods; and
generating, in the computer system, an ordered sequence of tote identifiers corresponding to the sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle.
Some embodiments of the computer-readable medium have further instructions such that the method further include:
under control of the computer system, moving a mobile picker platform that supports a picker to a sequence of pick locations according to the sequence of pick-operation specifications; and
under control of the computer system, delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers.
Some embodiments of the computer-readable medium have further instructions such that the method further include:
moving a mobile picker platform that supports a human picker to a sequence of pick locations according to the sequence of pick-operation specifications; and
delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers.
In some embodiments of the computer-readable medium, the throughput optimization of commercial orders of the first plurality of commercial orders is measured across a plurality of days.
In some embodiments of the computer-readable medium, the generating of the ordered sequence of pick-operation specifications is done using a combinatorial optimization routine.
Some embodiments of the computer-readable medium have further instructions such that the method further include:
moving a first mobile picker platform supporting a picker to a sequence of pick locations along the first aisle of the warehouse according to the sequence of pick-operation specifications;
delivering a first sequence of totes to the mobile picker platform in the first aisle of the warehouse according to the ordered sequence of tote identifiers, wherein the first aisle includes at least a first pick face having a plurality of defined pick windows, wherein each respective pick window has one or more bins that are reachable by the picker when the first mobile picker platform is stopped at a location associated with that respective pick window,
locating those pick items having highest pick velocities of the pick items on the first pick face in bins nearest one another in one or more pick windows at a center area of the first pick face and other pick items having successively lower pick velocities are located in bins of pick windows of the first pick face successively more distant from the center area,
specifying, by the computer system to the picker, a plurality of bin locations for a plurality of pick items that are to be chain picked for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, and
determining, by the computer system, an optimal route specification of a sequence of pick windows that minimizes a distance moved by the first mobile picker platform and a specification of a sequence of tote-delivery times corresponding to the specified sequence of pick windows.
In some embodiments of the computer-readable medium, following the picker's last pick in a current pick window of the plurality of pick windows, specifying, by the computer system, an auto-move movement of the first mobile picker platform from the current pick window to a next pick window as soon as the picker is safe inside a light curtain of the first mobile picker platform.
In some embodiments of the computer-readable medium, the plurality of defined pick windows includes a plurality of partially overlapped pick windows, and the method further includes specifying, by the computer system, an auto-drift movement of the first mobile picker platform from one of the plurality of partially overlapped pick windows to an adjacent partially overlapped pick window.
Some embodiments of the computer-readable medium have further instructions such that the method further includes: specifying, by the computer system to the picker, a plurality of bin locations for a plurality of pick items that are to be chain picked to a container carried by the picker for a given tote while the first mobile picker platform is stopped at the location associated with a given pick window, in order to minimize back-and-forth motion of the picker between bins of the given pick window and a tote associated with the given pick window.
Some embodiments of the computer-readable medium have further instructions such that the method further includes:
under control of the computer system, moving a mobile picker platform that supports a picker to a sequence of pick locations according to the sequence of pick-operation specifications;
under control of the computer system, delivering a first sequence of totes to the mobile picker platform according to the ordered sequence of tote identifiers using a horizontal conveyor, a vertical conveyor associated with the first mobile picker platform,
receiving, into a tote-buffer automated storage and retrieval system (ASRS), a plurality of totes from the horizontal conveyor, temporarily hold, and selectively return totes of plurality of totes,
using the horizontal conveyor, moving the first sequence of totes from the tote-buffer ASRS to a horizontal location of a vertical conveyor associated with the first mobile picker platform, and together moving the vertical conveyor and the first mobile picker platform and the first sequence of totes to a sequence of horizontal-vertical locations according to the first ordered sequence of pick-operation specifications.
In some embodiments, the present invention provides a computerized method that includes:
specifying into a computer system: a first plurality of commercial orders, wherein each one of the first plurality of orders specifies one or more items to be picked, a first plurality of batch windows, including a first batch window and a second batch window, a specification of a number of subsequent batch windows to be included in a look-ahead process, a set of which item characteristics are to be matched, wherein the set includes at least a plurality to be matched, and a specification of at least one optimization type including labor optimization, throughput optimization, and response-time optimization;
receiving into the computer system a first plurality of commercial orders, wherein each one of the first plurality of orders specifies one or more items to be picked;
aggregating, by the computer system, the first plurality of orders across the plurality of batch windows, wherein at least some of the first plurality of batch windows are associated with a first aisle of a warehouse;
generating, in the computer system, an ordered sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle in order to optimize a throughput of commercial orders during each of a plurality of sequential time periods; and
generating, in the computer system, an ordered sequence of tote identifiers corresponding to the sequence of pick-operation specifications associated with each batch window of the first plurality of batch windows that is associated with the first aisle.
Some of the Inventive Features of the First Part of the Invention that are Used Alone or in any Combination:
A) Using optimization after aggregation of orders over a Batch Window to increase Pick Performance in the Fulfillment Center Automation (FCA) system that automates taking the Picker to the goods (so-called “picker-to-parts” systems); or an Automated Warehouse System that automates the presentation of goods to a stationary Picker (so-called “parts-to-picker” systems).
B) Use of Batch Optimization to improve Pick Performance for the FCA or an AWS
C) The use of software to facilitate the optimization of Batches for the FCA or an AWS
D) The use of Combinatorial Optimization to perform Batch optimization.
E) Ability to adapt to picker performance by automatically shifting Orders (Batches) to different Aisles. This requires stocking of the same SKU in multiple Aisles.
G) Use of Storage, Bin Wall capacity, automated Conveyors, and Multiple Tote presentation combined with optimization to improve Pick Performance in the FCA or any other AWS
H) Three-Tier Optimization to provide highly optimized FCA Pick Performance. In the case of the FCA, all three elements are necessary to achieve improved Pick Performance.
I) Pick-to-X to facilitate Chain Picking in FCA.
J) Pick-to-X used to facilitate picking in conventional warehouses or AWS's.
K) Auto-Move and Auto-Drift to increase Pick Performance.
L) Use of Segments with a Batch Window to allow beneficial effect of longer aggregation period but yet fit within system constraints.
M) The creation of Chain Picking through Batch optimization.
N) The creation of Multi-Picks through Batch optimization.
The Second Part of the Invention and the First Part of the Invention set forth above both primarily address the use of optimized Batching to significantly increase the performance of the FCA and other AWS's. Batching refers to the practice of collecting several orders at one time in the process of fulfilling commercial Orders. This is typically done by placing Items into some type of container, such as a Tote. Today, these orders generally refer to eCommerce. Batching has historically been used to improve the performance of Pickers in a manual system where the Pickers traverse a warehouse and access its Shelving Units to collect the Items for an Order.
By collecting the items for numerous Orders at one time, the overall distance required to be travelled by the Picker is reduced, thus resulting in an overall cost savings as compared to just collecting the Items for one Order at a time. When the Orders are collected in such a manner, they still need to be segregated into individual Orders when the Batch arrives at shipping. However, that time is generally far less than the time that would otherwise have been required if the Orders were collected individually.
To the inventor's knowledge, Batching has generally not been utilized with AWS's since they have historically been Goods-to-Picker systems where the Picker remains stationary. Therefore, there is no walking distance to be saved. However, the inventor has discovered that Batching augmented by software, combined with the necessary hardware and the associated processes, can be utilized to also improve Pick Performance in these automated systems, particularly for the FCA. The Second Part of the Invention focuses on software, associated hardware, and associated processes which will significantly enhance the performance of automated Picker-to-Goods systems such as the FCA as well as other automated Goods-to-Picker AWS's to a lesser extent.
While the First Part of the Invention focused on the FCA, aspects of the Second Part of the Invention can improve the performance of any AWS. This description of the Second Part of the Invention also demonstrates those benefits to the AWSs that are most prevalent in the eCommerce Industry outside of Amazon. There are several types of AWS's available in the industry today, many with their own unique aspect that is covered by their own intellectual property. This type of system generally has precision mechanical Shelving Units containing Bins holding commercial Items that can be retrieved and returned by small mobile robots. The shelving system typically contains a multitude of these robots such that the static Picker can remain motionless while these robots present the requested commercial Items to the Picker for inclusion in an order.
Having a multitude of these robots allows one of the robots with commercial Items to always be present in front of the Picker while the other robots are traversing the precision shelving, retrieving and returning Storage Bins from/to their respective locations. These will be referred to as Multi-Shuttle systems going forward in this document. Having a multitude of these small robots allows the Pick Performance of these systems to significantly exceed earlier warehouse automation systems like Automated Storage and Retrieval Systems (ASRS's) and Vertical or Horizontal Carousels. The nature of these older-generation systems will not be directly addressed here.
Pick-performance improvement using the Batch Optimization algorithm is done by aggregating several Orders in what is referred to as a Batch Window. These Orders are then strategically combined into certain groupings or Batches prior to the Items being retrieved from the AWS. Assuming the Orders are collected into Totes, by then utilizing strategic Tote Storage combined with high speed automated Conveyors, much of the wasted time surrounding the Order fulfillment process can be eliminated.
Depending on the AWS, this time savings involves picking numerous Items at one time, reducing/eliminating the time penalty associated with the mechanical system movement, and minimizing wasted Picker motion involved in the Picking and Replenishment processes. The software, hardware, and associated processes to achieve this will be described in this Second Part of the Invention. Many of them are novel and result in significant Pick Performance improvement.
In some embodiments of the First Part of the invention, an NP-Hard Combinatorial Optimization (CO) approach was utilized for solving the problem. NP-hardness (non-deterministic polynomial-time hardness), in computational complexity theory, is the defining property of a class of problems that are, informally, “at least as hard as the hardest problems in NP”. A simple example of an NP-hard problem is the subset sum problem. (From website en.wikipedia.org/wiki/NP-hardness.) However, CO algorithms tend to be computationally intensive, asymptotically approaching a solution in what can be a time-consuming process, dependent on the algorithm employed. Originally, it was believed this approach would be required to obtain satisfactory results. However, this Second Part of the Invention will provide a closed-form solution that approximates optimal results sufficiently well to warrant its use. Therefore, all references to the Batch Optimization algorithm set forth below are relative to a closed-form solution of it. As before, a detailed example will be provided to assist in the clarity of understanding.
Although the following detailed description contains many specifics for the purpose of illustration, a person of ordinary skill in the art will appreciate that many variations and alterations to the following details are within the scope of the Second Part of the Invention. Specific examples are used to illustrate particular embodiments; however, the invention described in the claims is not intended to be limited to only these examples, but rather includes the full scope of the attached claims.
Accordingly, the following embodiments of the invention are set forth without any loss of generality to, and without imposing limitations upon the claimed invention. Further, in the following detailed description of the embodiments, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. The embodiments shown in the Figures and described here may include features that are not included in all specific embodiments. A particular embodiment may include only a subset of all of the features described, or a particular embodiment may include all of the features described.
The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
When Batches are utilized in the Order fulfillment process, a multitude of the SKUs constituting those Orders arrive at shipping in containers of some type. For purposes going forward we will assume those containers are Totes. Ignoring the possibility of partitioned Totes, the SKUs in those Totes will need to be segregated from the Totes and aggregated back into individual Orders, so they can each be placed in their respective shipping boxes and sent on to their final destinations.
This segregation and assembling (aggregating) can be accomplished with the use of a Bin Wall 100.
There are many different forms of Bin Walls, sometimes known as Put Walls in the industry. In some cases, the compartments might be on a mobile unit where that entire unit can be delivered to shipping when all the compartments are filled. In other cases, the compartments may be simply an array of box shaped compartments with both ends open as shown in
Again,
Once the Orders are identified that will comprise a Batch Window, software is employed which will optimize the assignment of a specific Order to a specific Batch and its SKU Items to a specific Tote in that Batch. It will also need to be processed with the hardware described in this invention in such a manner to greatly reduce and/or eliminate the wasted time involved with current pick processes. Finding these optimal combinations of orders is a classic problem for the use of Combinatorial Optimization (CO).
CO was the premise for the algorithms utilized in the First Part of the Invention described above. However, CO algorithms are NP Hard problems and do not have closed-form solutions, resulting in potential significant computer-execution-time penalties to achieve satisfactory results as their solutions asymptotically approach the optimal solution. This Second Part of the Invention addresses closed-form solutions that provide solutions sufficiently close to optimal to warrant their consideration and use.
In the First Part of the Invention set forth above, the concept of Three-Tier Optimization was introduced to eliminate the reactiveness of the algorithms and the resulting CPU time utilized in the earliest versions of the FCA. This was due to the system being reactive and continuously reoptimizing data for each Aisle based on the most recent Orders. Three-Tier Optimization breaks the requirement for reactiveness, since it relies on planning even though it still uses route optimization. This Three-Tier Optimization concept continues to be used in this Second Part of the Invention.
The Three-Tier Optimization approach begins with SKU-placement optimization in the Pick Faces of the warehouse Aisles.
Besides locating high Velocity SKUs next to one another, there is also a requirement to stock the highest moving SKUs in multiple Aisles as part of the SKU placement optimization. Besides other benefits that will be divulged, having multiple locations for the highest Velocity SKUs allows the system to continuously adapt to differing picking speeds by the Pickers in the different Aisles. The extent to which SKUs are stored in multiple locations is a function of the specific warehouse and its inventory Velocity patterns. Each application will be slightly different.
The initial optimization of SKU placement takes place when the warehouse is initially stocked or an FCA system is installed in an existing warehouse. The FCA Control Software then monitors the ongoing Velocities of the SKUs. As the Velocities change over time due to changes in customer demand, seasonality, and/or other issues, the FCA Control Software will periodically reposition SKU locations to keep the overall placement optimized. This is known as Dynamic Slotting.
Following the optimization of SKU placement, comes Batch Optimization. Batch Optimization is performed once every Batch Window cycle by the FCA Control Software. It takes the Orders aggregated in the Batch Window, assigns all the Orders to specific Batches, and the SKU's within those Orders to specific Totes within the Batch. It then controls the FCA system to deliver those Totes in the correct sequence to the Pickers in the Aisle in order to achieve four goals:
Every SKU in an Order is referenced by a record that includes quantity and a reference to which Order it belongs. A Pick is considered the retrieval of one Line Item in one Order. An Order requires as many Picks as it has Line Items. In the event of multiples of the same SKU, that is still considered a single Line Item. Goal #1 is then achieved by picking multiples of a single SKU at one time to fulfill multiple Line Items on multiple Orders at one time. These achievements will be known as Multi-Picks going forward.
Goal #2 is achieved using a concept called Pick Windows.
Normally, a Picker in the FCA system or any AWS will pick a SKU from some type of container and then turn to carry it over to another container that is being used to acquire all the Line Items in the Order(s) assigned to that container (Tote). This is generally wasted motion. By assigning the SKU's of Orders within a Batch to the Tote the FCA Picker is servicing that all have SKUs in a common Pick Window, the Picker can eliminate much of the wasted motion just identified.
In some embodiments of these instances, as opposed to continually returning to the Tote with picked Line Items, the Picker utilizes a small basket appended to their front (i.e. strap around neck). This allows the Picker to proceed from Bin to Bin in the PW acquiring all those common SKUs until such time that the Tote they are servicing has its requirement fulfilled from that Pick Window.
Again, Goal #3 is achieved by utilizing modular storage Bins for the SKU's that can rapidly be swapped by the Picker. That feature will not be covered in detail here. However, the FCA Control Software as part of the Batch Optimization will also, in some embodiments, preferably only do a Replenishment action for any given SKU when it is accompanied by an associated pick action in the same Pick Window. This will then only require an incremental motion to restock a Bin as opposed to a dedicated set of actions usually accompanying a stand-alone Replenishment.
Goal #4 is achieved in several ways. By reducing the total number of overall picks using Multi-Picks the requirement to continually return to a given pick location is minimized. With the concepts called Auto-Move and Auto-Drift, further wasted motion can also be eliminated. These two concepts are addressed in the First Part of the Invention (described above).
The final way Goal #4 is achieved is done with the final step of the Three-Tier Optimization process. That is by route optimization as the Picker progresses from one Pick Window to another. Through the Batch Optimization process, the distance required to be moved is minimized by ensuring the next series of picks is done in an adjacent Pick Window if possible. This was demonstrated as well in the example provided above in the description of the First Part of the Invention and will not be repeated in this description of the Second Part of the Invention since it is not as important to Batch Optimization.
With this Three-Tiered Optimization process, it has been demonstrated (as shown herein) that Pick Performance (PPH) can be significantly increased with a closed-form algorithm solution. To that end, in some embodiments, Pick Performance is the sole variable that this Second Part of the Invention is trying to optimize. It just happens to be a function of the four goals addressed. While the three elements of the Three-Tiered Optimization process are completely applicable to the FCA increasing its Pick Performance significantly, one element can also significantly increase the Pick Performance in other AWS's. That element is Batch Optimization.
As discussed in Section 1, Batch Optimization has 4 goals. Those 4 goals are achieved by first aggregating Orders over a desired duration of Batch Window. The longer the Batch Window, the frequency of any given SKU being Picked only increases, thus increasing the opportunity to improve Pick Performance by grouping orders having that given SKU into a single batch. This results from the potential of satisfying all those needed Picks for that given SKU with only one Pick Action. While it might take slightly more time at that Pick location to perform all the multiple Picks, the time savings from all the other eliminated movement can be extremely significant.
Once the Batch Window size has been determined, the generation of these Multi-Picks is the primary goal of the closed-form algorithm which is the basis of this invention. The secondary goal is to generate Chain Picks which are analogous to Multi-Picks in that additional wasted movement can be eliminated. As opposed to attempting to make many Picks at just one Pick Location like a Multi-Pick, the goal is still to make multiple Picks, but extend the size of the location to a Pick Window. As explained in the previous Section, that eliminates more movement and subsequent time. These are the only two goals of the algorithm and the algorithm is only part of Batch Optimization. It all starts with the structure of the Batch itself.
If the structure of all Batches is assumed to be that shown in
Batch Optimization is more than just the algorithm. To deliver the four goals defined in the previous Section it also requires an automation system whether that be an FCA or some other AWS. I will start with the FCA which is the only system capable of offering CP's. As shown in
This system synchronizes the delivery of specific Totes within a specific Batch to the Picker when the Picker Platform resides at the Pick Window whose SKU's are required to fulfill the Order SKU (SKU's) assigned to that Tote. The system is then capable of repeating these actions as the Picker moves across the Pick Face until such time as all the Orders are fulfilled within the Batch Window. Further details are described within the FCA patent application. However, the FCA and its embodiments as described in the patent application are themselves only representative embodiments of the system architecture described in
A system-wide perspective of the architecture is shown in
This system used in the FCA has a very high number of variables that need to be optimized and/or can affect system performance. This section will explain these variables and their impact in the system. This is done to provide a deeper insight into how the FCA system and its control software performs. In so doing, the variables will be broken up into two different type categories, Static and Dynamic. Static Variables are those that are established when the physical system is constructed. They are defined at that time and can subsequently limit system performance as the business grows. However, they can be modified with differing degrees of difficulty as required.
The second type of variable are the Dynamic Variables. These are the ones that can change from day to day and/or Batch Window to Batch Window. They include the 4 Goals addressed under Three Tier Optimization plus others that can be highly variable and/or those that can be set at the start of a Batch Window to best optimize performance.
These variables also apply to other AWS's depending on their overall design. The FCA can best leverage these variables to increase Pick Performance more than any of the other AWS's due to its design considerations. To contrast the FCA to the Multi-Robot System and later compare performance, each variable will be identified by an “F” if it applies to the FCA and an “A” if it applies to other AWS's, and FA if it applies to both. The variables are (The items numbered #1 to #4 are the goals):
(#1) Multi-Picks (Dynamic) (FA)—This and the next three items are the Four Goals already discussed. Optimizing these four variables results in the best Pick Performance possible. While Goal #1 was identified as minimizing the wasted time of Picker motion in picking one Line Item at a time, this is the same as maximizing Multi-Picks. Multi-Picks are realized by assigning Orders with a common SKU to one aisle without violating the system constraints that exist.
(#2) Chain Picks (Dynamic) (F)—As above, Goal #2 was identified as minimizing the wasted time of Picker motion in shuttling between an Aisle Bin and a Tote between every pick. This is the same as maximizing Chain Picks. Chain Picks are realized by assigning Orders with SKU's in a common Pick Window to one tote without violating the system constraints that exist.
(#3) Move Time (Dynamic) (F)—This variable can be minimized by maximizing Multi-Picks and utilizing Auto-Move/Auto Drift as much as possible.
(#4) Replenishment Time (Dynamic) (F)—The only way the system can minimize this time is to synchronize the Replenishment of any given SKU at the same time (there are multiple Tote holders on the Picker Platform) an Order pick is required for that same SKU. This is done with the Batch Optimization software.
This is a very difficult problem given all the variables to optimize and with others as constraints and/or limitations. It also quickly becomes obvious it is impossible to realize all the available opportunities for Multi-Picks and Chain Picks. However, it will be shown there is sufficient opportunity to significantly enhance the Picker Performance, particularly for the FCA and even other AWS's.
From an overall perspective, the Batch Optimization algorithm will tie down variables in the system constrained by system limitations like Storage and then proceed to optimize the assignment of Orders to Batches while abiding by the three dependencies identified. The assignment of Orders to Batches defines the Aisle assignments and the SKU's in the Order define the Tote assignments (i.e. once an Order is assigned to a Batch, the software also needs to assign the SKU's in that Batch to the Totes involved). In general, it also assumes the typical usage of one Tote per Aisle to one Batch, barring anomaly assignments. To the extent multiple Totes are assigned to one Batch within one Aisle more opportunity arises to optimize assignments, but complexity arises as well.
The chosen embodiment of Batch Optimization for this invention utilizes a database and will be demonstrated in Section 5 with an example. While databases generally imply a procedural programming approach, an effort was made to utilize concepts that could bridge either a procedural approach or an object-oriented approach. In the case of the database, it is a relational database with a primary key consisting of a combination of an Order number, a SKU Identifier number, and an Aisle number. The Aisle number is required because in an FCA warehouse, high velocity SKU's must be stored in multiple Aisles. The unique combination of an Order number/identifier and its individual SKU Identifier's will be designated as an OrderSKU and would be the primary key for the Order data received from the WMS.
In the terms of a Fulfillment Center, while every Order is unique, it can have from 1 . . . n SKU's, where n would likely not have an upper bound and a SKU can be stored in 1 . . . m Aisles, where m is the number of Aisles in the warehouse. In some embodiments, this information in the database is represented using an object-oriented approach, using an Order Class in combination with a SKU Class with the database fields being equivalent to Properties in either Class.
Outline 3 shows key information on the database fields that need to be generated prior to executing Batch Optimization. It includes the Fields within the database described below and the pseudo-code required to generate those field values within the database prior to implementing the Batch Optimization algorithm. The pseudo-code can be viewed as either routines or methods to generate Class properties. The fields in the database originate in one of three ways. They are either information provided by the WMS (designation of an *), are the ones calculated in advance using the pseudo-code (no designation), or are information calculated during the execution of the Batch Optimization algorithm which is used in later algorithm calculations (designation of a **). The fields are:
As previously disclosed, the Batch Optimization algorithm which is one basis of this invention is a closed-form solution, providing a near optimal solution in an acceptable computing time (2-3 minutes). Outline 4 shows the primary dictionaries utilized in the algorithm. The dictionaries use stored data with key-items pairs. In two of the five dictionaries, the item is another dictionary with additional key-item pairs. This structure provides hierarchical data storage that significantly simplifies the algorithm. The description of those pairs is also provided in Outline 4, which can then be utilized to ascertain their function in the pseudo-code description of the Batch Optimization algorithm what is shown in Outlines 5-8. Those Outlines are shown below:
The structure of the Batch used in the Batch Optimization algorithm is as shown in
It will be demonstrated in the example below that this Batch Optimization is very efficient in generating MP's and CP's in the effort to increase Pick Performance even though it does not perform the exhaustive number of combinations or permutations a CO algorithm might. It should also be noted the pseudo-code listed in Outlines 5-8 only focuses on the primary function of the algorithm. All the less important dictionaries, variables, constants, etc. are not listed nor are the other minor error recovery procedures such as error log printouts. It is assumed those are part of standard programming procedure and will vary dependent on the programmer. All the occurrences that identify “application dependent” generally refer to adjustable limits that can be modified to slightly affect a specific implementation of the algorithm and are unique to that implementation.
The example to demonstrate the results of the Batch Optimization algorithm is based on a simulation using data modeled from an actual Fulfillment Center as it was in the description of the First Part of the Invention set forth above. Therefore, the example has a solid foundation in reality. While the example in the description of the First Part of the Invention set forth above only focused on data from one Aisle, this example utilizes data for the entire warehouse. In this case, that constitutes 15 Aisles where this example again aggregates Orders over one of the busiest one-hour periods (the Batch Window) in 6 months of warehouse data. This results in 5406 orders with 9346 Line Items and 5016 unique SKU's. That means there are 9346-5016 or 4330 possibilities to create Multi-Picks. In the 15 Aisles, there are 101255 Bins in the Aisles with 65534 different SKU's. In the one-hour time period chosen, the Batch Optimization algorithm has 31049 possible bins to choose from in its effort to optimize the Pick Performance for the 5406 orders.
It should also be noted this invention focuses only on the closed-form solution for the second step (the Batch Optimization algorithm) of the Three Tier Process. It does not focus on either the first or third steps, including the menial effort of identifying the chosen Segments from the optimized Pick List. All of those were covered adequately in the description of the First Part of the Invention set forth above.
While the 98.5% appears to be a successful indicator, it only measures those OrderSKU's involved in an MP or CP and is not an indicator of optimality. The real indicator needs to involve the percentage (%) of “theoretical” MP's captured. It is clear 100% cannot be achieved, but the actual maximum number is indeterminable at this time. It also needs to involve determination of the maximum number of CP's attainable. However, that would involve determining how many of the 1736 SKU's that are part of an MP should also be part of a CP. That number too is indeterminable without much additional work. Suffice it to say, however, having 98.5% of the SKUOrders involved in an MP or CP combined with a Pick Rate of 1350 Picks per hour appears to be very satisfactory results for a closed-form solution.
While the 1350 Picks per hour is a stellar Pick Performance, it can still be increased significantly by increasing the size of the Batch Window.
This opens the possibility of what is called Programmable Capacity. By aggregating Orders over longer time periods, in some embodiments, the Pick Performance is made to increase. This obviously causes increasing shipping delays but can be used effectively in times of heavy Orders such as a Holiday Season. In conventional processes, if there are more Orders than Fulfillment Center capacity, the Fulfillment Center gets progressively behind and shipping delays thus increase. By using Programmable Capacity, the backlog can eventually be erased with less overall delay. There is a limitation, however, in system resources such as available Tote Storage capacity and Bin Wall capacity. This Programmable Capacity approach can also be used in other AWS's like the Kiva type or the Multi-Shuttle type with similar results.
In some embodiments, this Second Part of the Invention provides significant Pick Performance improvement for AWS's, but particularly the FCA, as the algorithm is applied on a wider scale to an entire warehouse as shown in the example. It was also shown that a closed-form solution performed with either procedural programming or OOP provides near-optimal results. The 1350 Picks-per-Hour (PPH) Pick Rate demonstrated in the example for the FCA is over 250% greater than the nearest competitor. Even though the other AWS systems can benefit from this Batch Optimization algorithm, the benefit is considerably less as shown in
In some embodiments, the present invention provides a system for fulfillment of a first plurality of orders at a fulfillment center, wherein the first plurality of orders is received from a plurality of customers, wherein each one of the first plurality of orders includes a plurality of stock-keeping unit (SKU) identifiers, and wherein the system includes: a computer system that has software that executes on the computer system, wherein the software uses a batch-optimization algorithm that assigns/associates each respective one of the first plurality of orders to a respective batch of a first plurality of batches and assigns/associates each SKU identifier of the respective orders' plurality of SKU identifiers to a respective tote of a plurality of totes associated with the respective batch in order to maximize occurrences of two types of events, wherein the two types of events are: a multi-pick type of event wherein a plurality of SKU items specified by different orders but having equivalent SKU identifiers are picked at one time, and a chain-pick type of event wherein plurality of SKU items having different SKU identifiers, and all located within reach in a common pick window are picked consecutively and placed in a single tote, wherein the multi-pick type of event and the chain-pick type of event are both selected in order to provide a maximized pick performance, and wherein pick performance is defined as a number of picks per unit of time in a sequential series of picks performed using an automated warehouse system (AWS).
In some embodiments of the system, the batch-optimization algorithm further controls movement of the plurality of totes of each respective batch of the first plurality of batches to a first order-aggregation operator and presenting information to the first order-aggregation operator to move picked items from the plurality of totes of the respective batch to respective order-aggregation compartments of a plurality of order-aggregation compartments of an order-aggregation structure, wherein all items moved into one of the plurality of order-aggregation compartments are associated with an individual order of the first plurality of orders.
In some embodiments, a plurality of batch windows 1910 (including a first batch window 1911 and a second later batch window 1912 are defined in computer system 1990. Each batch window includes a plurality of Orders 1920 (labeled O-0, O-1, O-2, . . . O-nn for batch window 1911) that is received during a given batch-window period of time. As a simple example, Orders O-0, O-4, O-6, and O-9 are selected to be put into Batch B0 due to the ability to perform a multi-pick of SKU3 (three identical items among O-0, O-4, O-6, and O-9), multi-pick of SKU2 (two identical items among O-0, O-4, O-6, and O-9) and a chain-pick of these two multi-picks and single-pick SKU5 that could be done at a single pick window.
Still referring to
The dashed-line arrow 1955 from the first tote 1950 labeled T-B001 (which also applies to move the tote labeled T-B002 as being and additional tote from batch B0 for AISLE0) to the storage unit 1942 labeled ST0 in AISLE0 indicates that the computer system 1990 controls to move the first tote 1950 labeled T-B001 to storage unit 1942 labeled ST0 (in some embodiments, each storage unit 1942 is implemented by a tote-buffer automated storage and retrieval system (ASRS) 1026 as shown in
The dashed-line arrow 1959 from the tote 1950 labeled T-B101 to the storage unit 1942 labeled ST0 in AISLE0 indicates that the computer system 1990 controls to move the tote 1950 labeled T-B101 to storage unit 1942 labeled ST0.
The dashed-dot-line arrow 1956 from the tote 1950 labeled T-B011 (which also applies to move the tote labeled T-B012 as being and additional tote from batch B0 for AISLE1) to the storage unit 1942 labeled ST1 in AISLE1 indicates that the computer system 1990 controls to move the first tote 1950 labeled T-B011 to storage unit 1942 labeled ST1.
The dashed-dot-dot-line arrow 1957 from the tote 1950 labeled T-B601 to the storage unit 1942 labeled ST0 in AISLE0 indicates that the computer system 1990 controls the respective sequencer 1944 to move the tote 1950 of batch B6 labeled T-B601 to storage unit 1942 labeled ST0.
The dashed-dot-dot-line arrow 1958 from the tote 1950 labeled T-B611 to the storage unit 1942 labeled ST1 in AISLE1 indicates that the computer system 1990 controls the respective sequencer 1944 to move the tote 1950 of batch B6 labeled T-B611 to storage unit 1942 labeled ST1 in AISLE1.
Each respective sequencer 1944 (labeled SQ0 for AISLE0, labeled SQ1 for AISLE1, labeled SQ-nn for AISLE-nn) moves a sequence of totes 1951/1030 from respective ones of the plurality of storage modules 1942/1026 to the respective pickers 1943/1021 and then back to the respective ones of the plurality of storage modules 1942/1026.
For another example, batch 1941 labeled as B6 is associated with the first tote 1950 labeled T-B601 to indicate that tote is for batch B6 (the second two characters being B6) and aisle 1040 numbered A0 (the fourth character) and that this is the first tote (the fifth character) for aisle A0. Similarly, the second tote 1950 labeled T-B611 to indicate that tote is for batch B6 (the second two characters being B6) and aisle 1040 numbered A1 (the fourth character) and that this is the first tote (the fifth character) for aisle A1. Likewise, the nth tote 1950 labeled T-B6nn1 to indicate that tote is for batch B6 (the second two characters being B6) and aisle 1040 numbered Ann (the fourth character) and that this is the first tote (the fifth character) for aisle Ann.
When the time comes that all of the picks for first batch window 1911 are complete, all of the totes 1951 from all of the aisles 1040 are moved to a bin wall/order-aggregation structure 1961 (e.g., in some embodiments, one of a plurality of order-aggregation structures 1960). For example, all of the totes 1951 for batch window 1911 would be moved to bin wall/order-aggregation structure 1961 labeled OA0, and the SKU items from all those orders are segregated to selected individual order-aggregation containers 1971 of a plurality of order-aggregation containers 1970, wherein the selected individual order-aggregation containers 1971 each correspond (during this batch-window period of time) to one of the received Orders 1920. For example, OA1C0 corresponds to batch window 1911 order O-0 with three SKU identifiers SKU1, SKU2 and SKU3 and created finished order 1980 labeled FO-0 with three corresponding SKU items; OA1C1 corresponds to batch window 1911 order O-4 with two SKU identifiers SKU2 and SKU3 and created finished order 1980 labeled FO-4 with two corresponding SKU items; OA1C2 corresponds to batch window 1911 order O-5 with two SKU identifiers SKU3 and SKUS and created finished order 1980 labeled FO-5 with two corresponding SKU items; and OA1C3 corresponds to batch window 1911 order O-9 with three SKU identifiers SKU1, SKU3 and SKU6 and created finished order 1980 labeled FO-9 with three corresponding SKU items. As an example, tote 1941 labeled T-B001 is sent to aisle 1040 labeled AISLE0 to single pick SKUS, multi-pick SKU1, multi-pick SKU2 and multi-pick SKU3; tote 1941 labeled T-B011 is sent to aisle 1040 labeled AISLE1 to single-pick SKU6 and perhaps other SKU items.
Still referring to
Once some or all of the totes 1950 of a particular batch window 1910 are complete (all of the pick items for that tote have been picked), those totes are delivered under control of computer 1990 to a respective one of a plurality of order aggregators 1960 (e.g., OA0, OA1, . . . , OApp). For example, in some embodiments, all of the totes from ST0 in AISLE0 are moved (as shown by dashed line 1965) to respective bin wall/order aggregator 1961 labeled OA0, all of the totes in AISLE1 are moved (as shown by dash-dot-dashed line 1966) to respective bin wall/order segregator 1961 labeled OA0, and all of the totes in AISLEnn are moved (as shown by dash-dot-dot-dashed line 1967) to respective bin wall/order aggregator 1961 labeled OA0. In some other embodiments, some of the totes from ST0 in AISLE0 are moved (as shown by dashed line 1968) to a second respective bin wall/order aggregator 1961 labeled OA1, some of the totes in AISLE1 are moved (as shown by a dash-dot-dashed line (not labeled)) to respective bin wall/order aggregator 1961 labeled OA1, and some of the totes in AISLE-nn are moved (as shown by dash-dot-dot-dashed line 1969) to respective bin wall/order aggregator 1961 labeled OA1, in order that a plurality of order-aggregator operators at the plurality of order-aggregator structures 1960 operate in parallel (i.e., at the same time) to load the plurality of order-aggregator containers 1070 in a shorter time period than if only a single order-segregator operator were performing the task.
Once the totes from the plurality of aisles have been moved to their respective bin wall/order segregator 1961, an order-aggregator operator (e.g., in some embodiments, a human person not shown here) moves all of the SKU items from the totes to a respective one of a plurality of order-aggregator containers 1970 (e.g., the individual order-aggregator containers 1971 labeled OA1C0, OA1C1, . . . , OA1Cnn for order-aggregator structure OA0, and individual order-aggregator containers 1971 labeled OA2C0, OA2C1, . . . OA2Cnn for order-aggregator structure OA1), wherein once all of the SKU items for each respective order 1920 are moved to the respective order-aggregator container 1971, the contents of the respective order-aggregator container 1971 form (and/or are transferred to a suitable shipping container such as a corrugated cardboard box with a shipping label) of the respective finished order of a plurality of finished orders 1980.
In some embodiments of the system, the fulfillment center includes: a first plurality of aisles, wherein each aisle of the plurality of aisles extends between two pick faces, wherein each of the two pick faces extends vertically and horizontally to present a plurality of bins in each of a plurality of pick windows each defines as having those bins that are reachable by a picker at a fixed horizontal and vertical location; a plurality of mobile pick vehicles, each respective mobile pick vehicle of the plurality of mobile pick vehicles being associated with a respective aisle of the plurality of aisles, wherein each respective mobile pick vehicle of the plurality of mobile pick vehicles moves its respective picker to a sequence of horizontal and vertical locations along the respective aisle of the plurality of aisles, wherein each horizontal and vertical location is selected to allow the respective picker to pick SKU items associated with one pick window of the plurality of pick windows; a plurality of tote storage devices, wherein each respective tote storage device each holds a plurality of totes for its respective mobile pick vehicle of the plurality of mobile pick vehicles; a plurality of tote sequencers, wherein each respective tote sequencer of the plurality of tote sequencers sequentially sends a sequence of totes to its respective mobile pick vehicle of the plurality of mobile pick vehicles; and an order-aggregation structure that receives totes of each respective batch of the first plurality of batches, wherein the order-aggregation structure includes a plurality of order-aggregation compartments (OACs), wherein an operator at the order-aggregation structure moves items from the totes of each respective batch of the first plurality of batches to respective ones of the plurality of order-aggregation compartments such that all items moved into one of the plurality of order-aggregation compartments are associated with an individual order of the first plurality of orders.
In some embodiments of the system of the multi-shuttle type, the fulfillment center includes: a first plurality of shuttles, wherein each shuttle of the plurality of shuttles retrieves SKU items from Shelving Units and presents the retrieved SKU items to a respective picker of a plurality of pickers, wherein the picker moves the retrieved SKU items from respective ones of the first plurality of shuttles to selected ones of the plurality of totes; a plurality of tote storage devices, wherein each respective tote storage device each holds a plurality of totes for its respective picker of the plurality of pickers; and an order-aggregation structure that receives totes from the plurality of tote storage devices for each respective batch of the first plurality of batches, wherein the order-aggregation structure includes a plurality of order-aggregation compartments, wherein an operator at the order-aggregation structure moves items from the totes to the plurality of order-aggregation compartments such that all items moved into one of the plurality of order-aggregation compartments are associated with an individual order of the first plurality of orders.
In some embodiments of the system, the fulfillment center includes: a first plurality of Kiva-type robots, wherein each shuttle of the plurality of Kiva-type robots retrieves bins of SKU items and presents the retrieved bins of SKU items to a respective picker of a plurality of pickers, wherein the picker moves the retrieved bins of SKU items from respective ones of the first plurality of Kiva-type robots to selected ones of the plurality of totes; a plurality of tote storage devices, wherein each respective tote storage device each holds a plurality of totes for its respective picker of the plurality of pickers; and an order-aggregation structure that receives totes from the plurality of tote storage devices for each respective batch of the first plurality of batches, wherein the order-aggregation structure includes a plurality of order-aggregation compartments, wherein an operator at the order-aggregation structure moves items from the totes to the plurality of order-aggregation compartments such that all items moved into one of the plurality of order-aggregation compartments are associated with an individual order of the first plurality of orders.
In some embodiments of the system, the fulfillment center includes: an order-aggregation structure that receives totes for each respective batch of the first plurality of batches, wherein the order-aggregation structure includes a plurality of order-aggregation compartments, wherein an operator at the order-aggregation structure moves items from the totes to the plurality of order-aggregation compartments such that all items moved into one of the plurality of order-aggregation compartments are associated with an individual order of the first plurality of orders.
In some embodiments of the system, the batch-optimization algorithm uses a closed-form algorithm solution performed with procedural programming.
In some embodiments of the system, the batch-optimization algorithm uses a closed-form algorithm solution performed with object-oriented programming (OOP).
In some embodiments of the system, the batch-optimization algorithm uses a combinatorial optimization algorithm.
In some embodiments of the system, the batch-optimization algorithm uses picker-performance adaptability, in which the batch optimization algorithm modifies an amount of order load to any one picker in an aisle to accommodate the picker's personal pick performance and thus optimize overall performance of all pickers in the fulfillment center.
In some embodiments of the system, the batch-optimization algorithm uses programmable capacity in which the batch optimization algorithm changes a duration of each batch window to further increase the pick performance and easily adapt to varying order loads in the fulfillment center.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Although numerous characteristics and advantages of various embodiments as described herein have been set forth in the foregoing description, together with details of the structure and function of various embodiments, many other embodiments and changes to details will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should be, therefore, determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” and “third,” etc., are used merely as labels, and are not intended to impose numerical requirements on their objects.
This application is related to U.S. Provisional Patent Application No. 62/405,219, filed Oct. 6, 2016 by Robert D. Ahmann, titled “Automated warehouse fulfillment operations and system,” U.S. patent application Ser. No. 16/339,471 filed Apr. 4, 2019 and titled “Automated warehouse fulfillment system and method of operation” and PCT Publication No. WO 2018/068024A1 by Ahmann et al., published Apr. 12, 2018 and titled “Automated warehouse fulfillment operations and system,” U.S. patent application Ser. No. 16/339,473 filed Apr. 4, 2019 and titled “Automated warehouse fulfillment system and method of operation” and PCT Publication No. WO 2018/068026A1 by Ahmann et al., published Apr. 12, 2018 and titled “Automated warehouse fulfillment system and method of operation,” U.S. Provisional Patent Application No. 62/689,829, filed Jun. 25, 2018 by Robert D. Ahmann titled “Optimized Batch Picking for Automated Warehouse Systems,” of which this application claims priority benefit, including under 35 U.S.C. § 119(e), and U.S. Provisional Patent Application No. 62/812,250, filed Feb. 28, 2019 by Robert D. Ahmann titled “Extension of Optimized Batch Picking for Automated Warehouse Systems,” of which this application claims priority benefit, including under 35 U.S.C. § 119(e), each of which is incorporated herein by reference in its entirety. In some embodiments, the present invention uses a combination of some or all features of these last two Provisional Applications 62/689,829 and 62/812,250. As such, the First and the Second Parts of the Invention described below share many common features. Therefore, their Field, Background, Definitions, Drawings and Conclusions will be shared while their individual Invention Summaries and Invention Descriptions will be addressed separately and be referred to as the First and Second Parts of the Invention, respectively. For any need to reference the applications listed above, an overview is shown in FIG. 10B and described in Section 5 of the Description of First Part of the Invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2019/039087 | 6/25/2019 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62812250 | Feb 2019 | US | |
62689829 | Jun 2018 | US |