An intelligent automatic dispatching and route planning method for errand delivery
By building a hybrid integer planning model, optimizing the order allocation and path planning of the distribution platform, the problems of uneven distribution and resource waste in the existing technology are solved, efficient and scientific distribution scheduling is achieved, and operational efficiency and customer experience are improved.
Patent Information
- Application Number
- CN202411383525.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-09-30
AI Technical Summary
The existing distribution platforms lack effective scheduling algorithms in order allocation and path planning, resulting in uneven order allocation, too many or too few orders for delivery personnel, wasted resources and decreased customer experience.
Build a hybrid integer planning model, express the distribution process through mathematical models, introduce intelligent decision-making, optimize order allocation and path planning, and improve the scientificity and optimality of scheduling.
It significantly improves operational efficiency, reduces the no-load rate and driving distance of the vehicle, reduces operating costs, and improves the on-time delivery rate of orders and customer satisfaction.
Smart Images

Figure CN118917766B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of operation scheduling technology, and specifically to an intelligent automatic dispatching and route planning method for errand delivery. Background Art
[0002] In modern society, short-distance delivery services such as errands, takeout, and express delivery are developing rapidly, and customers have higher and higher requirements for the service quality of short-distance delivery. For short-distance delivery platforms, how to reasonably plan the distribution of orders and design reasonable routes has become an effective way to improve operational efficiency and reduce costs. In the current delivery platform, due to the lack of an effective scheduling algorithm, order distribution is often uneven. Some deliverymen have too many orders, resulting in delays, while some deliverymen have too few orders, resulting in waste of resources. In the actual delivery process, the deliverymen may choose the delivery order according to their own experience and habits. This method has deviations, which may lead to extended delivery time for some orders and reduced customer experience. The present invention constructs a mixed integer programming model to express the delivery process in the form of a mathematical model; introduces a mathematical model to realize intelligent decision-making, improves the scientificity and optimality of scheduling, and these innovative improvements enable the present invention to better adapt to different development stages and changing environments, and realize intelligent, flexible, and efficient errand delivery dispatching and route planning. Summary of the invention
[0003] In view of the shortcomings of the prior art, the present invention provides an intelligent automatic dispatching and route planning method for errand delivery, which aims to build a more intelligent and flexible short-distance delivery scheduling system, in order to improve the problem that traditional short-distance delivery needs are not fully considered.
[0004] To achieve the above object, the present invention provides the following technical solution: a method for intelligent automatic dispatching and route planning for errand delivery, comprising the following steps:
[0005] Step S1: Collecting errand vehicles and errand order information from errand platforms in a certain delivery area;
[0006] Step S2: Make reasonable assumptions and design relevant parameters based on the errand delivery problem of the errand platform in step S1;
[0007] Step S3: Determine the requirements of the errand running platform in step S1 and construct relevant variables;
[0008] Step S4: constructing a mixed integer programming model based on the errand vehicles and errand order information of the errand platform in step S1, the relevant parameters designed in step S2, and the relevant variables constructed in step S3 in combination with the actual errand delivery problem;
[0009] Step S5: designing a branching pricing algorithm for the errand delivery problem based on a mixed integer programming model;
[0010] Step S6: Based on the designed branch pricing algorithm for the errand delivery problem, a specific delivery plan and corresponding vehicle path planning are obtained.
[0011] Furthermore, the specific process of step S1 is: collecting all errand vehicle information and errand order information of the errand platform in a certain delivery area in a certain time period, wherein the errand vehicle information includes: the number of errand vehicles in the delivery area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of each errand vehicle's location; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order.
[0012] Furthermore, in step S2, the specific process of making reasonable assumptions about the errand delivery problem of the errand platform in step S1 is as follows: based on all the acquired errand vehicle information and errand order information, matching the errand vehicle owners and errand orders that meet the preset conditions, i.e., the errand vehicles are idle and the errand orders have not been accepted, determining the errand vehicle owners and errand order demand points, and making reasonable assumptions:
[0013] The pick-up and delivery locations for all errand orders and the departure points of the errand vehicle owners are determined in advance;
[0014] A single errand vehicle serves multiple errand orders, but each errand order is only served by a single errand vehicle, and there is no transfer;
[0015] All errand vehicles travel on the road without any problems at the same uniform speed, regardless of traffic congestion;
[0016] Use the Euclidean distance between the pickup location and the delivery location instead of the actual distance between the pickup location and the delivery location;
[0017] All errand vehicles have the same fixed costs and fuel costs per kilometer;
[0018] There is no cargo on board the errand vehicle when it departs.
[0019] Furthermore, in step S2, the specific process of designing relevant parameters is: according to all the errand vehicle information and errand order information that have been obtained, the relevant parameters are designed based on the errand delivery problem of the errand platform in step S1:
[0020] Suppose there are several errand vehicles in a delivery area. , Indicates a collection of errand vehicles; Indicates the total number of errand vehicles, errand vehicles The maximum volume is , errand vehicles The unit transportation cost is ;
[0021] Suppose there are several errand orders in a delivery area. , Represents a collection of errand orders; Indicates the total number of errand orders, errand orders The cargo volume is ;
[0022] Suppose that after accepting an errand order, the errand vehicle departs from the starting point to the pick-up location specified in the errand order to pick up the corresponding goods and deliver them to the delivery location; the number set of the errand vehicle’s starting point is , the collection of pickup location numbers for errand orders is , the delivery location number set of the errand order is The delivery location number of the same errand order is the value of the pickup location number plus ;
[0023] Suppose the set of all nodes in a distribution area is , , a single node in the distribution area corresponds to the pick-up or delivery location of the errand order, The distance between any two nodes in is known; is the set of edges consisting of the set of nodes in a distribution area, , Represents any two nodes in the distribution area, and defines the distance matrix between the two nodes as ;in, Representation Node With Node The distance between two nodes; define the time matrix between two nodes as ,and ,in, Indicates arrival node With Node Required travel time;
[0024] Setting Node The volume of goods for errand orders that need to be picked up is :
[0025] (1);
[0026] Set the delivery platform's freight per kilometer to , for slave nodes Arrival Node The shipping cost is :
[0027] (2);
[0028] In the formula, Representation Node With Node The distance between
[0029] Setting Node The time window is , Representation Node The earliest arrival time, Representation Node The latest arrival time of a node The service time, i.e. the time it takes for the errand vehicle to start and the time it takes to load and unload the goods for the errand order, is .
[0030] Furthermore, the specific process of step S3 is: according to all the errand vehicle information and errand order information that have been obtained, design relevant variables based on the errand delivery problem of the errand platform:
[0031] Decision variables , i.e. errand vehicles Whether to use the slave node Travel to the node , , , ;
[0032] (3);
[0033] Time variables , i.e. errand vehicles Arrival Node The actual time, , ,When the errand vehicle arrives earlier than the earliest arrival time of the node, it waits until the earliest arrival time of the node;
[0034] (4);
[0035] Cargo volume variables , i.e. errand vehicles Leave the node The amount of cargo on the vehicle, , .
[0036] Furthermore, the specific process of constructing the mixed integer programming model in step S4 is as follows:
[0037] Step S4.1: Construct relevant constraints of the mixed integer programming model:
[0038] The errand vehicle departs from its own location:
[0039] (5);
[0040] Traffic balance constraint; errand vehicles end service at any errand order drop-off point; set a virtual end point , the distance from any node to the virtual end point is 0, the volume of cargo that needs to be loaded on the node is 0, the node revenue is 0, the errand vehicle leaves the node after passing a node, and the errand vehicle eventually returns to the virtual end point:
[0041] (6);
[0042] (7);
[0043] In the formula, represents any node; Denotes errand vehicle Whether to use the slave node Arriving at any node ; Denotes errand vehicle Whether from any node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node ;
[0044] The pickup and delivery locations of the same errand order are served by the same errand vehicle:
[0045] (8);
[0046] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ;
[0047] Each node is served by an errand vehicle at most once, and the errand vehicle does not reach the starting point of any errand vehicle, nor does it start from the virtual end point to go to any node:
[0048] (9);
[0049] (10);
[0050] (11);
[0051] (12);
[0052] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node ;
[0053] The time starts when the errand vehicle departs from its own location. It first visits the pickup location of the errand order and then visits the delivery location. The time changes during the delivery process are as follows:
[0054] (13);
[0055] (14);
[0056] (15);
[0057] In the formula, represents the first maximum constant value; Denotes errand vehicle The actual time of arrival at your departure point; Denotes errand vehicle Arrival Node The actual time; Denotes errand vehicle Arrival Node The actual time;
[0058] Time window constraints:
[0059] (16);
[0060] Capacity changes and load constraints of errand vehicles:
[0061] (17);
[0062] (18);
[0063] (19);
[0064] In the formula, Indicates vehicle The amount of cargo when leaving from the origin; Denotes errand vehicle Leave the node The amount of cargo on the vehicle at that time; represents the second largest constant value;
[0065] Service quality constraint: During one dispatch process, one errand vehicle can deliver at most Errand orders:
[0066] (20);
[0067] Step S4.2: Construct the objective function of maximizing the revenue of the errand vehicle driver based on relevant variables and relevant constraints:
[0068] (twenty one).
[0069] Furthermore, the specific process of step S5 is as follows:
[0070] Step S5.1: First, construct the main problem model of the branch pricing algorithm for the errand delivery problem. For errand vehicles The set of feasible paths, Representing a collection The feasible path in , Denotes errand vehicle A feasible path Whether to pass through the node , if passed, it is 1, otherwise it is 0, Denotes errand vehicle A feasible path The total cost, Denotes errand vehicle A feasible path The total freight cost; let the main problem decision variable be , Denotes errand vehicle Whether to choose your own feasible path , as an errand vehicle A feasible path 1 if selected, 0 otherwise;
[0071] Step S5.11: Main problem objective function:
[0072] (twenty two);
[0073] Step S5.12: Main problem constraints:
[0074] Constraint 1: Each node in the final solution is visited at most once:
[0075] (twenty three);
[0076] Constraint 2: Each errand vehicle chooses only one feasible path:
[0077] (twenty four);
[0078] Constraint 3: Binary variable constraints:
[0079] (25);
[0080] In the formula, Denotes errand vehicle Whether to choose your own feasible path ;
[0081] Step S5.13: Linearly relax the binary variable constraints to obtain the upper bound of the main problem. The relaxed binary variable constraints are as follows:
[0082] (26);
[0083] Step S5.14: Solve the main problem after the binary variable constraints are relaxed by column generation; in the process of column generation, only a part of the feasible paths is considered , forming a restricted main problem, by solving the sub-problems of the branch pricing algorithm of the errand delivery problem, a new column with a test number less than 0 is generated and added to the restricted main problem, and then the linear relaxation problem of the restricted main problem is solved until no new column with a test number less than 0 is generated that meets the condition, and then the optimal solution of the linear relaxation problem of the restricted main problem is obtained; when the linear relaxation problem obtains a non-integer solution to the main problem, the branch and bound method is used to branch the non-integer solution to obtain the optimal solution of the main problem;
[0084] Step S5.15: Construct a subproblem model of the branching and pricing algorithm for the errand delivery problem; treat the subproblem as a basic shortest path problem with time windows, capacity, and pick-up constraints, with each errand vehicle corresponding to a separate subproblem; for each subproblem, when the column satisfies , add the corresponding column to the restricted master problem. When there is no corresponding column, the linear relaxation problem is solved; where is the dual value of constraint 1, that is, each node in the final solution is visited at most once; represents constraint 2, that is, each errand vehicle selects only one feasible path and the dual value corresponding to the current errand vehicle;
[0085] Step S5.16: Sub-problem objective function:
[0086] (27);
[0087] Step S5.17: Subproblem constraints:
[0088] (28);
[0089] (29);
[0090] (30);
[0091] (31);
[0092] (32);
[0093] (33);
[0094] (34);
[0095] (35);
[0096] (36);
[0097] (37);
[0098] (38);
[0099] (39);
[0100] (40);
[0101] (41);
[0102] (42);
[0103] (43);
[0104] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to reach the node from its own starting point ;
[0105] In the sub-problems, only the columns with the largest objective function and greater than 0 are added to the restricted main problem each time; the sub-problems are solved in parallel using the dynamic programming method;
[0106] Step S5.18: Design the optimal branch pricing algorithm for the errand delivery problem based on the main problem model and the sub-problem model.
[0107] Furthermore, the specific process of solving the sub-problems in parallel using the dynamic programming method is as follows:
[0108] Correspond each label to a point in the delivery area. , store tags Information, tags The information includes: Tags The location of the corresponding node , arrive at the tag The time of the corresponding node , visit the tag The cumulative cargo volume of errand vehicles after the corresponding node , accumulated to the label Corresponding node income , accumulated to the label The distance between the corresponding nodes ,Label The path formed by the corresponding nodes , to the tag The path to the corresponding node The collection of pickup locations for completed errand orders , that is, both the pickup location and the delivery location have been visited, to the tag The path to the corresponding node A collection of pickup locations for errand orders that have not yet been visited , arrive at the tag The corresponding node is the collection of pickup locations for errand orders that are no longer visited due to time limits being exceeded. ;
[0109] There are two cases to consider when expanding tags:
[0110] The first method is to label Extend to pickup locations for errand orders that have not yet been visited ;
[0111] The second method is to label Extended to the errand order delivery location for those who have visited the errand order pickup location but have not yet visited the errand order delivery location ;
[0112] At the same time, the label extension also needs to check whether the capacity change and load constraints of the errand vehicle and the time window constraints are met. Extend to pickup locations for errand orders that have not yet been visited , the following constraints must be met:
[0113] (44);
[0114] (45);
[0115] (46);
[0116] In the formula, Indicates the position of the node corresponding to the label With Node The time required to travel between Indicates the location of the node corresponding to the arrival label service time; Representation Node The latest arrival time; Indicates arrival node With Node The time required to travel between Representation Node The latest arrival time;
[0117] When the label Extend to another label , and the label The corresponding node is but:
[0118] (47);
[0119] (48);
[0120] (49);
[0121] (50);
[0122] (51);
[0123] (52);
[0124] (53);
[0125] (54);
[0126] (55);
[0127] In the formula, Representation Tags The location of the corresponding node With Node The time required to travel between Indicates arrival tag The location of the corresponding node service time; Representation Node The earliest arrival time; Representation Tags The location of the corresponding node With Node The distance between Indicates from the label The location of the corresponding node Arrival Node Required shipping costs;
[0128] When the label The corresponding node is but:
[0129] (56);
[0130] (57);
[0131] (58);
[0132] (59);
[0133] (60);
[0134] (61);
[0135] (62);
[0136] (63);
[0137] (64);
[0138] Let the first label be , the second label is , define the dominance rule, and use the dominance rule to determine the first label Is it better than the second label Has advantages when the first label Than the second label has an advantage, the second label is not considered The continued extension of.
[0139] Furthermore, for tags ,when The number of elements in is greater than the maximum number of errand orders that the errand vehicle can deliver ,or The number of elements in is greater than , then remove the label; specifically, the errand vehicle The current location is initialized as a label , , , , , , , , , , Represents an empty set, constructing an unexpanded label set and the expanded tag set ,Will Add to ,from Take out the labels one by one for expansion processing, and take out the labels from Eliminate and add , perform control checks and service quality constraint checks on the labels obtained after the expansion process, and add labels that fail the control check and service quality constraint check to , and continue the cycle until Is empty; the sub-problems corresponding to each errand vehicle are solved using parallel computing.
[0140] Furthermore, the specific process of step S6 is: first, the collected relevant information, namely the number of errand vehicles in the distribution area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of each errand vehicle's own location; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order are summarized and processed, and according to the needs of the errand platform itself, the corresponding parameters of the errand distribution problem branch pricing algorithm are adjusted, and then the summarized errand vehicle information and errand order information are passed to the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted, and finally a computer is used to execute the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted to obtain a specific distribution plan and the path planning of the corresponding errand vehicles.
[0141] Compared with the existing technology, the present invention has the following beneficial effects:
[0142] (1) The present invention can significantly improve the operational efficiency of the errand platform through an optimized scheduling scheme based on a mixed integer programming model, reduce the empty load rate and driving distance of vehicles, and thus reduce operating costs; the model of the present invention takes into account a variety of actual constraints, such as vehicle capacity, time window, service quality, etc., and can more accurately match vehicles and orders, optimize resource allocation, and reduce resource waste.
[0143] (2) By setting multiple variable parameters, the present invention enables the platform to dynamically adjust model parameters according to actual conditions, flexibly respond to different delivery needs and business scenarios, and improve overall scheduling efficiency; by optimizing scheduling, the on-time delivery rate of orders is improved, customer satisfaction and service experience are improved, and the market competitiveness of the platform is enhanced; through reasonable scheduling strategies, the benefits of car owners are maximized while costs are controlled, achieving a win-win situation for the platform and car owners.
[0144] (3) The present invention adopts a branch pricing algorithm and a dynamic programming method to solve sub-problems in parallel, which greatly improves the computational efficiency and can solve medium and large-scale problems in a relatively short time, making it suitable for real-time scheduling in actual operations. By applying the optimization algorithm, the intelligence level of scheduling is improved, the need for human intervention is reduced, and the scientificity and accuracy of scheduling decisions are improved.
[0145] (4) The model and algorithm of the present invention are constructed based on actual delivery problems, taking into account multiple factors in real scenarios. They have strong practicality and operability and can be directly applied to the daily operation and management of errand delivery platforms. In addition, the model and algorithm of the present invention have good scalability and can add more constraints and parameters according to actual needs, such as considering traffic conditions, weather effects, etc., to improve the applicability and accuracy of the model. BRIEF DESCRIPTION OF THE DRAWINGS
[0146] Figure 1 The present invention is a flow chart of the method. DETAILED DESCRIPTION
[0147] like Figure 1 As shown, the present invention provides a technical solution: an intelligent automatic dispatching and route planning method for errand delivery, comprising the following steps:
[0148] Step S1: Collect errand vehicles and errand order information from the errand platform in a certain delivery area.
[0149] Step S2: Make reasonable assumptions and design relevant parameters based on the errand delivery problem of the errand platform in step S1.
[0150] Step S3: Determine the requirements of the errand running platform in step S1 and construct relevant variables.
[0151] Step S4: Construct a mixed integer programming model based on the errand vehicles and errand order information of the errand platform in step S1, the relevant parameters designed in step S2, and the relevant variables constructed in step S3, combined with the actual errand delivery problem.
[0152] Step S5: Design a branch pricing algorithm for the errand delivery problem based on a mixed integer programming model.
[0153] Step S6: Based on the designed branch pricing algorithm for the errand delivery problem, a specific delivery plan and corresponding vehicle path planning are obtained.
[0154] The specific process of step S1 is as follows:
[0155] The information of all errand vehicles and errand orders of the errand platform in a certain delivery area within a certain time period is collected, where the errand vehicle information includes: the current location of the errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of the location of the errand vehicle itself; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order.
[0156] Among them, in step S2, the specific process of making reasonable assumptions based on the errand delivery problem of the errand platform in step S1 is:
[0157] Based on all the errand vehicle information and errand order information obtained, the errand vehicle owners and errand orders that meet the preset conditions (errand vehicles are idle and errand orders have not been accepted) are matched one by one to determine the errand vehicle owners and errand order demand points, and make reasonable assumptions:
[0158] 1. The pick-up and delivery locations for all errand orders and the departure points of the errand vehicle owners are determined in advance.
[0159] 2. A single errand vehicle can serve multiple errand orders, but each errand order can only be served by one errand vehicle, and there is no transfer.
[0160] 3. All errand vehicles travel on the road at the same uniform speed (40km / h) without any problems, without considering traffic congestion.
[0161] 4. Use the Euclidean distance between the pick-up location and the delivery location instead of the actual distance between the pick-up location and the delivery location.
[0162] 5. All errand vehicles have the same fixed costs and fuel costs per kilometer.
[0163] 6. There is no cargo on the errand vehicle when it departs.
[0164] Among them, in step S2, the specific process of designing relevant parameters is:
[0165] According to all the errand vehicle information and errand order information obtained, the relevant parameters are designed based on the errand delivery problem of the errand platform in step S1:
[0166] 1. Suppose there are several errand vehicles in a delivery area. , Indicates a collection of errand vehicles; Indicates the total number of errand vehicles, errand vehicles The maximum volume is , errand vehicles The unit transportation cost is .
[0167] 2. Suppose there are several errand orders in a delivery area. , Represents a collection of errand orders; Indicates the total number of errand orders, errand orders The cargo volume is .
[0168] 3. Suppose that after receiving the errand order, the errand vehicle departs from the starting point to the pick-up location specified in the errand order to pick up the corresponding goods and deliver them to the delivery location; the number set of the location (starting point) of the errand vehicle itself is , the collection of pickup location numbers for errand orders is , the delivery location number set of the errand order is The delivery location number of the same errand order is the value of the pickup location number plus .
[0169] 4. Let the set of all nodes in a distribution area be , , The distance between any two nodes in is known; is the set of edges consisting of the set of nodes in a distribution area, , Represents any two nodes in the distribution area, corresponding to the pickup location or delivery location, and defines the distance matrix between the two nodes as ;in, Representation Node With Node The distance between two nodes; define the time matrix between two nodes as ,and ,in, Indicates arrival node With Node The required driving time.
[0170] 5. Set the node The volume of goods for errand orders that need to be picked up is :
[0171] (1).
[0172] 6. Set the delivery fee per kilometer on the distribution platform to , for slave nodes Arrival Node The shipping cost is :
[0173] (2);
[0174] In the formula, Representation Node With Node The distance between.
[0175] 7. Set Node The time window is , Representation Node The earliest arrival time, Representation Node The latest arrival time of node The service time (start-up time of the errand vehicle and loading and unloading time of the errand order) is .
[0176] The specific process of step S3 is as follows:
[0177] According to all the errand vehicle information and errand order information obtained, design relevant variables based on the errand delivery problem of the errand platform;
[0178] 1. Decision variables , i.e. errand vehicles Whether to use the slave node Travel to the node , , , :
[0179] (3);
[0180] 2. Time variables , i.e. errand vehicles Arrival Node The actual time, , ,If the errand vehicle arrives earlier than the earliest arrival time of the node, it needs to wait until the earliest arrival time of the node;
[0181] (4);
[0182] 3. Cargo volume variables , i.e. errand vehicles Leave the node The amount of cargo on the vehicle, , .
[0183] The specific process of constructing the mixed integer programming model in step S4 is as follows:
[0184] Step S4.1: Construct relevant constraints of the mixed integer programming model:
[0185] 1. The errand vehicle must depart from its own location:
[0186] (5).
[0187] 2. Traffic balance constraint: errand vehicles can end their service at any drop-off point for errand orders. A virtual endpoint is introduced to ensure traffic balance. , the distance from any node to the virtual end point is 0, the volume of cargo that needs to be loaded on the node is 0, and the node revenue is 0, ensuring that the errand vehicle leaves the node after passing a node, and the errand vehicle eventually returns to the virtual end point:
[0188] (6);
[0189] (7);
[0190] In the formula, represents any node; Denotes errand vehicle Whether to use the slave node Arriving at any node ; Denotes errand vehicle Whether from any node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node .
[0191] 3. The pick-up location and delivery location of the same errand order must be served by the same errand vehicle:
[0192] (8);
[0193] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node .
[0194] 4. Each node is served by an errand vehicle at most once, and the errand vehicle will not reach the starting point of any errand vehicle, nor will it go to any node from the virtual end point:
[0195] (9);
[0196] (10);
[0197] (11);
[0198] (12);
[0199] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node .
[0200] 5. The time starts when the errand vehicle departs from its own location. It must first visit the pickup location of a errand order and then visit the delivery location. The delivery process time changes as follows:
[0201] (13);
[0202] (14);
[0203] (15);
[0204] In the formula, represents the first maximum constant value; Denotes errand vehicle The actual time of arrival at your departure point; Denotes errand vehicle Arrival Node The actual time; Denotes errand vehicle Arrival Node actual time.
[0205] 6. Time window constraints:
[0206] (16);
[0207] 7. Capacity changes and load constraints of errand vehicles:
[0208] (17);
[0209] (18);
[0210] (19);
[0211] In the formula, Indicates vehicle The amount of cargo when leaving from the origin; Denotes errand vehicle Leave the node The amount of cargo on the vehicle at that time; Represents the second largest constant value.
[0212] 8. Service quality constraints: During one dispatch process, one errand vehicle can deliver at most Errand orders:
[0213] (20);
[0214] Step S4.2: Construct the objective function of maximizing the revenue of the errand vehicle driver based on relevant variables and relevant constraints:
[0215] (twenty one);
[0216] Based on the actual errand vehicle information and errand order information, the relevant constraints of the mixed integer programming model were constructed, the driver's profit maximization objective function was constructed, and an intelligent mixed integer programming model was constructed, so that the mixed integer programming model can consider various factors more comprehensively and ensure the scientific nature of the final decision.
[0217] The specific process of step S5 is as follows:
[0218] Step S5.1: First, construct the main problem model of the branch pricing algorithm for the errand delivery problem; the original problem of the errand delivery problem can be transformed into a main problem based on the feasible path of the errand vehicle. For errand vehicles The set of feasible paths, Representing a collection The feasible path in , Denotes errand vehicle A feasible path Whether the node has been passed , if it passes, it is 1, otherwise it is 0, Denotes errand vehicle A feasible path The total cost, Denotes errand vehicle A feasible path The total freight cost; let the main problem decision variable be , Denotes errand vehicle Whether to choose your own feasible path , as an errand vehicle A feasible path 1 if selected, 0 otherwise.
[0219] Step S5.11: Main problem objective function (maximizing the total revenue of the errand vehicle owner):
[0220] (twenty two);
[0221] Step S5.12: Main problem constraints:
[0222] Constraint 1: Each node in the final solution is visited at most once:
[0223] (twenty three);
[0224] Constraint 2: Each errand vehicle chooses only one feasible path:
[0225] (twenty four);
[0226] Constraint 3: Binary variable constraints:
[0227] (25);
[0228] In the formula, Denotes errand vehicle Whether to choose your own feasible path .
[0229] Step S5.13: Linearly relax the binary variable constraints to obtain the upper bound of the main problem. The relaxed binary variable constraints are as follows:
[0230] (26);
[0231] Step S5.14: Due to The scale is very large, which makes the main problem difficult to solve. Therefore, column generation is usually used to solve the main problem after the binary variable constraints are relaxed. In the process of column generation, only a part of the feasible paths is considered. , forming a restricted main problem (RMP). By solving the sub-problems of the branch pricing algorithm for the errand delivery problem, a new column with a test number less than 0 is formed and added to the restricted main problem (RMP). Then, the linear relaxation problem of the restricted main problem (RMP) is solved until no new columns that meet the conditions (test number less than 0) are generated. The optimal solution of the linear relaxation problem of the restricted main problem (RMP) can be obtained. When the linear relaxation problem obtains a non-integer solution to the main problem, the branch and bound method is used to branch the non-integer solution, and finally the optimal solution to the main problem is obtained.
[0232] Step S5.15: Next, construct a subproblem model of the branch pricing algorithm for the errand delivery problem; treat the subproblem as a basic shortest path problem with time windows, capacity, and pick-up constraints. Each errand vehicle corresponds to a separate subproblem. The main purpose of the subproblem is to find columns that satisfy various constraints and add them to the restricted main problem (RMP). For each subproblem, when the column satisfies , add the corresponding column to the restricted master problem (RMP). If there is no corresponding column, the linear relaxation problem is solved; where is the dual value of constraint 1 (each node is visited at most once in the final solution); Represents the dual value corresponding to constraint 2 (each errand vehicle only chooses one feasible path) and the current errand vehicle.
[0233] Step S5.16: Sub-problem objective function:
[0234] (27);
[0235] Step S5.17: Subproblem constraints:
[0236] (28);
[0237] (29);
[0238] (30);
[0239] (31);
[0240] (32);
[0241] (33);
[0242] (34);
[0243] (35);
[0244] (36);
[0245] (37);
[0246] (38);
[0247] (39);
[0248] (40);
[0249] (41);
[0250] (42);
[0251] (43);
[0252] In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to reach the node from its own starting point .
[0253] Formula (27) is to find the column with the most negative test number (here, the opposite of the test number is taken). The meanings of Formulas (28) to (43) are consistent with those of the constraints of the main problem. The difference is that this time, a special errand vehicle is processed; in the sub-problem, only the column with the largest objective function greater than 0 is added to the restricted main problem (RMP) each time; the sub-problem is solved using the dynamic programming method.
[0254] Among them, although the scale of the sub-problem is smaller than that of the main problem, it is still an NP-hard problem. The efficiency of solving it directly using the solver is low. The dynamic programming (or labeling method) algorithm is used to solve the sub-problem, and different errand vehicles are calculated simultaneously in parallel, which can greatly improve the efficiency of the solution.
[0255] Each label corresponds to a node in the delivery area. , store tags The information is used to construct a label information table, as shown in Table 1:
[0256] Table 1 Label information table
[0257]
[0258] Among them, only two cases are considered for label expansion: the first one is to add the label Extend to pickup locations for errand orders that have not yet been visited ; The second method is to label Extended to the errand order delivery location for those who have visited the errand order pickup location but have not yet visited the errand order delivery location At the same time, the label extension must also check whether it meets the capacity and time window constraints. Extend to pickup locations for errand orders that have not yet been visited , the following constraints need to be met:
[0259] (44);
[0260] (45);
[0261] (46);
[0262] In the formula, Indicates the position of the node corresponding to the label With Node The time required to travel between Indicates the location of the node corresponding to the arrival label service time; Representation Node The latest arrival time; Indicates arrival node With Node The time required to travel between Representation Node The latest arrival time.
[0263] Formula (44) represents the expansion to the pickup location of errand order It cannot be overloaded; Equations (45) and (46) represent the expansion to the pickup location of the errand order The time cannot exceed the pickup location of the errand order The latest arrival time, and subsequent expansion can at least directly from the errand order pickup location Directly expand to the delivery location corresponding to the pickup location of this errand order .
[0264] If the label Extend to another label is feasible, and the label The corresponding node is but:
[0265] (47);
[0266] (48);
[0267] (49);
[0268] (50);
[0269] (51);
[0270] (52);
[0271] (53);
[0272] (54);
[0273] (55);
[0274] In the formula, Representation Tags The location of the corresponding node With Node The time required to travel between Indicates arrival tag The location of the corresponding node service time; Representation Node The earliest arrival time; Representation Tags The location of the corresponding node With Node The distance between Indicates from the label The location of the corresponding node Arrival Node Required shipping costs.
[0275] If the tag The corresponding node is but:
[0276] (56);
[0277] (57);
[0278] (58);
[0279] (59);
[0280] (60);
[0281] (61);
[0282] (62);
[0283] (63);
[0284] (64);
[0285] Let the first label be , the second label is , define the dominance rule, and use the dominance rule to determine the first label Is it better than the second label More advantages, when the first label Than the second label More advantages, then the second label The result of the extension cannot be larger than the first tag. Better, no need to think about the second tag The continued extension of.
[0286] When the first label Than the second label More advantages:
[0287] (65);
[0288] (66);
[0289] Since there is a quality of service constraint in the subproblem, for the label ,if The number of elements in is greater than the maximum number of errand orders that the errand vehicle can deliver ,or The number of elements in is greater than , the label can be removed; specifically, the errand vehicle The current location is initialized as a label , , , , , , , , , , Represents an empty set, constructing an unexpanded label set and the expanded tag set ,Will Add to ,from Take out the labels one by one for expansion processing, and take out the labels from Eliminate and add , perform control checks and service quality constraint checks on the labels obtained after the expansion process, and add labels that fail the control check and service quality constraint check to , and continue the cycle until Is empty; the sub-problems corresponding to each errand vehicle can be solved by parallel computing.
[0290] Step S5.18: Design a suitable branch pricing algorithm for the errand delivery problem based on the main problem model and the sub-problem model to improve the solving efficiency of the main problem model and the sub-problem model, thereby improving the dispatching efficiency of the errand delivery platform.
[0291] Among them, the specific process of step S6 is: first, the collected relevant information (the number of errand vehicles in the distribution area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, the longitude and latitude of the location of each errand vehicle; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order) is summarized and processed, and according to the needs of the errand platform itself, the corresponding parameters of the errand distribution problem branch pricing algorithm are adjusted, and then the summarized errand vehicle information and errand order information are passed to the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted, and finally a computer is used to execute the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted to obtain a specific distribution plan and the path planning of the corresponding errand vehicles.
[0292] In order to prove the feasibility of the present invention, experiments are now conducted on the intelligent automatic dispatching and route planning of errand delivery by the inventive method;
[0293] First, set a time period of 30 minutes, and collect all errand vehicle information and errand order information in a certain delivery area within this time period. The errand vehicle information includes: the number of errand vehicles in the delivery area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of the current location of each errand vehicle; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order; then determine the specific values of the relevant parameters according to the actual market business situation (set the freight rate per kilometer 3 yuan, and each node service time is 2 minutes), and computer language is used to write code to realize intelligent automatic dispatching and route planning for errand delivery. The experimental results are shown in Table 2. The results show that the present invention can obtain the optimal dispatching plan in a short time under different order volumes, and compared with the traditional dispatching method (the traditional dispatching method is to dispatch orders only according to the distance between the errand vehicle and the order pickup location), the total income of the drivers of the present invention is higher.
[0294] Table 2 Experimental results
[0295]
[0296] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. An intelligent automatic dispatching and route planning method for errand delivery, characterized in that: The steps include: Step S1: Collecting errand vehicles and errand order information from errand platforms in a certain delivery area; Step S2: Make reasonable assumptions and design relevant parameters based on the errand delivery problem of the errand platform in step S1; Step S3: Determine the requirements of the errand running platform in step S1 and construct relevant variables; Step S4: constructing a mixed integer programming model based on the errand vehicles and errand order information of the errand platform in step S1, the relevant parameters designed in step S2, and the relevant variables constructed in step S3 in combination with the actual errand delivery problem; Step S5: designing a branching pricing algorithm for the errand delivery problem based on a mixed integer programming model; Step S6: deriving a specific delivery plan and corresponding vehicle path planning based on the designed branch pricing algorithm for the errand delivery problem; The specific process of step S1 is: collect all errand vehicle information and errand order information of the errand platform in a certain delivery area in a certain time period, wherein the errand vehicle information includes: the number of errand vehicles in the delivery area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of the location of each errand vehicle; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time and latest unloading time of each errand order; In step S2, the specific process of making reasonable assumptions about the errand delivery problem of the errand platform in step S1 is as follows: based on all the acquired errand vehicle information and errand order information, matching the errand vehicle owners and errand orders that meet the preset conditions, i.e., the errand vehicles are idle and the errand orders have not been accepted, determining the errand vehicle owners and errand order demand points, and making reasonable assumptions: The pick-up and delivery locations for all errand orders and the departure points of the errand vehicle owners are determined in advance; A single errand vehicle serves multiple errand orders, but each errand order is only served by a single errand vehicle, and there is no transfer; All errand vehicles travel on the road without any problems at the same uniform speed, regardless of traffic congestion; Use the Euclidean distance between the pickup location and the delivery location instead of the actual distance between the pickup location and the delivery location; All errand vehicles have the same fixed costs and fuel costs per kilometer; There is no cargo on the errand vehicle when it departs; In step S2, the specific process of designing relevant parameters is: according to all the errand vehicle information and errand order information that have been obtained, the relevant parameters are designed based on the errand delivery problem of the errand platform in step S1: Suppose there are several errand vehicles in a delivery area. , Indicates a collection of errand vehicles; Indicates the total number of errand vehicles, errand vehicles The maximum volume is , errand vehicles The unit transportation cost is ; Suppose there are several errand orders in a delivery area. , Represents a collection of errand orders; Indicates the total number of errand orders, errand orders The cargo volume is ; Suppose that after accepting an errand order, the errand vehicle departs from the starting point to the pick-up location specified in the errand order to pick up the corresponding goods and deliver them to the delivery location; the number set of the errand vehicle’s starting point is , the collection of pickup location numbers for errand orders is , the delivery location number set of the errand order is The delivery location number of the same errand order is the value of the pickup location number plus ; Suppose the set of all nodes in a distribution area is , , a single node in the distribution area corresponds to the pick-up or delivery location of the errand order, The distance between any two nodes in is known; is the set of edges consisting of the set of nodes in a distribution area, , Represents any two nodes in the distribution area, and defines the distance matrix between the two nodes as ;in, Representation Node With Node The distance between two nodes; define the time matrix between two nodes as ,and ,in, Represents the arrival node With Node Required travel time; Setting Node The volume of goods for errand orders that need to be picked up is : (1); Set the delivery platform's freight per kilometer to , for slave nodes Arrival Node The shipping cost is : (2); In the formula, Representation Node With Node The distance between Setting Node The time window is , Representation Node The earliest arrival time, Representation Node The latest arrival time of a node The service time, i.e. the time it takes for the errand vehicle to start and the time it takes to load and unload the goods for the errand order, is ; The specific process of step S3 is: according to all the errand vehicle information and errand order information that have been obtained, design relevant variables based on the errand delivery problem of the errand platform: Decision variables , i.e. errand vehicles Whether to use the slave node Travel to the node , , , ; (3); Time variables , i.e. errand vehicles Arrival Node The actual time, , ,When the errand vehicle arrives earlier than the earliest arrival time of the node, it waits until the earliest arrival time of the node; (4); Cargo volume variables , i.e. errand vehicles Leave the node The amount of cargo on the vehicle, , ; The specific process of constructing the mixed integer programming model in step S4 is as follows: Step S4.1: Construct relevant constraints of the mixed integer programming model: The errand vehicle departs from its own location: (5); Traffic balance constraint; errand vehicles end service at any errand order drop-off point; set a virtual end point , the distance from any node to the virtual end point is 0, the volume of cargo that needs to be loaded on the node is 0, the node revenue is 0, the errand vehicle leaves the node after passing a node, and the errand vehicle eventually returns to the virtual end point: (6); (7); In the formula, represents any node; Denotes errand vehicle Whether to use the slave node Arriving at any node ; Denotes errand vehicle Whether from any node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node ; The pickup and delivery locations of the same errand order are served by the same errand vehicle: (8); In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Each node is served by an errand vehicle at most once, and the errand vehicle does not reach the starting point of any errand vehicle, nor does it start from the virtual end point to go to any node: (9); (10); (11); (12); In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to use the slave node Arrival Node ; The time starts when the errand vehicle departs from its own location. It first visits the pickup location of the errand order and then visits the delivery location. The time changes during the delivery process are as follows: (13); (14); (15); In the formula, represents the first maximum constant value; Denotes errand vehicle The actual time of arrival at your departure point; Denotes errand vehicle Arrival Node The actual time; Denotes errand vehicle Arrival Node The actual time; Time window constraints: (16); Capacity changes and load constraints of errand vehicles: (17); (18); (19); In the formula, Indicates vehicle The amount of cargo when leaving from the origin; Denotes errand vehicle Leave the node The amount of cargo on the vehicle at that time; represents the second largest constant value; Service quality constraint: During one dispatch process, one errand vehicle can deliver at most Errand orders: (20); Step S4.2: Construct the objective function of maximizing the revenue of the errand vehicle driver based on relevant variables and relevant constraints: (21); The specific process of step S5 is: Step S5.1: First, construct the main problem model of the branch pricing algorithm for the errand delivery problem. For errand vehicles The set of feasible paths, Representing a collection The feasible path in , Denotes errand vehicle A feasible path Whether to pass through the node , if passed, it is 1, otherwise it is 0, Denotes errand vehicle A feasible path The total cost, Denotes errand vehicle A feasible path The total freight cost; let the main problem decision variable be , Denotes errand vehicle Whether to choose your own feasible path , as an errand vehicle A feasible path 1 if selected, 0 otherwise; Step S5.11: Main problem objective function: (22); Step S5.12: Main problem constraints: Constraint 1: Each node in the final solution is visited at most once: (23); Constraint 2: Each errand vehicle chooses only one feasible path: (24); Constraint 3: Binary variable constraints: (25); In the formula, Denotes errand vehicle Whether to choose your own feasible path ; Step S5.13: Linearly relax the binary variable constraints to obtain the upper bound of the main problem. The relaxed binary variable constraints are as follows: (26); Step S5.14: Solve the main problem after the binary variable constraints are relaxed by column generation; in the process of column generation, only a part of the feasible paths is considered , forming a restricted main problem, by solving the sub-problems of the branch pricing algorithm of the errand delivery problem, a new column with a test number less than 0 is generated and added to the restricted main problem, and then the linear relaxation problem of the restricted main problem is solved until no new column with a test number less than 0 is generated that meets the condition, and then the optimal solution of the linear relaxation problem of the restricted main problem is obtained; when the linear relaxation problem obtains a non-integer solution to the main problem, the branch and bound method is used to branch the non-integer solution to obtain the optimal solution of the main problem; Step S5.15: Construct a subproblem model of the branch pricing algorithm for the errand delivery problem; treat the subproblem as a basic shortest path problem with time windows, capacity, and pick-up constraints, with each errand vehicle corresponding to a separate subproblem; for each subproblem, when the column satisfies , add the corresponding column to the restricted master problem. When there is no corresponding column, the linear relaxation problem is solved; where is the dual value of constraint 1; represents the dual value corresponding to constraint 2 and the current errand vehicle; Step S5.16: Sub-problem objective function: (27); Step S5.17: Subproblem constraints: (28); (29); (30); (31); (32); (33); (34); (35); (36); (37); (38); (39); (40); (41); (42); (43); In the formula, Denotes errand vehicle Whether to use the slave node Arrival Node ; Denotes errand vehicle Whether to reach the node from its own starting point ; In the sub-problems, only the columns with the largest objective function and greater than 0 are added to the restricted main problem each time; the sub-problems are solved in parallel using the dynamic programming method; Step S5.18: Design an optimal branch pricing algorithm for the errand delivery problem based on the main problem model and the sub-problem model; The specific process of solving the sub-problems in parallel using the dynamic programming method is as follows: Correspond each label to a point in the delivery area. , storage tag Information, tags The information includes: Tags The location of the corresponding node , arrive at the tag The time of the corresponding node , visit the tag The cumulative cargo volume of errand vehicles after the corresponding node , accumulated to the label The corresponding node's income , accumulated to the label The distance between the corresponding nodes ,Label The path formed by the corresponding nodes , to the label The path to the corresponding node The collection of pickup locations for completed errand orders , that is, both the pickup location and the delivery location have been visited, to the tag The path to the corresponding node A collection of pickup locations for errand orders that have not yet been visited , arrive at the tag The corresponding node is the collection of pickup locations for errand orders that are no longer visited due to time limits being exceeded. ; There are two cases to consider when expanding tags: The first method is to label Extend to pickup locations for errand orders that have not yet been visited ; The second method is to label Extended to the errand order delivery location for those who have visited the errand order pickup location but have not yet visited the errand order delivery location ; At the same time, the label extension also needs to check whether the capacity change and load constraints of the errand vehicle and the time window constraints are met. Extend to pickup locations for errand orders that have not yet been visited , the following constraints must be met: (44); (45); (46); In the formula, Indicates the position of the node corresponding to the label With Node The travel time required between Indicates the location of the node corresponding to the arrival label service time; Representation Node The latest arrival time; Indicates arrival node With Node The time required to travel between Representation Node The latest arrival time; When the label Extend to another label , and the label The corresponding node is but: (47); (48); (49); (50); (51); (52); (53); (54); (55); In the formula, Representation Tags The location of the corresponding node With Node The time required to travel between Indicates arrival tag The location of the corresponding node service time; Representation Node The earliest arrival time; Representation Tags The location of the corresponding node With Node The distance between Indicates from the label The location of the corresponding node Arrival Node The required shipping costs; When the label The corresponding node is but: (56); (57); (58); (59); (60); (61); (62); (63); (64); Let the first label be , the second label is , define the dominance rule, and use the dominance rule to determine the first label Is it better than the second label Has advantages when the first label Than the second label has an advantage, the second label is not considered The continued extension of.
2. The method for intelligent automatic dispatching and route planning for errand delivery according to claim 1, characterized in that: For Tags ,when The number of elements in is greater than the maximum number of errand orders that the errand vehicle can deliver ,or The number of elements in is greater than , then remove the label; specifically, the errand vehicle The current location is initialized as a label , , , , , , , , , , Represents an empty set, constructing an unexpanded label set and the expanded tag set ,Will Add to ,from Take out the labels one by one for expansion processing, and take out the labels from Eliminate and add , perform control checks and service quality constraint checks on the labels obtained after the expansion process, and add labels that fail the control check and service quality constraint check to , and continue the cycle until Is empty; the sub-problems corresponding to each errand vehicle are solved using parallel computing.
3. The method for intelligent automatic dispatching and route planning for errand delivery according to claim 2, characterized in that: The specific process of step S6 is: first, the collected relevant information, namely the number of errand vehicles in the distribution area, the current location of each errand vehicle, the maximum capacity of the errand vehicle, and the longitude and latitude of each errand vehicle's own location; the errand order information includes: the number of errand orders on the day and the pick-up location, delivery location, cargo volume, longitude and latitude of the pick-up location, longitude and latitude of the delivery location, earliest loading time, and latest unloading time of each errand order are summarized and processed, and according to the needs of the errand platform itself, the corresponding parameters of the errand distribution problem branch pricing algorithm are adjusted, and then the summarized errand vehicle information and errand order information are passed to the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted, and finally a computer is used to execute the errand distribution problem branch pricing algorithm with the corresponding parameters adjusted to obtain a specific distribution plan and the path planning of the corresponding errand vehicles.
Citation Information
Patent Citations
Vehicle path planning method with time window based on heuristic branch pricing algorithm
CN116611595A
Battery replacement cabinet site selection path optimization method for electric bicycles in take-out delivery scene
CN117408398A