^{1}

^{1}

^{1}

^{2}

^{2}

^{1}

^{2}

This paper studies the take-out route delivery problem (TRDP) with order allocation and unilateral soft time window constraints. The TRDP considers the order allocation and delivery route optimization in the delivery service process. The TRDP is a challenging version of vehicle routing problem. In order to solve this problem, this paper aims to minimize the total cost of delivery, builds an optimization model of this problem by using cumulative time, and adds time dimension in order allocation and path optimization dimensions. It can not only track the real-time location of delivery personnel but also record the delivery personnel to perform a certain task. The main algorithm is the dynamic allocation algorithm designed from the perspective of dispatch efficiency, and the subalgorithm is the improved genetic algorithm. Finally, some experiments are designed to verify the effectiveness of the established model and the designed algorithm, the order allocation and route optimization are calculated with/without the consideration of traffic jam, and the results show that the algorithm can generate better solution in each scene.

At present, the take-out market in China continues to develop at an extraordinary speed, and the take-out platforms are competing in all aspects, such as high-quality supply and delivery experience. The COVID-19 has begun to erupt in all parts of the world and is spreading rapidly since the end of 2019. China, as one of the countries affected earlier by the epidemic, has adopted the measures of home quarantine during the fight against epidemic diseases, which plays a vital role in overcoming the epidemic. During the period of home quarantine, a large number of purchase and distribution of life materials and medicines were completed through the take-out. The mode of sale and delivery provides certain material support for residents, effectively alleviates the risk of infection of residents going out, and makes the best effect of blockade (isolation at home). It has been proved to be effective by practice in China to use a large number of daily necessities delivered by take-out staff to urban and rural residents during the epidemic period, which is worthy of reference for other countries that are affected by the epidemic and intend to adopt blockade (home isolation). Therefore, it is of great significance to research and apply the order (food, medicine, and other daily necessities) delivered by take-out staff.

Delivery timeliness and on-time rate, as important indicators of take-out delivery, are the core competitiveness of the delivery platform. Generally speaking, the most direct way to improve the delivery efficiency and punctuality rate of users is to equip more delivery personnel and expand the scale of transportation capacity. However, it also means the increase of distribution cost. Therefore, on the one hand, the delivery platform should pursue a good delivery experience; on the other hand, it is constrained by the human cost of distribution. How to improve the delivery rules, optimize the delivery route, and reduce the delivery cost while improving customer satisfaction has become a hot issue. In the current delivery problem, depending on the experience of delivery personnel to choose the delivery order and delivery path is easy to cause secondary delivery, which not only reduces the delivery efficiency but also increases the delivery cost and customer dissatisfaction, and less consideration is given to the real-time distribution of delivery orders. Therefore, how to improve the delivery efficiency and customer satisfaction is very important for delivery companies, businesses, and customers.

In recent years, the issue of food delivery has become a hot topic of research. Li et al. [

Take-out food distribution is essentially a kind of o2o business model. Dai et al. [

The path optimization problem in the delivery problem can be regarded as a variant of vehicle routing problem (VRP) [

The research of vehicle routing problem has been relatively mature, so now it is basically focused on the problem with deformation and algorithm research. Chen et al. [

Although the research on the deformation and algorithm of the vehicle routing problem has been relatively mature, for the delivery path optimization problem, we need to consider the constraints of one-sided soft time window and the special requirements of first take and send; for the regional delivery system, we must consider the distribution between the delivery order and delivery personnel. Based on this, this paper establishes a delivery path optimization model based on cumulative time and designs the shortest path order allocation algorithm and the path optimization algorithm based on the improved ant colony algorithm.

The major contributions of this study are as follows: (1) for allocation and dispatch path optimization modelling, the cumulative time modelling method is used to establish the order allocation and dispatch path optimization model; (2) a dynamic optimization algorithm is designed to solve the model in this paper.

Section

The problem of order allocation and delivery path optimization in the take-out system is that when the take-out order is generated, the order is assigned to a specific courier according to the current location and distribution status of all couriers. After receiving the new task, the courier starts from their current location and goes to the merchant to pick up the goods under the condition of time window constraint and then sends it to the corresponding customer, or continues to the next merchant node to pick up goods and then to complete the delivery task at the same time. Generally speaking, a one-sided soft time window constraints for the courier get to the merchant to pick up the meal and to the customer’s home to deliver the order, as shown in Figure

Delivery structure diagram.

In the order allocation stage, we need to consider the impact of the orders already dispatched to every courier and allocate the order tasks from the aspects of delivery efficiency and service ability of all couriers. When a new order is designated to a certain courier, the originally planned delivery route of this courier may be affected rather than the most effective one. As a result, a rescheduling phase is necessary to obtain the optimal path based on current situation, which reflects the dynamic coupling characteristic between order allocation and delivery route optimization in the take-out delivery problem. In the delivery route optimization stage, it is aimed to find an optimal route with the minimum generalized cost, including the travel distance, the waiting cost, and the time penalty cost of all couriers. In Figure

Relationship between order real-time allocation and dispatch path optimization.

Figure

According to the characteristic of this problem, the set of merchant and the set of customer both have a unilateral soft time window constraint, that is, the courier can arrive at the merchant or serve the customer early but not late than the expect time window, otherwise a penalty cost associated to the delay time will be used to affect the generation of delivery route.

Without losing generality, this paper makes the following assumptions:

The number of couriers inside the service region is known and fixed, which can meet the demand of order dispatch

All orders are compatible with any courier, that is, each order can be dispatched to any courier

The delivery interruption caused by vehicles and couriers is not considered

General Notations

Space-Time Node Sets

Other Declaration Symbols

Decision Variables

In order to optimize the delivery route of take-out, it is necessary to consider the distribution of take-out tasks and the optimization of the delivery route. Set up the take-out delivery time-space network, as shown in Figure

Take-out delivery time-space network.

In order to represent specific nodes with temporal and spatial attributes, we define them as

Delivery order departure node

Take-out order arrival node

Objective Function. The objective of this optimization model is to minimize the generated total cost of take-out delivery, including travel cost and time penalty cost, that is, the objective function can be described as

Delivery Start Node Constraints. From the current location, the first node that the take-out delivery courier visits must be the merchant node:

Delivery End Node Constraints. When the take-out delivery courier visits his last customer, it can be considered that the take-out dispatch process is completed and there is no need for him to return to the starting point or the merchant nodes:

Service Frequency Constraints. In a task set, for the same courier, each customer is served exactly once:

Order Task Coverage Constraints. Each order task can be delivered by only one take-out delivery courier. Task coverage constraints can be represented by route dispatch variable

Order Distribution Constraints. For each order, only one take-out delivery courier can be assigned:

Variable Constraints. The take-out delivery couriers choice of each route is a 0-1 variable, and whether to assign order

The delivery order allocation and dispatch route optimization studied in this paper is a dynamic process. In the solution stage, it is necessary to determine the allocation result of the subsequent new orders according to the assigned orders and their completion status of the delivery courier, as shown in Figure

Coordination and optimization algorithm design of the take-out system.

First, orders generated early are assigned to couriers with the consideration of distance between the courier and the merchant and the customer, as well as the delivery ability of the couriers, and the current best delivery route is calculated according to all orders allocated to each courier. Then, the new order allocation is carried out based on the former order allocation result, and finally the optimal route after adding the new order is recalculated and this process will be repeated until all orders are allocated to the corresponding courier.

The allocation of new order in the take-out system is a dynamic process, which is handled with the passage of time, and the current position and remaining tasks of all the couriers should be also considered.

In this paper, from the perspective of dispatch efficiency, the evaluation function of order allocation is established based on the sum of the follow-up operation time of all the couriers in the region after receiving the new order, and the current optimal allocation scheme is determined according to the evaluation function.

Let order allocation evaluation function

The equation

The delivery time of courier

Although the probability is small, it is possible to generate two or more orders at the same time. In this case, the way we deal with it is sorting these orders by random sequence, and then allocate the new orders to couriers one by one.

In order allocation and delivery route coordination optimization algorithm of the take-out system, the main algorithm is dynamic order allocation algorithm based on dispatch efficiency, and the subalgorithm is route optimization algorithm based on current optimal. For a new delivery order, we first try to assign it to a courier in the region, use the delivery route optimization subalgorithm to optimize the delivery route of this courier in real time, and calculate his remaining delivery time and the corresponding system remaining delivery time.

Repeat the process to get all the possible allocation schemes, and then, based on the evaluation function, the greedy strategy is adopted to select the optimal scheme to use. Continue the allocation process of the subsequent orders according to the sequence of their appearing time until all the orders have been allocated. The specific flow chart of the algorithm is shown in Figure

Flow chart of dynamic coordination optimization algorithm.

Step0: Initialization; Initializes the real-time location of all couriers and the information of all orders, let

Step1: For order

Step2: Execute

Step3: Perform Sub-Algorithm of route optimization to calculate the current optimal route of courier

Step4: According to the evaluation function

Step5: Capacity judgment. If the capacity

Step6: Judge whether the condition

In order to find the optimal delivery route for the allocated but not yet completed orders for a certain courier, a genetic algorithm considering the special characteristics of the problem is designed in this paper. The flow of the algorithm is as follows:

Step 0 (chromosome representation): the chromosomes are coded in natural number, i.e., the corresponding codes of orders O_{1} and O_{2} are 1, 2 and 3, 4, respectively, where the odd numbers 1, 3 represent the merchant nodes while the even numbers 2, 4 represent the customer node. Since the delivery stage of the order must occur after the picking up stage, the customer node (even number) corresponding to an order in the chromosome must be behind the merchant node (odd number), and the numbers used to represent the merchant and customer are sorted by the order generation time sequence.

In the delivery system, the order delivery problem must be guaranteed to take first and send back, that is to say, for an order, in the chromosome, the corresponding point of the merchant must appear before the corresponding point of the customer. All of them can get reasonable offspring, which can satisfy the order’s first pick-up and back delivery.

Step 1 (initial population selection): the initial population is randomly generated in existing individuals according to the constraints.

Step 2 (cross operator): green denotes the intersection of genes, with the first half of the offspring being the first half of the corresponding parent and the second half in the order of the remaining elements in the other parent. All solutions must also satisfy one constraint, that is, for five orders, the business order is 1, 3, 5, 7, 9; the customer order is 2, 4, 6, 8, 10; the access order constraints of 1 before 2, 3 before 4, 5 before 6, 7 before 8, and 9 before 10 are required.

In this paper, a visit sequence-based coding is designed to solve the delivery route optimization problem. In the process of crossover, the method of generating two children from two parents is adopted. The specific operation of crossover is shown in Figure

First, two parent chromosomes are randomly selected from the population according their fitness function, and a crossing position is generated randomly either, as shown in the red line in the figure. Since the chromosomes are divided into the first half and the second half by the crossing position, an effective crossover operation is designed here to ensure the feasibility of the two generated children. For child 1, the first half of father 1 was copied directly, and then the missing genes were supplemented to the second half in the order in which they appeared in father 2. Similarly, this operation can be used again to generate child 2. In this mode of crossover, as long as two parents are feasible, the offspring generated by their hybridization will also be feasible. That is, the constraint of visiting the merchant nodes (1, 3, 5, 7, 9) before their corresponding customer nodes (2, 4, 6, 8, 10) can be easily satisfied.

Step 3 (mutation operator): to maintain the diversity of population, the local changes of chromosome are generated by mutation operator. First, a chromosome is selected randomly from the population. Then, in order to keep the feasibility of chromosome after mutation, a variation mode based on node pair exchange is designed, that is, select two orders randomly and exchange the visit sequence of their merchant nodes correspondingly, as well as the customer nodes, so as to ensure that, for any chromosome after mutation, each customer node must appear after its corresponding merchant node. The specific mutation process is shown in Figure

Step 4 (fitness function): the fitness function is the objective function in this paper, that is, the total delivery cost of all orders.

A crossover operator diagram.

A mutation operator diagram.

To verify the validity of the take-out order allocation and delivery route optimization model established in this paper, taking Anning District of Lanzhou City Gansu Province in China as an example, 13 orders with 26 nodes are selected, and the latitude and longitude of each node are obtained through the Golden Map API. Assuming the following take-out delivery scenario, the location of two couriers and the location of the merchants and customers are shown in Figure _{5} are m_{5} and c_{5}, respectively.

Take-out node map location.

Information tables for each node.

ID | Positional coordinates | Waiting time (min) | Time window | Order generation time | |
---|---|---|---|---|---|

Courier1 | 103.723339, 36.108555 | 0 | — | — | |

Courier2 | 103.731286, 36.101268 | 0 | — | — | |

O1 | m1 | 103.725745, 36.100809 | 1 | [0, 15] | 11 : 30 |

c1 | 103.728406, 36.106348 | 0 | [0, 35] | 11 : 30 | |

O2 | m2 | 103.725745, 36.100809 | 1 | [0, 15] | 11 : 35 |

c2 | 103.728406, 36.106348 | 0 | [0, 35] | 11 : 35 | |

O3 | m3 | 103.723948, 36.101437 | 0 | [1, 19] | 11 : 41 |

c3 | 103.709617, 36.090871 | 1 | [0, 40] | 11 : 41 | |

O4 | m4 | 103.724538, 36.096487 | 3 | [2, 26] | 11 : 50 |

c4 | 103.699833, 36.090897 | 2 | [5, 51] | 11 : 50 | |

O5 | m5 | 103.730761, 36.099808 | 1 | [2, 31] | 11 : 55 |

c5 | 103.694254, 36.094989 | 2 | [10, 50] | 11 : 55 | |

O6 | m6 | 103.730208, 36.097688 | 2 | [4, 40] | 12 : 00 |

c6 | 103.697386, 36.106189 | 1 | [10, 63] | 12 : 00 | |

O7 | m7 | 103.720466, 36.101407 | 0 | [3, 48] | 12 : 09 |

c7 | 103.697247, 36.106423 | 0 | [0, 58] | 12 : 09 | |

O8 | m8 | 103.723229, 36.098421 | 2 | [4, 50] | 12 : 15 |

c8 | 103.717396, 36.103198 | 1 | [0, 66] | 12 : 15 | |

O9 | m9 | 103.714362, 36.107033 | 1 | [6, 63] | 12 : 27 |

c9 | 103.749840, 36.087507 | 2 | [5, 72] | 12 : 27 | |

O10 | m10 | 103.745770, 36.098516 | 2 | [3, 70] | 12 : 38 |

c10 | 103.741933, 36.097061 | 1 | [10, 75] | 12 : 38 | |

O11 | m11 | 103.747262, 36.098949 | 1 | [4, 83] | 12 : 48 |

c11 | 103.739824, 36.104035 | 1 | [5, 90] | 12 : 48 | |

O12 | m12 | 103.748163, 36.098390 | 1 | [3, 88] | 12 : 54 |

c12 | 103.743054, 36.102341 | 1 | [10, 93] | 12 : 54 | |

O13 | m13 | 103.730095, 36.094775 | 2 | [2, 95] | 13 : 00 |

c13 | 103.758739, 36.087851 | 2 | [6, 104] | 13 : 00 |

In this paper, take-out order dispatch and route optimization with/without considering traffic jam are calculated and compared, in which the congestion of urban road network is reflected by the speed of couriers. If there is no traffic jam in each road section of the road network, the delivery speed of the courier is constant throughout the trip. If there is traffic jam in some road sections, the courier will pass the congested road at a lower speed.

The computing environment of the numerical experiment in this paper is Intel Core i7-7500u CPU, with 16 GB memory and windows 10 operating system, and the algorithm proposed is programed by MATLAB R2019a software. Assuming that the vehicle dispatching speed is 24.5 km/h and 35 km/h when the congestion is considered or not, the penalty cost for overtime dispatching is 1 yuan/min, and the dispatching fee is 0.1 yuan/km. The calculation termination condition is the iteration times, which is set as 100.

When considering the congestion situation in a specific period of time, it is assumed that the 30th min and 56th min of the delivery system are the start and end time of traffic jam, and the congestion section matrix is shown in Table

Matrix of congested road sections.

m1 | m2 | m3 | m4 | m5 | m6 | m7 | m8 | m9 | m10 | m11 | m12 | m13 | p1 | p2 | p3 | p4 | p5 | p6 | p7 | p8 | p9 | p10 | p11 | p12 | p13 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

m1 | — | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |

m2 | 1 | — | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |

m3 | 1 | 1 | — | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |

m4 | 0 | 1 | 1 | — | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |

m5 | 1 | 0 | 0 | 1 | — | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |

m6 | 1 | 1 | 1 | 0 | 1 | — | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |

m7 | 0 | 0 | 1 | 1 | 0 | 1 | — | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |

m8 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | — | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |

m9 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | — | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |

m10 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | — | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |

m11 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | — | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |

m12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | — | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |

m13 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | — | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |

p1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | — | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |

p2 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | — | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |

p3 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | — | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |

p4 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | — | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |

p5 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | — | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |

p6 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | — | 1 | 1 | 0 | 0 | 1 | 0 | 0 |

p7 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | — | 1 | 0 | 1 | 1 | 1 | 0 |

p8 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | — | 1 | 1 | 1 | 1 | 1 |

p9 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | — | 0 | 0 | 1 | 0 |

p10 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | — | 0 | 0 | 0 |

p11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | — | 1 | 1 |

p12 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | — | 0 |

p13 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | — |

Table

Order allocation result.

Regardless of traffic jam | Considering traffic jam | |||
---|---|---|---|---|

Couriers | 1 | 2 | 1 | 2 |

Allocated order | (O3, O5, O6, O7, O8, O9, O10, O11) | (O1, O2, O4, O12, O13) | (O3, O5, O6, O7, O8, O9, O10, O11) | (O1, O2, O4, O12, O13) |

Delivery route | m3-c3-m5-c5-m6-m8-m7-c6-m9-c7-c9-c8-m10-m11-c10-c11 | m1-c1-m2-c2-m4-c4-m12-c12-m13-c13 | m3-c3-m5-c5-m7-m8-m6-m9-c6-c7-c8-c9-m10-m11-c10-c11 | m1-c1-m2-c2-m4-c4-m12-c12-m13-c13 |

System cost | 6.2631 | 6.4298 |

Order assignment and delivery route diagram regardless of road congestion. (a) Delivery route of courier 1. (b) Delivery route of courier 2.

Order assignment and delivery route diagram considering road congestion. (a) Delivery route of courier 1. (b) Delivery route of courier 2.

From the calculation results, it can be found that the order allocation of the two couriers are the same when the traffic jam is considered or not. Courier 1 is assigned 8 orders (O3, O5, O6, O7, O8, O9, O10, O11) while courier 2 is assigned 5 orders (O1, O2, O4, O12, O13). In the first scenario, the congestion is not considered and the delivery route of courier 1 is m3-c3-m5-c5-m6-m8-m7-c6-m9-c7-c9-c8-m10-m11-c10-c11 and that of courier 2 is m1-c1-m2-c2-m4-c4-m12-c12-m13-c13. In the second scenario, when there is a traffic jam, the delivery route of courier 1 is changed to m3-c3-m5-c5-m7-m8-m6-m9-c6-c7-c8-c9-m10-m11-c10-c11, whereas the delivery route of courier 2 is still m1-c1-m2-c2-m4-c4-m12-c12-m13-c13. For the system cost, the one considered traffic jam is slightly higher than the other one.

This section aims to conduct more numerical experiments to examine the capability of the proposed model and algorithm. In this paper, a large-scale calculation example composed of 12 couriers and 40 orders is designed. The information of couriers and orders is shown in Tables

Courier initial coordinates.

Courier | Positional coordinates |
---|---|

Courier 1 | 103.723339, 36.108555 |

Courier 2 | 103.731286, 36.101268 |

Courier 3 | 103.728457, 36.098558 |

Courier 4 | 103.746996, 36.092802 |

Courier 5 | 103.719530, 36.100986 |

Courier 6 | 103.707771, 36.095021 |

Courier 7 | 103.725882, 36.108267 |

Courier 8 | 103.725882, 36.108267 |

Courier 9 | 103.717899, 36.099737 |

Courier 10 | 103.753691, 36.092594 |

Courier 11 | 103.701592, 36.104453 |

Courier 12 | 103.726826, 36.099876 |

Information tables for each node.

ID | Positional coordinates | Waiting time (min) | Time window | Order generation time | |
---|---|---|---|---|---|

O1 | m1 | 103.725745, 36.100809 | 1 | [0, 15] | 11 : 30 |

c1 | 103.728406, 36.106348 | 0 | [0, 35] | 11 : 30 | |

O2 | m2 | 103.725745, 36.100809 | 1 | [0, 15] | 11 : 32 |

c2 | 103.728406, 36.106348 | 0 | [0, 35] | 11 : 32 | |

O3 | m3 | 103.723948, 36.101437 | 0 | [1, 19] | 11 : 35 |

c3 | 103.709617, 36.090871 | 1 | [0, 40] | 11 : 35 | |

O4 | m4 | 103.724538, 36.096487 | 3 | [2, 18] | 11 : 36 |

c4 | 103.699833, 36.090897 | 2 | [5, 45] | 11 : 36 | |

O5 | m5 | 103.730761, 36.099808 | 1 | [2, 19] | 11 : 37 |

c5 | 103.694254, 36.094989 | 2 | [10, 50] | 11 : 37 | |

O6 | m6 | 103.730208, 36.097688 | 2 | [4, 17] | 11 : 38 |

c6 | 103.697386, 36.106189 | 1 | [10, 55] | 11 : 38 | |

O7 | m7 | 103.720466, 36.101407 | 0 | [3, 17] | 11 : 40 |

c7 | 103.697247, 36.106423 | 0 | [0, 50] | 11 : 40 | |

O8 | m8 | 103.723229, 36.098421 | 2 | [4, 19] | 11 : 42 |

c8 | 103.717396, 36.103198 | 1 | [0, 35] | 11 : 42 | |

O9 | m9 | 103.714362, 36.107033 | 1 | [6, 18] | 11 : 44 |

c9 | 103.749840, 36.087507 | 2 | [5, 40] | 11 : 44 | |

O10 | m10 | 103.745770, 36.098516 | 2 | [3, 21] | 11 : 45 |

c10 | 103.741933, 36.097061 | 1 | [10, 50] | 11 : 45 | |

O11 | m11 | 103.747262, 36.098949 | 1 | [4, 23] | 11 : 46 |

c11 | 103.739824, 36.104035 | 1 | [5, 40] | 11 : 46 | |

O12 | m12 | 103.748163, 36.098390 | 1 | [3, 30] | 11 : 47 |

c12 | 103.743054, 36.102341 | 1 | [10, 50] | 11 : 47 | |

O13 | m13 | 103.730095, 36.094775 | 2 | [2, 40] | 11 : 48 |

c13 | 103.758739, 36.087851 | 2 | [6, 65] | 11 : 48 | |

O14 | m14 | 103.727427, 36.099113 | 2 | [0, 45] | 11 : 50 |

c14 | 103.725023, 36.110278 | 0 | [0, 65] | 11 : 50 | |

O15 | m15 | 103.730259, 36.107157 | 3 | [0, 45] | 11 : 52 |

c15 | 103.744507, 36.096062 | 1 | [0, 65] | 11 : 52 | |

O16 | m16 | 103.748112, 36.090513 | 2 | [1, 49] | 11 : 54 |

c16 | 103.719273, 36.095229 | 3 | [0, 80] | 11 : 54 | |

O17 | m17 | 103.727083, 36.099945 | 3 | [2, 47] | 11 : 56 |

c17 | 103.696957, 36.105008 | 2 | [5, 85] | 11 : 56 | |

O18 | m18 | 103.732319, 36.105146 | 2 | [2, 47] | 11 : 58 |

c18 | 103.715839, 36.105979 | 0 | [10, 80] | 11 : 58 | |

O19 | m19 | 103.715754, 36.102927 | 0 | [4, 49] | 12 : 00 |

c19 | 103.715153, 36.111041 | 1 | [10, 85] | 12 : 00 | |

O20 | m20 | 103.720732, 36.100153 | 0 | [3, 48] | 12 : 02 |

c20 | 103.703909, 36.096894 | 0 | [0, 80] | 12 : 02 | |

O21 | m21 | 103.733177, 36.105840 | 2 | [4, 51] | 12 : 04 |

c21 | 103.731203, 36.094813 | 4 | [0, 80] | 12 : 04 | |

O22 | m22 | 103.720560, 36.105979 | 2 | [6, 53] | 12 : 06 |

c22 | 103.705711, 36.104938 | 2 | [5, 70] | 12 : 06 | |

O23 | m23 | 103.712750, 36.102581 | 3 | [3, 60] | 12 : 08 |

c23 | 103.715582, 36.095507 | 0 | [10, 80] | 12 : 08 | |

O24 | m24 | 103.729916, 36.099183 | 0 | [4, 70] | 12 : 10 |

c24 | 103.737640, 36.095229 | 1 | [5, 95] | 12 : 10 | |

O25 | m25 | 103.730345, 36.099737 | 1 | [3, 75] | 12 : 12 |

c25 | 103.708887, 36.101471 | 1 | [10, 100] | 12 : 12 | |

O26 | m26 | 103.722019, 36.100361 | 2 | [2, 78] | 12 : 14 |

c26 | 103.704081, 36.101679 | 2 | [6, 102] | 12 : 14 | |

O27 | m27 | 103.728199, 36.099876 | 1 | [0, 80] | 12 : 16 |

c27 | 103.711805, 36.094952 | 0 | [0, 100] | 12 : 16 | |

O28 | m28 | 103.746653, 36.094258 | 1 | [0, 105] | 12 : 18 |

c28 | 103.755837, 36.091692 | 1 | [0, 125] | 12 : 18 | |

O29 | m29 | 103.748198, 36.095715 | 1 | [1, 105] | 12 : 20 |

c29 | 103.757811, 36.090305 | 2 | [0, 125] | 12 : 20 | |

O30 | m30 | 103.747854, 36.093426 | 1 | [2, 109] | 12 : 22 |

c30 | 103.760300, 36.089681 | 0 | [5, 130] | 12 : 22 | |

O31 | m31 | 103.743563, 36.093704 | 1 | [2, 109] | 12 : 24 |

c31 | 103.757124, 36.090166 | 1 | [10, 135] | 12 : 24 | |

O32 | m32 | 103.741245, 36.095091 | 0 | [4, 145] | 12 : 26 |

c32 | 103.739100, 36.105632 | 1 | [10, 145] | 12 : 26 | |

O33 | m33 | 103.737211, 36.104938 | 0 | [3, 107] | 12 : 28 |

c33 | 103.732061, 36.096894 | 3 | [0, 140] | 12 : 28 | |

O34 | m34 | 103.721075, 36.099391 | 2 | [4, 109] | 12 : 30 |

c34 | 103.732920, 36.107712 | 1 | [0, 145] | 12 : 30 | |

O35 | m35 | 103.720389, 36.097379 | 1 | [6, 108] | 12 : 32 |

c35 | 103.722534, 36.108683 | 2 | [5, 5140] | 12 : 32 | |

O36 | m36 | 103.714123, 36.101506 | 1 | [3, 111] | 12 : 34 |

c36 | 103.734379, 36.103343 | 1 | [10, 140] | 12 : 34 | |

O37 | m37 | 103.723993, 36.097137 | 2 | [4, 113] | 12 : 36 |

c37 | 103.741074, 36.103170 | 3 | [5, 130] | 12 : 36 | |

O38 | m38 | 103.722835, 36.097171 | 1 | [3, 120] | 12 : 38 |

c38 | 103.729143, 36.098628 | 2 | [10, 140] | 12 : 38 | |

O39 | m39 | 103.725324, 36.099321 | 2 | [2, 130] | 12 : 40 |

c39 | 103.737083, 36.098974 | 4 | [6, 155] | 12 : 40 | |

O40 | m40 | 103.730044, 36.093981 | 1 | [0, 135] | 12 : 42 |

c40 | 103.736396, 36.106083 | 0 | [0, 160] | 12 : 42 |

In this paper, the calculation parameters and the running environment of the large case are the same as those of the small one, and the proportion of congested road is about 50%. The results of take-out order allocation and path optimization considering traffic jam or not are shown in Tables

Results of order allocation and delivery route without considering congestion.

Courier | Allocated order | Delivery route |
---|---|---|

Courier 1 | — | — |

Courier 2 | (O14, O21, O24, O32, O33, O37, O38, O39, O40) | m14-c14-m21-c21-m24-c24-m32-c32-m33-c33-m38-m37-m39-c38-m40-c39-c37-c40 |

Courier 3 | (O2, O15, O29) | m2-c2-m15-c15-m29-c29 |

Courier 4 | (O28) | m28-c28 |

Courier 5 | (O3, O4, O6, O7, O8) | m3-m8-m4-m6-m7-c8-c3-c4-c6-c7 |

Courier 6 | — | — |

Courier 7 | (O9, O10, O11, O12, O13, O16, O17, O20, O25, O26, O27) | m9-m13-m10-m11-m12-c13-c9-m16-c10-c12-c11-m25-m27-m17-m26-m20-c16-c27-c25-c20-c17-c26 |

Courier 8 | (O5, O18, O19, O22) | m5-c5-m19-m18-m22-c18-c19-c22 |

Courier 9 | (O23, O34, O35, O36) | m23-c23-m35-m34-m36-c35-c34-c36 |

Courier 10 | (O30, O31) | m30-m31-c31-c30 |

Courier 11 | — | — |

Courier 12 | (O1) | m1-c1 |

Results of order allocation and delivery route considering congestion.

Courier | Allocated order | Delivery route |
---|---|---|

Courier 1 | — | — |

Courier 2 | (O11, O12, O33) | m12-m11-c12-c11-m33-c33 |

Courier 3 | (O2, O15, O32, O36, O39) | m2-c2-m15-c15-m32-m36-m39-c36-c32-c39 |

Courier 4 | (O19, O22, O23, O25, O26, O28) | m19-c19-m22-m23-m25-c23-c22-c25-m26-c26m28-c28 |

Courier 5 | (O3, O4, O6, O7, O8, O27) | m3-m8-m4-m6-m7-c7-c6-c4-c3-c8-m27-c27 |

Courier 6 | (O10, O13, O21, O24, O29, O30, O31) | m21-m24-m13-c21-m10-c24-c10-m31-m29-m30-c31-c29-c30-c13 |

Courier 7 | — | — |

Courier 8 | (O5, O9, O17, O20) | m5-m9-c5-c9-m17-m20-c20-c17 |

Courier 9 | (O23, O35, O40) | m23-c23-m35-m40-c35-c40 |

Courier 10 | (O16, O38) | m16-c16-m38-c38 |

Courier 11 | — | — |

Courier 12 | (O1, O14, O18, O34, O37) | m1-c1-m14- m18-c14-c18-m34-m37-c34-c37 |

It can be found that, in both condition with or without traffic jam, there are some differences between the result of order allocation and route optimization. The couriers 1, 6, and 11 are not assigned any delivery orders when the traffic status is good, while the couriers 1, 7, and 11 are not assigned any tasks when traffic congestion is happened. The reason for this result is that the objective function of the problem here we studied is to minimize the total system dispatch cost, but not the delivery cost or income balance of single courier.

For this numerical test, the system dispatch cost considering traffic jam or not is 41.1540 yuan and 55.0888 yuan, respectively. Through 20 calculations, it can be found that the system dispatch cost under congestion is always greater than that without considering of traffic jam. When considering the road congestion, the delivery cost of some delivery paths increases, so we have to choose congested roads or suboptimal routes for dispatching, which result in the increase of system dispatching cost.

This paper calculates 20 times for simple examples and large-scale numerical experiments, respectively, the core program of the algorithm can be obtained from

Comparison of numerical test calculation time.

Type of road network congestion | Total computing time (s) | Average computing time per order (s) | |
---|---|---|---|

Simple example | Regardless of road network congestion | 2 | 0.15 |

Consider road network congestion | 2 | 0.15 | |

Large-sized numerical experiments | Regardless of road network congestion | 112 | 2.8 |

Consider road network congestion | 114 | 2.85 |

It can be found that the computing time is almost the same for the same scale cases. For the average computing time of each order, the one of large-scale examples is significantly longer than that of simple examples. With the increase of the number of couriers and tasks, the scale of the road network is correspondingly expanded, resulting in the sharp increase of the feasible delivery routes. Therefore, the search efficiency of the algorithm in each iteration is also reduced. Although the computing time of large-scale examples has increased, it can still basically meet the application needs in practical according to this scale. In the design of this paper, the connection between nodes is simplified, and all nodes are all connected, which leads to the delivery route obtained by the algorithm being far larger than the actual problem. In practical application, when the number of paths in physical network is reduced, whereas the performance of large-scale commercial computing server is higher, the efficiency of the algorithm will be greatly improved.

In this paper, order dispatching and route coordination optimization of the take-out system is studied. A route optimization model based on the minimum cost of system dispatch is established to deal with the complexity of space-time network of the take-out dispatch system. Considering the real-time dynamic characteristic of order distribution and route optimization, the coupling relationship between order allocation and route optimization is established based on the delivery process. The main algorithm designed in this paper includes two core parts, one of which is the order allocation algorithm based on the highest efficiency of system dispatch and the other is the route optimization algorithm based on the improved genetic algorithm. A numerical experiment is constructed to verify the effectiveness of the model and the algorithm, and the result of two different traffic status are calculated. The computing results show that the algorithm not only has a better operation efficiency but also can reduce the dispatching cost of the delivery system, therefore has great practical significance.

Our current research studies from the perspective of system optimization, which is very necessary in some emergency scenarios, such as the epidemic of COVID-19. In the further research, we will pay more attention to the equilibrium of the order allocation, and continue to study the interactive solution strategies of order allocation and route optimization to realize the real-time optimization of large-scale dispatch problem in the urban system.

All data included in this study are available from the corresponding author upon request.

The authors declare that there are no conflicts of interest regarding the publication of this article.

This study was jointly supported by grants from the National Natural Science Foundation of China (Grant no. 71761023) and Natural Science Foundation of Gansu Province, China (Grant no. 18JR3RA110).