Fulfillment of orders scheduled for an in-store pickup
Abstract
A system and method for order fulfillment is provided. A pickup timeslot in which a customer order is scheduled for pickup from a retail store is received along with order servicing constraints of human workers of the retail store. The customer order is divided into a set of suborders and one or more timeslots in which the set of suborders is to be serviced are determined based on the pickup timeslot and the order servicing constraints. A set of human workers available to work at the retail store within the one or more timeslots is identified and an optimization problem is solved to determine an assignment to service the set of suborders. The assignment maps the set of suborders to the set of human workers and is such that utilization of total hours available with the set of human workers to service the set of suborders is above a threshold.
Claims
exact text as granted — not AI-modified1 . A system, comprising:
circuitry configured to:
receive a pickup timeslot in which a customer order associated with a retail store is scheduled for pickup from the retail store;
receive order servicing constraints related to a group of human workers at the retail store;
divide the customer order into a set of suborders based on a set of items in the customer order;
determine, based on the received pickup timeslot and the received order servicing constraints, one or more timeslots in which the set of suborders is to be serviced;
identify, from the group of human workers, a set of human workers who are available to work at the retail store in the determined one or more timeslots;
estimate a servicing time duration for each suborder of the set of suborders;
compute a reference time duration based on the estimated servicing time duration and a number of suborders included in the set of suborders;
solve an optimization problem to determine an assignment to service the set of suborders, wherein
the assignment maps the set of suborders to the identified set of human workers,
the determination of the assignment is such that a utilization of total hours that is available with the set of human workers to service the set of suborders is above a threshold value of the utilization of the total hours, and
the determination of the assignment is such that a total absolute deviation from the computed reference time duration for all human workers in the identified set of human workers is minimized; and
control an electronic device associated with a human worker of the identified set of human workers, to display a notification based on the assignment, wherein
the notification comprises a suborder of the set of suborders and details associated with the suborder, and
the suborder is mapped to the human worker.
2 . The system according to claim 1 , wherein the circuitry is further configured to receive inventory information related to items sold by the retail store, and wherein the customer order is divided into the set of suborders based on the received inventory information.
3 . The system according to claim 2 , wherein the inventory information comprises a database of items sold by the retail store, and
wherein, for each of the items, the database comprises a unique product code or identifier, at least one of an item weight or an item volume, an item quantity, and a department to which a respective item belongs.
4 . The system according to claim 1 , wherein the received order servicing constraints comprises:
a number of human workers who are available to work in timeslots within a first period, and a number of hours each of the group of human workers works in a day.
5 . The system according to claim 1 , wherein the circuitry is further configured to:
select parameters for a first objective function of the optimization problem based on the computed reference time duration and the estimated servicing time duration; select a vector of binary variables for each human worker of the identified set of human workers,
wherein, for a first human worker of the identified set of human workers, each binary variable in the vector of binary variables represents whether or not
a respective suborder of the set of suborders is to be assigned or mapped to the first human worker; and formulate the first objective function of the optimization problem based on the selected vector of binary variables and the selected parameters.
6 . The system according to claim 5 , wherein the circuitry is further configured to:
determine a set of weights for each human worker of the identified set of human workers, based on the estimated servicing time duration for each suborder of the set of suborders,
wherein, for a first human worker of the identified set of human workers, each weight of the determined set of weights represents an extent by which a corresponding suborder of the set of suborders is mappable or assignable to the first human worker;
formulate a second objective function of the optimization problem based on the selected vector of binary variables and the determined set of weights; and solve the formulated first objective function and the formulated second objective function to generate a binary solution of the optimization problem, wherein
the generated binary solution includes a vector of binary values of the selected vector of binary variables, and
the assignment is determined based on the generated binary solution.
7 . The system according to claim 5 , wherein, for each suborder of the set of suborders, the servicing time duration is a median time duration that is estimated based on a size of a respective suborder of the set of suborders.
8 . The system according to claim 5 , wherein the circuitry is further configured to:
receive first historical data of a first set of past customer orders associated with the retail store; and train a first machine learning model based on the received first historical data,
wherein the servicing time duration for each suborder of the set of suborders is estimated further using the trained first machine learning model.
9 . The system according to claim 8 , wherein received first historical data comprises first information associated with a fulfillment of the first set of past customer orders, and
wherein, for a first past customer order of the first set of past customer orders, the first information comprises a size of each suborder in the first past customer order, a time duration to service each suborder of the first past customer order, and first identity information of first human workers who serviced suborders of the first past customer order.
10 . The system according to claim 8 , wherein the circuitry is further configured to:
receive second historical data of a second set of past customer orders associated with a first customer and the retail store; train a second machine learning model based on the received second historical data,
wherein the servicing time duration for each suborder of the set of suborders is estimated further using the trained second machine learning model.
11 . The system according to claim 10 , wherein the received second historical data comprises second information associated with a fulfillment of the second set of past customer orders, and
wherein, for a second past customer order of the second set of past customer orders, the second information comprises a size of each suborder in the second past customer order, a time duration to service each suborder of the second past customer order, and second identity information of second human workers who serviced suborders of the second past customer order.
12 . (canceled)
13 . A method, comprising:
receiving a pickup timeslot in which a customer order associated with a retail store is scheduled for pickup from the retail store; receiving order servicing constraints related to a group of human workers at the retail store; dividing the customer order into a set of suborders based on a set of items in the customer order; determining, based on the received pickup timeslot and the received order servicing constraints, one or more timeslots in which the set of suborders is to be serviced; identifying, from the group of human workers, a set of human workers who are available to work at the retail store in the determined one or more timeslots; estimating a servicing time duration for each suborder of the set of suborders; computing a reference time duration based on the estimated servicing time duration and a number of suborders included in the set of suborders; solving an optimization problem to determine an assignment to service the set of suborders, wherein
the assignment maps the set of suborders to the identified set of human workers,
the determination of the assignment is such that a utilization of total hours that is available with the set of human workers to service the set of suborders is above a threshold value of the utilization of the total hours, and
the determination of the assignment is such that a total absolute deviation from the computed reference time duration for all human workers in the identified set of human workers is minimized; and
controlling an electronic device associated with a human worker of the identified set of human workers, to display a notification based on the assignment, wherein
the notification comprises a suborder of the set of suborders and
details associated with the suborder, and
the suborder is mapped to the human worker.
14 . The method according to claim 13 , further comprising receiving inventory information related to items sold by the retail store,
wherein the customer order is divided into the set of suborders based on the received inventory information.
15 . The method according to claim 14 , wherein the inventory information comprises a database of items sold by the retail store, and
wherein, for each of the items, the database comprises a unique product code or identifier, at least one of an item weight or an item volume, an item quantity, and a department to which the respective item belongs.
16 . The method according to claim 13 , wherein the received order servicing constraints comprises:
a number of human workers who are available to work in timeslots within a first period, and a number of hours each of the group of human workers works in a day.
17 . The method according to claim 13 , further comprising:
selecting parameters for a first objective function of the optimization problem based on the computed reference time duration and the estimated servicing time duration; selecting a vector of binary variables for each human worker of the identified set of human workers,
wherein, for a first human worker of the identified set of human workers, each binary variable in the vector of binary variables represents whether or not a respective suborder of the set of suborders is to be assigned or mapped to the first human worker; and
formulating the first objective function of the optimization problem based on the selected vector of binary variables and the selected parameters.
18 . The method according to claim 17 , further comprising:
determining a set of weights for each human worker of the identified set of human workers, based on the estimated servicing time duration for each suborder of the set of suborders,
wherein, for a first human worker of the identified set of human workers, each weight of the determined set of weights represents an extent by which a
corresponding suborder of the set of suborders is mappable or assignable to the first human worker; formulating a second objective function of the optimization problem based on the selected vector of binary variables and the determined set of weights; and solving the formulated first objective function and the formulated second objective function to generate a binary solution of the optimization problem, wherein
the generated binary solution includes a vector of binary values of the selected vector of binary variables, and
the assignment is determined based on the generated binary solution.
19 . (canceled)
20 . A non-transitory computer-readable medium having stored thereon, computer-executable instructions that when executed by a system, causes the system to execute operations, the operations comprising:
receiving a pickup timeslot in which a customer order associated with a retail store is scheduled for pickup from the retail store; receiving order servicing constraints related to a group of human workers at the retail store; dividing the customer order into a set of suborders based on a set of items in the customer order; determining, based on the received pickup timeslot and the received order servicing constraints, one or more timeslots in which the set of suborders is to be serviced; identifying, from the group of human workers, a set of human workers who are available to work at the retail store in the determined one or more timeslots; estimating a servicing time duration for each suborder of the set of suborders; computing a reference time duration based on the estimated servicing time duration and a number of suborders included in the set of suborders; solving an optimization problem to determine an assignment to service the set of suborders, wherein
the assignment maps the set of suborders to the identified set of human workers,
the determination of the assignment is such that a utilization of total hours that is available with the set of human workers to service the set of suborders is above a threshold value of the utilization of the total hours, and
the determination of the assignment is such that a total absolute deviation from the computed reference time duration for all human workers in the identified set of human workers is minimized; and
controlling an electronic device associated with a human worker of the identified set of human workers, to display a notification based on the assignment, wherein
the notification comprises a suborder of the set of suborders and details associated with the suborder, and
the suborder is mapped to the human worker.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.