Item delivery fulfillment plan determination
Abstract
According to examples, an apparatus may include a processor that is to generate a plurality of candidate fulfillment plans regarding delivery of items over a network, in which each of the candidate fulfillment plans is generated using a respective decision variable of an array of values. The processor may also calculate an evaluation value for each of the candidate fulfillment plans, in which the evaluation value for a candidate fulfillment plan is a measure of a compliance of the candidate fulfillment plan with a plurality of factors pertaining to the delivery of the items. The processor may further output instructions regarding delivery of the items over the network according to the candidate fulfillment plan that corresponds to a maximized compliance with the plurality of factors among the calculated evaluation values to maximize compliance with the plurality of factors in the delivery of the items.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An apparatus comprising:
a processor; and a memory on which is stored machine readable instructions that are to cause the processor to:
generate a plurality of candidate fulfillment plans regarding delivery of items over a network, wherein each of the plurality of candidate fulfillment plans is generated using a respective decision variable, each decision variable being an array of values;
calculate, through application of an evaluation function, an evaluation value for each of the candidate fulfillment plans, the evaluation value for a candidate fulfillment plan being a measure of a compliance of the candidate fulfillment plan with a plurality of factors pertaining to the delivery of the items; and
output instructions regarding delivery of the items over the network according to the candidate fulfillment plan having the evaluation value that corresponds to a maximized compliance with the plurality of factors among the calculated evaluation values to maximize compliance with the plurality of factors in the delivery of the items.
2 . The apparatus according to claim 1 , wherein the instructions are further to cause the processor to:
generate the decision variables as random decision variables that each includes a first subset of random values, a second subset of random values, and a third subset of random values, wherein each of the first subset of random values, the second subset of random values, and the third subset of random values has a uniform distribution from the lower limit value to the upper limit value.
3 . The apparatus according to claim 2 , wherein the network comprises providers from which the items are configured to be provided and intermediaries through which the items are configured to traverse, and wherein the instructions are further to cause the processor to:
for each of the plurality of candidate fulfillment plans,
determine a sequence for a plurality of orders for the items to be processed using the first subset of random values;
determine which of the providers are to provide the items for each of the plurality of orders using the second subset of random values; and
determine which of the intermediaries through which the items are to traverse using the third subset of random values.
4 . The apparatus according to claim 3 , wherein the plurality of orders comprises a first order and a second order, wherein to determine the sequence for the plurality of orders for the items to be processed, the instructions are further to cause the processor to:
assign a first random value of the first subset of random values to the first order; assign a second random value of the first subset of random values to the second order; determine the sequence for the first order and the second order to be processed based upon the values of the first random value and the second random value; and wherein the instructions are further to cause the processor to process each of the first order and the second order in the determined sequence.
5 . The apparatus according to claim 4 , wherein to process each of the first order and the second order, the instructions are further to cause the processor to, for each of the orders and in the determined sequence:
access a list of valid providers for the items included in the order, wherein a valid provider is a provider that is configured to satisfy delivery constraints and rules associated with delivery of the items; assign the valid providers to provide the items one-by-one according to a sequence determined by the random values in the second subset of random values until the order is fulfilled or all of the valid providers are processed without the order being fulfilled; and store the order as being fulfilled or as being unfilled.
6 . The apparatus according to claim 5 , wherein to determine which of the intermediaries through which the items are to traverse, the instructions are further to cause the processor to, for a currently processed order in the determined sequence:
access a list of valid intermediaries through which the items in the order is permitted to traverse; generate a sequence of the valid intermediaries from the list of valid intermediaries based upon the random decision values in the third subset of random values; for each of the assigned valid providers, determine, one-by-one according to the generated sequence of valid intermediaries, whether the valid intermediary is able to satisfy a certain restriction until a first intermediary that is able to satisfy the certain restriction is determined or in response to all of the valid intermediaries being processed without a valid intermediary that is able to satisfy the certain restriction being determined; and store the valid intermediary for the assigned valid provider or an indication that a valid intermediary for the assigned valid provider has not been determined.
7 . The apparatus according to claim 6 , wherein the instructions are further to cause the processor to:
for any of the candidate fulfillment plans that includes an order that is not fulfilled or includes an assigned valid provider for which a valid intermediary has not been determined, implement a feasibility improvement process for the order.
8 . The apparatus according to claim 1 , wherein the evaluation function includes a total number of orders that have an infeasible fulfillment plan, a total number of orders that are not fulfilled, a total number of orders that violate a delivery constraint, and a total number of orders that violate an item constraint.
9 . A method comprising:
generating, by a processor, random decision variables, wherein each of the random decision variables is an array of random values that range from a lower limit value to an upper limit value; generating, by the processor, a respective candidate fulfillment plan regarding fulfillment of orders for delivery of items over an infrastructure through use of a respective random decision variable; applying, by the processor, an objective function to calculate a respective score for each of the generated candidate fulfillment plans, the score for a candidate fulfillment plan being a measure of a compliance of the candidate fulfillment plan with a plurality of factors pertaining to fulfilling the orders; and instructing, by the processor, a provider to deliver the items over the infrastructure according to the candidate fulfillment plan having the score that corresponds to a maximized compliance with the plurality of factors among the calculated scores to maximize compliance with the plurality of factors in the fulfillment of the orders.
10 . The method according to claim 9 , wherein generating the random decision variables further comprises generating the random decision variables to each include a first subset of random values, a second subset of random values, and a third subset of random values.
11 . The method according to claim 10 , wherein the infrastructure comprises providers from which the items are configured to be provided and intermediaries through which the items are configured to traverse, the method further comprising:
for each of the plurality of candidate fulfillment plans,
determining a sequence for the orders for delivery of the items to be processed using the first subset of random values;
determining which of the providers are to provide the items for each of the orders using the second subset of random values; and
determining which of the intermediaries through which the items are to traverse using the third subset of random values.
12 . The method according to claim 11 , wherein the orders comprise a first order and a second order, and wherein the method further comprises:
assigning a first random value of the first subset of random values to the first order and a second random value of the first subset of random values to the second order; determining the sequence for the first order and the second order to be processed based upon the first random value and the second random values; and processing each of the first order and the second order in the determined sequence.
13 . The method according to claim 12 , wherein processing each of the first order and the second order in the determined order further comprises:
for each of the first order and the second order and in the determined sequence,
accessing a list of valid providers for the items included in the order, wherein a valid provider is a provider that is configured to satisfy delivery constraints and rules associated with delivery of the items;
assigning the valid providers to provide the items one-by-one according to a sequence determined by the random values in the second subset of random values until the order is fulfilled or all of the valid providers are processed without the order being fulfilled; and
storing the order as being fulfilled or as being unfilled.
14 . The method according to claim 13 , wherein determining which of the intermediaries through which the items are to traverse further comprises:
for each of the first order and the second order and in the determined sequence,
accessing a list of valid intermediaries through which the items in the order is permitted to traverse;
generating a sequence of the valid intermediaries from the list of valid intermediaries based upon values of the random values in the third subset of random values;
for each of the assigned valid providers, determining, one-by-one according to the generated sequence of valid intermediaries, whether the valid intermediary is able to satisfy a certain restriction until a first intermediary that is able to satisfy the certain restriction is determined or in response to all of the valid intermediaries being processed without a valid intermediary that is able to satisfy the certain restriction being determined; and
storing the valid intermediary for the assigned valid provider or an indication that a valid intermediary for the assigned valid provider has not been determined.
15 . The method according to claim 9 , wherein applying the objective function to calculate a respective score for each of the generated candidate fulfillment plans further comprises applying the objective function to include a weighted total number of orders that have an infeasible fulfillment plan, a weighted total number of orders that are not fulfilled, a weighted total number of orders that violate a delivery constraint, and a weighted total number of orders that violate an item constraint.
16 . The method according to claim 9 , wherein generating and applying further comprises:
initiating a candidate group of R random decision variables; setting a first counter; setting a second counter; for a random decision variable corresponding to the second counter in the candidate group,
generating a candidate fulfillment plan;
calculating an evaluation value of the generated candidate fulfillment plan;
recording a currently best candidate fulfillment plan and associated evaluation; and
incrementing the second counter; and repeating the generating, the calculating, and the recording for a random decision variable corresponding to the incremented second counter until the second counter exceeds R.
17 . The method according to claim 16 , further comprising:
in response to a determination that the second counter exceeds R, incrementing the first counter; determining whether the first counter exceeds a certain maximum number of iterations; in response to a determination that the first counter exceeds the certain number of iterations,
constructing a population by selecting R random decision variable with a probability from a current candidate group of R random decision variables; and
generating a new candidate group of R random decision variables given the constructed population;
repeating the setting of the second counter, the generating, the calculating, the recording for the random decision variables in the new candidate group of R random decisions and the incrementing of the second counter.
18 . A non-transitory computer readable medium on which is stored machine readable instructions that when executed by a processor are to cause the processor to:
generate a first random decision variable and a second random decision variable, wherein each of the first and second random decision variables is an array of random values that range from a lower limit value to an upper limit value; generate, using the first random decision variable, a first candidate fulfillment plan regarding fulfillment of orders for delivery of items over an infrastructure; generate, using the second random decision variable, a second candidate fulfillment plan regarding fulfillment of orders for delivery of items over an infrastructure; calculate a respective evaluation value for each of the generated first and second candidate fulfillment plans, wherein the evaluation value for a candidate fulfillment plan is a measure of a compliance of the candidate fulfillment plan with a plurality of factors pertaining to fulfilling the orders; and output instructions to deliver the items over the infrastructure according to the first or second candidate fulfillment plan having the evaluation value that corresponds to a maximized compliance with the plurality of factors among the calculated evaluation values to maximize compliance with the plurality of factors in the fulfillment of the orders.
19 . The non-transitory computer readable medium according to claim 18 , wherein the infrastructure comprises providers from which the items are configured to be provided and intermediaries through which the items are configured to traverse, and wherein the instructions are further to cause the processor to:
generate each of the first and second random decision variables to include a first subset of random values, a second subset of random values, and a third subset of random values; and for each of the first and second candidate fulfillment plans,
determine a sequence for the orders for delivery of the items to be processed using the first subset of random values;
determine which of the providers are to provide the items for each of the orders using the second subset of random values; and
determine which of the intermediaries are to handle the items using the third subset of random values.
20 . The non-transitory computer readable medium according to claim 18 , wherein to calculate the respective evaluation value for each of the generated first and second candidate fulfillment plans, the instructions are further to cause the processor to:
apply an objective function to the candidate fulfillment plan, wherein the objective function includes, for the candidate fulfillment plan, a weighted total number of orders that have an infeasible fulfillment plan, a weighted total number of orders that are not fulfilled, a weighted total number of orders that violate a delivery constraint, and a weighted total number of orders that violate an item constraint.Join the waitlist — get patent alerts
Track US2018260878A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.