A method for constructing a distribution network
By constructing a delivery network and using historical order records to build order nodes and associated nodes, a reconstructed delivery network is generated, which solves the problem of unreasonable order allocation in existing technologies, improves the rationality of order allocation and delivery efficiency, and enhances the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING SANKUAI ONLINE TECH CO LTD
- Filing Date
- 2022-06-17
- Publication Date
- 2026-07-07
Smart Images

Figure CN115049263B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a method for constructing a distribution network. Background Technology
[0002] Currently, with the development of internet technology, more and more merchants are providing users with various instant delivery services through instant delivery systems.
[0003] In existing technologies, when allocating orders, on-demand delivery systems often extend the allocation time for each order according to a preset order allocation strategy, waiting for the number of orders to reach a certain value before packaging these orders into order packages and allocating them to delivery capacity. However, this order allocation method cannot reasonably allocate orders to delivery capacity.
[0004] Therefore, how to improve the rationality of order allocation and thus enhance the user experience is an urgent problem to be solved. Summary of the Invention
[0005] This specification provides a method for constructing a distribution network to partially solve the aforementioned problems existing in the prior art.
[0006] The following technical solution is adopted in this specification:
[0007] This specification provides a method for constructing a distribution network, including:
[0008] Retrieve the task execution records for each historical order package. A historical order package contains at least one historical order task.
[0009] Based on the task execution records, create each order node, and construct an initial delivery network based on each order node. In the initial delivery network, each order node corresponds to a combination of pickup and delivery points for a historical order task.
[0010] For each order node in the initial delivery network, other order nodes that meet preset conditions with that order node are identified as associated nodes corresponding to that order node, and the order aggregation degree corresponding to that order node is determined based on the matching degree between the identified order node and the associated nodes.
[0011] Based on the order aggregation degree, each core task node is determined from the initial delivery network, and a reconstructed delivery network is generated based on each core task node. The reconstructed delivery network is used for order allocation.
[0012] Optionally, the task execution record includes at least one of the following: pickup point status information of historical order tasks, receiving point status information of historical order tasks, delivery direction information between the pickup point and the corresponding receiving point of historical order tasks, road information between the pickup point and the receiving point of historical order tasks, and the order in which delivery capacity arrives at the pickup point and receiving point of each historical order task when executing each historical order task in the historical order package.
[0013] Optionally, other order nodes that meet preset conditions with the current order node are identified as associated nodes corresponding to the current order node, specifically including:
[0014] Identify all other order nodes where the geographical distance between the pickup point and the pickup point of this order node does not exceed a preset distance, and designate these as the associated nodes corresponding to this order node; and / or
[0015] Among the other order nodes besides the order node, the order node whose geographical distance between its receiving point and the receiving point of the order node does not exceed a preset distance is identified as the associated node corresponding to the order node.
[0016] Optionally, an initial delivery network is constructed based on each order node, specifically including:
[0017] For each order node, a historical order package containing the historical order tasks corresponding to that order node will be used as the target order package;
[0018] Based on the chronological order of arrival at the pickup point for each historical order task within the target order package, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a first sorting order. This sorting order node is then connected to other order nodes in the first sorting order that are adjacent to it, resulting in a first sub-graph.
[0019] Based on the order of delivery time when the delivery capacity arrives at the receiving point of each historical order task in the target order package to deliver the goods, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a second sorting order. The order node is then connected to other order nodes in the second sorting order that are adjacent to the order node to obtain a second sub-graph.
[0020] Based on the first subgraph and the second subgraph, construct the initial delivery network.
[0021] Optionally, an initial delivery network is constructed based on the first subgraph and the second subgraph, specifically including:
[0022] The order nodes contained in the first subgraph and the second subgraph are mapped one-to-one to construct the initial delivery network; wherein
[0023] For any two order nodes in the initial delivery network, the weight of the edge between the two order nodes is determined based on the sum of the number of edges between the two order nodes in the first subgraph and the second subgraph.
[0024] Optionally, determining the matching degree between the order node and the associated node specifically includes:
[0025] For each associated node corresponding to the order node, the matching degree between the order node and the associated node is determined based on the node feature vector of the order node and the node feature vector of the associated node.
[0026] Optionally, before determining the matching degree between the order node and the associated node based on the node feature vector of the order node and the node feature vector of the associated node for each associated node corresponding to the order node, the method further includes:
[0027] Based on the task execution records, determine the initial node feature vector corresponding to each order node;
[0028] For each order node, the associated nodes corresponding to that order node are taken as positive samples, and all other order nodes except for that order node and its associated nodes are taken as negative samples.
[0029] The optimization objective is to optimize the initial node feature vector of the order node by taking the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the negative sample as the smaller the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the positive sample, so as to obtain the node feature vector of the order node.
[0030] Optionally, based on the order aggregation degree, each core task node is determined, specifically including:
[0031] For each order node, determine whether the order aggregation degree corresponding to that order node is higher than a preset first threshold;
[0032] If so, then that order node will be designated as a core task node.
[0033] Optionally, based on the aforementioned core task nodes, a reconstructed delivery network is generated, specifically including:
[0034] For each associated node corresponding to each core task node, determine whether the matching degree between the associated node and the core task node corresponding to the associated node is higher than a preset second threshold.
[0035] If so, then filter out the associated node;
[0036] Based on the core task nodes and the selected associated nodes, a reconstructed delivery network is generated.
[0037] Optionally, the method further includes:
[0038] Retrieve order information for orders awaiting assignment;
[0039] Based on the order information of the order to be assigned, determine whether there is an order node in the reconstructed delivery network that matches the order to be assigned;
[0040] If so, the order popularity corresponding to the order to be assigned is determined based on the order node that matches the order to be assigned. The order popularity is used to represent the number of orders that will be generated in the delivery direction between the pickup point and the receiving point of the order to be assigned, matching the order to be assigned.
[0041] Based on the order popularity corresponding to the order to be assigned, the allocation time of the order to be assigned is determined, and the order to be assigned is allocated to the delivery capacity according to the allocation time.
[0042] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:
[0043] In the delivery network construction method provided in this specification, the task execution records of each historical order package can be obtained first. A historical order package contains at least one historical order task. Based on the task execution records, each order node is created, and an initial delivery network is constructed based on each order node. In the initial delivery network, each order node corresponds to a combination of pickup and delivery points for a historical order task. Then, for each order node in the initial delivery network, other order nodes that meet preset conditions are determined as associated nodes corresponding to that order node. Based on the matching degree between the determined order node and the associated nodes, the order aggregation degree corresponding to that order node is determined. Then, based on the order aggregation degree, each core task node is determined from the initial delivery network, and a reconstructed delivery network is generated based on each core task node. The generated reconstructed delivery network is then used for order allocation.
[0044] As can be seen from the above method, a delivery network can be constructed using the combination of pickup and delivery points for each historical order task as order nodes, and the order aggregation degree of each order node can be determined. If the determined order aggregation degree is higher, it means that it is easier to form an order package in the delivery direction from the pickup point to the delivery point of that order node. Therefore, the allocation time of the pending orders matching the order node can be extended to wait for the orders that match the pending orders to be matched within the allocation time to form an order package, and then allocate it to the delivery capacity to perform the delivery task. If the determined order aggregation degree is lower, it is not easy to form an order package in the delivery direction from the pickup point to the delivery point of that order node. Therefore, for the pending orders matching the order node, it is necessary to assign the pending orders to the delivery capacity to perform the delivery task immediately. Therefore, order allocation can be carried out based on the constructed delivery network, thereby improving the rationality of order allocation, improving the efficiency of delivery capacity in performing delivery tasks, and thus improving the user experience. Attached Figure Description
[0045] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:
[0046] Figure 1 This is a flowchart illustrating a method for constructing a distribution network as described in this specification.
[0047] Figure 2 This is a schematic diagram illustrating the construction process of the initial distribution network provided in this manual;
[0048] Figure 3 This is a schematic diagram of a device for constructing a distribution network, as provided in this specification.
[0049] Figure 4 The corresponding information provided in this specification Figure 1 A schematic diagram of an electronic device. Detailed Implementation
[0050] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without creative effort are within the scope of protection of this application.
[0051] In existing technologies, all orders at the same pickup or delivery point are allocated and scheduled using the same rules and methods. However, order packages consisting of orders with different delivery directions at the same pickup or delivery point vary significantly. For example, when an order is destined for a commercial area in the city center, it is easier to match more related orders to form an order package and allocate the package to delivery capacity for delivery, thereby improving delivery efficiency. However, when an order is destined for a remote area on the outskirts of the city, it is often impossible to match related orders to form an order package within a preset time, and only the individual order can be delivered. Furthermore, since existing technologies do not consider this difference and instead use the same rules and methods for order allocation and scheduling, these peripheral orders are prone to becoming end-of-line orders (i.e., orders that are delayed for a long time due to failure to be delivered in time), which affects the efficiency of order delivery and thus impacts the user experience.
[0052] In addition, existing technologies employ a method to extract features from pickup and delivery points, using these features as order characteristics for orders to be assigned to determine their compatibility. This allows for the development of order allocation strategies based on the matching results. However, this method fails to consider the differences in order packages formed by orders from the same pickup or delivery point but with different delivery directions. Furthermore, in practice, pickup and delivery points for each order often appear in pairs. Therefore, existing technologies that extract features solely from pickup or delivery points often fail to account for the correlation between pickup and delivery points in delivery directions, leading to low accuracy in representing order characteristics and ultimately impacting the rationality of order allocation.
[0053] Based on this, this specification provides a method for constructing a delivery network. This method can construct a delivery network using information such as the status of pickup points, the status of receiving points, the delivery direction between a pickup point and its corresponding receiving point, the road information between a pickup point and its corresponding receiving point, and the order in which delivery capacity for a historical order package arrives at the pickup and receiving points of each historical order package. The network is built using combinations of pickup and receiving points as basic units. This allows for order allocation based on the constructed delivery network, thereby improving the rationality of order allocation.
[0054] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0055] Figure 1 This is a flowchart illustrating a method for constructing a distribution network as described in this specification, specifically including the following steps:
[0056] S101: Obtain the task execution records of each historical order package. A historical order package contains at least one historical order task.
[0057] In this specification, the business platform that needs to allocate orders can construct a delivery network based on the task execution records of historical order packages executed by the delivery capacity, and allocate orders according to the delivery network. Before that, the business platform needs to obtain the task execution records of each historical order package. Each historical order package contains at least one historical order task. The task execution record of a historical order package may include at least one of the following: the pickup point status information of the historical order task, the receiving point status information of the historical order task, the delivery direction information between the pickup point and the corresponding receiving point of the historical order task, the road information between the pickup point and the receiving point of the historical order task, and the order in which the delivery capacity arrives at the pickup point and the receiving point of each historical order task when executing each historical order task in the historical order package.
[0058] In the above content, the pickup point status information for historical order tasks can be such as: the difficulty of picking up the food at the pickup point (for example, if the delivery capacity requires a long wait time when picking up food at the merchant, then the merchant is considered to have a high difficulty of picking up food), the historical cumulative number of orders, etc.
[0059] The delivery point status information for historical order tasks can include, for example, the delivery difficulty of the delivery point (e.g., if the delivery capacity takes a long time to wait when delivering goods to the user's community, then the delivery difficulty of this delivery point is considered high), and the historical cumulative order volume (e.g., if the delivery point is the user's community, then the historical cumulative order volume of the delivery point is the historical order volume of the community).
[0060] The delivery direction information between the pickup point and the corresponding receiving point can be, for example: assuming that the order to be assigned requires delivery capacity to pick up the goods at point A and deliver them to point B, then point B is the receiving point corresponding to point A, and the positional direction information of point B relative to point A is the delivery direction information between the pickup point and the corresponding receiving point.
[0061] Road information between the pickup point and the corresponding delivery point is used to characterize the road conditions between the pickup point and the corresponding delivery point, such as the distribution of barriers (e.g., the distribution of barriers such as rivers, bridges, and gated communities) along the route from the pickup point to the corresponding delivery point, delivery distance, and historical delivery time.
[0062] It should be noted that when the server retrieves the task execution records of each historical order package, it filters these records and selects those that meet preset conditions as the final retrieved task execution records for each historical order package. These preset conditions may include at least one of the following: the number of historical order tasks in the historical order package exceeds a preset threshold; the delivery time for the delivery capacity to execute the delivery tasks for the historical order package is less than a preset threshold; or the delivery capacity did not engage in any safety risk behaviors (e.g., speeding, violating traffic signals, driving against traffic) while executing the delivery tasks for the historical order package. In other words, the server can filter out representative, high-quality task execution records from the retrieved historical order package records. Because these filtered records better match the delivery capacity's delivery habits, the rationality of the delivery network built based on these filtered task execution records can be increased.
[0063] In this specification, the execution subject used to implement the delivery network construction method can refer to a designated device such as a server set up on the business platform, or a designated device such as a desktop computer or a laptop computer. For ease of description, the following description will only use a server as the execution subject to illustrate the delivery network construction method provided in this specification.
[0064] S102: Based on the task execution record, create each order node, and based on each order node, construct an initial delivery network. In the initial delivery network, one order node corresponds to a combination of pickup and delivery points for a historical order task.
[0065] For each historical order package, the server can create an order node corresponding to each historical order task within that package. Each order node represents a combination of pickup and delivery points. For example, if order A's pickup point is L1 and delivery point is L2, then the combination of L1 and L2 constitutes an order node.
[0066] For each order node, the server can connect that order node with other order nodes whose pickup and / or delivery times are adjacent to that order node, thus obtaining the initial delivery network. The specific construction process of the above initial delivery network is as follows: Figure 2 As shown.
[0067] Figure 2 This is a schematic diagram illustrating the construction process of the initial distribution network provided in this manual.
[0068] Combination Figure 2As can be seen, the server can obtain the task execution records of each historical order package, determine the delivery capacity that will execute the delivery task of that historical order package, the order in which the delivery personnel arrive at the pickup and receiving points of each historical order task contained in that historical order package, and sort the pickup and receiving points in the order nodes corresponding to each historical order task contained in that historical order package according to the determined order order, so as to obtain the task execution sequence corresponding to that historical order package.
[0069] exist Figure 2 In the task execution sequence, L1 and L2 are pickup points, and L3, L4, and L5 are receiving points. The combination of pickup and receiving points of the same color represents a historical order task. For example, the combination of L1 and L4 results in order node A, which means that historical order task A picks up goods from pickup point L1 and delivers them to receiving point L4. Similarly, the combination of L1 and L3 results in order node B, which means that historical order task B picks up goods from pickup point L1 and delivers them to receiving point L4.
[0070] Furthermore, for each order node, a historical order package containing the historical order tasks corresponding to that order node is taken as the target order package. Based on the order in which delivery capacity arrives at the pickup point for each historical order task within the target order package, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a first sorting order. This first sorting order is then connected to other order nodes in the first sorting order that are adjacent to it, thus obtaining a first subgraph. Assuming that for... Figure 2 Order node A in the data contains the task execution sequence corresponding to the target order package of the historical order tasks corresponding to order node A. Figure 2 From the task execution sequence in the data, the order in which the delivery capacity arrives at the pickup and receiving points of each historical order task in the target order package can be determined. Then, the data can be sorted according to the order in which the delivery capacity arrives at the pickup point corresponding to each historical order task to obtain the first sorting order. Then, the order node B, which is adjacent to the order node A in the first sorting order, can be connected to the order node A. Then, the above operation is repeated for each order node to obtain the first subgraph.
[0071] Similarly, based on the chronological order of delivery arrivals at the receiving point of each historical order task within the target order package, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a second sorting order. This second sorting order is then connected to other order nodes in the second sorting order that are adjacent to it, resulting in a second subgraph. Assuming that for... Figure 2Order task node A in the table contains the task execution sequence corresponding to the target order package of the historical order tasks corresponding to order node A. Figure 2 From the task execution sequence in the target order package, the order in which the delivery capacity arrives at the pickup and delivery points of each historical order task can be determined. The delivery capacity is then sorted according to the order in which the goods are delivered to the delivery point corresponding to each historical order task, resulting in a second sorting order. Then, order nodes B and D, which are adjacent to order node A in the second sorting order, can be connected to order node A. The above operation is repeated for each node to obtain the second subgraph.
[0072] Furthermore, after constructing the first and second subgraphs, the server can map each order node contained in the first and second subgraphs one-to-one to construct the delivery network. Specifically, for any two order nodes in the delivery network, the weight of the edge between the two order nodes is determined based on the sum of the number of edges between them in the first and second subgraphs.
[0073] For example: in Figure 2 If the sum of the data of the edge between order node A and order node B is 2, then the weight of the edge between order nodes A and B is 2.
[0074] It's worth noting that the more data there is in the edge between any two order nodes in the delivery network, the greater the weight of that edge. Figure 2 The delivery network in the text contains only one historical order package. However, in actual applications, the delivery network can contain task execution records of multiple historical order packages.
[0075] S103: For each order node in the initial delivery network, determine other order nodes that meet preset conditions with the order node as associated nodes corresponding to the order node, and determine the order aggregation degree corresponding to the order node based on the determined matching degree between the order node and the associated nodes.
[0076] In this specification, the server can identify other order nodes that meet preset conditions for each order node in the initial delivery network, and use them as associated nodes corresponding to that order node. Based on the matching degree between the order node and the associated nodes, the server can determine the order aggregation degree corresponding to that order node.
[0077] Specifically, the server can determine the node feature vector of each order node in the initial delivery network based on the task execution records of the historical order packages containing the historical order tasks corresponding to that order node.
[0078] Furthermore, the server can determine the matching degree between the order node and each associated node for each associated node of the order node, and then determine the order aggregation degree corresponding to the order node based on the matching degree between the order node and each associated node. The matching degree can be determined based on the similarity between the node feature vector of the order node and the node feature vector of the associated node. The higher the similarity between the node feature vector of the order node and the node feature vector of the associated node, the higher the matching degree between the node feature vector of the order node and the node feature vector of the associated node.
[0079] The server can determine the order aggregation degree corresponding to an order node based on the matching degree between the order node and each associated node. There are many methods for this, such as using the weighted average of the matching degrees between the order node and each associated node as the order aggregation degree.
[0080] In the above content, there are many ways for the server to determine other order nodes that meet the preset conditions as associated nodes of the order node. For example, the server can determine order nodes that meet the conditions that the geographical distance between the pickup point and the pickup point of the order node is within a preset range and / or the geographical distance between the delivery point and the delivery point of the order node is within a preset range as associated nodes of the order node. The preset range is determined based on the historical activity range of each delivery capacity (e.g., within three kilometers around a commercial street, or within five kilometers around a school).
[0081] For example, the server can also determine that the distance between the order node and the order node in the initial delivery network is less than a preset range. In the initial delivery network, the greater the similarity between the node feature vectors of any two order nodes, the smaller the distance between the two nodes in the initial delivery network.
[0082] In the above content, the method for determining the node feature vector corresponding to each order node in the constructed delivery network can be as follows: for each order node in the first subgraph, sample the neighbor nodes of the order node (i.e., take other order nodes connected to the order node as the neighbor nodes of the order node), and then determine the first node feature vector of the order node based on the neighbor nodes of the order node. The first node feature vector is used to characterize the node information of the order node and the neighbor nodes of the order node in the first sub-delivery network.
[0083] Similarly, using the above method, for each order node in the second subgraph, a second node feature vector is determined, wherein the second node feature vector is used to characterize the node information of the order node and its neighboring nodes in the first sub-delivery network.
[0084] Furthermore, using a pre-defined attention model, the attention weights corresponding to the first node feature vector and the second node feature vector of the order node are determined. Then, based on the attention weights corresponding to the first and second node feature vectors of the order node, the first and second node feature vectors of the order node are weighted and fused to obtain the initial node feature vector of the order node. Subsequently, based on the pickup point status information, delivery point status information, delivery direction information between the pickup point and the delivery point corresponding to the pickup point, road information between the pickup point and the delivery point corresponding to the pickup point, and the initial node feature vector of the order node, the node feature vector of the order node is determined.
[0085] In practical applications, in order to improve the accuracy of the extracted node feature vectors corresponding to the order task nodes, the server can first extract the initial node feature vector of each order node and optimize the initial feature vector to obtain the node feature vector of each order node.
[0086] Specifically, for each order node, the server can take the associated nodes corresponding to that order node as positive samples and other order nodes besides that order node and its associated nodes as negative samples. Then, with the optimization objective being to minimize the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the negative samples compared to the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the positive samples, the server optimizes the initial node feature vector of the order node to obtain the node feature vector of the order node. Then, based on the node feature vector of the order node and the node feature vector of the associated node, the matching degree between the order node and the associated node can be determined.
[0087] In this context, the order task nodes within different regions often exhibit a clustering tendency. For example, the clustering tendency is high among order task nodes in bustling commercial areas. During the process of optimizing the initial node feature vector of each order node by the server, the initial delivery network is also optimized. This is because after the initial node feature vector of each order node is optimized, the distance between each order node and the node corresponding to the negative sample in the initial delivery network will be larger than the distance between each order node and the node corresponding to the positive sample. Therefore, the optimized initial delivery network can exhibit clustering among the order task nodes.
[0088] S104: Based on the order aggregation degree, determine each core task node from the initial delivery network, and generate a reconstructed delivery network based on each core task node. The reconstructed delivery network is used for order allocation.
[0089] After determining the order aggregation degree of each order node in the initial delivery network, the server can check whether the order aggregation degree of each order node is higher than a preset first threshold. If so, the order node is designated as a core task node. The first and second thresholds can be determined according to actual needs.
[0090] Furthermore, for each associated node corresponding to each core task node, the server can determine whether the matching degree between the associated node and the core task node corresponding to the associated node is higher than a preset second threshold. If so, the associated node is used as a filtered associated node of the core task node corresponding to the associated node. Then, based on each core task node and the filtered associated node corresponding to each core task node, a reconstructed delivery network can be generated.
[0091] After generating the reconstructed delivery network, the server can allocate orders based on the generated network.
[0092] Specifically, the server can obtain the order information of the orders to be assigned. Based on the order information of the orders to be assigned, it can determine whether there are order nodes that match the orders to be assigned in the reconstructed delivery network. If so, the server can determine the order popularity of the orders to be assigned based on the order nodes that match the orders to be assigned. The order popularity is used to represent the number of orders that will be generated in the delivery direction between the pickup point and the delivery point of the orders to be assigned that match the orders to be assigned. In other words, the order popularity of an order is the number of orders that match this order and can be packaged into an order package among all the orders generated in the future.
[0093] In the above content, order information may include: the target pickup point and the target delivery point of the delivery item involved in the order to be assigned. For example, assuming that the order to be assigned is a fruit cake delivery order, then the delivery item involved in the order to be assigned is the fruit cake, the location of the merchant providing the fruit cake is the target pickup point of the delivery item involved in the order to be assigned, and the community corresponding to the delivery address filled in by the user who purchased the fruit cake in the delivery order is the target delivery point of the delivery item.
[0094] In the above, if the target pickup point and target delivery point of the order to be assigned are the same as the pickup point and delivery point of an order node in the delivery network, then the order node is considered to be the order node that matches the order to be assigned. If the order aggregation degree of the order task node that matches the order to be assigned is higher, then the order popularity of the order to be assigned is higher.
[0095] In the above, if it is determined that there is a matching order node in the reconstructed delivery network for the order to be assigned, the allocation time can be determined based on the order aggregation degree of the order node. The higher the order popularity of the order to be assigned, the longer the allocation time will be, and vice versa. For orders with longer allocation times, the server can perform a pressure order operation according to the allocation time of the order to be assigned (that is, after receiving the order to be assigned, the order allocation is not performed immediately, but is postponed for a period of time to wait for the matching orders to be matched to form an order package before the order package is allocated to the delivery capacity for delivery). For orders with shorter allocation times, the server directly assigns the order to the delivery capacity for delivery.
[0096] After the server detects that the waiting time for the pending orders has reached the allocation time, it can package the pending orders with the identified associated orders corresponding to the pending orders to obtain the pending order package, and allocate the pending order package to the delivery capacity. The associated orders can refer to orders generated within the allocation time that match the delivery direction between the pickup point and the receiving point.
[0097] It should be noted that all actions involving the acquisition of signals, information, or data in this application are carried out in compliance with the data protection laws and policies of the country where the application is located, and with authorization from the owner of the relevant device.
[0098] As can be seen from the above, the server can determine the order popularity of orders to be assigned by reconstructing the delivery network. Based on this order popularity, the server can then determine whether to bundle these orders with other orders and allocate them to delivery capacity, thereby improving the efficiency and rationality of order allocation.
[0099] The above describes one or more embodiments of the order allocation method provided in this specification. Based on the same idea, this specification also provides a corresponding delivery network construction device, such as... Figure 3 As shown.
[0100] Figure 3 This specification provides a schematic diagram of an order allocation device, which specifically includes:
[0101] The acquisition module 301 is used to acquire the task execution records of each historical order package. A historical order package contains at least one historical order task.
[0102] The first construction module 302 is used to create each order node according to the task execution record, and to construct an initial delivery network according to each order node. In the initial delivery network, one order node corresponds to a combination of the pickup point and the receiving point of a historical order task.
[0103] The determining module 303 is used to determine, for each order node in the initial delivery network, other order nodes that meet preset conditions as associated nodes corresponding to the order node, and determine the order aggregation degree corresponding to the order node based on the determined matching degree between the order node and the associated nodes;
[0104] The second construction module 304 is used to determine each core task node from the initial delivery network according to the order aggregation degree, and generate a reconstructed delivery network according to the core task nodes, wherein the reconstructed delivery network is used for order allocation.
[0105] Optionally, the task execution record includes at least one of the following: pickup point status information of historical order tasks, receiving point status information of historical order tasks, delivery direction information between the pickup point and the corresponding receiving point of historical order tasks, road information between the pickup point and the receiving point of historical order tasks, and the order in which delivery capacity arrives at the pickup point and receiving point of each historical order task when executing each historical order task in the historical order package.
[0106] Optionally, the determining module 303 is specifically used to determine, among other order nodes besides the order node, order nodes whose geographical distance between the pickup point and the pickup point of the order node does not exceed a preset distance, as associated nodes corresponding to the order node; and / or determine, among other order nodes besides the order node, order nodes whose geographical distance between the receiving point and the receiving point of the order node does not exceed a preset distance, as associated nodes corresponding to the order node.
[0107] Optionally, the first construction module 302 is specifically configured to, for each order node, take a historical order package containing the historical order tasks corresponding to that order node as a target order package; sort the order nodes corresponding to each historical order task in the target order package according to the order in which the delivery capacity arrives at the pickup point of each historical order task when executing each historical order task in the target order package, to obtain a first sorting order; and connect the order node with other order nodes in the first sorting order that are adjacent to the order node in the first sorting order to obtain a first subgraph; and sort the order nodes corresponding to each historical order task in the target order package according to the order in which the delivery capacity arrives at the receiving point of each historical order task when executing each historical order task in the target order package, to obtain a second sorting order; and connect the order node with other order nodes in the second sorting order that are adjacent to the order node in the second sorting order to obtain a second subgraph; and construct an initial delivery network based on the first subgraph and the second subgraph.
[0108] Optionally, the first construction module 302 is specifically used to map each order node contained in the first subgraph and the second subgraph to construct an initial delivery network; wherein for any two order nodes in the initial delivery network, the weight of the edge between the two order nodes is determined according to the sum of the number of edges of the two order nodes in the first subgraph and the second subgraph.
[0109] Optionally, the determining module 303 is specifically used to determine the matching degree between the order node and the associated node for each associated node corresponding to the order node, based on the node feature vector of the order node and the node feature vector of the associated node.
[0110] Optionally, the determining module 303 is specifically used to: determine the initial node feature vector corresponding to each order node based on the task execution record; for each order node, take the associated node corresponding to the order node as a positive sample, and take other order nodes other than the order node and its associated node as negative samples; optimize the initial node feature vector of the order node by taking the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the negative sample as the optimization objective, so as to obtain the node feature vector of the order node.
[0111] Optionally, the second construction module 304 is specifically used to determine, for each order node, whether the order aggregation degree corresponding to the order node is higher than a preset first threshold; if so, then the order node is used as a core task node.
[0112] Optionally, the second construction module 304 is specifically used to determine, for each associated node corresponding to each core task node, whether the matching degree between the associated node and the core task node corresponding to the associated node is higher than a preset second threshold; if so, then filter out the associated node; and generate a reconstructed delivery network based on the core task nodes and the filtered associated nodes.
[0113] Optionally, the device further includes:
[0114] The allocation module 305 is specifically used to: obtain order information of orders to be allocated; determine, based on the order information of the orders to be allocated, whether there is an order node in the reconstructed delivery network that matches the orders to be allocated; if so, determine the order popularity corresponding to the orders to be allocated based on the order nodes that match the orders to be allocated, wherein the order popularity is used to characterize the number of orders that will be generated in the delivery direction between the pickup point and the receiving point of the orders to be allocated that match the orders to be allocated; determine the allocation time of the orders to be allocated based on the order popularity corresponding to the orders to be allocated, and allocate the orders to be allocated to the delivery capacity according to the allocation time.
[0115] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 1 The provided method for constructing the delivery network.
[0116] This instruction manual also provides Figure 4 The diagram shows a schematic structural representation of the electronic device. Figure 4At the hardware level, the electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for the business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above-mentioned functions. Figure 1 The method for constructing the delivery network is described above. Of course, besides software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0117] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0118] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0119] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0120] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.
[0121] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0122] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0123] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0124] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0125] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0126] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0127] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0128] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0129] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0130] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0131] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0132] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this application.
Claims
1. A method for constructing a delivery network, characterized in that, include: Obtain the task execution records for each historical order package. A historical order package contains at least one historical order task. The task execution records include: the pickup point status information of the historical order task, the receiving point status information of the historical order task, the delivery direction information between the pickup point and the corresponding receiving point of the historical order task, and the road information between the pickup point and the receiving point of the historical order task. Based on the task execution records, create each order node, and construct an initial delivery network based on each order node. In the initial delivery network, each order node corresponds to a combination of pickup and delivery points for a historical order task. For each order node in the initial delivery network, other order nodes that meet preset conditions are identified as associated nodes corresponding to that order node. The order aggregation degree corresponding to that order node is determined based on the matching degree between the identified order node and the associated nodes. The matching degree is determined based on the similarity between the node feature vector of the order node and the node feature vector of the associated node. The node feature vector of the order node is determined based on the pickup point status information, delivery point status information, delivery direction information between the pickup point and the delivery point corresponding to the pickup point, and road information between the pickup point and the delivery point corresponding to the pickup point. Based on the order aggregation degree, core task nodes are determined from the initial delivery network, and a reconstructed delivery network is generated based on these core task nodes. This reconstructed delivery network is used for order allocation. Specifically, order information for orders to be allocated is obtained. Based on this information, it is determined whether there is an order node in the reconstructed delivery network that matches the order to be allocated. If so, the order popularity corresponding to the order to be allocated is determined based on the matching order node. Order popularity represents the number of orders matching the order to be allocated that will be generated in the delivery direction between the pickup and pickup points of the order to be allocated. Based on the order popularity, the allocation time for the order to be allocated is determined, and the order to be allocated is allocated to delivery capacity according to the allocation time. The higher the order popularity, the longer the allocation time; conversely, the lower the order popularity, the shorter the allocation time.
2. The method as described in claim 1, characterized in that, The task execution record also includes the order in which the delivery capacity arrives at the pickup and delivery points of each historical order task when executing the historical order tasks in the historical order package.
3. The method as described in claim 1, characterized in that, Other order nodes that meet preset conditions and are identified as associated nodes corresponding to this order node are determined, specifically including: Identify all other order nodes where the geographical distance between the pickup point and the pickup point of this order node does not exceed a preset distance, and designate these as the associated nodes corresponding to this order node; and / or Among the other order nodes besides the order node, the order node whose geographical distance between its receiving point and the receiving point of the order node does not exceed a preset distance is identified as the associated node corresponding to the order node.
4. The method as described in claim 1, characterized in that, Based on the aforementioned order nodes, an initial delivery network is constructed, specifically including: For each order node, a historical order package containing the historical order tasks corresponding to that order node will be used as the target order package; Based on the chronological order of arrival at the pickup point for each historical order task within the target order package, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a first sorting order. This sorting order node is then connected to other order nodes in the first sorting order that are adjacent to it, resulting in a first sub-graph. Based on the order of delivery time when the delivery capacity arrives at the receiving point of each historical order task in the target order package to deliver the goods, the order nodes corresponding to each historical order task in the target order package are sorted to obtain a second sorting order. The order node is then connected to other order nodes in the second sorting order that are adjacent to the order node to obtain a second sub-graph. Based on the first subgraph and the second subgraph, construct the initial delivery network.
5. The method as described in claim 4, characterized in that, Based on the first subgraph and the second subgraph, an initial delivery network is constructed, specifically including: The order nodes contained in the first subgraph and the second subgraph are mapped one-to-one to construct the initial delivery network; wherein For any two order nodes in the initial delivery network, the weight of the edge between the two order nodes is determined based on the sum of the number of edges between the two order nodes in the first subgraph and the second subgraph.
6. The method as described in claim 2, characterized in that, Determining the matching degree between the order node and the associated node specifically includes: For each associated node corresponding to the order node, the matching degree between the order node and the associated node is determined based on the node feature vector of the order node and the node feature vector of the associated node.
7. The method as described in claim 6, characterized in that, Before determining the matching degree between the order node and the associated node based on the node feature vector of the order node and the node feature vector of the associated node for each associated node corresponding to the order node, the method further includes: Based on the task execution records, determine the initial node feature vector corresponding to each order node; For each order node, the associated nodes corresponding to that order node are taken as positive samples, and all other order nodes except for that order node and its associated nodes are taken as negative samples. The optimization objective is to optimize the initial node feature vector of the order node by taking the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the negative sample as the smaller the similarity between the initial node feature vector of the order node and the initial node feature vector corresponding to the positive sample, so as to obtain the node feature vector of the order node.
8. The method as described in claim 1, characterized in that, Based on the order aggregation degree, each core task node is determined, specifically including: For each order node, determine whether the order aggregation degree corresponding to that order node is higher than a preset first threshold; If so, then that order node will be designated as a core task node.
9. The method as described in claim 1 or 8, characterized in that, Based on the aforementioned core task nodes, a reconstructed delivery network is generated, specifically including: For each associated node corresponding to each core task node, determine whether the matching degree between the associated node and the core task node corresponding to the associated node is higher than a preset second threshold. If so, then filter out the associated node; Based on the core task nodes and the selected associated nodes, a reconstructed delivery network is generated.