Goods co-loading sequence construction and vehicle and goods matching method for unmanned vehicle goods taking and delivery
By constructing a shared loading sequence that meets the vehicle's battery power and load limits, the problem of range anxiety for electric unmanned vehicles has been solved, enabling efficient pickup and delivery of goods for individual urban users and improving vehicle utilization, thus forming an adaptive logistics scheduling system.
Patent Information
- Application Number
- CN202511680725.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-17
- Publication Date
- 2026-02-13
AI Technical Summary
Existing logistics and delivery scheduling methods fail to effectively combine vehicle battery status, cargo loading sequence, and task matching, leading to range anxiety and resource waste for electric unmanned vehicles, making it difficult to meet the scattered cargo pickup and delivery needs of individual urban users.
By acquiring vehicle information and order requirements, a shared loading sequence that meets the vehicle's remaining driving range is constructed. The sequence is then iteratively filtered and matched with the cargo. Events that do not meet the time, weight, and capacity limits are eliminated. The optimal shared loading subsequence is selected and matched with the vehicle to form multiple feasible event sequences to improve delivery efficiency.
It enables refined management of vehicle battery power, maximizes the use of battery power to complete tasks, reduces the risk of interruption, improves the efficiency of picking up and delivering scattered goods for individual urban users and the utilization rate of vehicles, and forms an adaptive closed-loop scheduling system.
Smart Images

Figure CN121526191A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of unmanned vehicle scheduling technology, and more specifically to a method for constructing a cargo co-loading sequence and matching vehicles and cargo for unmanned vehicle pickup and delivery, mainly used for urban logistics delivery. Background Technology
[0002] With the increasing demand for urban logistics, unmanned vehicles, as an emerging intelligent transportation tool, are gradually becoming an important player in urban delivery scenarios. Based on their flexible scheduling, intelligent navigation, and low operating costs, they are particularly suitable for the pickup and delivery of a large number of small, dispersed goods (such as small parcels) in cities, such as multi-point-to-multi-point pickup and delivery tasks from point A1 to point B1, point A2 to point B2, and point A3 to point B3. Through reasonable route planning and cargo sharing scheduling, unmanned delivery vehicles can efficiently shuttle through cities, completing pickup and delivery services for multiple users on demand.
[0003] However, in this process, the limited range of vehicles, which rely on electric power, becomes a significant factor affecting delivery efficiency and service reliability. How to simultaneously meet the requirements of cargo loading and timeliness while taking into account the vehicle's battery status urgently requires the support of key technologies that consider factors such as cargo loading, vehicle battery status, and task matching.
[0004] Currently, research on multi-cargo delivery scheduling in urban logistics largely focuses on deliveries to multiple customer demand points based on one or more distribution centers, lacking consideration for the scattered cargo pickup and delivery needs of individual urban users. Furthermore, existing research primarily considers delivery vehicles using battery swapping and fast charging models. Vehicles depart from distribution centers, and algorithms generate optimal or near-optimal driving routes and charging / swapping strategies by combining multi-source data such as traffic networks, charging / swapping station locations, and time-varying electricity prices, ultimately returning to the original or nearest distribution center. However, in real-world scenarios, due to issues such as inconsistent charging / swapping station operators and conflicts between user time requirements and charging times, the needs of users, charging / swapping station operators, and logistics companies are not balanced.
[0005] These issues indicate that existing logistics and delivery scheduling methods still have shortcomings in comprehensively considering vehicle battery status, cargo loading sequence construction, and vehicle-cargo matching. A more practical approach is needed to reduce resource waste, improve delivery efficiency and cargo safety, and better meet user needs. Summary of the Invention
[0006] In view of this, in order to at least partially solve the above-mentioned technical problems, the present invention provides a method for constructing a cargo loading sequence and matching vehicles and cargo for unmanned vehicles picking up and delivering goods. It is mainly aimed at unmanned vehicles that need to return to a fixed charging node for charging and have a long charging time. Based on vehicle information, order demand information and fixed charging location, a loading sequence that meets the vehicle's remaining driving range is constructed and vehicle-cargo matching is performed.
[0007] To achieve the above objectives, the present invention adopts the following technical solution: A method for constructing a cargo co-loading sequence and matching vehicles and cargo in unmanned vehicle pickup and delivery includes the following steps: S1. Obtain vehicle information and order requirements, wherein the vehicle information includes initial remaining driving range, load limit, capacity limit, location and status; S2. The order demand is broken down into pickup events and delivery events, and an initial event sequence is constructed based on time ordering; S3. Iteratively filter the initial event sequence, successively removing events that do not meet the interval between adjacent events and events that do not meet the cumulative load or cumulative capacity limit, to obtain at least one event sequence that meets the requirements. S4. Traverse the idle vehicles and construct a combined subsequence for each event sequence that meets the requirements, based on the initial remaining range of the idle vehicles. S5. Select the optimal combined subsequence and match it with the corresponding vehicle, update the order set, vehicle location and status; repeat steps S1-S4 until no new event sequence can be generated or there are no idle vehicles.
[0008] Preferably, the steps for removing events that do not meet the required interval between adjacent events include: Calculate the first in the sequence The event node to the first The required interval duration for each event node, wherein the interval duration includes the travel time and the relaxation time; Judge the first The event and the first Whether the actual time difference between the events is less than the interval duration; If so, mark the first Each event and its corresponding order; After completing a single traversal, all marked events are removed, and the new sequence is iterated repeatedly until no new events are marked.
[0009] Preferably, the travel time is obtained through a pre-constructed travel time matrix; the travel time matrix stores the travel time information between all service nodes.
[0010] Preferably, the steps for excluding events that do not meet the cumulative load or cumulative capacity limits include: Calculate the cumulative load and cumulative capacity sequentially, starting from the first event in the sequence. When the cumulative load or cumulative capacity exceeds the vehicle limit, mark the event pair and order corresponding to the current event; After completing a single traversal, all marked events are removed, and the new sequence is iterated repeatedly until no new events are marked.
[0011] Preferably, S4 includes: S41. Sort the event sequence that meets the requirements according to the preset rules, and start from the first event of the sorted sequence to simulate vehicle driving in sequence; S42. Determine whether the current idle vehicle meets the requirement of timely arrival at the first event node of the sequence. If not, skip the current event sequence and match the next event sequence. If yes, construct a combined subsequence for the current event sequence based on the initial remaining range of the current idle vehicle.
[0012] Preferably, based on the initial remaining driving range of the currently idle vehicles, a combined load subsequence is constructed for the current event sequence, including: Determine whether the remaining range of the currently idle vehicle supports driving to a certain event node in the current event sequence and returning from that node to a fixed charging node. If it supports this, continue traversing the event nodes after the event node in the current event sequence until a node that cannot be supported is reached, thus obtaining a subsequence of shared loads that the remaining range of the currently idle vehicle can satisfy under the current sequence. If it does not support this, determine whether the current node is the first node in the sequence. If it is, remove the currently idle vehicle and jump to the next idle vehicle. If not, correct the subsequence.
[0013] Preferably, the subsequence is modified, including: Continue to check if the cumulative capacity of all nodes before the current node is 0. If it is 0, the event sequence formed by all nodes before the current node is a valid subsequence. If it is not 0, check the type of the current event. If it is a delivery event, traverse backwards to find the nearest pickup event and mark its corresponding event pair. If it is a pickup event, mark its corresponding event pair, remove the marked events, and reconstruct the subsequence.
[0014] Preferably, in S41, the preset rule is: arranged in ascending order according to the occurrence time of the first event in the sequence; for sequences with the same occurrence time of the first event, arranged in descending order according to the number of orders covered by the sequence.
[0015] Preferably, in S5, selecting the optimal combined load subsequence and matching it with the corresponding vehicle includes: Prioritize selecting the subsequence that covers the largest number of orders; if multiple subsequences cover the same number of orders, further select the subsequence whose corresponding vehicle is closest to the first event node of the sequence.
[0016] Preferably, in S5, updating the vehicle location and status includes: Remove the matched vehicle from the set of available vehicles, update the current location of the matched vehicle to the last event node of the matched subsequence, and update its remaining driving range.
[0017] This invention discloses a method for constructing a cargo co-loading sequence and matching vehicles and cargo in unmanned vehicle pickup and delivery, with the following beneficial effects: 1. Tasks are planned and prioritized from a global perspective, and events that do not meet time and capacity constraints are eliminated through an iterative filtering mechanism. This results in multiple feasible event sequences, providing a rich pool of high-quality scheduling solutions for subsequent vehicle matching, thereby significantly increasing the number of orders that the system can complete per unit time. 2. Vehicle matching enables refined and intelligent management of vehicle power constraints, making the most of every bit of power. While ensuring that the vehicle can safely return to the fixed charging node, it undertakes as many tasks as possible, effectively overcoming the capacity limitation problem caused by range anxiety of electric unmanned vehicles. Compared to traditional logistics and delivery methods, this invention implements a closed-loop, adaptive scheduling system. It can not only continuously process newly accumulated orders and dynamically respond to changes in vehicle status, but also better meet the fragmented goods pickup and delivery needs of individual urban users, maximizing vehicle utilization while eliminating the uncertainty of task interruptions due to insufficient battery power during vehicle operation. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0019] Figure 1 This is a flowchart of a method for constructing a cargo loading sequence and matching vehicles and cargo in unmanned vehicle pickup and delivery according to the present invention; Figure 2 Flowchart of the method for constructing event sequences to meet the requirements of interval duration, load capacity, and capacity constraints; Figure 3 Example diagram of the method for constructing event sequences to meet the requirements of interval duration, load capacity and capacity limits; Figure 4 Flowchart of the method for constructing and matching subsequences that take into account the battery status of idle vehicles; Figure 5Example diagram of the method for constructing and matching subsequences that take into account the battery status of idle vehicles. Detailed Implementation
[0020] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0021] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.
[0022] This invention discloses a method for constructing a cargo co-loading sequence and matching vehicles and cargo in unmanned vehicle pickup and delivery, such as... Figure 1 As shown, it includes the following steps: S1. Obtain vehicle information and order requirements, wherein the vehicle information includes initial remaining driving range, load limit, capacity limit, location and status; S2. The order demand is broken down into pickup events and delivery events, and an initial event sequence is constructed based on time ordering; S3. Iteratively filter the initial event sequence, successively removing events that do not meet the interval between adjacent events and events that do not meet the cumulative load or cumulative capacity limit, to obtain at least one event sequence that meets the requirements. S4. Traverse the idle vehicles and construct a combined subsequence for each event sequence that meets the requirements, based on the initial remaining range of the idle vehicles. S5. Select the optimal combined subsequence and match it with the corresponding vehicle, update the order set, vehicle location and status; repeat steps S1-S4 until no new event sequence can be generated or there are no idle vehicles.
[0023] The combined load sequence constructed in this application is the access order of the pickup and delivery nodes involved in the order. The time difference between two adjacent nodes in the sequence meets the interval length between the two nodes. At the same time, the sequence also meets the load, capacity, and battery limits of the matched vehicle, and the vehicle will not interrupt the task due to insufficient battery. This invention mainly includes two parts: an event sequence construction method that meets the requirements of interval length, load, and capacity limits, and a subsequence construction and matching method that considers the battery status of idle vehicles.
[0024] In one embodiment, the first part is an event sequence construction method that meets the requirements of interval duration, load capacity, and capacity limitations, such as... Figure 2 and Figure 3 As shown; Step S1 includes: First, obtain vehicle information, order demand information, and fixed charging locations; Vehicle information, including location, battery status (indicated by initial remaining range), and vehicle weight limit. Capacity limitations The items and whether they are available vehicles are considered; all available vehicles constitute a set of available vehicles. Then, obtain the order demand information, including the pickup point, delivery point, pickup time, delivery time, and weight of each order. All orders constitute the initial set of orders to be built.
[0025] In one embodiment, step S2 includes: All order demand events in the order set to be built are split into pickup events and delivery events. The pickup and delivery events corresponding to the same order are an event pair. Each pickup event is bound to the corresponding order ID, pickup time, and pickup point. Each delivery event is bound to the corresponding order ID, delivery time, and delivery point. All pickup and delivery events are arranged in ascending order of pickup time and delivery time to build the initial event sequence.
[0026] In one embodiment, step S3 includes: Starting from the time point of the first event in the initial event sequence, iterate through the time points of all events in the sequence. In the first round, all events are unmarked. Sequentially determine whether the time difference of each pair of adjacent unmarked events meets the interval duration requirement between the corresponding adjacent unmarked event nodes. Mark the event pairs and their corresponding orders that do not meet the requirement. After the traversal is completed, all marked events are removed to obtain the filtered event sequence. Then, repeat the iteration on the filtered new sequence until no new events are marked. The purpose is to ensure that the event sequence obtained is such that the time difference of each pair of adjacent events meets the interval duration requirement.
[0027] In some implementations, events that do not meet the required interval between adjacent events are removed. The steps include: Calculate the first in the sequence The event node to the first Required interval for each event node:
[0028] For relaxation time, including the vehicle in the first... The service time of the event node from the first event node The event node to the first Congestion time during the journey of each event node. For the first The event node and the first The travel time between each event node can be obtained by reading the travel time matrix; Judge the first The event and the first Whether the actual time difference between the events is less than the interval duration; The judgment process is as follows:
[0029] For the first event in the event sequence The time point of each event.
[0030] If so, then the interval duration requirement is not met, and the number is marked as [number]. For each event pair and order corresponding to an event, the marked order is added to the marked order set. The purpose is to integrate orders that were marked but did not meet the requirements during the construction of the current event sequence for the next initial event sequence construction, skipping the first event pair and order. The event judgment is the first The event and the first Does the time difference of the event satisfy the condition from the first... The event node to the first The required interval between event nodes.
[0031] If not, the interval duration requirement is met, continue to the next step. The event and the first Does the time difference of the event satisfy the condition from the first... The event node to the first The required interval between event nodes.
[0032] It should be noted that if the first If the first event is a flagged event, then skip the second event. The event judgment is the first The event and the first The time difference of the nth event, if the nth event... If the first event is a flagged event, then skip the second event. The event judgment is the first The event and the first The time difference between the events.
[0033] After completing a single traversal, all marked events are removed, and the new sequence is iterated repeatedly until no new events are marked.
[0034] In this embodiment, the travel time can be obtained through various methods known in the art. As a preferred embodiment, it can be obtained through a pre-constructed travel time matrix, and the time matrix is constructed as follows: Read the vehicle location, fixed charging location, and location of the service node (pickup / delivery point). Obtain the distances between these nodes through navigation services such as Gaode API and Baidu Map API, and construct a trip distance matrix:
[0035] The matrix elements are the travel distances between any two nodes, and the travel time matrix is then calculated.
[0036] The matrix elements represent the travel time between any two nodes.
[0037] For nodes To the node The distance of the journey, For nodes To the node The travel time For vehicle speed, The total number of nodes. Represents the horizontal and vertical indexes of the matrix.
[0038] Those skilled in the art will understand that the travel time can also be obtained through other means such as real-time calculation or querying third-party databases.
[0039] In some implementations, starting from the first event in the event sequence that meets the interval duration requirement, the process iterates through all event types (pickup / delivery) in the sequence. In the first round, all events are unmarked. The cumulative weight and cumulative capacity values of these unmarked events are sequentially determined to meet the limitations. Event pairs that do not meet the requirements and their corresponding orders are marked. Preferably, events that do not meet the cumulative weight or cumulative capacity limits are removed. The steps include: Calculate the cumulative load and cumulative capacity sequentially starting from the first event in the sequence; when the cumulative load or cumulative capacity exceeds the vehicle limit, mark the event pair and order corresponding to the current event; after completing a single traversal, uniformly remove the marked events, and repeat the iteration for the new sequence until no new events are marked.
[0040] For example, determine from the first event to the second event. Do the cumulative load value and cumulative capacity value of the event meet the limit requirements (where, if the event's cumulative load value and cumulative capacity value meet the limit requirements)? If the first event is a flagged event, then skip the second event. The event judgments are from the first event to the second event. Whether the cumulative load value and cumulative capacity value of each event meet the limit requirements); including: Calculate from the first event to the second event respectively. Cumulative load value and cumulative capacity value for each event:
[0041]
[0042] The judgment process is as follows:
[0043] Due to vehicle load limits, Vehicle capacity is limited.
[0044] If the load and capacity limits are met, continue judging from the first event to the second event. Whether the cumulative load value and cumulative capacity value of each event meet the limit requirements; If the load and capacity limits are not met, then for the first The event pairs and orders corresponding to each event are marked, and the marked orders are added to the marked order set, skipping the first event. The event judgments are from the first event to the second event. Does the cumulative load value and cumulative capacity value of each event meet the limit requirements?
[0045] By repeating the above steps, the marked order set can construct new event sequences that meet the requirements of interval duration, load, and capacity limits. Construction stops when there are no more events that meet the requirements of interval duration, load, and capacity limits. Then, a subsequence construction and matching method that takes into account the battery status of idle vehicles is executed.
[0046] In one embodiment, the second part, considering the subsequence construction and matching method of idle vehicle battery status, is as follows: Figure 4 and Figure 5 As shown: Step S4 includes: S41. Sort the event sequences that meet the requirements according to preset rules, and simulate vehicle driving sequentially starting from the first event of the sorted sequence; wherein, the preset rules are: sort in ascending order according to the occurrence time of the first event of the sequence; for sequences with the same occurrence time of the first event, sort in descending order according to the number of orders covered by the sequence; S42, Regarding the first The current event sequence is determined. Whether an idle vehicle meets the time requirement of arriving at the first event node in the sequence in a timely manner, including: Calculate the first The time interval between the node where each vehicle is located and the first event node in the sequence:
[0047] The judgment process is as follows:
[0048] This represents the time from the current moment to the time the vehicle receives the mission and departs. For the first The travel time from the current node of a vehicle to the first event node in the sequence can be obtained by reading the travel time matrix. The time point of the first event in the event sequence. This refers to the current moment.
[0049] If not, skip step 1 The first idle vehicle judgment If there are no available vehicles, skip the first event node in the sequence. The event sequence continues for the 1st event. The event sequence is used to construct and match subsequences that take into account the battery status of idle vehicles; If so, based on the first The sequence of events constructs the first... The initial remaining range of the available vehicles is sufficient to meet the pick-up and delivery needs of the first... The subsequence of the event sequence, and the other idle vehicles that meet the requirements are obtained in the same way, thus obtaining several subsequences of the event sequence. Subsequences of an event sequence; refer to the following steps for details: S43, from the Starting from the first event node in the event sequence, traverse all event nodes in the sequence and determine the current event node. The remaining range of each idle vehicle, and whether it supports driving to and from a certain event node (the first...). Each event node returns to the fixed charging node; including: Calculate the vehicle in the sequence Remaining battery life at each event node:
[0050] Calculate the vehicle's remaining driving range at the first event node in the sequence:
[0051] The judgment process is as follows:
[0052] For the vehicle in the The remaining range at each event node, For the first The event node to the first The travel distance of each event node This represents the vehicle's initial remaining driving range. For the first The distance traveled from the current node of an idle vehicle to the first event node in the sequence can be obtained by reading the distance travel matrix. For the first The travel distance from an event node to a fixed charging node.
[0053] If supported, continue to determine the next step. Each event node determines whether the vehicle supports reaching that node and returning from that node to the fixed charging node, until the 1st event node is traversed. All event nodes in the event sequence are obtained from the th event. The initial remaining range of the available vehicles is sufficient to meet the pick-up and delivery needs of the first... If a subsequence of an event sequence is encountered, or until a certain event node is reached where the vehicle does not support reaching that node or returns from that node to a fixed charging node, then S44 is executed. If not supported, proceed to step S44; S44. Determine the current... If a node is the first event node in the sequence, then the sequence is considered complete. The initial remaining range of the available vehicles is insufficient to reach the destination. If the requirement is that the first event node in the event sequence is removed, then the current event node is excluded. The first available vehicle, jump to the next... The number of idle vehicles, with their initial remaining range, can meet the needs of pick-up and delivery. Construction of subsequences of an event sequence; if not the first event node, execute S45; S45, Continue judging the first event node to the next event node. Is the cumulative capacity of all nodes across all event nodes zero? If the value is 0, remove the event from the event sequence. The event and all subsequent events, i.e., the vehicle in the 1st event. After the service at each event node ends, there is no cargo left in the vehicle, and it needs to return to the designated charging node for charging. This process continues from the first event to the second. The sequence of events constitutes the initial remaining range of the idle vehicle sufficient for pickup and delivery. A subsequence of an event sequence; If it is not 0, determine the current number. The type of the event, if the first event... The event type is a delivery event; continue to determine the next event. For each event type, iterate backwards until an event type of pickup event is determined and its corresponding event pair is marked; If the first If the event type is a pickup event, then mark its corresponding event pair. After uniformly removing the marked events, for the current removed marked event... Reconstructing the event sequence of the first event The initial remaining range of each idle vehicle is sufficient to meet the needs of the pick-up and delivery subsequence; Repeat steps S41-S45 until the construction and matching of the combined load sequence considering the battery status of idle vehicles for all event sequences that meet the requirements of interval duration, load and capacity limits are completed, or until all idle vehicles are matched.
[0054] In one embodiment, step S5 includes: All the The subsequence containing the most orders and whose corresponding vehicle location is closest to the first event node is selected as the subsequence for the first event sequence. The shared load sequence is constructed from a sequence of events. The corresponding idle vehicle is the matching vehicle of the shared load sequence. The orders that constitute the shared load sequence are removed from the set of orders to be constructed. The matched vehicle is removed from the set of idle vehicles. The vehicle position is updated to the last event node of the matched subsequence. The remaining driving range of the vehicle after executing the subsequence is updated.
[0055] Repeat the above steps (steps S2-S5) for all orders in the order set to be built, and perform the construction and matching of the combined load sequence again until no event sequence that meets the requirements or all idle vehicles are matched. Then stop the construction and matching of the combined load sequence. At this time, the orders in the order set to be built are the scattered orders that cannot form a combined load sequence from all the currently accumulated orders.
[0056] This application first obtains vehicle information, order demand information, and fixed charging locations as data inputs, and then splits the orders to be constructed into pickup events and delivery events, constructing an initial event sequence in ascending order of pickup and delivery time. Subsequently, multiple event sequences that meet the requirements of interval duration, load, and capacity limits are constructed and arranged in ascending order of the time of the first event in the event sequence and in descending order of the number of orders covered. Subsequences that consider the battery status of idle vehicles are constructed and matched one by one for each event sequence. The subsequence with the most orders and the corresponding vehicle location closest to the first event node is the load-sharing sequence, and the corresponding idle vehicle is the matching vehicle for the load-sharing sequence. Orders that constitute the load-sharing sequence are removed from the set of orders to be constructed, and the above process is repeated for the set of orders to be constructed until no new sequence that meets the requirements can be formed or all idle vehicles have been matched.
[0057] Compared to traditional logistics and distribution methods, this method can better meet the scattered goods pickup and delivery needs of individual urban users, maximize vehicle utilization, and eliminate the uncertainty of task interruption due to insufficient power during vehicle operation.
[0058] The invention will be further illustrated below with specific examples.
[0059] 1. Construct the travel distance matrix and travel time matrix; Company B in City A has 10 unmanned delivery vehicles. On a certain weekday at 9:00, there are several pick-up and delivery requests in the city, as shown in Table 1.
[0060] These orders constitute the initial set of orders to be built and are completed by Company B's unmanned delivery vehicles. Company B's fixed charging nodes are garages, and its current vehicle information and garage locations are shown in Table 2.
[0061] Idle vehicles are included in the idle vehicle set {car_0, car_1, car_6, car_7, car_8, car_9}. A matrix of horizontal and vertical indices is constructed using vehicle location, garage location, and demand service node (pickup / delivery point) location information. A trip distance matrix (unit: kilometers) is built by obtaining the trip distances between each pair of nodes through the Gaode API, as shown in Table 3.
[0062] Based on this, the travel time matrix (unit: minutes) can be calculated according to the average speed of Company B's unmanned delivery vehicle of 18km / h, as shown in Table 4.
[0063] The calculation process is as follows:
[0064] 2. Construct an event sequence that meets the requirements for interval duration, load capacity, and capacity limits; All orders to be built are split into pickup events and delivery events, and the initial event sequence is constructed by arranging the events in ascending order of time, as shown in Table 5;
[0065] Starting from the time point of the first event, iterate through the time points of all events in the sequence, and sequentially determine whether the time difference of each pair of adjacent unlabeled events meets the interval length requirement between the corresponding adjacent unlabeled event nodes. For example, taking the first event 268_p and the second event 210_p as an example, the interval length calculation process is as follows: In this example, the relaxation time is set to 5 minutes, which includes the service time at the first event node and the congestion time between the first and second event nodes. The travel time between the first event 268_p and the second event 210_P is 65.57 minutes, obtained by reading the travel time matrix (Table 4); the interval between the first event node and the second event node is:
[0066] The time point for the first event is 09:33. The time point for the second event is 09:42. The judgment process is as follows:
[0067]
[0068] Therefore, the second event does not meet the interval duration requirement. Its corresponding event pair (210_p, 210_d) and order 210 are marked. Then, it is determined whether 268_p and the next adjacent unmarked event meet the interval duration requirement. This process is repeated until the marked events are removed and the filtered event sequence is obtained. The above steps are repeated for the filtered event sequence until no new marked orders are generated. The purpose is to ensure that the event sequence in which the time difference of each pair of adjacent events meets the interval duration requirement is obtained.
[0069] The vehicle's load limit in this example is 500 kg. To limit vehicle capacity to 10 items in this example, we start from the first event in the event sequence that meets the interval requirement and iterate through all event types (pickup / delivery) in the sequence. We then sequentially determine whether the cumulative load value and cumulative capacity value of the unmarked events meet the limit requirements. The specific calculation and judgment process is as follows: If the event type is pickup, add the weight of the goods for that event; if it's delivery, subtract the weight of the goods for that event. Calculate the cumulative load value from the first event to the second event:
[0070] If the event type is pickup, add 1; if it's delivery, subtract 1. Calculate the cumulative capacity value from the first event to the second event:
[0071] The judgment process is as follows:
[0072]
[0073] Therefore, the cumulative load value and cumulative capacity value of the second event meet the requirements. For events that do not meet either the load or capacity limit, the corresponding event pair and order are marked, and the cumulative load value and cumulative capacity value of the next unmarked event are judged to meet the requirements. This process continues until the traversal is complete. Marked events are removed to obtain the filtered event sequence. The load and capacity limit judgments are repeated on the filtered event sequence until no new marked orders are generated. The purpose is to ensure that the event sequence that meets the requirements of interval duration, load, and capacity limits is obtained.
[0074] Finally, repeat the above steps for all marked orders until multiple events fail to meet the interval duration, load, and capacity limits, at which point construction stops.
[0075] 3. Construct and match a load-sharing sequence that takes into account the battery status of idle vehicles; All event sequences that meet the requirements of interval duration, load and capacity limits are arranged in ascending order according to the time of their first event. Event sequences with the same first event time are arranged in descending order according to the number of orders they cover, as shown in Table 6.
[0076] We will construct and match subsequences that consider the battery status of idle vehicles for each of these event sequences in sequence. For example, we will construct and match subsequences that consider the battery status of idle vehicles for the first event sequence: Read the first event 798_p in the sequence, iterate through the set of idle vehicles {car_0, car_1, car_6, car_7, car_8, car_9}, and determine whether the first idle vehicle car_0 at the current time meets the requirement of arriving at the first event 798_p in the sequence in time. This represents the time from the current moment to the vehicle receiving the task and starting its journey; in this example, it's 2 minutes. The travel time from the current moment of vehicle car_0 to the first event 798_p in the sequence is 35.61 minutes, which can be obtained by reading the travel time matrix (Table 4); the interval between the node where the first vehicle is located and the node of the first event in the sequence:
[0077] The time point of the first event in the event sequence is 11:59. Given the current time as 9:00, the determination process is as follows:
[0078]
[0079] Therefore, the first idle vehicle, car_0, meets the requirement of arriving at the first event 798_p of the sequence in a timely manner, and the other idle vehicles are judged in the same way.
[0080] If no available vehicle meets the requirements, skip the current event sequence and continue to construct and match subsequences that consider the battery status of available vehicles for the next event sequence. For available vehicles that meet the requirement of timely arrival at the first event of the sequence, construct a subsequence based on the current event sequence in which the initial remaining range of the available vehicle can meet the pick-up and delivery requirements of the current event sequence. For example, construct a subsequence for available vehicle car_0 based on the first event sequence above. First, starting from the first event node in the first event sequence, traverse the event nodes in the sequence, and sequentially determine whether the remaining range of car_0 supports reaching a certain event node and the requirement to return to the garage from that event node. For the vehicle in the The remaining range at each event node, For the first in the sequence The event node to the first The travel distance of the nth event node can be obtained by reading the travel distance matrix (Table 3). The vehicle is the nth event node in the sequence. Remaining battery life at each event node:
[0081] For the first The distance traveled from each event node to the garage is determined as follows:
[0082] Until a certain event node is encountered, indicating that the vehicle does not support reaching that node or returning to the fixed charging node from that node, the sequence is judged from the first event to the second event. If the cumulative capacity value of the event is 0, then remove the event from the event sequence. The event and all subsequent events, i.e., the vehicle in the 1st event. After the service at each event node ends, there is no cargo left in the vehicle, and it needs to return to the garage to recharge. (Event 1 to Event 2) The event sequence consisting of events is the subsequence of the current event sequence that the initial remaining range of the idle vehicle can satisfy for pickup and delivery; if it is not 0, determine the th event. The type of the event (pickup / delivery), if the first event type (pickup / delivery), If the event type is delivery, then continue to check the next event type. For each event type, iterate backwards until the event type is determined to be pickup. If the event type is pickup, mark the event pair corresponding to that event. Remove all marked events and reconstruct the subsequence of the idle vehicle's initial remaining range for pickup and delivery based on the event sequence of the currently removed marked events. Finally, obtain several subsequences of the current event sequence.
[0083] Specifically, for the first event in the sequence, The initial remaining range of vehicle car_0 is 118 kilometers. The distance traveled from the current node of vehicle car_0 to the first event 798_p in the sequence is 9.72 kilometers. This distance can be obtained by reading the distance matrix (Table 3). The remaining driving range of the vehicle at the first event node in the sequence is:
[0084]
[0085] Therefore, if the remaining range of car_0 meets the requirement of reaching the first event node of the first event sequence, the subsequent event nodes will continue to be judged; if the initial range of the vehicle does not meet the requirement of reaching the first event node, the current vehicle will be removed, and the process will jump to the next idle vehicle that meets the requirement of timely arrival at the first event of the sequence to construct the subsequence.
[0086] Subsequently, the subsequence with the most orders and the corresponding vehicle location closest to the first event node is selected as the shared load sequence to be constructed for the current event sequence. The corresponding idle vehicle is the matching vehicle for the shared load sequence. The orders constituting the shared load sequence are removed from the set of orders to be constructed. The matched vehicle is removed from the set of idle vehicles, and the vehicle location is updated to the last event node of the matched subsequence. The remaining range of the vehicle after executing the subsequence is also updated. The other event sequences are constructed and matched in the same way, taking into account the battery status of idle vehicles. For example, in Table 7, event sequence 1 selects vehicle car_6 to complete the corresponding shared load sequence (as shown in Table 8). The location of car_6 is updated to the location of 998_d (111.711032, 40.767986), and the remaining range is updated to 38.10 kilometers.
[0087]
[0088]
[0089] Finally, the order set to be built repeats all the steps from building an event sequence that meets the requirements of interval duration, load and capacity limits until no event sequence that meets the construction requirements or all idle vehicles are matched. At this point, the construction and matching of the combined load sequence stops. The orders in the order set to be built at this time are the scattered orders that cannot form a combined load sequence from all the currently accumulated orders.
[0090] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.
[0091] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for constructing a goods loading sequence and matching a vehicle and goods for unmanned vehicle delivery and pickup, characterized in that, The method comprises the following steps: S1, obtaining vehicle information and order demand, wherein the vehicle information comprises initial remaining endurance mileage, load limit, capacity limit, position and state; S2, splitting the order demand into pickup events and delivery events, and constructing an initial event sequence based on time sorting; S3, iteratively screening the initial event sequence, sequentially eliminating events that do not meet the interval length between adjacent events and events that do not meet the cumulative load or cumulative capacity limit, to obtain at least one event sequence meeting the requirements; S4, traversing idle vehicles, and constructing a load combination sub-sequence for each event sequence meeting the requirements according to the position and initial remaining endurance mileage of the idle vehicles; S5, selecting an optimal load combination sub-sequence and matching the same with a corresponding vehicle, and updating the order set, vehicle position and state.
2. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 1, characterized in that, The step of eliminating events that do not meet the interval length between adjacent events comprises: Calculate the first in the sequence The event node to the first The required interval duration for each event node, wherein the interval duration includes the travel time and the relaxation time; Judge the first The event and the first Whether the actual time difference between the events is less than the interval duration; If yes, mark the event and corresponding order; After completing a single traversal, uniformly eliminating the marked events, and repeating the iteration for the new sequence until no new event is marked. 3.The method of claim 2, wherein, The travel time is obtained through a pre-constructed travel time matrix; the travel time matrix stores the travel time information between all service nodes.
4. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 1, characterized in that, The step of eliminating events that do not meet the cumulative load or cumulative capacity limit comprises: sequentially calculating the cumulative load and cumulative capacity from the first event in the sequence; when the cumulative load or cumulative capacity exceeds the vehicle limit, marking the event pair and the order corresponding to the current event; After completing a single traversal, uniformly eliminating the marked events, and repeating the iteration for the new sequence until no new event is marked.
5. The cargo loading sequence construction and vehicle-cargo matching method according to claim 1, characterized in that S4 The method comprises: S41, sorting the event sequences meeting the requirements according to a preset rule, and sequentially simulating the vehicle travel from the first event in the sorted sequence; S42, judging whether the current idle vehicle meets the requirement of timely reaching the first event node in the sequence in terms of time, if not, skipping the current event sequence and matching the next event sequence; if yes, constructing a load combination sub-sequence for the current event sequence based on the initial remaining endurance mileage of the current idle vehicle.
6. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 5, characterized in that, Constructing a load combination sub-sequence for the current event sequence based on the initial remaining endurance mileage of the current idle vehicle comprises: judging whether the remaining endurance mileage of the current idle vehicle supports traveling to a certain event node in the current event sequence and returning to the fixed charging node from the certain event node, if yes, continuing to traverse the event nodes after the certain event node in the current event sequence until a node that cannot be supported is reached, to obtain a load combination sub-sequence that can be met by the remaining endurance mileage of the current idle vehicle in the current sequence; if not, judging whether the current node is the first node in the sequence, if yes, eliminating the current idle vehicle and jumping to the next idle vehicle, if not, modifying the sub-sequence.
7. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 5, characterized in that, Modifying the sub-sequence comprises: continuing to judge whether the cumulative capacity of all nodes before the current node is 0, if yes, the event sequence formed by all nodes before the current node is a valid load combination sub-sequence; if not, judging the type of the current event, if it is a delivery event, reversely traversing to find the nearest pickup event and marking the corresponding event pair; if it is a pickup event, marking the corresponding event pair, uniformly eliminating the marked events, and rebuilding the sub-sequence. 8.The method of claim 5, wherein, In S41, the preset rule is: arranging in ascending order of the occurrence time of the first event of the sequence; for the sequences with the same occurrence time of the first event, arranging in descending order of the number of orders covered by the sequence.
9. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 1, wherein, In S5, the matching of the optimal load sub-sequence with the corresponding vehicle includes: Preferentially selecting the sub-sequence covering the largest number of orders; if there are multiple sub-sequences covering the same number of orders, further selecting the sub-sequence with the closest distance between the corresponding vehicle and the first event node of the sequence.
10. The method of cargo loading sequence construction and vehicle-cargo matching according to claim 1, wherein, In S5, updating the vehicle position and state includes: Removing the matched vehicle from the idle vehicle set, and updating the current position of the matched vehicle to the last event node of the matched sub-sequence, and updating the remaining range of the vehicle.