Complexes in which items are stored and retrieved—such as factories, fulfillment centers, warehouses, etc.—typically have designated storage areas for items, and items are picked for shipping based on customer demand. Entities that perform the picking operations in a complex include: people, such as workers in the complex, customers, visitors, etc.; vehicles, such as automated vehicles, for example, an Automated Guided Vehicle (an AGV), vehicles operated by a person, etc.; and other entities that may handle an item in a complex.
The inventor has recognized that it would be of great benefit to simulation engineers, managers of simulated complexes, etc., to use a simulation of the complex to dynamically adjust the re-slotting and picking processes for items departing from a complex. The simulation is used to identify locations for re-slotting items based on orders received by the complex in order to optimize the picking process for those orders. The inventor has also determined that it would be beneficial to use the simulation to predict how entities will move within the complex as they re-slot items, pick items, put-away items, etc. in order to identify when entities should begin a pick sequence.
The inventor has recognized a variety of disadvantages of current simulation and warehouse management software and practices for performing re-slotting and picking operations. Typical simulation and warehouse management software re-slot items based on their “velocity,” such that items that are more likely to be included in orders are moved from their initial storage location to storage locations near the staging area or in a common location. This results in high velocity items being clustered closely together and results in a greater amount of congestion in that area because those items are the most likely to be picked and therefore also the most likely to have entities trying to pick them. Additionally, these systems do not take into account congestion throughout the complex when releasing entities to pick items or perform other operations within the complex. Instead, conventional systems release entities in “waves” such that a group of entities is released each with their own pick sequence. However, because the pick sequences are typically for the same or similar orders, the entities must pick items from the same locations, which also results in congestion in the complex. The high congestion results in increased idle time for entities performing picking, re-slotting, put-away, and other processes, such as robots, AGV's, and other entities, and thus causes resource waste, such as, in the case of entities that use electronics, wasted power while waiting for an item to be able to be picked, processor cycles spent on idling, etc. Furthermore, these systems do not accurately account for nesting items correctly, which reduce the maximum storage density of the complex.
As a result of these disadvantages, items in the complex are re-slotted and pickers are released in a manner that causes congestion within the complex and resources and entities within the complex are unable to efficiently perform their tasks. Additionally, typical simulation and warehouse management systems do not properly account for items that are able to nest within, on top of, etc., each other. Furthermore, typical simulation and warehouse management systems are unable to take into account the behavior of entities when performing re-slotting, picking, put-away, and other tasks or operations within the complex.
In response to recognizing these disadvantages, the inventor has conceived and reduced to practice a software and/or hardware facility for dynamically controlling re-slotting and picking processes (“the facility”). By using a digital twin simulation model of the complex, the facility is able to determine storage areas for items scheduled to be picked in a way that more fully accounts for the full cost of re-slotting and picking operations. The facility additionally causes these items to be placed in the determined storage areas by causing an entity to move the items to the designated storage area. Furthermore, the facility identifies pick sequences for entities based on the current state of the complex to account for and prevent congestion within the complex when entities are released to perform picking operations.
The facility operates a digital twin simulation model of a complex to determine a new or alternative storage location for an item to optimize picking processes and to schedule and release pickers to perform picking operations. In some embodiments, operating the digital twin simulation model includes obtaining one or more incoming orders, one or more outgoing orders, or some combination thereof. An incoming order includes one or more of: an indication of one or more items presently arriving at the complex or an indication of a future time at which one or more items will arrive at the complex. An outgoing order includes one or more of: an indication of one or more items presently departing from the complex or an indication of a future time at which one or more items will depart from the complex. The facility generates one or more “pick sequences” from each outgoing order that include instructions for a picker regarding one or more of: which items should be picked, the quantity of each item picked, the time at which the items are to be picked, the order for picking the items, any entities necessary to assist in picking items, or other information relevant to picking items for an order. In some embodiments, the facility determines a storage location for re-slotting the item based on one or more factors, such as: a size or dimension of the item; a volume of the item; a nesting factor of the item; a weight of the item; a crushability factor of the item; a seasonality of the item; an indication of the quantity of the item in the complex; an indication of handling constraints for the item, such as an indication of whether the item can be moved multiple times, whether special equipment is needed for the item, an indication of whether the item needs to be stored in a certain type of storage area, or other handling constraints; an indication of whether multiple items of the same type are included in the order; an indication of whether multiple items of the same type can be handled together; an indication of the current state of the digital twin simulation model; an indication of one or more congestion factors; an indication of the number of entities available to handle the item; an indication of the efficiency of at least one of the entities; an indication of the constraints of the storage media of the item, such as a weight limit for the storage media, a volume limit of the storage media, a direction that the storage media should face, or other constraints of storage media; an indication of an orientation requirement of the item when stored; an indication of the cost factors of at least one handling constraint, such as a cost of using an entity to handle the item; an indication of the cost factors of at least one storage constraint, such as a cost to store the item for a selected period of time; a controlled item requirement, such as an indication that the item is to be stored in a controlled area, such as a temperature-controlled area, a humidity-controlled area, a security-controlled area, etc.; a predicted need for the item at a future time; information about existing outgoing orders for the item; predicted future outgoing orders for the item; a grab factor, such as a quantity of the item that can be picked up at the same time by an entity; or other factors used to determine a storage area for an item. In some embodiments, the facility determines the storage location for the item based on a prediction of the state of the complex at a time during which the items included in the order will be picked. The facility generates a prediction of the state of the complex based on at least the digital twin simulation model and incoming orders, outgoing orders, or some combination thereof.
In some embodiments, the facility determines a nesting factor of the item as part of determining a storage location for the item. The nesting factor includes an indication of the orientation of the item when stored or placed in a container associated with an entity, such as an indication of the orientation of the item in the x, y, and z planes. Basically need to reconfigure this for re-slotting/picking In some embodiments, the nesting factor includes a nesting coefficient that indicates how nested items affect the total storage space. For example, the nesting coefficient of a cup may indicate that when two cups are nested together the total height of the cup is less than the sum of the height of each of the two cups added together. In some embodiments, the facility identifies one or more nesting constraints of the item, such as whether the item rolls, a maximum or minimum number of rows or columns for storing the item, or other factors that indicate how the item will interact with other items when stored near or on top of the other items. In some embodiments, the facility generates a visual indication of how the item should be stored based on the nesting factor and the current state of the digital twin simulation model. In some embodiments, the facility generates the visual indication based on the dimensions of the storage location, the dimensions of the items currently stored in the location, the dimensions of the item, and the nesting factor to determine whether the item can be stored in the storage location.
A factor of the congestion, or “traffic,” around storage areas is determined based on one or more orders received by the facility. The facility determines the factor of congestion by applying the one or more orders to the digital twin simulation model to identify where and when entities will be picking items, putting away items, or performing other operations within the complex. In some embodiments, the facility generates one or more heat maps, traffic maps, congestion maps, etc., that indicate the amount of traffic throughout the complex based on the application of the one or more orders to the digital twin simulation model. In some embodiments, the facility collects data regarding the change in the congestion factor throughout the complex over time. In such embodiments, the facility may use the data regarding the change in the congestion factor over time and an indication of future orders to predict times at which one or more locations throughout the complex will be heavily congested.
In some embodiments, the facility trains an artificial intelligence or machine learning model (a “machine learning model”) to determine a storage location for an item. The facility trains the machine learning model based on historical data of where items are stored and the “cost of SKU” for each item. In some embodiments, the historical data additionally includes a number of orders per hour fulfilled by the complex, a lead time for orders at the complex, or some combination thereof. A cost of SKU is a cost calculated based on one or more of: one or more storage requirements for the item; the number of interactions with the item by one or more entities needed to store or stage the item; an indication of the amount of time needed to adjust a pallet or other storage container containing the item; an indication of whether the item can be stored on a rack, on the floor, or on another storage implement; a cost associated with one or more entities that interact with the item; a cost to store the item for a selected period of time; or other costs associated with storing the item. In some embodiments, the facility re-trains the machine learning periodically to enhance the accuracy of the machine learning model, to ensure the machine learning model takes into account seasonality of the items, or some combination thereof. In some embodiments, the machine learning model outputs a cost of SKU for storing the item at a location. In some embodiments, the facility applies one or more of: a description of the item, a location for storing the item; a number of picks at the location; an elevation of the location; a depth of the location; a factor of the amount of time needed to pick the item; a time of day at which the item is to be stored; an indication of the number of similar items that can be picked at the same time; or other factors related to storing the item to the machine learning model as inputs. In some embodiments, the cost of SKU takes into account the cost for an entity to pick, store, re-slot, or perform other operations to or for an item. In such embodiments, the facility may train a separate machine learning model that outputs an indication of an extent to which one or more entities contribute to the cost of SKU based on their behavior when performing operations with relation to items, areas within the complex, etc. The facility may apply the output of the separate machine learning model to the machine learning model that outputs the cost of SKU. In some embodiments, the facility uses the separate machine learning model to select an entity to perform a pick sequence.
The facility determines one or more alternative storage locations for an item that is already stored at a complex based on one or more outgoing orders. In some embodiments, the facility identifies the alternative locations based on a cost of SKU for storing the items at one or more locations and a predicted state of the complex. In some embodiments, the cost of SKU of the alternate storage locations is calculated based on the current state of the digital twin simulation model. In some embodiments, the predicted state of the complex is obtained by applying one or more pick sequences generated from the outgoing order to a digital twin simulation model of the complex.
In an example embodiment, the facility receives one or more outgoing orders that indicate that a plurality of items will depart from the complex at one or more future times. The facility generates pick sequences based on the outgoing orders and applies the pick sequences to a digital twin simulation model to obtain simulation data indicating a forecasted state of the complex at the future times and a factor of the congestion around storage areas within the complex at the future times. The facility identifies attributes of items in the complex, including a nesting factor of the item, and uses the attributes, the forecasted state of the complex, and the pick sequences to identify one or more alternative storage locations for items in the complex. The facility causes entities to move the items to the alternative storage locations. At a later time, the facility receives data indicating a current state of the complex, including a factor of congestion at one or more areas within the complex. The facility uses the data indicating the current state of the complex and the generated pick sequences to select a pick sequence and dispatch one or more entities to execute the pick sequence.
By performing in some or all of the ways described above, the facility is able to quickly and reliably determine alternative storage locations for items to reduce congestion within a complex, and to select and cause entities to execute pick sequences. Also, the facility improves the functioning of computer or other hardware, such as by reducing the dynamic display area, processing, storage, and/or data transmission resources needed to perform a certain task, thereby enabling the task to be permitted by less capable, capacious, and/or expensive hardware devices, and/or be performed with lesser latency, and/or preserving more of the conserved resources for use in performing other tasks. For example, the facility is able to reduce idle time for entities executing pick sequences by identifying alternative storage locations for items that reduce congestion within the complex. Additionally, the facility is able to ensure that entities are released to perform pick sequences in a manner that prevents the entities from being clustered within a small number of areas within the complex, and thus cause congestion. In this example, computing systems that manage or are used by entities expend fewer computing resources, such as memory, processing power, and electrical power, in idle states because the amount of time entities need to take to wait for other entities to complete their tasks before picking an item is reduced in comparison to entities in a complex with conventional systems.
Furthermore, the processes, data, and models used by the facility are an improvement in the technical field of simulation and warehouse management software. The processes, data, and models are able to determine re-slotted locations for items to reduce the amount of congestion in the complex in a way that is beyond the capabilities of typical simulation and management software. The processes, data, and models are also able to select and release pick sequences in a way that is also beyond the capabilities of current simulation and management software.
Additionally, for at least some of the domains and scenarios discussed herein, the processes described herein as being performed automatically by a computing system cannot practically be performed in the human mind, for reasons that include that the starting data, intermediate state(s), and ending data are too voluminous and/or poorly organized for human access and processing, and/or are a form not perceivable and/or expressible by the human mind; the involved data manipulation operations and/or subprocesses are too complex, and/or too different from typical human mental operations; required response times are too short to be satisfied by human performance; etc.
In the present application, references to “optimizing,” “optimization,” “optimize,” etc. means improving or seeking to improve the efficiency of aspects of an entity, a group of entities, a complex, operations within the complex, etc. As a result, optimization can occur even if the facility fails to identify a more efficient storage location, pick sequence, entity, etc., or the most efficient possible storage location, pick sequence, entity, etc.
Those skilled in the art will appreciate that the acts shown in the flow diagrams discussed below may be altered in a variety of ways. For example, the order of the acts may be rearranged; some acts may be performed in parallel; shown acts may be omitted, or other acts may be included; a shown act may be divided into subacts, or multiple shown acts may be combined into a single act, etc.
Furthermore, while the table diagrams discussed below show a table whose contents and organization are designed to make them more comprehensible by a human reader, those skilled in the art will appreciate that actual data structures used by the facility to store this information may differ from the table shown, in that they, for example, may be organized in a different manner; may contain more or less information than shown; may be compressed, encrypted, and/or indexed; may contain a much larger number of rows than shown, etc.
The simulated complex 200 includes: a receiving area 201; a shipping area 203; a specialized storage area 205; a picking rack 207 (also referred to as a “staging area”); one or more storage racks 209a, 209b, and 209c (collectively “storage racks 209”); and one or more entities 211a, 211b, 211c, 211d, 211e, 211f, 211g, 211h, and 211i (collectively “entities 211”). The receiving area 201 is an area within which items associated with incoming orders arrive, and from which items are put away by an entity, such as one or more of the entities 211a-211i. The shipping area 203 is an area within which items associated with outgoing orders are loaded onto one or more vehicles for transportation away from the complex 200.
The specialized storage area 205 is a controlled storage area that is able to provide a controlled environment for storing one or more items within the complex. For example, the specialized storage area 205 may be a temperature-controlled area, a humidity-controlled area, a security-controlled area, etc. The picking rack 207 is a storage rack that stores items that have been picked to be shipped out through the shipping area 203. For example, an outgoing order may include one or more items that are picked by one or more entities and stored on the picking rack 207 until a vehicle that is able to transport the items arrives and is loaded. The storage racks 209 are each storage racks that hold items that are put away after they arrive at the complex via the receiving area 201 or after the alternative storage locations are determined in order to re-slot the items before a picking operation. Although
The entities 211 are each entities that interact with items during put-away and picking processes, such as human workers, manually driven forklifts or other vehicles, autonomous vehicles, etc. The entities receive instructions regarding where to store items, how to store the items, an orientation for storing the items, a route to take to the storage area, which items should be picked, whether items should be moved from one storage location to another, etc., and carry out those operations when items in an order arrive at or are to depart from the complex 200. In some embodiments, the entities receive such instructions via a computing system or other hardware device accessible to the entity. In some embodiments, entities complete one or more operations, such as picking, re-slotting, put-away, etc., in tandem with other entities, such as, for example: a robot passing items to another robot, an AGV being loaded by a worker, a worker operating a forklift being aided by another worker, etc.
The nesting factor column 422 includes information indicating one or more nesting constraints for the item identified in the item id column 420. For example, row 401 indicates that item “1111” should be stored upright, that ten of the same item can be stacked, and that the nesting coefficient is 0.5. In another example, row 402 indicates that item “2222” can be stored in any orientation, can be stacked up to five items high, and has a nesting coefficient of 1.
The item attributes column 423 includes information indicating one or more attributes of the item identified in the item id column 420, such as, for example, a size of the item, a weight of the item, a color of the item, grab factor for the item, or other attributes of the item. For example, row 403 indicates that item “3333” has a height, width, and length of three feet, weighs 100 pounds, and can be grabbed by an entity one at a time. As another example, row 401 indicates that item “1111” is ten inches high, has a radius of three inches, weighs two ounces, and can be grabbed by an entity four at a time.
The item storage constraints column 424 includes information identifying storage constraints for the item identified in the item id column 420, such as a maximum number of items that an entity can handle at one time, whether the item is able to be moved to another storage location, a weight limit of the storage media of the item, whether special equipment is required to handle the item, a type of controlled area for storing the item, and other attributes related to storing the item. For example, row 401 indicates that an entity can handle up to ten of item “1111” at one time and that the item can be moved to other storage areas outside of picking and put-away operations, such as to make room for other items at a storage location. Row 403 indicates that item “3333” is to be stored in a refrigerated area, that the item cannot be moved outside of picking and put-away operations, that the item's storage medium has a weight limit of six hundred pounds, and that an AGV is required to move the item. Row 402 indicates that item “2222” can be moved outside of picking and put-away operations, that a forklift is required to move the item, and that three of the item can be handled by a single entity.
The pick time and quantity column 425 includes information indicating a time by which the item identified in the item id column 420 is to be picked and the quantity of items that are picked. For example, rows 401 and 402 indicate that ten boxes of item “2222” and one hundred individual items (“eaches”) of item “1111” are to be picked by 10:00 am on July 10 and row 403 indicates that two pallets of item “3333” are to be picked at 10:00 am on July 10.
In some embodiments, the pick sequence data table includes additional data regarding how the items in the pick sequence are to be picked. For example: whether the items are picked by eaches, bunches, pallets, boxes, etc.; an amount of time the items can remain in the staging area; the size, weight, and crushability factor of the items; the size of the container used by the entity to carry the item, such as a box, bin, tote, pallet, etc.; an order in which the items must be picked; whether multiple locations must be visited to pick the quantity of the item indicated by the pick sequence; a location of the item; whether the item can destroy or otherwise damage other items in the pick sequence; or other information relevant to a pick sequence and the picking process. For example, the pick sequence may include liquid detergent, cream cheese, and bread. Because liquid detergent is heavy, and because leaking detergent may irreparably damage the cheese and bread, the pick sequence may include instructions to pick the liquid detergent first. The pick sequence may also include instructions to pick the cream cheese after the liquid detergent in order to ensure that the cream cheese does not crush the bread.
Returning to
At act 303, the facility applies the pick sequences and the predicted additional pick sequences to a digital twin simulation model of a complex, such as the simulated complex 200 described above in connection with
In some embodiments, the pick sequences applied to the digital twin simulation model are generated from outgoing orders. In some embodiments, at act 303, the facility additionally applies incoming orders to the digital twin simulation model. In some embodiments, at least a portion of the outgoing orders are identified based on user input that identifies one or more orders. In some embodiments, the facility may determine that additional pick sequences are not likely to be received based on historical data, and may perform act 303 without applying any generated predicted pick sequences to the digital twin simulation model.
At act 304, the facility identifies an item indicated by one of the indicated pick sequences and identifies attributes of the item based on the pick sequence. In some embodiments, the facility identifies attributes of the item based on data stored in one or more item data repositories that store data indicating attributes for items.
At act 305, the facility identifies a time at which the item is scheduled to be picked in order to be staged for departure from the complex based on the pick sequence. In some embodiments, the facility identifies a range of times based on the scheduled departure of the item. In such embodiments, the range of times may be a pre-selected range of times, determined based on historical data for orders of a similar type to the order from which the pick sequence was generated (such as data indicating that orders received by an entity that is receiving the respective order are more likely to arrive on-time, early, late, etc.), status updates received from the entity receiving the respective order, or other data that may be used to determine a range of times within which an order will depart from a complex.
At act 306, the facility identifies at least one potential storage location for the item based on the simulation data, the time at which the item is scheduled to be picked, and one or more attributes of the item. In some embodiments, the facility uses the simulation data to identify storage locations that have capacity to store the item. In some embodiments, the facility uses the simulation data to identify one or more areas within the complex that will be congested at a time when the item is scheduled to be picked—such as due to other pick sequences, put-away processes, re-slotting processes, or some combination thereof being executed when the item is scheduled to be picked—and uses those identified areas to determine the potential storage location. In some embodiments, to identify the at least one potential storage location, the facility generates a cost of SKU for storing the item at one or more storage locations that have capacity to store the item based on the one or more attributes of the item and the simulation data. The facility may use the cost of SKU to prioritize storage locations for the item that will have capacity to store the item, such that a lower cost of SKU for storing the item at a storage location results in a higher prioritization of the storage location and vice versa. In some embodiments, at act 306, the facility identifies the storage location by determining whether the storage location is an optimal storage location for the item based on the factor of congestion, cost of SKU, attributes of the item, and data describing pick sequences.
In some embodiments, the optimal storage location is a location that reduces the amount of congestion that occurs in an area of the complex when a pick sequence including the item is being executed. For example, if the simulation data indicates that multiple pickers must access the same location at the same time and that special equipment must be used to pick an item at that location such that only one picker can access the location at a time, every other picker that is at the location must wait until they are able to access the location. In another example, an item included in many pick sequences may be stored in a narrow area that only one picker can access at a time. In both of these examples, the facility may determine that the optimal location for at least some of the items stored in those locations is in a different part of the complex in order to reduce the congestion caused in both examples.
In some embodiments, as part of performing act 306, the facility identifies one or more picking containers, such as a cart, bin, pallet, etc., that will be used by entities to perform the pick sequence associated with the item. In such embodiments, the facility may take into account the picking containers when selecting the storage location for the item.
In some embodiments, after act 306, the facility causes one or more entities to move items from their current storage location to the storage locations identified in act 306. In some embodiments, in cases where the facility has determined that an item is already in an optimal storage location, the facility does not cause an entity to move the item to another storage location. In some embodiments, causing one or more entities to move items from their current storage location to the storage locations identified in act 306 comprises transmitting instructions to a computing device associated with an entity to guide the entity to items that are to be moved, guide the entity to new storage locations for items, to indicate to the entity in how the item is to be handled, to indicate an order for moving items to new storage locations, to indicate how the item is to be stored at the new storage location, to indicate one or more other entities that will assist in storing the item at the new storage location, etc.
After act 306, the process ends.
At act 502, the facility receives an indication of one or more storage locations for the items included in the pick sequence. In some embodiments, at least a portion of the storage locations are determined via a process to identify an alternative storage location for re-slotting an item, such as the process described above in connection with
At act 503, the facility receives an indication of a current state of the complex. In some embodiments, the facility receives simulation data that includes an indication of the current state of the complex from a digital twin simulation model of the complex. In some embodiments, the facility receives the indication of the current state of the complex from one or more computing devices that detect the current state of an aspect of the complex, receive input regarding the current state of an aspect of the complex, or some combination thereof. A current state of the complex includes one or more of: information regarding storage areas included in the complex, such as a location, capacity, or other attribute regarding a storage area; information regarding one or more entities present in the complex, such as a location, type of entity, current or upcoming task, or other attributes of an entity; a current state of one or more orders arriving at or leaving from the complex; an indication of traffic within the complex; or other attributes of the complex.
At act 504, the facility determines a factor of congestion within one or more areas of the complex containing the indicated storage locations and through which an entity must pass to arrive at the indicated storage locations. In some embodiments, as part of performing act 504, the facility performs at least a portion of a process to determine congestion within a complex, such as the process described below with respect to
At act 602, the facility applies the pick sequences to a digital twin simulation model to obtain simulation data. In some embodiments, act 602 is performed in a similar manner to act 302.
At act 603, the facility identifies one or more travel paths of one or more entities within the complex based on the simulation data. The entities may be entities that move one or more items stored in the complex, that perform picking or put-away operations, or that perform tasks that are not related to moving, storing, or retrieving an item. In some embodiments, the simulation data includes a record of travel paths that entities are predicted to take when the one or more orders arrive or are shipped out of the complex.
At act 604, the facility identifies one or more times that an area within the complex will be congested based on the identified travel paths. In some embodiments, the facility determines, based on the travel paths, when entities are predicted to be within the area and determines that the area will be congested based on whether the number of entities within the area exceeds a threshold amount. In such embodiments, the threshold amount may change based on one or more of: the size of the area, the type of entities traveling through or in the area, whether the entities perform operations or tasks within the area, or other factors related to determining a threshold amount of entities that will cause congestion within the area. In some embodiments, the facility determines a level of congestion of the area based on the number of entities that are predicted to be present in the area. For example, the facility may determine multiple threshold amounts of entities to cause congestion in the area, and for each threshold amount of entities determine whether the congestion in the area is low, medium, high, etc.
In some embodiments, the facility generates one or more predictions of congestion delays based on the level of congestion in the area. A “congestion delay” is a prediction of the amount of additional time an entity will need to travel through an area due to the current level of congestion in the area.
At act 605, the facility generates one or more heatmaps of the complex based on the identified travel paths and the identified times. The heatmaps of the complex indicate whether one or more areas of the complex are congested. In some embodiments, the heatmaps of the complex indicate a level of congestion within the area at one or more times. For example, a heatmap may include a red area that indicates that the area is heavily congested in the morning, but may also indicate that in the afternoon the area has low congestion by changing the heatmap to include a green area in the location of the previously indicated red area.
After act 605, the process to identify congestion within a complex ends. In some embodiments, the facility performs one or more acts described above in connection with
Returning to
At act 506, the facility determines a projected cost of SKU for picking each item included in the pick sequence. In some embodiments, the facility determines the cost of SKU based on the factor of congestion, the time at which each item is to be picked, the storage locations, and entities available to pick the item. In some embodiments, the facility applies one or more attributes of the item to be picked, one or more storage locations of the item, one or more entities available to pick the item, or some combination thereof to a machine learning model trained to output a cost of SKU based on one or more attributes of an item and a storage location, such as a machine learning model trained via the process described below with respect to
At act 702, the facility generates a cost of SKU for each respective item of the plurality of items based on the historical data indicating the respective item, the storage location for the respective item, the one or more attributes of the storage location, the one or more attributes for the respective item, and the state of the complex at the time at which the respective item was stored. In some embodiments, the facility generates the cost of SKU by determining the cost to store the item until it departs from the complex, including the costs to move the item to different storage locations within the complex when needed. For example, the facility may take into account: the costs to move an item, including costs incurred by using an entity to move the item; the number of times that the item was moved, such as to another storage location, to be adjusted to store another item at the storage location, to be adjusted such that another item at the storage location can be picked, etc.; the costs for the item to occupy a storage location; the costs of maintaining the storage location, such as maintaining a controlled area (for example, a refrigerated area, humidity controlled area, etc.); or other factors that may be taken into account when generating the cost of SKU.
At act 703, the facility receives historical data indicating a behavior of each of a plurality of entities when picking, storing, re-slotting, or performing other operations regarding one or more items of the plurality of items. The data indicating the behavior of each entity may include: one or more travel speeds of the entity; one or more measures of the time the entity spends picking each type of item; one or more measures of how the use of special equipment effects the amount of time that the entity spends picking items; an indication of the entities picking statistics within one or more areas of the complex; or other data regarding the behavior of an entity.
At act 704, the facility trains an artificial intelligence or machine learning model (the “behavior machine learning model”) to select one or more entities based on the historical data indicating the behavior of each entity of the plurality of entities. In some embodiments, the output of the behavior machine learning model includes one or more of: one or more suggested entities for picking one or more items; one or more costs incurred by one or more entities when picking one or more items; one or more optimal entities for picking one or more items; etc.
At act 705, the facility trains a machine learning model to output a cost of SKU and a storage location for storing an item based on the historical data, the generated cost of SKU for each item, and the output of the behavior machine learning model. In some embodiments, the facility does not use the output of the behavior machine learning model to train the machine learning model that outputs a cost of SKU and storage location. In some embodiments, two machine learning models are used, one that outputs a cost of SKU and one that outputs a storage location. In such embodiments, the facility may employ one of the machine learning models without employing the other, such as to obtain a cost of SKU without obtaining a storage location or vice versa. In an example embodiment, inputs to the machine learning model include one or more of: one or more attributes of the item; a prediction of an amount of time that the item will be stored; one or more potential storage locations; a number of picks at the one or more potential storage locations; an elevation of the one or more potential storage locations; a measure of the time it takes for an entity to pick the item from the one or more storage locations; a time at which the item is predicted to be stored at the one or more storage locations; an indication of the output of the behavior machine learning model for one or more entities available to pick the item; or an indication of whether multiple items of the same type can be carried by an entity at one time. In an example embodiment, the machine learning model outputs a storage location for the item and a predicted cost of SKU for storing the item at the storage area.
After act 705, the process to train a machine learning model to output a cost of SKU for picking an item from a location ends. In some embodiments, the facility collects additional historical data over a selected period of time and uses the additional historical data to re-train the machine learning model. For example, the facility may re-train the machine learning model every month in order to ensure that seasonality of items is taken into account when determining a cost of SKU or storage location. In some embodiments, the machine learning model is continuously re-trained, (for example, re-training the machine learning model every day, week, month, hour, or other time period). In such embodiments, the continuous re-training of the machine learning model allows the machine learning model to continuously learn new behavior of entities in the complex or of constraints for items, entities, etc.
Returning to
In some embodiments, the facility generates the schedule and at least one pick path based on the cost of SKU, the factor of the congestion for each storage location, and one or more constraints of each storage location. For example, an item stored at a storage location may require the use of a specific forklift that can reach the top of the storage location. In this example, if the facility determines that the specific forklift is not available based on the state of the complex, it is possible that the facility prevents at least that item in the pick sequence from being picked until the forklift is available.
In some embodiments, the generated schedule includes multiple pick sequences for a single order, such as when the order is large and requires multiple pickers, when the order includes items with various special attributes, etc. For example, an order may include temperature-controlled items and non-temperature-controlled items. The facility may generate multiple pick sequences for this order and schedule the pick sequences such that pick sequences that do not include temperature-controlled items are performed earlier than pick sequences that do include temperature-controlled items. The items included in the pick sequences are gathered into the staging area by entities, and the facility releases the pick sequences in a manner that the temperature-controlled items spend the least amount of time possible in the staging area before being loaded to depart from the complex.
At act 508, the facility dispatches one or more entities to pick items included in the pick sequence based on the generated schedule and pick path. In some embodiments, dispatching an entity includes one or more of: transmitting instructions to a computing device associated with the entity, indicating a path of travel for the entity, indicating a picking order for the entity, indicating one or more other entities that will provide assistance to the entity during the picking operation, indicating whether the entity must transfer one or more items to another entity, or other methods of dispatching an entity to perform a pick operation. In some embodiments, dispatching an entity to perform a pick operation includes transmitting an indication to the entity of how the entity should place the item within a container that the entity uses to carry items. In some embodiments, as part of performing act 508, the facility selects at least entity that is available to perform the pick operations based on the indicated entities received at act 501 and a behavior machine learning model, such as the behavior machine learning model described above in connection with
After act 508, the process to dispatch entities to pick items ends. In some embodiments, the facility performs the acts 501 to 507 of the process to dispatch entities to pick items in advance to generate an initial schedule that is adjusted based on the current state of the complex. For example, the facility may perform acts 501-507 at the beginning of a day before picking processes begin to create an initial schedule and then adjust the schedule based on a current state of the complex as the picking processes begin, conclude, occur, etc. In some embodiments, the facility uses at least some of acts 501-508 to determine whether an entity should be re-routed within a facility, the pick sequence of the entity should be changed, etc., while the entity is performing pick operations, and to transmit instructions regarding the change in pick sequence to the entity.
At act 802, the facility determines at least one storage orientation of the item based on the attributes of the item. For example, the facility may determine that a shape of the item may make the item more susceptible to rolling when it is oriented in a certain way and selects a storage orientation that reduces the chance that the item will roll. In another example, the facility may determine that one or more orientations of the item will damage the item based on the attributes of the item and may select a storage orientation that would not damage the item. In another example, the facility may determine that one or more orientations of the item will result in more items being able to be stored in the storage location than would be possible with other orientations.
At act 803, the facility determines a nesting coefficient of the item based on the one or more attributes of the item.
At act 804, the facility receives an indication of a storage location for the item.
At act 805, the facility determines a maximum number of rows, maximum number of columns, or both for storing the item in the storage location based on the nesting coefficient, storage orientation, storage location, and attributes of the item. For example, the facility may compare the dimensions of the storage location, the dimensions of the items already stored at the storage location, the dimensions of the item to determine the maximum number of rows, columns, or both, for storing the item in the storage location. In some embodiments, the facility applies the nesting coefficient to the dimensions of the item while comparing the dimensions of the item to the dimensions of the storage location and other items stored in the storage location.
At act 806, the facility generates an indication of how the item should be stored based on the determined maximum number of rows and/or columns, the storage orientation, the nesting coefficient, the storage location, and the attributes of the item. In some embodiments, the indication is three-dimensional model generated by the facility. In some embodiments, the indication is transmitted to a computing device associated with an entity that is storing the item.
After act 806, the process to use a nesting coefficient to generate an indication of how an item should be stored in a storage location ends. In some embodiments, the facility uses the process described in
At act 902, the facility determines at least one storage orientation of the item based on the attributes of the item. In some embodiments, the facility performs act 902 in a similar manner to act 802, but with respect to a picking container associated with a picker dispatched to pick the item instead of a storage location.
At act 903, the facility determines a nesting coefficient of the item based on the one or more attributes of the item.
At act 904, the facility receives an indication of a picking container associated with an entity that is picking the item.
At act 905, the facility determines a maximum number of rows, maximum number of columns, or both for placing the item in the picking container based on the nesting coefficient, storage orientation, picking container, and attributes of the item. In some embodiments, the facility performs act 905 in a similar manner to act 805, but with respect to a picking container instead of a storage location, and with respect to other items included in the pick sequence instead of other items stored at a storage location.
At act 906, the facility generates an indication of how the item should be placed in the picking container based on the determined maximum number of rows and/or columns, the storage orientation, the nesting coefficient, the picking container, and the attributes of the item. In some embodiments, the facility performs act 906 in a similar manner to act 806.
After act 806, the process to use a nesting coefficient to generate an indication of how an item should be placed in a picking container ends. In some embodiments, the facility uses the process described in
The various embodiments described above can be combined to provide further embodiments. All of the U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications to provide yet further embodiments.
These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.