Method of and system for path selection

A system for path selection, the system comprising a computing device, wherein the computing device is configured to receive a plurality of alimentary elements and a plurality of destinations. Computing device may compute, using the plurality of alimentary elements and the plurality of destinations, a projected combination as a function of an objective function, wherein computing is based on completion time and destination. Computing device may determine a combination ranking by generating a batching objective function, wherein the function generates an output ranking according to at least a target criterion and selects a combination. Computing device may provide batching instructions to a user. Computing device may determine a predicted path for the plurality of alimentary elements wherein the predicted path is updated as a function of each alimentary element that has reached its destination. Computing device may provide the predicted path to a user.

FIELD OF THE INVENTION

The present invention generally relates to the field of machine-learning. In particular, the present invention is directed to a method of and system for path selection.

BACKGROUND

Efficient path selection using route guidance is an increasingly vital process for provisioning of alimentary combinations. However, existing methods for path selection using route guidance suffer from inaccuracy in predictions used to support further computations and are not well suited to updating predictions in real-time.

SUMMARY OF THE DISCLOSURE

In an aspect, a system for path selection, the system comprising a computing device, wherein the computing device is configured to receive a plurality of alimentary elements and a plurality of destinations. Computing device is configured to compute, using a plurality of alimentary elements and a plurality of destinations, a projected alimentary combination for a plurality of destinations as a function of an objective function, wherein computing a projected alimentary combination further comprises a selection based on expected alimentary combination completion time and destination geolocation. Computing device is be configured to determine, using the projected alimentary combination, a combination ranking, wherein determining the ranking further comprises generating a batching objective function of the plurality of batching combinations, wherein the batching objective function is a mathematical function with a solution set including the plurality of candidate batching combinations, the batching objective function generates an output ranking candidate batching combination according to at least a target criterion, and selects a candidate batching combination for which the output of the objective function most closely matches the at least a target criterion. Computing device is configured to provide, to a user, batching instructions based on the selected batching combinations, determine, using the batched instructions, a predicted path for physical transfer of the plurality of alimentary elements, wherein determining further comprises using a destination machine-learning process to determine a predicted path to destination locations, wherein the predicted path is updated as a function of each alimentary element that has reached its destination. Computing device is configured to provide, to physical transfer apparatus, a predicted path for the plurality of alimentary elements and the plurality of destination locations.

In another aspect, a method for path selection, the system comprising a computing device, wherein the computing device is configured to receive a plurality of alimentary elements and a plurality of destinations. Computing device is configured to compute, using a plurality of alimentary elements and a plurality of destinations, a projected alimentary combination for a plurality of destinations as a function of an objective function, wherein computing a projected alimentary combination further comprises a selection based on expected alimentary combination completion time and destination geolocation. Computing device is be configured to determine, using the projected alimentary combination, a combination ranking, wherein determining the ranking further comprises generating a batching objective function of the plurality of batching combinations, wherein the batching objective function is a mathematical function with a solution set including the plurality of candidate batching combinations, the batching objective function generates an output ranking candidate batching combination according to at least a target criterion, and selects a candidate batching combination for which the output of the objective function most closely matches the at least a target criterion. Computing device is configured to provide, to a user, batching instructions based on the selected batching combinations, determine, using the batched instructions, a predicted path for physical transfer of the plurality of alimentary elements, wherein determining further comprises using a destination machine-learning process to determine a predicted path to destination locations, wherein the predicted path is updated as a function of each alimentary element that has reached its destination. Computing device is configured to provide, to physical transfer apparatus, a predicted path for the plurality of alimentary elements and the plurality of destination locations.

DETAILED DESCRIPTION

At a high level, aspects of the present disclosure are directed to systems and methods for path selection. Embodiments described in this disclosure establish alimentary combinations based on delivery location, and determine routes associated with orders based on the projected order completion times; route assignments to couriers are guided using an objective function. Objective function may be expressed as a loss function or score calculation, which may be evaluated using greedy algorithms, linear programming, mixed-integer linear programming, or the like. Embodiments may be used to update the route guidance in real-time as deliveries are made by using a machine-learning process and a mapping algorithm. Mapping algorithm may be expressed as a loss function or score calculation, which may be evaluated using greedy algorithms, linear programming, mixed-integer linear programming, or the like.

Continuing in reference toFIG. 1, computing device104may receive a plurality of alimentary elements108and a plurality of destinations112, wherein receiving a plurality of alimentary elements108and a plurality of destinations112may include receiving data corresponding to order placement time of alimentary elements, projected order completion time of alimentary elements, and alimentary element destination. An “alimentary element,” as used in this disclosure is any meal, grocery item, food element, or the like, that may be generated by a restaurant, cafeteria, fast food chain, grocery store, deli, or any place that would have a need for providing an alimentary item to a customer, client, patient, or individual. As used in this disclosure, “order placement time,” is a time at which a customer, client, or any individual places or has placed an order for an alimentary element, wherein placement of order may be the moment in time an order was place, or a pre-determined moment in time specified by the individual. In non-limiting illustrative examples, a plurality of alimentary items may have an order time in order of when a restaurant received orders, for instance and without limitation an online queue, wherein customers may have also disclosed expected order time instructions that may differ from when the order was placed. A “projected order completion time,” as used in this disclosure, refers to a projected alimentary element arrival time to an individual. An “alimentary element destination,” as used in this disclosure refers to geolocation data that corresponds to where an alimentary element is projected to arrive.

Continuing in reference toFIG. 1, computing device104may compute, using a plurality of alimentary elements108and a plurality of destinations112, a candidate batching combination116for a plurality of destinations112as a function of an objective function120, wherein generating a candidate batching combination116further comprises a selection based on expected alimentary combination completion time and destination geolocation. A “candidate batching combination,” as used in this disclosure, is a batch of alimentary elements, for instance and without limitation a batch of meal orders, that are grouped according to an objective function, wherein the objective function120is grouping elements based on the plurality of completion times and destination locations. An “objective function,” as used in this disclosure, is a function, equation, or mathematical expression that may be minimized and/or maximized to some numerical value wherein, minimization and/or maximization represents identification of numerical values that most closely matches a target criterion, solution, or the like. In non-limiting illustrative examples, the objective function120may select elements for the candidate batching combination116based on minimizing distances between delivery locations for an overall minimized distance of travel for a plurality of alimentary elements108, and/or minimizing the time from order to time to completion for a plurality of alimentary elements108.

Continuing in reference toFIG. 1, generation of an objective function may include generation of a function to score and/or weight factors to achieve a combination score for each feasible pairing of alimentary elements. In some embodiments, pairings may be scored in a matrix for optimization, for instance and without limitation where columns represent order times and rows represent destination locations potentially paired therewith; each cell of such a matrix may represent a score of a pairing of the corresponding alimentary batch destinations and/or order completion times to the corresponding route, wherein the alimentary batches are selected based on routes with minimizing order completion times.

Continuing in reference toFIG. 1, the system100may be configured to select a candidate batching combination116of a plurality of candidate batching combinations116. Selecting a candidate batching combination116may include generating a batching objective function124of the plurality of batching combinations116. Batching objective function124may be a mathematical function with a solution set including the plurality of candidate batching combinations, as described in further detail below. Batching objective function124may generate an output that provides a ranking of each candidate batching combination116of the plurality of candidate batching combinations116according to at least a target criterion. Batching objective function124may select the candidate batching combination116from the plurality of batching combinations116for which the output of the batching objective function124most closely matches the at least a target criterion. Batching objective function124may select a plurality of batching combinations116selected as a plurality of feasible combination, where a feasible combination is a combination that meets one or more constraints, for instance as described in further detail below, wherein a plurality of batching combinations116may most closely matches the at least a target criterion.

With continued reference toFIG. 1, selecting the candidate alimentary batching combination116may include performing a greedy heuristic process on the batching objective function124A “greedy heuristic process” is defined as an algorithm that selects locally optimal choices, which may or may not generate a globally optimal solution. For instance, computing device104may select alimentary element pairings so that scores associated therewith are the best score for each order and/or for each batch. In such an example, optimization may determine the combination of alimentary elements such that each delivery pairing includes the highest score possible. In non-limiting illustrative examples, a greedy algorithm may accept an input of a series of alimentary orders, their order time, expected and/or requested delivery times, and destination geolocations, and determine which grouping, or batches, of alimentary items is most optimally fulfilling the overall requirements of all items.

Continuing in reference toFIG. 1, the batching objective function124solution target criterion may include minimizing the average time period between the order placement time and the projected order completion time for the plurality of alimentary elements in the batch. The objective function120may accept an input of a plurality of alimentary elements108and a plurality of destinations112and generate an output of a candidate batching combination116of a plurality of candidate batching combinations116by grouping, batching, or otherwise dividing alimentary items into combinations for a delivery driver, drone, or any other suitable physical transfer apparatus, based on, for instance and without limitation, order placement time and/or destination locations; the batching objective function124may be the same as an objective function120, which selects a candidate batching combination116and/or a plurality of batching combinations116based on the solution target criterion, for instance and without limitation, such as minimizing the average time period between order placement time and completion of the order at the order destination. In non-limiting illustrate examples, an objective function120may compute a candidate batching combination116based upon a variety of other factors, including for instance the number of physical transfer apparatuses available, wherein how alimentary elements are batched, to minimize average time, may be affected by timing of pickup, based on feasibility regarding the amount and availability of physical transfer apparatuses, among other factors. Various users, alimentary providers, and couriers may transmit information related to one or more orders to computing device104via corresponding client devices. Such information may include order information, payment information, activity updates, timestamps, location information, or other appropriate electronic information. System may utilize this transmitted information to batch orders and assign optimal routes to couriers for pickup and delivery of orders for perishable goods.

Continuing in reference toFIG. 1, computing device104may be configured to numerically rank the batching order by destination. Ranking the batching order of a candidate batching combination116and/or a plurality of candidate batching combinations116by destination may include generating a combination ranking128. Generating the ranking combination128further comprises generating a batching objective function124of the plurality of batching combinations. Batching objective function may be implemented in any manner described above for objective functions. Batching objective function is a mathematical function with a solution set including the plurality of candidate batching combinations. Batching objective function generates an output combination ranking128candidate batching combination according to at least a target criterion. In non-limiting exemplary embodiments, the target criterion may be to minimize the average time between the customer order time and the alimentary element reaching the order destination, wherein the ranking combination128may describe the order in which alimentary elements reach a destination or plurality of destinations to minimize the average time. In non-limiting illustrative examples, selecting a candidate batching combination116for which the output of the objective function120most closely matches the at least a target criterion may result in a combination ranking128, wherein all alimentary elements within the candidate batching combination116have a ranking that informs the order in which the alimentary elements are batched and/or delivered.

Continuing in reference toFIG. 1, computing device104may be further configured to numerically rank the batching order by destination. Computing device104may numerically rank the alimentary elements of a batching combination116by destination, for instance and without limitation, by using a scoring function that assigns a numerical rank to an alimentary element of a batch based on where or when an alimentary element may reach its destination. In non-limiting illustrative examples, such a scoring function may be a supervised machine-learning process, as described in further detail below; alternatively or additionally, a scoring function may be an optimization algorithm, as described in further detail below. In further non-limiting illustrative examples, numerical ranking the batching order by destination may include numbering alimentary elements based on when they will reach their destination along a predicted route, for instance as illustrated in further detail inFIG. 5below. Numerically ranking the batching order by destination may include a chronological numerical rank, a numerical rank based on cost, value, or volume of alimentary items in an individual order, or any other logical method of numerical ranking of alimentary items in a batch based on destination.

Referring now toFIG. 2, a non-limiting exemplary embodiment of a computing device104providing, to a user, batching instructions204based on the selected batching combinations116via a user device200, is illustrated. As used in this disclosure, “batching instructions” are instructions that inform a user, such as restaurant personnel, grocers, and the like, which alimentary elements may be placed together for physical transfer. Batching instructions204may correspond to which alimentary elements which are categorized into a batch for physical transfer by an individual courier, apparatus, or other physical transfer device, method, or the like, based on the order in which the batched alimentary elements are predicted to reach a plurality of destinations112. In an embodiment, an order may be placed by a user on a corresponding user device200, as described in further detail below. Order may be placed in a web browser or an application installed on user device200. Order information may be transmitted via a network. Destination may include location information corresponding to a location for delivery of order. For example, a location of the user device may be determined via GPS and/or other navigational facilities. A user device200displaying batching instructions204as depicted inFIG. 2, may be displayed via a graphical user interface (GUI), or any other suitable means of displaying text, graphics, or the like. In illustrative embodiments, user device200may display batching instructions and the cognate destination locations, which may prompt a user to select and/or deselect elements from the instructions and/or ranked list to modify the batch. Selecting and/or deselecting may be performed via a GUI, touchscreen interface, or the like. Persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various ways in which steps, sequences of steps, instructions, and/or data may be displayed, or otherwise shared; likewise persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various ways in which instructions may be selected or deselected by a user.

Referring now toFIG. 1, computing device104may determine, using the batching instructions204, a predicted path132for physical transfer of the plurality of alimentary elements, wherein determining may include using a destination machine-learning process136to determine a predicted path132to destination locations. A “predicted path,” as used in this disclosure, is a route of physical transfer for an alimentary element and/or plurality of alimentary elements to reach a destination and/or a plurality of destinations. A predicted path132may be a single path to one or more destinations and/or may branch into multiple paths to multiple destinations. “Physical transfer,” as used in this disclosure, refers to delivery of alimentary elements, for instance via personnel, drone, autonomous vehicle, or any other suitable delivery and/or transfer method for physical exchange of an alimentary element. A destination machine-learning process136may accept an input of a selected batching combination140and a plurality of destinations112and order times associated with the elements of the selected batching combination140and determine an output that is a predicted path132for physical transfer of the batched alimentary elements, as described in further detail below. In such an example, a selected batching combination140input may include a batch of alimentary elements ranked in order of when the alimentary elements may reach their destinations to minimize average delivery time. In non-limiting illustrative examples, a destination machine-learning process136may alter or otherwise modify the ranking order to determine a predicted path that further minimizes the average time of delivery of a plurality of alimentary elements, for instance with a branched predicted route and/or rearranging the order of the rank after a first alimentary element has reached its destination.

Continuing in reference toFIG. 1, computing device104may determine, using the batching instructions204, a predicted path132that is updated as a function of each alimentary element that has reached its destination. Updating a predicted path132may be performed by inputting a selected batching combination140and plurality of destinations112corresponding to a predicted path into a destination machine-learning process136after a destination and alimentary element has been eliminated due to completing the order. A destination machine-learning process136may then generate and output that is an updated predicted path132, as described in further detail below. An updated predicted path132may not change from the route set in the predicted path132prior to reaching a destination.

Referring now toFIG. 3, an exemplary embodiment of a machine-learning module300that may perform one or more machine-learning processes as described in this disclosure is illustrated. Machine-learning module may include any suitable machine-learning module which may perform determinations, classification, and/or analysis steps, methods, processes, and the like as described in this disclosure using machine learning processes, such as a destination machine-learning process136. A “machine learning process,” as used in this disclosure, is a process that automatedly uses training data set304containing training data to generate an algorithm that will be performed by a computing device/module to produce outputs308given data provided as inputs312; this is in contrast to a non-machine learning software program where the commands to be executed are determined in advance by a user and written in a programming language.

Still referring toFIG. 3, models may be generated using alternative or additional artificial intelligence methods, including without limitation by creating an artificial neural network, such as a convolutional neural network comprising an input layer of nodes, one or more intermediate layers, and an output layer of nodes. Connections between nodes may be created via the process of “training” the network, in which elements from a training data set304set are applied to the input nodes, a suitable training algorithm (such as Levenberg-Marquardt, conjugate gradient, simulated annealing, or other algorithms) is then used to adjust the connections and weights between nodes in adjacent layers of the neural network to produce the desired values at the output nodes. This process is sometimes referred to as deep learning. This network may be trained using training data set304.

Referring again toFIG. 1, determining the predicted path for a plurality of destinations may include receiving a batched order, wherein order reflects the order in which the plurality of alimentary elements must reach a plurality of destinations, and retrieving geolocation data corresponding to current position of at least an alimentary element and the alimentary element destination location. Alternatively or additionally, destination machine-learning process136may determine additional rankings of alimentary elements in a batched order other than the original ranking received in a batched order. In such an example, a destination machine-learning process136may re-rank elements, for instance and without limitation, based upon predicted paths that further minimize average time between order of alimentary elements and alimentary elements reaching their destinations. In non-limiting illustrative examples, a destination machine-learning model136may accomplish such a task by simulating routes between alimentary delivery points and calculating overall physical transfer time based on geolocations and other factors, such as traffic, weather, time of day, physical transfer method, and the like. In further non-limiting illustrative examples, a destination machine-learning model136may accomplish such a task by using a least square approach, as described above, where difference in order time destination arrival are calculated and minimized for a batched order based on selecting different predicted paths until a solution results in minimized difference between order placement and destination arrival. Batched orders, alimentary elements, and/or geolocation data may be stored and/or retrieved from a path database144, as described in further detail below.

Referring now toFIG. 4, a non-limiting exemplary embodiment400of a path database144is illustrated. Path database144may be implemented, without limitation, as a relational database, a key-value retrieval database such as a NOSQL database, or any other format or structure for use as a database that a person skilled in the art would recognize as suitable upon review of the entirety of this disclosure. Path database144may alternatively or additionally be implemented using a distributed data storage protocol and/or data structure, such as a distributed hash table and the like. Path database144may include a plurality of data entries and/or records, as described above. Data entries in a path database144may be flagged with or linked to one or more additional elements of information, which may be reflected in data entry cells and/or in linked tables such as tables related by one or more indices in a relational database. Persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various ways in which data entries in a database may store, retrieve, organize, and/or reflect data and/or records as used herein, as well as categories and/or populations of data consistently with this disclosure.

Further referring toFIG. 4, path database144may include, without limitation, an alimentary element table404, destination table408, combination table412, objective function table416, path table420, and/or heuristic table424. Determinations by a machine-learning process, machine-learning model, and/or scoring function may also be stored and/or retrieved from the path database144, for instance in non-limiting examples a classifier describing a plurality of destinations108as it relates to a predicted path132. Determinations by a machine-learning model for calculating a predicted path132and/or a rankings of a batched order based on geolocation may also be stored and/or retrieved from the path database144. As a non-limiting example, path database144may organize data according to one or more instruction tables. One or more path database144tables may be linked to one another by, for instance in a non-limiting example, common column values. For instance, a common column between two tables of path database144may include an identifier of a submission, such as a form entry, textual submission, global position system (GPS) coordinates, addresses, and the like, for instance as defined below; as a result, a query may be able to retrieve all rows from any table pertaining to a given submission or set thereof. Other columns may include any other category usable for organization or subdivision of expert data, including types of expert data, names and/or identifiers of experts submitting the data, times of submission, and the like; persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various ways in which data from one or more tables may be linked and/or related to data in one or more other tables.

Still referring toFIG. 4, in a non-limiting embodiment, one or more tables of a path database144may include, as a non-limiting example, an alimentary element table404, which may include meals, grocery items, food elements, or the like, generated by a restaurant, cafeteria, fast food chain, grocery store, deli, and any associated data relating to an order by a customer, client, patient, or individual, including when the order was placed, what alimentary elements were in the order, and/or linked to other data such as the order destination geolocation data for an alimentary element, for use in determining projected alimentary combinations116, batching, and/or other elements of data computing device104and/or system100may store, retrieve, and use to determine usefulness and/or relevance of data in determining projected alimentary combinations166, batching instructions204, predicted paths132, selected batching combinations140and/or training data for machine learning processes, as described in this disclosure. One or more tables may include destination table408, which may include a history of numerical values, GPS coordinates, addresses, timestamps, and the like, for instance and without limitation, that link an alimentary element order time and destination geolocation, for instance in determining a predicted path132. One or more tables may include a combination table412, which may correlate alimentary element rankings, scores, and/or other alimentary data as it pertains to a combinations of items based on order time, destination location, batching order, and the like, including any outcomes, models, heuristics, scores and/or combinations thereof as they may correspond to rankings or combinations of items listed as numerical values, metrics, functions, vectors, matrices, and the like, that corresponds to batching instructions and/or inputs for a machine-learning process in determining a predicted path132. One or more tables may include, without limitation, an objective function table416which may contain one or more inputs identifying one or more categories of data, for instance an algorithm for calculating a ranking of items to generate a batching instruction, and/or ranking of destinations in a predicted path132, and the like. One or more tables may include, without limitation, a predicted path table420which may contain one or more inputs identifying one or more categories of data, for instance subsets of physical transfer paths, effectiveness of previous paths, and the associated effects of weather, traffic, and the like, on predicted paths with regard to training and/or generation of objective functions, machine-learning models, scoring functions, ranking functions, and/or geolocation instructions as a result of, for instance and without limitation, outputting elements and/or other path data input elements. One or more tables may include, without limitation, a heuristic table424, which may include one or more inputs describing potential mathematical relationships between at least an element of user data and, for instance and without limitation, batching instructions, and rankings thereof, and/or predicted paths and how they may change as a function of reaching particle areas of a map, as described in further detail below.

Referring now toFIG. 1, computing device104may determine a predicted path132for the plurality of alimentary combinations of a batch in the order in which the alimentary elements are expected to arrive at a plurality of destination locations and may include updating the predicted path132as a function of each alimentary element reaching its destination. Computing device104may iteratively updated a predicted path132as a function of the alimentary elements that reach their destination. In non-limiting illustrative examples, once an alimentary element has reached a destination the new calculated minimized average order completion time may dictate or otherwise suggest that a new ranking of delivery be adopted. In such an example, the predicted path132may be updated as a physical transfer apparatus is en route. For further non-limiting illustrative examples, a physical transfer apparatus may encounter a detour and/or vehicle accident, and the destination machine-learning process136may automatically update the predicted path132by determining a new path, as described above, and display the updated path directly to the physical transfer apparatus, as described in further detail below.

Referring not toFIG. 5, an exemplary embodiment500of a predicted route132updated as a function of each alimentary element reaching its destination is illustrated. A selected batching combination140destinations are shown on a map, with geolocations numbered 1-6. Prior to a physical transfer apparatus504arriving at a first destination as shown in the left panel, a predicted route132(denoted as a dashed line) may indicate the most optimal path based on minimizing the average time between the order completion time and predicted destination arrival for a batch of alimentary elements. After completing at least an order, as shown in the right panel, the predicted path132may change based on new calculations of the most optimal path based on minimizing the average time between the order completion time and predicted destination arrival for a the remainder of the batch of alimentary elements. Alternatively or additionally in non-limiting examples, if a new batch of alimentary elements has been queued at a location, a computing device104determining a predicted path132may factor in minimizing the time between, for instance and without limitation, arriving at a final destination of a batch and returning to a restaurant location. In such an example, as depicted inFIG. 5, the predicted path132may change (from left panel to right) to move the last destination (#6) closer to where a physical transfer apparatus may have originally departed for minimizing the time in accepting a second batching combination140.

Continuing in reference toFIG. 1, computing device104may determine the predicted path132using a mapping algorithm148and the geolocation data to determine a path that minimizes, for a plurality of batched alimentary combinations, the average order completion time. The “geolocation data,” may refer to the plurality of destination data112that corresponds to the plurality of alimentary elements108, including the current location from which a physical transfer apparatus504may obtain the alimentary elements. A mapping algorithm148may be formulated as a linear objective function. Which computing device104may solve using a linear program such as without limitation a mixed-integer program. A “linear program,” as used in this disclosure, is a program that optimizes a linear objective function, given at least a constraint. For instance, and without limitation, objective function may seek to maximize a total score Σr∈RΣs∈Scrsxrs, where R is the set of all paths r, S is a set of all alimentary elements of a batched order s, crsis a score of a pairing of a given path with a given combination of alimentary elements, and xrsis 1 if a route r is paired with physical transfer apparatus504s, and 0 otherwise. Continuing the example, constraints may specify that each alimentary element is assigned to only one batch, and each batch is assigned only one physical transfer apparatus504. Batches of alimentary elements may be optimized for a maximum score combination of all generated combinations, with selection based on a value indicating an optimized combination. In various embodiments, system100may determine combination of alimentary elements that maximizes a total score subject to a constraint that all deliveries are paired to exactly one physical transfer apparatus504. Not all physical transfer apparatuses504may receive a selected batching combination140pairing since each delivery may only be delivered by one physical transfer apparatus504. A mathematical solver may be implemented to solve for the set of feasible paths that maximizes the sum of scores across all pairings; mathematical solver may implemented on computing device104and/or another device in system100, and/or may be implemented on third-party solver.

With continued reference toFIG. 1, mapping algorithm148may include minimizing a loss function, where a “loss function” is an expression an output of which an optimization algorithm minimizes to generate an optimal result. As a non-limiting example, computing device104may assign variables relating to a set of parameters, which may correspond to score components as described above, calculate an output of mathematical expression using the variables, and select a pairing that produces an output having the lowest size, according to a given definition of “size,” of the set of outputs representing each of plurality of candidate alimentary combinations; size may, for instance, include absolute value, numerical size, or the like. Selection of different loss functions may result in identification of different potential pairings as generating minimal outputs. Objectives represented in a mapping algorithm148and/or loss function may include minimization of delivery times. Objectives may include minimization of wait times by physical transfer apparatuses504at alimentary providers; wait times may depend, for instance and without limitation, on alimentary preparation times, expected order completion time, and/or destination geolocation, as described above. Objectives may include minimization of average times of order completion times in excess of estimated or requested arrival times.

An objective function may be implemented in a similar manner to first objective function120. A mapping algorithm148may be an objective function120as described above, and/or as described in U.S. Nonprovisional application Ser. No. 16/890,839, filed on Jun. 2, 2020, and entitled “METHODS AND SYSTEMS FOR PATH SELECTION USING VEHICLE ROUTE GUIDANCE,” the entirety of which is incorporated herein by reference. A machine-learning process, such as destination machine-learning process136may call such an algorithm and run it for one or more steps in deciding when an alimentary element has been dropped off, delivered, canceled, or otherwise removed from the batching queue.

Continuing in reference toFIG. 1, computing device104determining the predicted path further comprises storing a plurality of previously determined predicted paths in a database for subsequent path determination. For instance and without limitation, the destination machine-learning process136may determine when to retrieve and “branch off”, or otherwise build from, previous routes—especially if orders are region-specific or represent repeat locations. Machine-learning processes may decide whether retrieving previously predicted paths132from a path database112will result in minimized delivery times and/or to build a predicted path132de novo, for instance if there are repeat orders to businesses, residential addresses, and the like, but the batching order is significantly different.

Referring now toFIG. 6, an exemplary embodiment600of a computing device104providing a path to the physical transfer apparatus504may include providing geolocation data604that corresponds to destination locations where the apparatus is expected to follow sent to a physical transfer device608, is illustrated. Physical transfer device608may be a user device such as a smartphone, tablet, or other user device intended to be used by delivery driver or other personnel, as described above inFIG. 2. Alternatively or additionally, physical transfer device608may be integrated into a transit apparatus such as a computing device104and/or vehicle navigation in a car, truck, or the like. In further non-limiting illustrative examples, physical transfer device608may be a computing device104and/or navigation system of a drone, like an un-manned aerial vehicle, that may communicate with system100wirelessly, via a network, or the like, as described in further detail below.

Referring now toFIG. 7, an exemplary embodiment of a method700for path selection is illustrated. At step705, computing device104may receive a plurality of alimentary elements108and a plurality of destinations112. Receiving a plurality of alimentary elements108and a plurality of destinations112may include receiving data corresponding to order placement time of alimentary elements, projected order completion time of alimentary elements, and alimentary element destination; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

With continued reference toFIG. 7, at step710, computing device104may compute, using a plurality of alimentary elements108and a plurality of destinations112, a candidate batching combination116for a plurality of destinations112as a function of an objective function120, wherein computing a candidate batching combination116may include a selection based on expected alimentary combination completion time and destination geolocation; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

With continued reference toFIG. 7, at step715, computing device104may determine a combination ranking128wherein determining the ranking may include generating a batching objective function124of the plurality of batching combinations, wherein the batching objective function124is a mathematical function with a solution set including the plurality of candidate batching combinations116and the batching objective function124generates an output ranking the candidate batching combination116according to at least a target criterion, and selecting a candidate batching combination116for which the output of the batching objective function124most closely matches the at least a target criterion. Selecting the candidate alimentary batching combination116may include performing a greedy heuristic process on the objective function. The batching objective function124solution target criterion further comprises minimizing the average time between the order placement time and the projected order completion time for the plurality of alimentary elements in the batch. The computing device104is further configured to numerically rank the batching order by destination; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

With continued reference toFIG. 7, at step720, computing device104may provide, to a user, batching instructions204based on the selected batching combinations. Providing the batching instructions to the maker may include providing the batching instructions via a user device200, wherein the batching instructions204correspond to which alimentary elements are placed in the batch and the order in which the batched alimentary combination must reach a plurality of destinations; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

With continued reference toFIG. 7, at step725, computing device104may determine, using the batching instructions204, a predicted path132for physical transfer of the plurality of alimentary elements108, wherein determining may include using destination machine-learning process136to determine a predicted path132to destination locations, wherein the predicted path132is updated as a function of each alimentary element that has reached its destination. Determining the predicted path132for a plurality of destinations may include receiving a batched order, wherein order reflects the order in which the plurality of alimentary elements must reach a plurality of destinations. Computing device104may retrieve geolocation data corresponding to current position of at least an alimentary element and the alimentary element destination location to determine a predicted path132for the plurality of alimentary combinations of a batch in the order in which the alimentary elements are expected to arrive at a plurality of destination locations. Computing device104may update the predicted path132as a function of each alimentary element reaching its destination. Determining the predicted path132may include using a mapping algorithm148and the geolocation data to determine a path that minimizes, for a plurality of batched alimentary combinations, the average order completion time. Determining the predicted path132may include storing a plurality of previously determined predicted paths132in a database, such as a path database112, for subsequent path determination; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

With continued reference toFIG. 7, at step730, computing device104may provide, to physical transfer apparatus504, a predicted path for the plurality of alimentary elements and the plurality of destination locations. Providing a path to physical transfer apparatus further comprises providing geolocation data that corresponds to destination locations where the apparatus is expected to follow sent to a user device; this may be implemented, without limitation, as described above in reference toFIGS. 1-6.

Memory808may include various components (e.g., machine-readable media) including, but not limited to, a random-access memory component, a read only component, and any combinations thereof. In one example, a basic input/output system816(BIOS), including basic routines that help to transfer information between elements within computer system800, such as during start-up, may be stored in memory808. Memory808may also include (e.g., stored on one or more machine-readable media) instructions (e.g., software)820embodying any one or more of the aspects and/or methodologies of the present disclosure. In another example, memory808may further include any number of program modules including, but not limited to, an operating system, one or more application programs, other program modules, program data, and any combinations thereof.

Computer system800may also include a storage device824. Examples of a storage device (e.g., storage device824) include, but are not limited to, a hard disk drive, a magnetic disk drive, an optical disc drive in combination with an optical medium, a solid-state memory device, and any combinations thereof. Storage device824may be connected to bus812by an appropriate interface (not shown). Example interfaces include, but are not limited to, SCSI, advanced technology attachment (ATA), serial ATA, universal serial bus (USB), IEEE 1394 (FIREWIRE), and any combinations thereof. In one example, storage device824(or one or more components thereof) may be removably interfaced with computer system800(e.g., via an external port connector (not shown)). Particularly, storage device824and an associated machine-readable medium828may provide nonvolatile and/or volatile storage of machine-readable instructions, data structures, program modules, and/or other data for computer system800. In one example, software820may reside, completely or partially, within machine-readable medium828. In another example, software820may reside, completely or partially, within processor804.

Computer system800may also include an input device832. In one example, a user of computer system800may enter commands and/or other information into computer system800via input device832. Examples of an input device832include, but are not limited to, an alpha-numeric input device (e.g., a keyboard), a pointing device, a joystick, a gamepad, an audio input device (e.g., a microphone, a voice response system, etc.), a cursor control device (e.g., a mouse), a touchpad, an optical scanner, a video capture device (e.g., a still camera, a video camera), a touchscreen, and any combinations thereof. Input device832may be interfaced to bus812via any of a variety of interfaces (not shown) including, but not limited to, a serial interface, a parallel interface, a game port, a USB interface, a FIREWIRE interface, a direct interface to bus812, and any combinations thereof. Input device832may include a touch screen interface that may be a part of or separate from display836, discussed further below. Input device832may be utilized as a user selection device for selecting one or more graphical representations in a graphical interface as described above.

Computer system800may further include a video display adapter852for communicating a displayable image to a display device, such as display device836. Examples of a display device include, but are not limited to, a liquid crystal display (LCD), a cathode ray tube (CRT), a plasma display, a light emitting diode (LED) display, and any combinations thereof. Display adapter852and display device836may be utilized in combination with processor804to provide graphical representations of aspects of the present disclosure. In addition to a display device, computer system800may include one or more other peripheral output devices including, but not limited to, an audio speaker, a printer, and any combinations thereof. Such peripheral output devices may be connected to bus812via a peripheral interface856. Examples of a peripheral interface include, but are not limited to, a serial port, a USB connection, a FIREWIRE connection, a parallel connection, and any combinations thereof.