Automated storage and retrieval system reducing bin moves by selecting multi-stock bins containing highest number of SKUs on workstation stock waitlist
An automated storage and retrieval system stores multi-stock bins each holding different stock-keeping units (SKUs). Records dynamically track which SKUs are in each bin. A controller tracks a stock waitlist indicating quantities of SKUs still required to be delivered to a workstation in order to fulfil current orders assigned to the workstation. When a robot is available, the controller selects a multi-stock bin that has a highest number of unique ones of the required SKUs indicated on the stock waitlist and commands the robot to fetch and deliver the selected bin to the workstation. For new orders, the controller may determine if direct assignment can be done to a workstation without additional bins being scheduled. For other pending orders, the controller may assume each pending order is assigned to the workstation and then pick the order that would require a lowest number of bins to be delivered to the workstation.
1 . An automated storage and retrieval system comprising:
a bin storage facility having a plurality of bins physically stored therein, the bins in the bin storage facility being multi-stock bins that hold stock for a plurality of different stock-keeping units (SKUs);
a data storage device having a plurality of records electronically stored therein, the records indicating stock-keeping units (SKUs) for which there is stock in each bin;
a plurality of workstations at each of which a picking agent picks stock from the bins delivered thereto, in order to fulfill current orders assigned thereto;
a plurality of robots for fetching the bins from the bin storage facility and delivering the bins to the workstations; and
a controller configured to:
track a stock waitlist for each of the workstations, the stock waitlist indicating quantities required stock-keeping units (SKUs) still required to be delivered to each of the workstations in order to fulfill the current orders assigned thereto;
receive pending orders from an order system, each of the pending orders specifying quantities of desired stock-keeping units (SKUs);
for each pending order, determine a workstation, based on the stock waitlist corresponding to each of the workstations, to assign the pending order, such that the number of bins required to be delivered to the workstation to fulfill the pending order is minimized;
calculate order weights respectively corresponding to each of the pending orders, and wherein the order weights are calculated as a function of a number of bins that would need to be delivered to the workstation assuming the pending order is assigned to the workstation, items picked per bin presentation (IPP), a predetermined global factor for IPP, current processing time for an order, a predetermined global factor for current processing time, order priority, and a predetermined global factor for order priority; and
compare the order weights of the pending orders and assign a highest-weighted pending order to the workstation.
2 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
determine available workstations having an available put position;
calculate the plurality of order weights respectively corresponding to the pending orders at each of the available workstations, at least some of the order weights being calculated by the controller assuming a respective one of the pending orders is assigned to each available workstation and then determining a minimum bin set for each available workstation assuming the respective pending order is assigned to each available workstation;
compare the order weights of the pending orders at each of the available workstations;
assign a particular pending order to an available workstation at which the particular pending order has a highest order weight; and
update the stock waitlist for the available workstation by adding quantities of each of the desired stock-keeping units (SKUs) specified in the particular pending order.
3 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
receive a pending single order from the order system, the pending single order specifying a quantity of a single desired stock-keeping unit (SKU);
determine whether one or more scheduled bins that have been scheduled to be delivered to the workstation by the robot include sufficient quantity of the single desired stock-keeping unit (SKU) to meet both the single order and the stock waitlist for the workstation; and
directly assign the pending single order to the workstation when the one or more scheduled bins include sufficient quantity of the single desired stock-keeping unit (SKU) to meet both the single order and the stock waitlist for the workstation.
4 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
determine possible source bin sets, wherein, for each unique stock-keeping unit (SKU) on the stock waitlist for the workstation, the controller is configured to determine a possible source bin set including bins in the bin storage facility that contain sufficient stock of the required unique stock-keeping units (SKU) as per the stock waitlist; and
select a most frequently occurring source bin across the possible source bin sets as the selected bin.
5 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to update the stock waitlist for the workstation by adding quantities of each of the desired stock-keeping units (SKUs) specified in the highest-weighted pending order.
6 . The automated storage and retrieval system of claim 1 , wherein:
each of the current orders assigned to the workstation respectively represents a complete order to be shipped as a single package to a destination address; and
the controller sends commands to a conveyer belt system to transport a completed tote containing picked items for each of the current orders assigned to the workstation to a packing station.
7 . The automated storage and retrieval system of claim 1 , wherein:
each of the current orders assigned to the workstation respectively represents a partial order; and
the controller sends commands to a conveyer belt system to transport a completed tote containing picked items for each of the current orders assigned to the workstation to a sortation system.
8 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
determine a workstation bin set representing bins that together contain sufficient quantities of stock of the required stock-keeping units (SKUs) to fulfill the stock waitlist for the workstation;
calculate a plurality of bin weights respectively corresponding to each bin of the workstation bin set, wherein said bin weights are calculated as a function of said items picked per bin presentation (IPP), said predetermined global factor for IPP, said current processing time for an order, said predetermined global factor for current processing time, said order priority, and said predetermined global factor for order priority;
compare the bin weights of the workstation bin set; and
send a command to the robot to fetch a highest-weighted bin from the bin storage facility and deliver the highest-weighted bin to the workstation.
9 . The automated storage and retrieval system of claim 8 , wherein the controller is further configured to calculate at least some of the bin weights such that a first bin has a higher bin weight than a second bin when the controller determines that delivery of the first bin to the workstation would fulfill a greater number of unique stock-keeping units (SKUs) on the stock waitlist for the workstation than if the second bin were delivered to the workstation.
10 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
calculate at least some of the order weights by assuming a respective one of the pending orders is assigned to the workstation and then determining a minimum bin set for the workstation assuming the respective pending order is assigned to the workstation;
wherein the minimum bin set for the workstation is a minimum number of bins of the bin storage facility that would need to be delivered to the workstation to fulfill both the pending orders assumed assigned to the workstation along with the stock waitlist for the workstation; and
wherein the controller calculates the order weights for the pending orders such that a first pending order has a higher order weight than a second pending order when the controller determines that assigning the first pending order to the workstation would require a lower number of bins to be delivered to the workstation than if the second pending order were assigned to the workstation.
11 . The automated storage and retrieval system of claim 10 , wherein the controller is further configured to determine the minimum bin set for the workstation assuming a particular pending order is assigned to the workstation by an iterative process including a plurality of steps as follows:
forming a potential stock waitlist for the workstation, the potential stock waitlist indicating both quantities of the required stock-keeping units (SKUs) still required to be delivered to the workstation in order to fulfill the current orders assigned to the workstation along with quantities of the desired stock-keeping units (SKUs) that would further be required to be delivered to the workstation if the particular pending order were assigned to the workstation;
determining one or more potential source bin sets, wherein, for each unique stock-keeping unit (SKU) on the potential stock waitlist, the controller is configured to determine a potential source bin set indicating bins in the bin storage facility that contain sufficient quantity stock as required by the potential stock waitlist;
selecting a most frequently occurring source bin across the potential source bin sets and adding the most frequently occurring source bin to the minimum bin set;
removing each unique stock-keeping (SKU) from the potential stock waitlist that is now met by the minimum bin set; and
repeating the iterative process until there are no further stock-keeping units (SKUs) on the potential stock waitlist.
12 . The automated storage and retrieval system of claim 1 , wherein the controller is further configured to:
select a bin of the bin storage facility as a selected bin, the selected bin being a multi-stock bin that contains the stock for a highest number of required unique stock-keeping units (SKUs) indicated on the stock waitlist corresponding to the workstation;
send a command to a robot selected from amongst said plurality of robots to fetch the selected bin from the bin storage facility and deliver the selected bin to the workstation;
update the stock waitlist for the workstation by removing each of the unique required stock-keeping units (SKUs) for which there is sufficient stock included in the selected bin.
13 . The automated storage and retrieval system of claim 12 , wherein, after updating the stock waitlist for the workstation by adding quantities of each of the desired stock-keeping units (SKUs) specified in the highest-weighted pending order, the controller is further configured to:
select a second bin of the bin storage facility as a second selected bin, the second selected bin containing stock for a new greatest number of unique required stock-keeping units (SKUs) indicated on the stock waitlist;
send a second command to the robot to fetch the second selected bin from the bin storage facility and deliver the second selected bin to the workstation; and
update the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the second selected bin.
14 . The automated storage and retrieval system of claim 13 , wherein the controller is further configured to:
select a third bin of the bin storage facility as a third selected bin, the third selected bin containing stock to fulfill an oldest order currently assigned to the workstation;
send a third command to the robot to fetch the third selected bin from the bin storage facility and deliver the third selected bin to the workstation; and
update the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the third selected bin.
15 . The automated storage and retrieval system of claim 14 , wherein the controller is further configured to:
select a fourth bin of the bin storage facility as a fourth selected bin, the fourth selected bin containing stock to fulfill a highest priority order currently assigned to the workstation;
send a fourth command to the robot to fetch the fourth selected bin from the bin storage facility and deliver the fourth selected bin to the workstation; and
update the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the fourth selected bin.
16 . The automated storage and retrieval system of claim 15 , wherein the controller is further configured to:
select a fifth bin of the bin storage facility as a fifth selected bin according to an inventory selection strategy, said inventory selection strategy comprising lowest inventory, highest inventory, oldest inventory, and newest inventory;
send a fifth command to the robot to fetch the fifth selected bin from the bin storage facility and deliver the fifth selected bin to the workstation; and
update the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the fifth selected bin.
17 . A method of controlling a robot in an automated storage and retrieval system, the method comprising:
storing a plurality of records indicating stock-keeping units (SKUs) for which there is stock in each bin of a bin storage facility having a plurality of bins physically stored therein, the plurality of the bins in the bin storage facility being multi-stock bins that hold stock for a plurality of different stock-keeping units (SKUs);
tracking a stock waitlist for a plurality of workstations, the stock waitlist indicating quantities of required stock-keeping units (SKUs) still required to be delivered to each of the workstations in order to fulfill the current orders assigned to the thereto, the workstations being locations at which a picking agent picks stock from the bins of the bin storage facility in order to fulfill the current orders assigned thereto;
receive pending orders from an order system, each of the pending orders specifying quantities of desired stock-keeping units (SKUs);
for each pending order, determine a workstation, based on the stock waitlist corresponding to each of the workstations, to assign the pending order, such that the number of bins required to be delivered to the workstation to fulfill the pending order is minimized;
calculate order weights respectively corresponding to each of the pending orders, and wherein the order weights are calculated as a function of a number of bins that would need to be delivered to the workstation assuming the pending order is assigned to the workstation, items picked per bin presentation (IPP), a predetermined global factor for IPP, current processing time for an order, a predetermined global factor for current processing time, order priority, and a predetermined global factor for order priority; and
compare the order weights of the pending orders and assign a highest-weighted pending order to the workstation.
18 . The method of claim 17 , further comprising:
calculating at least some of the order weights by assuming a respective one of the pending orders is assigned to the workstation and then determining a minimum bin set for the workstation assuming the respective pending order is assigned to the workstation;
wherein the minimum bin set for the workstation is a minimum number of bins of the bin storage facility that would need to be delivered to the workstation to fulfill both the respective one of the pending orders assumed assigned to the workstation along with the stock waitlist for the workstation; and
calculating the order weights for the pending orders such that a first pending order has a higher order weight than a second pending order when determining that assigning the first pending order to the workstation would require a lower number of bins to be delivered to the workstation than if the second pending order were assigned to the workstation.
19 . The method of claim 17 , further comprising determining the minimum bin set for the workstation assuming a particular pending order is assigned to the workstation by an iterative process including a plurality of steps as follows:
forming a potential stock waitlist for the workstation, the potential stock waitlist indicating both quantities of the required stock-keeping units (SKUs) still required to be delivered to the workstation in order to fulfill the current orders assigned to the workstation along with quantities of the desired stock-keeping units (SKUs) that would further be required to be delivered to the workstation if the particular pending order were assigned to the workstation;
determining potential source bin sets, by determining, for each unique stock-keeping unit (SKU) on the potential stock waitlist, a potential source bin set indicating bins in the bin storage facility that contain sufficient quantity of stock as required by the potential stock waitlist;
selecting a most frequently occurring source bin across the potential source bin sets and adding the most frequently occurring source bin to the minimum bin set;
removing each unique stock-keeping (SKU) from the potential stock waitlist that is now met by the minimum bin set; and
repeating the iterative process until there are no further stock-keeping units (SKUs) on the potential stock waitlist.
20 . The method of claim 17 , further comprising:
determining available workstations having an available put position, from amongst the plurality of workstations;
calculating the plurality of order weights respectively corresponding to the pending orders at each of the available workstations, at least some of the order weights being calculated by assuming a respective one of the pending orders is assigned to each available workstation and then determining a minimum bin set for each available workstation assuming the respective pending order is assigned to each available workstation;
comparing the order weights of the pending orders at each of the available workstations;
assigning a particular pending order to a corresponding one of the available workstation at which the particular pending order has a highest order weight; and
updating the stock waitlist for the corresponding one of the available workstations by adding quantities of each of the desired stock-keeping units (SKUs) specified in the particular pending order.
21 . The method of claim 17 , further comprising:
receiving a pending single order from the order system, the pending single order specifying a quantity of a single desired stock-keeping unit (SKU);
determining whether one or more scheduled bins that have been scheduled to be delivered to the workstation by the robot include sufficient quantity of the single desired stock-keeping unit (SKU) to meet both the single order and the stock waitlist for the workstation; and
directly assigning the pending single order to the workstation when the scheduled bins include sufficient quantity of the single desired stock-keeping unit (SKU) to meet both the single order and the stock waitlist for the workstation.
22 . The method of claim 17 , further comprising:
determining possible source bin sets, by determining, for each unique stock-keeping unit (SKU) on the stock waitlist for the workstation, a possible source bin set including bins in the bin storage facility that contain sufficient stock of that unique stock-keeping unit (SKU) as required by the stock waitlist; and
selecting a most frequently occurring source bin across the possible source bin sets as the selected bin.
23 . The method of claim 17 , further comprising updating the stock waitlist for the workstation by adding quantities of each of the desired stock-keeping units (SKUs) specified in the highest-weighted pending order.
24 . The method of claim 17 , wherein:
each of the current orders assigned to the workstation respectively represents a complete order to be shipped as a single package to a destination address; and
wherein the method further comprises sending commands to a conveyer belt system to transport a completed tote containing picked items for each of the current orders assigned to the workstation to a packing station.
25 . The method of claim 17 , wherein:
each of the current orders assigned to the workstation respectively represents a partial order; and
wherein the method further comprises sending commands to a conveyor belt system to transport a completed tote containing picked items for each of the current orders assigned to the workstation to a sortation system.
26 . The method of claim 17 , further comprising:
determining a workstation bin set representing bins that together contain sufficient quantities of stock of the required stock-keeping units (SKUs) to fulfill the stock waitlist for the workstation;
calculating a plurality of bin weights respectively corresponding to each bin of the workstation bin set;
comparing the bin weights of the workstation bin set, as a function of said items picked per bin presentation (IPP), said predetermined global factor for IPP, said current processing time for an order, said predetermined global factor for current processing time, said order priority, and said predetermined global factor for order priority;
comparing the bin weights of the workstation bin set; and
sending a command to the robot to fetch a highest-weighted bin from the bin storage facility and deliver the highest-weighted bin to the workstation.
27 . The method of claim 26 , further comprising calculating at least some of the bin weights such that a first bin has a higher bin weight than a second bin when determining that delivery of the first bin to the workstation would fulfill a greater number of unique stock-keeping units (SKUs) on the stock waitlist for the workstation than if the second bin were delivered to the workstation.
28 . The method of claim 17 , further comprising:
selecting a bin of the bin storage facility as a selected bin, the selected bin being a multi-stock bin that according to the records contains stock for a highest number of unique ones of the required stock-keeping units (SKUs) indicated on the stock waitlist;
sending a command to a robot to fetch the selected bin from the bin storage facility and deliver the selected bin to the workstation; and
updating the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the selected bin.
29 . The method of claim 28 , wherein the method further comprises, after updating the stock waitlist for the workstation by adding quantities of each of the desired stock-keeping units (SKUs) specified in the highest-weighted pending order:
selecting a second bin of the bin storage facility as a second selected bin, the second selected bin containing stock for a new greatest number of unique required stock-keeping units (SKUs) indicated on the stock waitlist;
sending a second command to the robot to fetch the second selected bin from the bin storage facility and deliver the second selected bin to the workstation; and
updating the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the second selected bin.
30 . The method of claim 29 , further comprising:
selecting a third bin of the bin storage facility as a third selected bin, the third selected bin containing stock to fulfill an oldest order currently assigned to the workstation;
sending a third command to the robot to fetch the third selected bin from the bin storage facility and deliver the third selected bin to the workstation; and
updating the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the third selected bin.
31 . The method of claim 30 , further comprising:
selecting a fourth bin of the bin storage facility as a fourth selected bin, the fourth selected bin containing stock to fulfill a highest priority order currently assigned to the workstation;
sending a fourth command to the robot to fetch the fourth selected bin from the bin storage facility and deliver the fourth selected bin to the workstation; and
updating the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the fourth selected bin.
32 . The method of claim 31 , further comprising:
selecting a fifth bin of the bin storage facility as a fifth selected bin according to an inventory selection strategy, wherein the inventory selection strategy comprises lowest inventory, highest inventory, oldest inventory, and newest inventory;
sending a fifth command to the robot to fetch the fifth selected bin from the bin storage facility and deliver the fifth selected bin to the workstation; and
updating the stock waitlist for the workstation by removing each of the required stock-keeping units (SKUs) for which there is sufficient stock included in the fifth selected bin.
33 . A controller of an automated storage and retrieval system, the controller comprising at least one processor configured by executed software loaded from a storage medium to:
store a plurality of records indicating particular stock-keeping units (SKUs) for which there is stock in each bin of a bin storage facility having a plurality of bins physically stored therein, the plurality of the bins in the bin storage facility being multi-stock bins that hold stock for a plurality of different stock-keeping units (SKUs);
track a stock waitlist for a plurality of workstations, the stock waitlist indicating quantities of required stock-keeping units (SKUs) still required to be delivered to each of the workstations in order to fulfill the current orders assigned thereto, the workstations being locations at which a picking agent picks stock from the bins of the bin storage facility in order to fulfill the current orders assigned thereto;
receive pending orders from an order system, each of the pending orders specifying quantities of desired stock-keeping units (SKUs);
for each pending order, determine a workstation, based on the stock waitlist corresponding to each of the workstations, to assign the pending order, such that the number of bins required to be delivered to the workstation to fulfill the pending order is minimized;
calculate order weights respectively corresponding to each of the pending orders, and wherein the order weights are calculated as a function of a number of bins that would need to be delivered to the workstation assuming the pending order is assigned to the workstation, items picked per bin presentation (IPP), a predetermined global factor for IPP, current processing time for an order, a predetermined global factor for current processing time, order priority, and a predetermined global factor for order priority; and
compare the order weights of the pending orders and assign a highest-weighted pending order to the workstation.
34 . A non-transitory computer-readable storage medium comprising processer computer executable instructions, that when executed by at least processor, cause the processor to:
store a plurality of records indicating a particular one or more stock-keeping units (SKUs) for which there is stock in each bin of a bin storage facility having a plurality of bins physically stored therein, the plurality of the bins in the bin storage facility being multi-stock bins that hold stock for a plurality of different stock-keeping units (SKUs);
track a stock waitlist for a plurality of workstations, the stock waitlist indicating quantities of one or more required stock-keeping units (SKUs) still required to be delivered to each of the workstations in order to fulfill the current orders assigned thereto, the workstations being locations at which a picking agent picks stock from the bins of the bin storage facility in order to fulfill the current orders assigned thereto;
receive pending orders from an order system, each of the pending orders specifying quantities of desired stock-keeping units (SKUs);
for each pending order, determine a workstation, based on the stock waitlist corresponding to each of the workstations, to assign the pending order, such that the number of bins required to be delivered to the workstation to fulfill the pending order is minimized;
calculate order weights respectively corresponding to each of the pending orders, and wherein the order weights are calculated as a function of a number of bins that would need to be delivered to the workstation assuming the pending order is assigned to the workstation, items picked per bin presentation (IPP), a predetermined global factor for IPP, current processing time for an order, a predetermined global factor for current processing time, order priority, and a predetermined global factor for order priority; and
compare the order weights of the pending orders and assign a highest-weighted pending order to the workstation.