Delivery route determination method, device and electronic equipment

By optimizing the distribution route planning and using distribution parameters and matrix calculations, the problems of delivery timeout and low collection rate in the offline retail industry are solved, and more reasonable distribution routes and higher collection rate are achieved, improving customer experience.

CN113919781BActive Publication Date: 2025-01-17BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111218421.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-19
Publication Date
2025-01-17
Estimated Expiration
2041-10-19

AI Technical Summary

Technical Problem

In the offline retail industry, the number of delivery personnel is limited, resulting in order delivery overtime and the inability to fulfill the contract on time, affecting the customer's shopping experience. When the existing technology collects orders through regional division, orders with closer distances to the delivery destination cannot be collected. The set order rate is low and the route is unreasonable.

Method used

By determining the distribution parameters, including the estimated delivery time and distance, calculating the distribution matrix, determining the appropriate delivery route, optimizing object selection and route planning, ensuring reasonable delivery routes, and improving the collection rate and delivery efficiency.

Benefits of technology

It improves the rationality of the delivery route and the order collection rate, reduces the unreasonable delivery problems caused by regional division, ensures timely delivery of orders, and improves customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113919781B_ABST
    Figure CN113919781B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, device and electronic device for determining a delivery route, the method comprising: determining multiple orders that can be grouped together to obtain a current order set; determining delivery parameters; wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between multiple target locations, and the target locations include starting point location information and destination location information for each order in the current order set; determining at least one object for the current order set; and determining at least one delivery route based on the delivery parameters and the at least one object, each delivery route corresponding to at least one order.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of warehousing and logistics, and more specifically, to a delivery route determination method, a delivery route determination device, an electronic device, a computer-readable storage medium, and a computer program product. Background Art

[0002] In the offline retail industry, as the number of customers continues to grow, the order volume also increases. However, the number of delivery personnel is limited, and the delivery capacity of each delivery personnel is limited. Therefore, when the order volume is large, order delivery often exceeds the time limit and cannot be fulfilled on time, which affects the customer's shopping experience. Summary of the invention

[0003] The present disclosure provides a delivery route determination method, a delivery route determination device, an electronic device, a computer-readable storage medium, and a computer program product, which can solve the problem of unreasonable delivery routes, thereby improving the delivery capacity of objects.

[0004] One aspect of the present disclosure provides a method for determining a delivery route, comprising: determining multiple orders that can be grouped together to obtain a current order set; determining delivery parameters; wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between multiple target locations, and the target locations include starting point location information and destination location information for each order in the current order set; determining at least one object for the current order set; and determining at least one delivery route based on the delivery parameters and the at least one object, each of the delivery routes corresponding to at least one order.

[0005] According to an embodiment of the present disclosure, determining multiple orders that can be grouped together to obtain the current order set includes: acquiring the current time, the deadline for the order, and the time required for delivery of the order; and determining that the orders can be grouped together if the difference between the deadline for the order and the current time is greater than or equal to the time required for delivery of the order.

[0006] According to an embodiment of the present disclosure, determining the delivery parameters includes: determining an n*n delivery matrix based on the starting point location information and the destination location information of each order in the current order set; wherein n=m+1, m represents the number of orders in the current order set; and determining the delivery parameters based on the delivery matrix.

[0007] According to an embodiment of the present disclosure, the determining of at least one object for the current order set includes: when the number of objects in the order collection state is 0 and the number of objects in the queue state is 0, waiting for the object to update the state; when the number of objects in the order collection state is 0 and the number of objects in the queue state is greater than 0, determining at least one object in the queue state as an object for the current order set; and when the number of objects in the order collection state is greater than 0 and the number of objects in the queue state is 0, determining the object in the order collection state as an object for the current order set.

[0008] According to an embodiment of the present disclosure, the determining of at least one object for the current order set also includes: when the number of objects in the order collection state and the number of objects in the queue state are both greater than 0, determining the maximum distances between the destination addresses of unassigned orders in the current order set and the destination addresses of each assigned order in the current order set according to the delivery parameters; and when at least one of the maximum distances is greater than or equal to a preset distance, determining at least one of the objects in the queue state as an object for the current order set.

[0009] According to an embodiment of the present disclosure, the delivery route determination method also includes: determining a delivery route that meets the departure conditions among the at least one delivery route as a departure route; and deleting an object corresponding to the departure route from the at least one object, and deleting an order corresponding to the departure route from the current order set.

[0010] According to an embodiment of the present disclosure, the departure condition includes at least one of the following: the carrying capacity of the object corresponding to the delivery route is greater than or equal to a preset carrying capacity; and the difference between the latest delivery time of the delivery route and the current time is less than a preset buffer time.

[0011] According to an embodiment of the present disclosure, determining at least one delivery route based on the delivery parameters and the at least one object includes: determining at least one set of alternative routes that satisfy constraints; wherein each set of alternative routes includes at least one alternative route; calculating the total delivery time corresponding to each set of alternative routes based on the delivery parameters; and determining the alternative route in the set of alternative routes with the shortest total delivery time in the at least one set of alternative routes as the delivery route.

[0012] According to an embodiment of the present disclosure, calculating the total delivery time corresponding to each of the alternative route sets based on the delivery parameters includes: calculating the basic delivery time corresponding to each of the alternative route sets based on the delivery parameters; calculating a first penalty time based on the number of objects to which orders have been assigned; wherein the first penalty time is positively correlated with the number of objects to which orders have been assigned; and determining the sum of the basic delivery time and the first penalty time as the total delivery time.

[0013] According to an embodiment of the present disclosure, calculating the total delivery time corresponding to each of the alternative route sets based on the delivery parameters includes: calculating the basic delivery time corresponding to each of the alternative route sets based on the delivery parameters; determining the delayed delivery order corresponding to each of the alternative route sets based on the current order set and each of the alternative route sets, and calculating the second penalty time of the delayed delivery order; wherein the second penalty time is negatively correlated with the remaining time of the delayed delivery order, and the remaining time is the difference between the deadline time of the delayed delivery order and the current time; and determining the sum of the basic delivery time and the second penalty time as the total delivery time.

[0014] Another aspect of the present disclosure provides a delivery route determination device, including a current order set determination module, a delivery parameter determination module, an object determination module, and a delivery route determination module. The current order set determination module is used to determine multiple orders that can be grouped together to obtain a current order set. The delivery parameter determination module is used to determine delivery parameters; wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between two target locations, and the target location includes a starting point location information and a destination location information for each order in the current order set. The object determination module is used to determine at least one object for the current order set. The delivery route determination module is used to determine at least one delivery route based on the delivery parameters and the at least one object, and each of the delivery routes corresponds to at least one order.

[0015] Another aspect of the present disclosure provides an electronic device, comprising one or more processors and a memory for storing one or more programs; wherein, when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in the embodiments of the present disclosure.

[0016] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the method described in the embodiments of the present disclosure when executed.

[0017] Another aspect of the present disclosure provides a computer program product, which includes computer executable instructions. When the instructions are executed, they are used to implement the method described in the embodiments of the present disclosure.

[0018] According to the embodiments of the present disclosure, since there is no need to consider the area where the delivery destination of the order is located when determining the delivery route based on at least one of the estimated delivery time and the delivery distance between two target locations, it is possible to solve the problem that multiple orders with close delivery destinations cannot be grouped together because they are divided into different areas, thereby achieving the effect of improving the grouping rate and making the delivery route more reasonable. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0020] Figure 1 An exemplary system architecture to which the delivery route determination method and apparatus of the present disclosure can be applied is schematically shown;

[0021] Figure 2 A flow chart of a method for determining a delivery route according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 3A to Figure 3E A flow chart of a method for determining a delivery route according to another embodiment of the present disclosure is schematically shown;

[0023] Figure 4 A flowchart of determining at least one object for a current order set according to an embodiment of the present disclosure is schematically shown;

[0024] Figure 5 Schematically illustrates a flow chart of determining at least one delivery route according to delivery parameters and at least one object according to an embodiment of the present disclosure;

[0025] Figure 6A to Figure 6B Schematically illustrates a flow chart of determining at least one delivery route according to delivery parameters and at least one object according to another embodiment of the present disclosure;

[0026] Figure 7 A flow chart of a method for determining a delivery route according to another embodiment of the present disclosure is schematically shown;

[0027] Figure 8 A schematic diagram schematically shows a method for determining a delivery route using an embodiment of the present disclosure to determine a collection order;

[0028] Fig. 9 A block diagram schematically shows a delivery route determination device according to an embodiment of the present disclosure; and

[0029] Fig.10 A block diagram of an electronic device suitable for implementing a method and apparatus for determining a delivery route according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0030] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0031] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0032] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.

[0033] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0034] It should be understood that in the process of delivering orders, due to the limited number of delivery personnel, a method of order aggregation is usually adopted to improve the delivery efficiency and delivery capacity of delivery personnel. Order aggregation refers to aggregating multiple orders together and delivering them by one delivery personnel, so that the delivery personnel can deliver multiple orders in sequence along a delivery route.

[0035] In the process of realizing the concept of the present disclosure, the inventors found that there are at least the following problems in the related art: In the related art, orders are generally collected by dividing the area. For example, the map is divided into different rectangular areas according to the delivery range, and orders with similar delivery times and delivery addresses in the same area are collected together for delivery. For another example, a circle is drawn with the delivery store as the center and the preset delivery distance as the radius, and the circle is divided into multiple sector areas according to the preset center angle, and orders with similar delivery times and delivery addresses in the same sector area are collected together for delivery.

[0036] With the above solution, since only orders with delivery addresses in the same area will be grouped together, orders with two delivery destinations that are close to each other cannot be grouped together because they are divided into different areas, resulting in low grouping rate and waste of manpower. At the same time, grouping depends on regional division. In order to improve the grouping rate in the later stage, it is necessary to continuously adjust the regional division results according to the actual situation, and the method is relatively complicated. In addition, the method of grouping by area cannot identify the correct traffic route, that is, the two delivery addresses in the same area are only close in straight-line distance on the map, but the actual delivery distance connecting the two delivery addresses may be affected by the traffic route. For example, two delivery addresses in the same area are distributed on both sides of the river, but the bridge across the river is far away from the two or one of the delivery addresses, resulting in the actual delivery distance between the two orders being much greater than the straight-line distance between the two, resulting in unreasonable grouping.

[0037] Figure 1 The exemplary system architecture 100 to which the delivery route determination method according to an embodiment of the present disclosure can be applied is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.

[0038] like Figure 1 As shown, the system architecture 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired and / or wireless communication links, etc.

[0039] The object responsible for delivering the order (such as a delivery person, a delivery robot, etc.) can use the terminal device 101 to interact with the server 105 through the network 104 to receive or send messages, etc. The user who places the order can use the terminal devices 102 and 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 101, 102, and 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, and / or social platform software, etc. (only for example).

[0040] The terminal devices 101 , 102 , and 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.

[0041] The server 105 may be a server that provides various services, such as a background management server (only an example) that provides support for websites browsed by users using the terminal devices 102 and 103. The background management server may analyze and process the received data such as user requests, and feed back the processing results (such as the delivery route generated according to the order information, the latest delivery time, or the departure instruction, etc.) to the terminal device 101 used by the object.

[0042] It should be noted that the delivery route determination method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the delivery route determination device provided in the embodiment of the present disclosure can generally be set in the server 105. The delivery route determination method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Correspondingly, the delivery route determination device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and / or the server 105. Alternatively, the delivery route determination method provided in the embodiment of the present disclosure can also be executed by the terminal devices 101, 102, or 103, or can also be executed by other terminal devices different from the terminal devices 101, 102, or 103. Accordingly, the delivery route determination device provided in the embodiment of the present disclosure may also be set in the terminal device 101 , 102 , or 103 , or in other terminal devices different from the terminal device 101 , 102 , or 103 .

[0043] For example, the order to be processed can be uploaded to the server 105 through the terminal devices 102, 103 and the network 104. Then the server 105 executes the delivery route determination method provided by the embodiment of the present disclosure. Then the server 105 outputs the result to the terminal device 101 used by the object through the network 104, so that the object obtains the delivery route.

[0044] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0045] Figure 2 The flowchart of the method for determining a delivery route according to an embodiment of the present disclosure is schematically shown.

[0046] like Figure 2 As shown, the method includes operations S210 to S240.

[0047] In operation S210, multiple orders that can be aggregated are determined to obtain a current order set.

[0048] The order may be any one or more of an offline retail store order, a takeaway order, and an online shopping order. The order has order information, and the order information may include one or more of the following information: destination location information (such as a delivery address), consignee name, consignee contact information, deadline, etc. In some embodiments, all orders may be determined as orders that can be consolidated, or a portion of orders may be selected from all orders as orders that can be consolidated based on the order information.

[0049] In practical applications, order information can be determined through a DMS (data management) system and data conversion. For example, order data is obtained through DMS. A large amount of order data is obtained, and part of the order data cannot be used directly, so the order data is converted into order information. For example, the order data includes a physical address such as a street name, and the physical address can be converted into a GPS coordinate, and the GPS coordinate is determined as the destination location information of the order. For example, the order data includes a deadline time period data, such as a deadline time interval of 2 pm to 2:30 pm, and the deadline time period data can be converted into a specific deadline time point, for example, the conversion results in a deadline of 2:15 pm.

[0050] In operation S220, delivery parameters are determined; wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between multiple target locations, and the target location includes a starting location information and a destination location information of each order in the current order set.

[0051] For offline retail store orders or takeaway orders, the origin location information can be the store address. For online shopping orders, the origin location information can be the courier warehouse. The destination location information can be the delivery address of the order.

[0052] The delivery distance indicates the distance from one target location on the transportation route to another target location during the delivery process along the predetermined transportation route. The delivery distance and transportation route can be determined based on a map, which can be a third-party map or a saved offline map. The estimated delivery time indicates the time required to move from one target location on the transportation route to another target location during the delivery process along the predetermined transportation route. The estimated delivery time can be calculated based on the delivery distance and the preset delivery speed, and the estimated delivery time can also be determined based on the map. It can be seen that the delivery distance and the estimated delivery time can be converted by the preset delivery speed, so in actual applications, one of the delivery distance and the estimated delivery time can be selected to implement the process of determining the delivery parameters.

[0053] The estimated delivery time between multiple target locations means that the estimated delivery time between any two target locations can be obtained from all the target locations. For example, if the three target locations are A, B, and C, the delivery parameters include the delivery time between A and B, the delivery time between A and C, and the delivery time between B and C.

[0054] It should be noted that the estimated delivery time between two target locations is affected by the delivery order. For example, the estimated delivery time from A to B is different from the estimated delivery time from B to A. In actual design, in order to make the estimated delivery time more accurate, the estimated delivery time can be determined according to the delivery order of the two target locations. In order to reduce the amount of calculation, the effect of the delivery order on the estimated delivery time of the two target locations can also be ignored, so that the delivery time from A to B is equal to the delivery time from B to A. In addition, when the difference in the estimated delivery time corresponding to the two delivery orders is small, for example, when two orders are delivered according to different delivery orders, the two estimated delivery times only differ by 1 minute, the effect of the delivery order on the estimated delivery time of the two target locations can also be ignored.

[0055] In operation S230 , at least one object for the current order set is determined.

[0056] The object represents a delivery person who can deliver orders in the current order set, such as offline retail store delivery persons, express delivery persons, and food delivery persons.

[0057] In operation S240, at least one delivery route is determined according to the delivery parameters and at least one object, and each delivery route corresponds to at least one order.

[0058] A delivery route represents the route that an object must take during the delivery of an order. Each delivery route corresponds to an object, and each delivery route includes the destination location information of at least one order. In order to improve the delivery capability, each delivery route generally includes the destination location information of multiple orders.

[0059] According to the embodiments of the present disclosure, since the area where the order is located does not need to be considered in the process of determining the delivery route, it is possible to reduce the content that needs to be configured for the business, such as area division, angle division, etc. At the same time, it is possible to reduce the impact of the area on the delivery route, solve the problem that orders with multiple delivery destinations that are close to each other cannot be grouped together because they are divided into different areas, improve the grouping rate, and improve the rationality of the delivery route.

[0060] According to the embodiment of the present disclosure, reference Figure 2 Operation S210 in may include the following operations.

[0061] Get the current time, the order's deadline, and the delivery time required for the order.

[0062] When the difference between the order deadline and the current time is greater than or equal to the time required for order delivery, it is determined that the order can be consolidated.

[0063] It should be noted that the deadline for an order may be the user's expected delivery time. The time required for delivery of an order may be the time required to deliver the order from the starting location information to the destination location information according to the traffic route without order aggregation. The time required for delivery may be determined based on a map.

[0064] The difference between the order deadline and the current time is the available time of the order. The size relationship between the available time of the order and the time required for delivery is compared. In practical applications, for example, because the user places an order late, or the picking process before delivery takes a long time, the available time of the order is less than the time required for delivery, indicating that the order has a risk of timeout. In order to fulfill the contract on time, the order needs to be delivered immediately, so the order is not aggregated. For example, the user expects the delivery time of the order to be 6 pm, the current time is 5 pm on the same day, and the delivery time is 70 minutes. Since the available time of the order is less than the delivery time, the order has a risk of timeout and needs to be delivered immediately. If the available time is greater than or equal to the delivery time, it means that the order does not need to be delivered immediately, and the order can be aggregated. For example, the user expects the delivery time of the order to be 6 pm, the current time is 10 am on the same day, and the delivery time is 1 hour. Since the available time of the order is greater than the delivery time, the order can be aggregated and does not need to be delivered immediately.

[0065] According to an embodiment of the present disclosure, since whether an order can be aggregated is determined based on the current time, the order deadline, and the time required for delivery of the order, the risk of order timeout is reduced.

[0066] According to the embodiment of the present disclosure, reference Figure 2 Operation S220 in may include the following operations.

[0067] According to the starting point location information and the destination location information of each order in the current order set, an n*n distribution matrix is ​​determined; wherein n=m+1, and m represents the number of orders in the current order set.

[0068] Determine the delivery parameters based on the delivery matrix.

[0069] It should be noted that the disclosed embodiment is applicable to the case where multiple orders are delivered starting from one starting point location information. In actual design, the delivery matrix can be generated by a program. For example, a queue of length m can be generated based on the destination location information of each order in the current order set, and then the starting point location information can be put into the head of the queue to generate a queue of length n. Then, the time matrix is ​​generated by the following method:

[0070] for i in enumerate(addr):

[0071] for j in enumerate(addr):

[0072] mat[i, j] = distance(i, j)

[0073] Where addr represents a queue of length n. mat represents an n*n delivery matrix. When the delivery parameters include the estimated delivery time between multiple target locations, distance can represent the travel time calculation function. The distance between two target locations can be obtained by calling the map, and then the estimated delivery time between the two target locations can be obtained by dividing the distance by the preset delivery speed according to the travel time calculation function. When the delivery parameters include the delivery distance between multiple target locations, distance can represent the distance between the two target locations, which can be directly obtained through the map.

[0074] Since the delivery matrix is ​​a numerical table, the estimated delivery time or distance between the starting location information and the destination location information of any order can be determined relatively easily based on the delivery matrix, and the estimated delivery time or distance between the destination location information of any two orders can also be determined, that is, at least one of the estimated delivery times and distances between multiple target locations can be determined.

[0075] Figure 3A to Figure 3EThe flowchart of a method for determining a delivery route according to another embodiment of the present disclosure is schematically shown.

[0076] like Figure 3A As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S230 in may include operation S231.

[0077] It should be understood that Figure 3A Operations S210, S220 and S240 in Figure 2 Operations S210, S220 and S240 in the embodiment are the same and will not be described in detail in this embodiment.

[0078] In operation S231, when the number of objects in the order state is 0 and the number of objects in the queue state is 0, the object update state is waited for.

[0079] The states of an object include order collection state, queue state, and delivery state. When an object is in order collection state, it means that the object has been assigned orders in the current order collection. When an object is in queue state, it means that the object has not been assigned orders and is currently idle and can deliver orders. When an object is in delivery state, it means that the delivery route that the object is responsible for has completed order collection, the object has departed from the starting location information, and is delivering orders for the delivery route that it is responsible for.

[0080] In actual applications, the situation in operation S231 may be that none of the orders in the current order set are assigned to an object, and there is no object in the store or express warehouse that can deliver the order. For example, the offline retail store has not yet started business, the object responsible for delivery is not at work, and the offline retail store has received the order. It can also be that the offline retail store is in business, and after the objects responsible for delivery have left the store, the offline retail store has accepted a new order. Since there are orders to be collected at this time, but no object can perform delivery work, it is waiting for the object to update its status.

[0081] like Figure 3B As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S230 in may include operation S232.

[0082] It should be understood that Figure 3B Operations S210, S220 and S240 in Figure 2 Operations S210, S220 and S240 in the embodiment are the same and will not be described in detail in this embodiment.

[0083] In operation S232, when the number of objects in the order collection state is 0 and the number of objects in the queue state is greater than 0, at least one object in the queue state is determined as an object for the current order collection.

[0084] In actual applications, the situation in operation S232 may be that none of the orders in the current order set is assigned to an object, and there is an object in the store that can deliver the order. At this time, at least one object in a queue state is determined as an object for the current order set, so that the object can be assigned an order in the current order set.

[0085] like Figure 3C As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S230 in may include operation S233.

[0086] It should be understood that Figure 3C Operations S210, S220 and S240 in Figure 2 Operations S210, S220 and S240 in the embodiment are the same and will not be described in detail in this embodiment.

[0087] In operation S233, when the number of objects in the order collection state is greater than 0 and the number of objects in the queue state is 0, the objects in the order collection state are determined as objects for the current order set.

[0088] In actual applications, the situation in operation S232 may be that all objects in the store that can deliver orders are assigned orders in the current order set.

[0089] like Figure 3D As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S230 in the embodiment may include operations S234 to S235.

[0090] It should be understood that Figure 3D Operations S210, S220 and S240 in Figure 2 Operations S210, S220 and S240 in the embodiment are the same and will not be described in detail in this embodiment.

[0091] In operation S234, when the number of objects in the order collection state and the number of objects in the queue state are both greater than 0, the maximum distances between the destination addresses of the unassigned orders in the current order set and the destination addresses of each assigned order in the current order set are determined according to the delivery parameters.

[0092] Before determining the maximum distance, you need to first determine the orders that have been collected in the current order set, so as to divide the orders in the current order set into assigned orders and unassigned orders. In the process of determining the maximum distance, the following methods can be used:

[0093] max_time=0

[0094] for i in enumerate(O):

[0095] for j in enumerate(Ou):

[0096] max_time=max(max_time,mat(i,j))

[0097] Among them, O represents an assigned order, and Ou represents an unassigned order.

[0098] In operation S235, when at least one of the maximum distances is greater than or equal to a preset distance, at least one object in a queue state is determined as an object for a current order set.

[0099] A maximum distance greater than or equal to the preset distance indicates that the distance between the destination location information of the unassigned order and the destination location information of the assigned order is far, and the unassigned order is not suitable for being grouped with the assigned order. Therefore, the number of objects for the current order collection is increased to avoid timeout of long-distance orders.

[0100] like Figure 3E As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S230 in the embodiment may further include operation S236, which is performed after operation S234.

[0101] It should be understood that Figure 3E Operations S210, S220 and S240 in Figure 2 Operations S210, S220 and S240 in the embodiment are the same and will not be described in detail in this embodiment.

[0102] In operation S236, when the maximum distance is less than the preset distance, the object in the order collection state is determined as the object for the current order collection.

[0103] The maximum distance is less than the preset distance, which means that the distance between the destination location information of the unassigned order and the destination location information of the assigned order is closer. The unassigned order can be grouped with any assigned order. The unassigned order can be delivered on time without increasing the number of objects for the current order collection. Therefore, there is no need to increase the number of objects for the current order collection.

[0104] It should be noted that Figure 3A to Figure 3E Five parallel schemes are described. Considering the various situations in the actual distribution process, some operations in the above five parallel schemes S231 to S236 can also be combined in other ways to implement the method of operation S230. When the above operations are combined, Figure 4The process shown is used to implement the method corresponding to operation S230.

[0105] like Figure 4 As shown, reference Figure 2 Operation S230 in the embodiment may include operations S410 to S490.

[0106] In operation S410, it is determined whether there is an object in a collection state. If so, operation S420 is executed; if not, operation S470 is executed.

[0107] In operation S420, it is determined whether there is an object in a queue state. If yes, operation S430 is executed; if no, operation S460 is executed.

[0108] In operation S430, it is determined whether at least one of the maximum distances is greater than or equal to a preset distance. If so, operation S440 is performed; if not, operation S450 is performed.

[0109] In operation S440, at least one object in a queue state is determined as an object for the current order set.

[0110] In operation S450, the object in the order collection state is determined as the object for the current order collection.

[0111] In operation S460, the object in the order collection state is determined as the object for the current order collection.

[0112] In operation S470, it is determined whether there is an object in a queue state. If yes, operation S480 is executed; if no, operation S490 is executed.

[0113] In operation S480, at least one object in a queue state is determined as an object for the current order set.

[0114] In operation S490, the object update status is waited for.

[0115] According to an embodiment of the present disclosure, the delivery route determination method may further include the following operations.

[0116] Determine the latest delivery time for the delivery route.

[0117] It should be noted that an order has a delivery time, a deadline, and the latest delivery time of the order. The delivery time of an order means: the time it takes to deliver the order from the starting location information to the destination location information of the order when moving along the delivery route. For example, the delivery route includes starting from the starting location information, first delivering order M, and then delivering order N. It takes 10 minutes to go from the starting location information to the destination location information of order M, and it takes 20 minutes from the destination location information of order M to the destination location information of order N. The delivery time of order M is 10 minutes, and the delivery time of order N is 30 minutes. Subtract the delivery time of the order from the deadline of the order to get the latest delivery time of the order. For example, if the deadline of order N is 5 pm, in order to avoid timeout of order N, the object needs to depart before 4:30 to deliver the delivery route where order N is located, so the latest delivery time of order N is 4:30.

[0118] Each delivery route can contain multiple orders. Since each order has a latest delivery time, in order to ensure that all orders in the delivery route are delivered on time, the earliest of the latest delivery times of multiple orders in the delivery route is determined as the latest delivery time of the delivery route. For example, a delivery route includes three orders, and the latest delivery times of the three orders are 3:00, 3:15, and 3:10 respectively. Then the latest delivery time of the delivery route is 3:00.

[0119] In the disclosed embodiment, the latest delivery time of the delivery route can also be determined to avoid the problem of order timeout due to the late departure time of the object. In practical applications, the determined delivery route and the latest delivery time corresponding to the delivery route can be output to the TMS system (Transportation Management System), and the object can be notified through the TMS system.

[0120] According to an embodiment of the present disclosure, the delivery route determination method may further include the following operations.

[0121] A delivery route that meets the departure condition among the at least one delivery route is determined as a departure route.

[0122] The object corresponding to the departure route is deleted from at least one object, and the order corresponding to the departure route is deleted from the current order set.

[0123] It should be noted that the departure condition can be determined based on at least one of the carrying capacity of the object and the latest delivery time. The route that does not meet the departure condition is a waitable route, and the orders and objects corresponding to the waitable route can continue to be collected. The route that meets the departure condition is the departure route, and the orders and objects corresponding to the departure route are no longer collected, and the object can be notified to deliver all orders on the departure route immediately. Since the delivery parameters are determined based on the current order set, after the order corresponding to the departure route is deleted from the current order set, the order of the departure route will also be deleted from the delivery parameters. The disclosed embodiment can update the current order set, the objects for the current order set, and the delivery parameters, so that the orders that have been collected can be delivered in a timely manner.

[0124] According to an embodiment of the present disclosure, the departure condition may include: the carrying capacity of the object corresponding to the delivery route is greater than or equal to a preset carrying capacity.

[0125] The carrying capacity indicates the number of orders that the object carries when it departs from the starting location information. The preset carrying capacity may be a preset fixed value, for example, the preset carrying capacity of each object is 7. The preset carrying capacity may also be determined based on the total mass and / or total volume of the orders of the departure route, so that the total mass and / or total volume of the orders of the departure route set is within a preset range.

[0126] According to an embodiment of the present disclosure, the departure condition may include: the difference between the latest delivery time of the delivery route and the current time is less than a preset buffer time.

[0127] The latest delivery time of the delivery route can refer to the description in the above embodiment. The buffer time is a preset value, such as 5 minutes, 10 minutes, etc. The buffer time is used to provide a time margin for the object. In practical applications, it is considered that the object will be delayed during the delivery process due to waiting for red lights, etc., resulting in the problem of delivery timeout. The embodiment of the present disclosure sets a buffer time, and the object can depart before the latest delivery time of the delivery route. The time for early departure is less than or equal to the buffer time, thereby avoiding order timeout.

[0128] The buffer time can also prevent the object from timing out due to new orders being assigned near the departure time. For example, if the delivery route reaches the latest delivery time after 7 minutes, and the buffer time is 5 minutes, the delivery route can wait for 2 minutes and does not need to be delivered temporarily. At this time, a new order is generated, and the new order is more on the same route as the delivery route of the object, so the new order is assigned to the object. The number of orders for the pacing route that the object is responsible for increases by one, resulting in an increase in the time for delivering the delivery route, and the latest delivery time of the delivery route after adding the new order will also be advanced. For example, the difference between the latest delivery time of the delivery route after adding the new order and the current time is 2 minutes. At this time, the current time does not exceed the latest delivery time. The object can be notified to set off immediately to deliver the delivery route after adding the new order, thereby avoiding order timeouts.

[0129] Figure 5 The flowchart of determining at least one delivery route according to delivery parameters and at least one object according to an embodiment of the present disclosure is schematically shown.

[0130] like Figure 5 As shown, according to the embodiment of the present disclosure, reference Figure 2 Operation S240 in the embodiment may include operations S241 to S243.

[0131] In operation S241 , at least one candidate route set satisfying a constraint condition is determined; wherein each candidate route set includes at least one candidate route.

[0132] The constraint condition may include at least one of a time window constraint condition, an object carrying capacity constraint condition, and an order-object correspondence constraint condition.

[0133] For the time window constraint, the latest delivery time of each order can be determined according to the deadline of the orders in the current order set, and a callback function of the time window constraint can be generated to obtain the time window constraint.

[0134] For the object carrying capacity constraint condition, a callback function for constraining the object's carrying capacity may be generated according to the object's carrying capacity to obtain the object carrying capacity constraint condition.

[0135] For the order-object correspondence constraint, the corresponding constraint callback function between the constraint object and the order can be generated according to the correspondence between the assigned order and the object, and the order-object correspondence constraint can be obtained. Through the order-object correspondence constraint, the object can be bound to the order assigned to the object. After updating the current order set, the order assigned to the first object will not be reassigned to the second object. Therefore, after the object is assigned an order, it can immediately obtain the order that has been produced, and there will be no problems such as order accumulation, difficulty in finding orders, and order exchange. In addition, since the order-object correspondence constraint is not related to the distance, after the object is assigned to a new order, the delivery route can be re-determined according to the new order and the order that has been assigned to the object.

[0136] It should be noted that the embodiments of the present disclosure can be combined with other embodiments to implement the delivery route determination method of the present disclosure. For example, when the constraint condition includes the constraint condition of the correspondence between orders and objects, in the process of executing operation S230 of the above embodiment, the mapping relationship between objects and orders can be stored through key-value pairs, the object id is determined as the key, and the order assigned to the object is determined as the value. When the object has no assigned order, the value corresponding to the object id is empty. For example, when the constraint condition includes the constraint condition of the correspondence between orders and objects, in the process of executing the above embodiment of the disclosure to delete the object corresponding to the departure route from at least one object and delete the order corresponding to the departure route from the current order set, the order of the new set order can also be written into the value of the corresponding object id.

[0137] The alternative route set includes at least one alternative route, and at least one order can be delivered by walking along the alternative route. It should be noted that there can be multiple alternative route sets that meet the constraint conditions, especially when the number of orders in the current order set is small, but the number of objects for the current order set is large. For example, the current order set includes orders A, B, C, D, and E, and there are two objects for the current order set. There can be two alternative route sets that meet the constraint conditions. The first alternative route set includes 1 alternative route, which covers orders A, B, C, D, and E, that is, one object delivers orders A, B, C, D, and E according to one alternative route, and the other object does not assign orders. The second alternative route set includes 2 alternative routes, the first alternative route covers orders A, B, and C, and the second alternative route covers orders D and E, that is, the first object delivers orders A, B, and C according to the first alternative route, and the second object delivers orders D and E according to the second alternative route.

[0138] In operation S242, the total delivery time corresponding to each set of candidate routes is calculated according to the delivery parameters.

[0139] The total delivery time corresponding to the alternative route set may include the sum of the basic delivery times of all the alternative routes in the alternative route set. The basic delivery time of the alternative route means: the object moves along the alternative route, starting from the starting point location information, and delivers each order in the alternative route until the time required for the last order in the alternative route to be delivered is completed. The basic delivery time of the alternative route may not include the time it takes for the object to return from the destination location of the last delivered order to the starting location. For example, for the second alternative route set mentioned above, its total delivery time is the sum of the basic delivery time of the first alternative route and the basic delivery time of the second alternative route, that is, the total delivery time is the sum of the time required for the first object to complete the delivery of orders A, B, and C, and the time required for the second object to complete the delivery of orders D and E.

[0140] The total delivery time corresponding to the alternative route set may also include the sum of the basic delivery times of all the alternative routes in the alternative route set, and also include a penalty time. The penalty time may be determined based on the number of objects assigned with orders, and / or the penalty time may be determined based on the difference between the number of orders in the alternative route set and the number of orders in the current order set. The penalty time may be 0, in which case the total delivery time corresponding to the alternative route set is equal to the sum of the basic delivery times of all the alternative routes in the alternative route set.

[0141] In operation S243, the alternative route set with the shortest total delivery time in at least one alternative route set is determined as the delivery route set, and the alternative routes in the delivery route set are determined as the delivery routes.

[0142] In practical applications, the basic delivery time of the alternative routes can be determined based on delivery parameters, order information, object information, etc. The calculation tool used to calculate the total delivery time may be or-tools. For example, the constraints are brought into the solver, and the input parameters of the solver include the delivery parameters and the objects for the current order set. Through the heuristic algorithm, a near-optimal solution that satisfies the constraints can be calculated, that is, a delivery route that satisfies the constraints and has a shorter distance is calculated. In addition, the embodiment of the present disclosure has no requirements on the number of orders in the current order set, and has a wide range of applicability.

[0143] Optionally, in other embodiments, when the number of orders in the current order set is small, all paths may be searched to ensure that a delivery route with the shortest total delivery distance is found.

[0144] Figure 6A to Figure 6B A flowchart for calculating the total delivery time corresponding to each set of alternative routes based on delivery parameters according to another embodiment of the present disclosure is schematically shown.

[0145] like Fig. 6A As shown, it should be understood that Fig. 6A Operations S241 and S243 in Figure 5 Operations S241 and S243 in the embodiment correspond to each other and are not described in detail in this embodiment.

[0146] According to an embodiment of the present disclosure, considering that the number of orders in the current order set is small, while the number of objects for the current order set is large, there will be multiple alternative route sets that meet the constraint conditions. In order to select an alternative route set from multiple alternative route sets, the above operation S242 may include operation S2421, and operation S2421 may include the following operations.

[0147] According to the delivery parameters, calculate the basic delivery time corresponding to each set of alternative routes.

[0148] The first penalty duration is calculated according to the number of objects to which orders have been assigned; wherein the first penalty duration is positively correlated with the number of objects to which orders have been assigned.

[0149] The sum of the basic delivery time and the first penalty time is determined as the total delivery time.

[0150] It should be noted that the basic delivery time of the alternative routes can be explained in the above. Among the objects for the current order set, all objects may be assigned orders. For example, if there are 5 objects for the current order set, all 5 objects are assigned orders, and the 5 objects are responsible for a delivery route respectively. It is also possible that some objects are assigned orders. For example, there are 5 objects for the current order set, 3 of which are assigned orders, and the remaining 2 objects are objects for the current order set, but are not assigned orders.

[0151] The penalty durations corresponding to the objects may be the same. For example, the penalty duration corresponding to each object is 30 minutes. When the number of objects in the current order set is 5 and the number of objects assigned with orders is 3, the first penalty duration is 90 minutes.

[0152] By applying the method of the embodiments of the present disclosure, since the total delivery time is related to the first penalty time, the number of objects of the delivery order can be reduced while satisfying the constraint conditions, achieving the effect of having fewer objects deliver more orders, thereby saving labor costs.

[0153] For example, given the current order set, if the constraints are met, the basic delivery time for the current order set to be delivered by 5 objects is 20 minutes less than the basic delivery time for the current order set to be delivered by 4 objects. Since the embodiment of the present disclosure is provided with a first penalty time, when the number of objects assigned with orders increases from 4 to 5, the first penalty time increases by 30 minutes, so the total delivery time for the current order set to be delivered by 4 objects will be 10 minutes less than the total delivery time for the current order set to be delivered by 5 objects. Therefore, in the subsequent operation S243, orders will be assigned to 4 objects, and 4 delivery routes will be determined.

[0154] like Figure 6B As shown, it should be understood that Figure 6B Operations S241 and S243 in Figure 5 Operations S241 and S243 in the embodiment correspond to each other and are not described in detail in this embodiment.

[0155] According to an embodiment of the present disclosure, in order to make the alternative route set cover more orders in the current order set and avoid order timeout, the above operation S242 may include operation S2422, and operation S2422 may include the following operations.

[0156] Calculate the basic delivery time corresponding to each set of alternative routes based on the delivery parameters.

[0157] According to the current order set and each alternative route set, the delayed delivery order corresponding to each alternative route set is determined, and the second penalty duration of the delayed delivery order is calculated; wherein the second penalty duration is negatively correlated with the remaining duration of the delayed delivery order, and the remaining duration is the difference between the deadline of the delayed delivery order and the current time.

[0158] The sum of the basic delivery time and the second penalty time is determined as the total delivery time.

[0159] It should be noted that in the process of determining the set of alternative routes, due to constraints, there may be a situation where the set of alternative routes cannot cover all orders in the current order set. Orders that cannot be covered by the set of alternative routes are delayed delivery orders. For example, the current order set includes 15 orders, and the determined set of alternative routes includes two alternative routes. The first alternative route includes the destination location information of 6 orders in the current order set, that is, the first alternative route collects 6 orders, and the second alternative route collects 7 orders. Then there are 2 orders in the current order set that are not covered by the set of alternative routes, and these 2 orders are delayed delivery orders.

[0160] By applying the method of the embodiments of the present disclosure, since the total delivery time is related to the second penalty time, the priority of the order can be determined according to the remaining time of the order, and orders with shorter remaining time can be delivered first, thereby avoiding overdue orders with shorter remaining time.

[0161] For example, there are two determined alternative delivery route sets, and the first alternative delivery route set covers more orders M than the second alternative delivery route set. The increase in the number of orders will cause the basic delivery time to increase accordingly. The basic delivery time of the first alternative delivery route set is 10 minutes longer than the basic delivery time of the second alternative delivery route set. Since the embodiment of the present disclosure is provided with a second penalty time, the failure of the second alternative delivery route set to cover order M will incur a second penalty time of 30 minutes. As a result, the calculated total delivery time of the second alternative delivery route set is 20 minutes longer than the total delivery time of the first alternative delivery route set. Therefore, in the subsequent operation S243, the delivery route will be determined based on the first alternative delivery route set.

[0162] It should be noted that the method corresponding to operation S242 can be implemented through operation S2421, or the method corresponding to operation S242 can be implemented through operation S2422. Operation S2421 and operation S2422 can also be used in combination. When the two are combined, since both include the operation of calculating the basic delivery time corresponding to each set of alternative routes according to the delivery parameters, the above repeated operations can be deleted from operation S2421, or deleted from operation S2422. Accordingly, the above operation S243 needs to be adjusted to determine the sum of the basic delivery time, the second penalty time and the second penalty time as the total delivery time.

[0163] In addition, in practical applications, when the solver described in the above disclosed embodiment is used to determine a set of alternative routes, the input parameters of the solver may also include at least one of the first penalty duration and the second penalty duration.

[0164] like Figure 7 As shown, the delivery route determination method disclosed in the present invention is described below with a specific embodiment. The method includes operations S710 to S7110.

[0165] In operation S710, the current time, the order deadline, and the time required for order delivery are obtained, for example, order data is obtained through a DMS system, order information is extracted from the order data, and the time required for order delivery is determined through a map.

[0166] In operation S720, when the difference between the order deadline and the current time is greater than or equal to the delivery time required for the order, it is determined that the order can be aggregated, and the current order set is obtained. For example, based on the order information, the delivery time required and the current time, the orders that can be aggregated are determined, and the current order set is obtained. For orders that cannot be aggregated, delivery instructions can be generated so that the orders that cannot be aggregated are delivered immediately.

[0167] In operation S730, an n*n distribution matrix is ​​determined based on the starting point location information and the destination location information of each order in the current order set, where n=m+1, and m represents the number of orders in the current order set. For example, a distribution matrix is ​​generated based on the destination location information and the starting point location information of the orders in the current order set, and the distribution matrix is ​​a time matrix or a distance matrix.

[0168] In operation S740, delivery parameters are determined according to the delivery matrix.

[0169] In operation S750, at least one object for the current order set is determined. Figure 4 The operations S410 to S490 shown implement the method of operation S750. In addition, the object and the order assigned to the object can establish a mapping relationship through a key-value pair, for example, the key is the object id, and the value is the order assigned to the object.

[0170] In operation S760, at least one set of alternative routes satisfying the constraint condition is determined, wherein each set of alternative routes includes at least one alternative route. For example, at least one set of alternative delivery routes satisfying the constraint condition is determined by combining the delivery matrix, order information, objects for the current order set, and the like.

[0171] In operation S770, the total delivery time corresponding to each set of alternative routes is calculated based on the delivery parameters. For example, the constraints are brought into the solver, and the delivery matrix, the objects of the current order set, the penalty time for the number of objects, and the penalty time for delayed delivery orders are used as input parameters of the solver. The total delivery time of the set of alternative delivery routes is calculated through a heuristic algorithm.

[0172] In operation S780, the alternative route set with the shortest total delivery time in at least one alternative route set is determined as the delivery route set, and the alternative routes in the delivery route set are determined as the delivery routes.

[0173] In operation S790, the latest delivery time of the delivery route is determined. The delivery route and the latest delivery time corresponding to the delivery route can be output to the TMS system.

[0174] In operation S7100, the delivery route that meets the departure conditions among at least one delivery route is determined as the departure route. For example, the latest delivery time of each delivery route is compared with the current time. If the sum of the current time and the preset buffer time is greater than the latest delivery time of the delivery route, or the object of the delivery route has reached the preset carrying capacity, the delivery route is marked as the departure route, and a departure instruction can be generated so that the object can immediately deliver the orders of the departure route. Delivery routes other than the departure route are waiting routes, and the orders corresponding to the waiting routes can continue to be collected.

[0175] In operation S7110, the object corresponding to the departure route is deleted from at least one object, and the order corresponding to the departure route is deleted from the current order set. This operation can update the current order set, object id and delivery matrix, and can also write the order of the new set into the value corresponding to the object id.

[0176] Figure 8 A schematic diagram of determining a collection order using a delivery route determination method according to an embodiment of the present disclosure is schematically shown. Figure 8 In the figure, the star-shaped icon indicates the origin location, and the circular icon indicates the destination location of the order. Figure 8 Three broken lines are shown, each of which represents a collection plan, and a collection plan corresponds to a delivery route. It can be understood that the broken line only represents the delivery order of multiple orders in the same delivery route, and the delivery route in the process of delivering orders needs to be determined in combination with the traffic route.

[0177] Fig. 9 The block diagram of the delivery route determination device 900 according to an embodiment of the present disclosure is schematically shown.

[0178] like Fig. 9 As shown, the delivery route determination device 900 includes a current order set determination module 910, a delivery parameter determination module 920, an object determination module 930 and a delivery route determination module 940. The current order set determination module 910 is used to determine multiple orders that can be grouped together to obtain the current order set. The delivery parameter determination module 920 is used to determine the delivery parameters; wherein the delivery parameters include at least one of the estimated delivery time and the delivery distance between two target locations, and the target location includes the starting point location information and the destination location information of each order in the current order set. The object determination module 930 is used to determine at least one object for the current order set. The delivery route determination module 940 is used to determine at least one delivery route based on the delivery parameters and at least one object, and each delivery route corresponds to at least one order.

[0179] According to an embodiment of the present disclosure, the current order set determination module 910 includes a time acquisition submodule and a determination submodule. The time acquisition submodule is used to acquire the current time, the deadline of the order, and the time required for the delivery of the order. The determination submodule is used to determine that the order can be aggregated when the difference between the deadline of the order and the current time is greater than or equal to the time required for the delivery of the order.

[0180] According to an embodiment of the present disclosure, the delivery parameter determination module 920 includes a delivery matrix determination submodule and a delivery parameter determination submodule. The delivery matrix determination submodule is used to determine an n*n delivery matrix according to the starting point location information and the destination location information of each order in the current order set; wherein n=m+1, and m represents the number of orders in the current order set. The delivery parameter determination submodule is used to determine the delivery parameters according to the delivery matrix.

[0181] According to an embodiment of the present disclosure, the object determination module 930 includes at least one of an object determination first submodule, an object determination second submodule and an object determination third submodule. The object determination first submodule is used to wait for the object to update the status when the number of objects in the order collection state is 0 and the number of objects in the queue state is 0. The object determination second submodule is used to determine at least one object in the queue state as an object for the current order set when the number of objects in the order collection state is 0 and the number of objects in the queue state is greater than 0. The object determination third submodule is used to determine the objects in the order collection state as objects for the current order set when the number of objects in the order collection state is greater than 0 and the number of objects in the queue state is 0.

[0182] According to an embodiment of the present disclosure, the object determination module 930 includes a maximum distance determination submodule and an object addition submodule. The maximum distance determination submodule is used to determine the maximum distance between the destination address of the unassigned orders in the current order set and the destination address of each assigned order in the current order set according to the delivery parameters when the number of objects in the order collection state and the number of objects in the queue state are both greater than 0. The object addition submodule is used to determine at least one object in the queue state as an object for the current order set when at least one of the maximum distances is greater than or equal to a preset distance.

[0183] According to an embodiment of the present disclosure, the delivery route determination device 900 further includes a departure route determination module and an object and order deletion module. The departure route determination module is used to determine the delivery route that meets the departure condition in at least one delivery route as the departure route. The object and order deletion module is used to delete the object corresponding to the departure route from at least one object, and delete the order corresponding to the departure route from the current order set.

[0184] According to an embodiment of the present disclosure, the departure condition includes at least one of the following: the carrying capacity of the object corresponding to the delivery route is greater than or equal to the preset carrying capacity; and the difference between the latest delivery time of the delivery route and the current time is less than the preset buffer time.

[0185] According to an embodiment of the present disclosure, the delivery route determination module 940 includes an alternative route set determination submodule, a total delivery time calculation submodule and a delivery route determination submodule. The alternative route set determination submodule is used to determine at least one alternative route set that meets the constraint conditions; wherein each alternative route set includes at least one alternative route. The total delivery time calculation submodule is used to calculate the total delivery time corresponding to each alternative route set based on the delivery parameters. The delivery route determination submodule is used to determine the alternative route in the alternative route set with the shortest total delivery time in at least one alternative route set as the delivery route.

[0186] According to an embodiment of the present disclosure, the total delivery time calculation submodule includes a basic delivery time determination unit, a first penalty time calculation unit and a first total delivery time determination unit. The basic delivery time determination unit is used to calculate the basic delivery time corresponding to each set of alternative routes according to the delivery parameters. The first penalty time calculation unit is used to calculate the first penalty time according to the number of objects to which orders have been assigned; wherein the first penalty time is positively correlated with the number of objects to which orders have been assigned. The first total delivery time determination unit is used to determine the sum of the basic delivery time and the first penalty time as the total delivery time.

[0187] According to an embodiment of the present disclosure, the total delivery time calculation submodule includes a first penalty time calculation unit, a second penalty time calculation unit and a second total delivery time determination unit. The first penalty time calculation unit is used to calculate the basic delivery time corresponding to each alternative route set according to the delivery parameters. The second penalty time calculation unit is used to determine the delayed delivery order corresponding to each alternative route set according to the current order set and each alternative route set, and calculate the second penalty time of the delayed delivery order; wherein the second penalty time is negatively correlated with the remaining time of the delayed delivery order, and the remaining time is the difference between the deadline of the delayed delivery order and the current time. The second total delivery time determination unit is used to determine the sum of the basic delivery time and the second penalty time as the total delivery time.

[0188] It should be noted that the embodiments of the device part of the present disclosure are the same or similar to the embodiments of the method part of the present disclosure, and the present disclosure will not repeat them here.

[0189] According to the embodiments of the present invention, any one or more of the modules, submodules, and units, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, and units can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, and units can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, and units can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.

[0190] For example, any multiple of the current order set determination module 910, the delivery parameter determination module 920, the object determination module 930, and the delivery route determination module 940 can be combined in one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the current order set determination module 910, the delivery parameter determination module 920, the object determination module 930, and the delivery route determination module 940 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, at least one of the current order set determination module 910, the delivery parameter determination module 920, the object determination module 930, and the delivery route determination module 940 may be at least partially implemented as a computer program module, which may perform corresponding functions when executed.

[0191] Fig.10 A block diagram of an electronic device 1000 suitable for implementing the above-described method and apparatus according to an embodiment of the present disclosure is schematically shown. Fig.10The electronic device 1000 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0192] like Fig.10 As shown, the electronic device 1000 according to an embodiment of the present disclosure includes a processor 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage part 1008 into a random access memory (RAM) 1003. The processor 1001 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1001 may also include an onboard memory for caching purposes. The processor 1001 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0193] In RAM 1003, various programs and data required for the operation of electronic device 1000 are stored. Processor 1001, ROM 1002 and RAM 1003 are connected to each other via bus 1004. Processor 1001 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 1002 and / or RAM 1003. It should be noted that the program can also be stored in one or more memories other than ROM 1002 and RAM 1003. Processor 1001 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in one or more memories.

[0194] According to an embodiment of the present disclosure, the electronic device 1000 may further include an input / output (I / O) interface 1005, which is also connected to the bus 1004. The system 1000 may further include one or more of the following components connected to the I / O interface 1005: an input section 1006 including a keyboard, a mouse, etc.; an output section 1007 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, a modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1010 as needed, so that a computer program read therefrom is installed into the storage section 1008 as needed.

[0195] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1009, and / or installed from the removable medium 1011. When the computer program is executed by the processor 1001, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0196] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0197] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus, or device.

[0198] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 1002 and / or the RAM 1003 described above and / or one or more memories other than the ROM 1002 and the RAM 1003 .

[0199] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0200] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0201] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A method for determining a delivery route, comprising: Determine multiple orders that can be grouped together and obtain the current order set; Determine delivery parameters, wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between multiple target locations, and the target location includes starting location information and destination location information of each order in the current order set; determining at least one object for the current order set; and Determine at least one delivery route according to the delivery parameter and the at least one object, each delivery route corresponding to at least one order; Wherein, determining at least one delivery route according to the delivery parameter and the at least one object comprises: Determine at least one set of alternative routes that meet the constraint conditions; wherein each set of alternative routes includes at least one alternative route, and the constraint conditions include at least one of a time window constraint condition, an object carrying capacity constraint condition, and an order-object correspondence constraint condition; Calculate the total delivery time corresponding to each set of alternative routes according to the delivery parameters; Determine, in the at least one set of alternative routes, an alternative route in the set of alternative routes with the shortest total delivery time as the delivery route; The step of calculating the total delivery time corresponding to each set of alternative routes according to the delivery parameters includes: The constraints are brought into the solver, and the delivery matrix, the objects for the current order set, the first penalty time that is positively correlated with the number of objects assigned orders, and the second penalty time that is negatively correlated with the remaining time of delayed delivery orders are used as input parameters of the solver. The total delivery time of the set of alternative delivery routes is calculated through a heuristic algorithm.

2. The method according to claim 1, wherein: Determining multiple orders that can be grouped together to obtain a current order set includes: Get the current time, order cut-off time, and how long it will take to ship your order; and When the difference between the deadline time of the order and the current time is greater than or equal to the time required for delivery of the order, it is determined that the order can be consolidated.

3. The method according to claim 1, wherein: Determining the delivery parameters includes: Determine an n*n delivery matrix according to the starting point location information and the destination location information of each order in the current order set, wherein n=m+1, and m represents the number of orders in the current order set; and The delivery parameters are determined according to the delivery matrix.

4. The method according to claim 1, wherein: The determining of at least one object for the current order set includes at least one of the following: When the number of objects in the collection state is 0 and the number of objects in the queue state is 0, wait for the object to update its state; When the number of objects in the order collection state is 0 and the number of objects in the queue state is greater than 0, determining at least one object in the queue state as an object for the current order set; as well as When the number of objects in the order collection state is greater than 0 and the number of objects in the queue state is 0, the objects in the order collection state are determined as objects for the current order set.

5. The method according to claim 1, wherein: The determining at least one object for the current order set comprises: When the number of objects in the order collection state and the number of objects in the queue state are both greater than 0, determining the maximum distance between the destination address of the unassigned order in the current order set and the destination address of each assigned order in the current order set according to the delivery parameter; and In a case where at least one of the maximum distances is greater than or equal to a preset distance, at least one of the objects in the queue state is determined as an object for the current order set.

6. The method according to claim 1, further comprising: Determining a delivery route that satisfies the departure condition among the at least one delivery route as a departure route; as well as The object corresponding to the departure route is deleted from the at least one object, and the order corresponding to the departure route is deleted from the current order set.

7. The method according to claim 6, wherein: The departure condition includes at least one of the following: The carrying capacity of the object corresponding to the delivery route is greater than or equal to the preset carrying capacity; and The difference between the latest delivery time of the delivery route and the current time is less than the preset buffer time.

8. The method according to claim 1, wherein: The calculating, according to the delivery parameters, the total delivery time corresponding to each of the alternative route sets comprises: Calculate the basic delivery time corresponding to each of the alternative route sets according to the delivery parameters; Calculating a first penalty duration based on the number of objects to which orders have been assigned; and The sum of the basic delivery time and the first penalty time is determined as the total delivery time.

9. The method according to claim 1, wherein: The calculating, according to the delivery parameters, the total delivery time corresponding to each of the alternative route sets comprises: Calculate the basic delivery time corresponding to each of the alternative route sets according to the delivery parameters; Determine, according to the current order set and each of the alternative route sets, a delayed delivery order corresponding to each of the alternative route sets, and calculate a second penalty duration of the delayed delivery order, wherein the remaining duration is a difference between a deadline of the delayed delivery order and a current time; and The sum of the basic delivery time and the second penalty time is determined as the total delivery time.

10. A delivery route determination device, comprising: The current order set determination module is used to determine multiple orders that can be grouped together to obtain the current order set; A delivery parameter determination module, used to determine delivery parameters; wherein the delivery parameters include at least one of an estimated delivery time and a delivery distance between two target locations, and the target location includes a starting location information and a destination location information of each order in the current order set; an object determination module, configured to determine at least one object for the current order set; and A delivery route determination module, used to determine at least one delivery route according to the delivery parameters and the at least one object, each of the delivery routes corresponding to at least one order; Wherein, the delivery route determination module includes: The alternative route set determination submodule is used to determine at least one alternative route set that satisfies the constraint conditions; wherein each alternative route set includes at least one alternative route, and the constraint conditions include at least one of the time window constraint conditions, the object carrying capacity constraint conditions, and the order-object correspondence constraint conditions; the total delivery time calculation submodule is used to calculate the total delivery time corresponding to each of the alternative route sets according to the delivery parameters; the delivery route determination submodule is used to determine the alternative route in the alternative route set with the shortest total delivery time in at least one alternative route set as the delivery route; Among them, the total delivery time calculation submodule is also used to bring the constraint conditions into the solver, and use the delivery matrix, the objects for the current order set, the first penalty time that is positively correlated with the number of objects assigned with orders, and the second penalty time that is negatively correlated with the remaining time of the delayed delivery order as input parameters of the solver, and calculate the total delivery time of the set of alternative delivery routes through a heuristic algorithm.

11. An electronic device, comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 9.

12. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 9.

13. A computer program product comprising computer executable instructions, which when executed are used to implement the method of any one of claims 1 to 9.

Citation Information

Patent Citations

  • Order distribution path generation method and apparatus

    CN107679656A

  • Scheduling method and device, electronic equipment and storage medium

    CN113095553A