A multi-station school bus route solving method based on large-scale domain search
Through the multi-station school bus path solution method based on large-scale field search, combined with the LNS algorithm and operation operator, the multi-station school bus path is optimized, solving the problem of poor quality in the existing technology, realizing the path arrangement scheme with the smallest total cost, and reducing costs.
Patent Information
- Application Number
- CN202210075632.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-22
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2042-01-22
AI Technical Summary
When solving the problem of school bus paths in multiple stations, the existing technology solves poor quality and is difficult to effectively optimize the number and operating mileage of school buses, resulting in high costs.
A multi-station school bus path solution method based on large-scale field search is adopted. The initial solution of the MDSBRP model is constructed and local and global search is performed using the LNS algorithm, and the operation operators of the site and the station are combined to optimize the school bus path.
It has realized the school bus path arrangement plan with the lowest total cost under the multi-station operation mode, optimized the number of school buses and operating mileage, reduced the cost of school buses, and improved the quality and stability of the solution.
Smart Images

Figure CN114529057B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of school bus route planning, and particularly relates to a multi-depot school bus route solving method based on large-scale domain search. Background Technique
[0002] Providing safe and efficient school bus services for primary and secondary school students is an important function of the education authorities and also a new requirement for educational development. The school bus route problem is a combinatorial optimization problem of reasonably planning school bus routes to send students from pick-up stops to schools (or from schools back to pick-up stops) under the condition of meeting established constraints and achieving specific goals. School bus route planning is an extremely complex task, involving various factors such as school district road conditions, students, schools, and school buses. Affected by conditions such as the capital allocation of school bus operating companies, student distribution, and road grades, the dispatching of school bus depots can reduce the number of school buses and costs, and better meet the needs of practical applications.
[0003] According to the number of school bus depots, school bus route problems can be divided into single-depot school bus routing problems (SDSBRP) and multiple-depot school bus routing problems (MDSBRP). In SDSBRP, there is only one depot, and it is required that the school bus returns to the depot after serving the students. In MDSBRP, there are multiple depots, which are divided into two categories: open MDSBRP and closed MDSBRP. The former means that the school bus can return to other depots after serving the students, while the latter must return to the original depot. When defining the school bus route problem, some limitations and abstractions are usually made. Suppose there are data such as several school bus depots, several schools, several pick-up stops, students, and road networks in a certain school district. A school bus service company has a fleet of school buses with the same capacity and cost parked at the school bus depots. Each pick-up stop has a certain number of students taking the bus, and these students can be composed of students going to different schools. The running distances and running times between any two stops such as depots, schools, and pick-up stops are known. Based on the above assumptions, the requirements are as follows: The school bus departs from the depot, passes through the pick-up stops, and sends the students to school within the school opening time. Each student has a limit on the earliest and latest boarding times at the pick-up stop. The goal is to find the path arrangement with the minimum total cost.
[0004] At present, there are mainly two types of optimization algorithms, namely exact algorithms and heuristic algorithms, used to solve the school bus routing problem. However, due to the school bus routing problem being an NP-hard problem, the optimization algorithms have limitations in practical applications. Therefore, most research efforts are dedicated to constructing heuristic algorithms of higher quality. Since the school bus routing problem was proposed in 1969, scholars have conducted extensive research, with most of the research focusing on the single-depot SDSBRP. MDSBRP is more complex than SDSBRP and is more difficult to solve. Although the research on multi-depots has gradually increased in recent years, there is still a high room for improvement in the solution quality and efficiency of the algorithms for MDSBRP. The present invention aims to construct a heuristic algorithm of higher quality for MDSBRP, considering various problem characteristics such as school bus capacity and the maximum riding time of students, and proposes a school bus routing arrangement plan with the minimum total cost under the multi-depot operation mode. Summary of the Invention
[0005] In view of the problem of poor solution quality existing in the above MDSBRP, the present invention proposes a multi-depot school bus routing solution method based on large-scale neighborhood search, which can find a school bus routing arrangement plan with the minimum total cost under the multi-depot operation mode, and optimize the number of school buses and the operating mileage.
[0006] To achieve the above object, the present invention adopts the following technical solutions:
[0007] A multi-depot school bus routing solution method based on large-scale neighborhood search, comprising:
[0008] Step 1: Construct an initial solution of the MDSBRP model: First, for each school, based on the depot, the boarding sites for the school being the target school, the available vehicle type information, and the maximum riding time constraint conditions, use the generalized insertion method to construct multiple paths to reach the school; then, merge the paths constructed for each school, that is, obtain the initial solution of the MDSBRP model;
[0009] Step 2: Use the LNS algorithm to perform local search on the sites through the site operation operator. During the local search process, use the multi-point movement method to perturb the local optimal solution to obtain the local optimal solution;
[0010] Step 3: For the obtained local optimal solution, use the depot operation operator to perform a perturbation operation on it to obtain the global optimal solution;
[0011] Step 4: Determine whether the maximum number of iterations has been reached. If not, repeat steps 2 and 3; if so, output the global optimal solution, that is, the optimal school bus route.
[0012] Further, the said step 1 includes:
[0013] Step 101: Read the case file to obtain the depot set D, the boarding site set P+ and the vehicle set M and the school set P - information;
[0014] Step 102: Combine a boarding station and the school it belongs to into a path;
[0015] Step 103: For all stations not inserted into the closed loop, find several stations in the closed loop that are closest to it. If the number of all stations in the loop is less than 7, include all stations in the loop;
[0016] Step 104: Randomly select a station not in the loop, evaluate the costs of inserting the station clockwise and counterclockwise, find the position that can be inserted with the minimum cost, and use the generalized insertion method to insert the station;
[0017] Step 105: After completing the insertion of the station, update the neighborhood of all stations, jump to Step 103 to continue execution until all stations have been added to the loop;
[0018] Step 106: According to the obtained closed loop containing the station yard, all student boarding stations and schools, apply the above splitting process to divide it into individual paths;
[0019] Step 107: Starting from the station yard set D, sequentially visit the stations in the loop, add the stations to an initial path containing the station yard and schools; according to the vehicle capacity, continuously add stations to the path while removing the corresponding stations in the loop; if the vehicle type capacity constraint or the maximum riding time constraint is violated, reconstruct a new initial path, jump to Step 106 to continue execution until there are no stations in the loop;
[0020] Step 108: Merge the paths constructed for each school, that is, obtain the initial solution of the MDSBRP model.
[0021] Furthermore, Step 1 needs to satisfy the following constraint conditions:
[0022] The constraint condition for the station yard is:
[0023] L ik = 0, k ∈ M, ensure that the number of students L ik on vehicle k is 0 when starting from or returning to station yard i;
[0024] The constraint condition for the vehicle is:
[0025] s.t. ∑ j∈V x ijk - ∑ j∈V x jik = 0, k ∈ M, where V represents all stations; x ijk represents whether vehicle k passes through the arc connecting station i and station j. 1 means passing through, and 0 means not passing through; x jik represents whether vehicle k passes through the arc connecting station j and station i. 1 means passing through, and 0 means not passing through; P = P + ∪ P - ; Ensure that a vehicle enters and then leaves a station;
[0026] Constraints on the relationship between the station where the student is located and the school:
[0027] T ik + st i + t is(i) ≤ T s(i)k , where T ik represents the cumulative time after vehicle k passes through station i; st i represents the service time of station i, that is, the interval between getting on and off the vehicle, i ∈ P; t ij represents the driving time between station i and station j, i, j ∈ V, V = P ∪ D represents all stations; T ik represents the cumulative time after vehicle k passes through station i; It is stipulated that the school bus must first visit the station where the student is located and then visit the corresponding school;
[0028] Constraints on the number of students on the vehicle:
[0029] q i ≤ L ik ≤ Q k , k ∈ M, ensure that the number of students L after vehicle k passes through station i ik is greater than or equal to the number of students q getting on at station i i , and less than or equal to the school bus capacity Q k ;
[0030] Constraints on the arrival time of the vehicle at the station:
[0031] e i ≤ T i ≤ l i , k ∈ M, where e i represents the earliest departure time of station i, i ∈ P; T i represents the maximum driving time for the vehicle to reach station i; l i represents the latest departure time of station i, i ∈ P; Restrict that the arrival time of the vehicle at any station must meet the time window requirements.
[0032] Furthermore, step 2 includes:
[0033] Step 201: Use three site operation operators, swap(1, 1), shift(1, 0), and swap(2, 1), to perform local search on the sites; swap(1, 1) means randomly selecting two sites on two paths and swapping them to obtain a feasible solution; shift(1, 0) means randomly selecting a site on a certain path and considering all other paths to see if this site can be inserted into a feasible position to form a feasible solution; swap(2, 1) means randomly selecting consecutive sites on a certain path and then swapping them with a site on another path, and repeatedly trying to execute until a feasible solution is obtained;
[0034] Step 202: Record the local search solution Sl, obtain the local optimal solution Sb^, and update it;
[0035] Step 203: Perturb the local optimal solution Sb^ in the way of multi-point movement, and output the local optimal solution Sb.
[0036] Further, the said Step 201 includes:
[0037] Step 2011: Use the method of creating a neighborhood node list to create a neighborhood node list of size size for node j, that is, site j;
[0038] Step 2012: Obtain node k in the neighborhood node list, create an object M to record this movement, use the Evaluate evaluation method to evaluate whether the movement of inserting node j into node k satisfies the constraints, use the CheckMove method to evaluate whether the new solution generated by this movement can be accepted, and determine whether the current movement object M is better than the current best movement object BestM according to the heuristic rule. If so, take the current movement object M as the best movement object BestM;
[0039] Step 2013: Search each node in the neighborhood node list in turn, perform the operation of Step 2012 on each node, and determine the best insertion position of j;
[0040] Step 2014: After the search ends, perform a movement operation on the point according to the currently recorded best movement object BestM. If the operation is successful, then node j will be permanently moved. If no feasible movement position is found or the movement fails, then end.
[0041] Further, the said Step 3 includes:
[0042] Step 301: Input the local optimal solution;
[0043] Step 302: Use the destroy yard operation operator to damage the stations near the yard to a certain extent, and then use the corresponding repair yard operation operator to repair. For closed yards, return the route without damage; for open yards, return the damaged route, regenerate a new route, and check whether the constraint conditions are met to determine whether to accept the solution.
[0044] Step 303: Record the local search solution, and check whether the current solution is better than the current local optimal solution. If so, update the global optimal solution with the current solution.
[0045] Further, step 302 includes:
[0046] Use the random destroy operator to randomly remove a certain proportion of stations from the current solution, and use the worst destroy operator to remove the stations from the current solution that cause a large increase in the objective function. The objective function is:
[0047]
[0048] where P + is the set of boarding stations, M is the set of vehicles, V represents all stations, and f k represents the fixed cost of vehicle k, v k represents the variable cost of vehicle k, d ij represents the driving distance between station i and station j; x ijk represents whether vehicle k passes through the arc connecting station i and station j, 1 means passing through, and 0 means not passing through.
[0049] With the minimization of the objective function as the optimization goal, where the number of school buses is the first optimization goal and the operating mileage is the second goal.
[0050] Compared with the prior art, the beneficial effects of the present invention are:
[0051] The present invention uses different operators for searching for stations and depots respectively: for stations, three station operation operators, namely swap(1, 1), shift(1, 0), and swap(2, 1), are used to complete neighborhood search; for depots, a perturbation mechanism is introduced for optimization. The present invention adjusts stations between paths and within paths through the station operation operators, expands the heuristic strategy of neighborhood solutions, and tests the performance of the algorithm on a set of benchmark test instances. LNS is effective and stable for solving MDSBRP instances. Through tests in MDSBRP and SDSBRP, the results show that the method proposed by the present invention is effective and achieves good results in both MDSBRP and SDSBRP, and can improve the quality of the solution. Through comparison between MDSBRP and SDSBRP, MDSBRP can further reduce the number of school buses required and shorten the driving distance, thereby saving the school bus service cost. The method of the present invention has high computational efficiency and good stability. Description of the Drawings
[0052] Figure 1 is the basic flowchart of a multi-depot school bus routing solution method based on large-scale neighborhood search according to an embodiment of the present invention;
[0053] Figure 2 is the operation schematic diagram of the swap(1, 1), shift(1, 0), and swap(2, 1) station operation operators according to an embodiment of the present invention;
[0054] Figure 3 is the operation schematic diagram of the depot operation operator according to an embodiment of the present invention. Detailed Embodiment
[0055] The following further explains and illustrates the present invention in conjunction with the drawings and specific embodiments:
[0056] As Figure 1 shown, the present invention proposes a multi-depot school bus routing solution method based on large-scale neighborhood search, introduces the LNS algorithm into the solution of multi-objective SBRP, that is, MDSBRP, and designs station operation operators and depot operation operators for this problem. First, an initial solution to the problem is constructed, and then two stages of station operation and depot operation are respectively executed. In different execution stages, the neighborhood search and the solution acceptance rule are determined through the optimization objective and the heuristic strategy. The algorithm includes four basic steps: initial solution generation, perturbation, local search, and acceptance rule. The method specifically includes:
[0057] Step 1: Construct the initial solution of the MDSBRP model: According to the information such as the station yard, boarding stations, schools, and vehicle types, use the insertion algorithm to obtain the initial solution of the problem. The construction of the initial solution includes two stages: the path construction for a single school and the path merging. First, for each school, based on the station yard, the boarding stations whose target school is this school, the available vehicle type information, and the maximum riding time constraint, use the Generalized Insertion Method (GENI) to construct multiple paths to reach this school; then, merge the paths constructed for each school, that is, obtain the initial solution of the MDSBRP model;
[0058] Step 2: Use the LNS algorithm to perform local search on the stations through the station operation operator. During the local search process, use the multi-point movement method to perturb the local optimal solution to obtain the local optimal solution;
[0059] Step 3: For the obtained local optimal solution, use the station yard operation operator to perform a perturbation operation on it to obtain the global optimal solution;
[0060] Step 4: Judge whether the maximum number of iterations is reached. If not, repeat Step 2 and Step 3. If so, output the global optimal solution, that is, the optimal school bus path.
[0061] Furthermore, Step 1 includes:
[0062] Step 101: Read the case file to obtain information such as the station yard set D, the (student) boarding station set P + , the vehicle set M, and the school (station) set P - and other information;
[0063] Step 102: Combine a boarding station and its affiliated school into a path;
[0064] Step 103: For all stations that have not been inserted into the closed loop, find several stations (the number of stations is between 2 and 7) in the closed loop that are the closest to it. If the number of all stations in the loop is less than 7, include all the stations in the loop;
[0065] Step 104: Randomly select a station not in the loop, evaluate the cost of inserting this station clockwise and counterclockwise, find the position that can be inserted with the minimum cost, and use the Generalized Insertion Method to insert the station;
[0066] Step 105: After completing the insertion of the station, update the neighborhood of all stations, and jump to Step 103 to continue execution until all stations have been added to the loop;
[0067] Step 106: According to the obtained closed loop containing the station yard, all student boarding stations, and schools, use the above splitting process to divide it into individual paths;
[0068] Step 107: Starting from the station set D, visit the stations in the loop sequentially, and add the stations to an initial path that includes stations and schools; according to the vehicle capacity, continuously add stations to the path while removing the corresponding stations in the loop; if the vehicle type capacity constraint or the maximum riding time constraint is violated, reconstruct a new initial path, jump to Step 106 and continue to execute until there are no stations in the loop;
[0069] Step 108: Merge the paths constructed for each school, and the initial solution of the MDSBRP model is obtained.
[0070] Furthermore, Step 1 needs to satisfy the following constraint conditions:
[0071] Satisfy the constraint condition L for stations ik = 0, k ∈ M, ensure that the number of students L on vehicle k when departing from or returning to station i is 0; ik is 0;
[0072] Satisfy the constraint condition for vehicles s.t. ∑ j∈V x ijk - ∑ j∈V x jik = 0, k ∈ M, where V represents all stations; x ijk represents whether vehicle k passes through the arc connecting station i and station j, 1 means passing through, 0 means not passing through; x jik represents whether vehicle k passes through the arc connecting station j and station i, 1 means passing through, 0 means not passing through; P = P + ∪P - ; Ensure that a vehicle enters and then leaves a station;
[0073] Satisfy the relationship T between student stations and school stations ik + st i + t is(i) ≤ T s(i)k , where T ik represents the cumulative time after vehicle k passes through station i; st i represents the service time of station i, that is, the interval between getting on and off the vehicle, i ∈ P; t ij represents the driving time between station i and station j, i, j ∈ V, V = P ∪ D represents all stations; T ik represents the cumulative time after vehicle k passes through station i; It is stipulated that the school bus must first visit the student station and then visit the corresponding school;
[0074] Satisfy the constraint condition q for the number of students on the vehicle i ≤ L ik ≤ Qk , For \(k\in M\), ensure that the number of students on the school bus does not exceed the bus capacity. The cumulative number of students \(L\) after the vehicle passes through stop \(i\) ik is greater than or equal to the number of students \(q\) at stop \(i\) i and less than or equal to the bus capacity \(Q\). k ;
[0075] Meet the time constraint \(e\) for the vehicle to arrive at the stop i \(\leq T\) i \(\leq l\) i , For \(k\in M\), where \(e\) i represents the earliest departure time of stop \(i\), \(i\in P\); \(T\) i represents the maximum driving time for the vehicle to reach stop \(i\); \(l\) i represents the latest departure time of stop \(i\), \(i\in P\); It is restricted that the time for the vehicle to reach any stop must meet the time window requirements.
[0076] Furthermore, step 2 includes:
[0077] Step 201: Use three stop operation operators, swap(1, 1), shift(1, 0), and swap(2, 1), to perform local search on the stops; In MDSBRP, it is not a single boarding stop that moves, but a pair of a boarding stop and its corresponding school. swap(1, 1): Randomly select two nodes on two paths and swap them to obtain a feasible solution. In this process, both the paths and the nodes on the paths are randomly selected, and only the first feasible solution found is considered during the swapping process. As Figure 2 shown, after swapping the points on two paths, two new paths are obtained. shift(1, 0): Randomly select a node on a certain path and consider whether this node can be inserted into a feasible position considering all other paths to form a feasible solution. Its operation is shown as Figure 2 shown. After moving point \(P\) on route 1 to after the point on route 2, two new routes are obtained. swap(2, 1): Randomly select consecutive nodes on a certain path and then swap them with a node on another path, and repeatedly try to execute until a feasible solution is obtained. Its operation is shown as Figure 2 shown. Two consecutive nodes on route 1 are swapped with a node on route 2 to obtain two new paths.
[0078] Step 202: Record the local search solution \(S_l\), obtain the local optimal solution \(S_b^{\wedge}\), and update it;
[0079] Step 203: Perturb the local optimal solution \(S_b^{\wedge}\) by means of multi-point movement and output the local optimal solution \(S_b\).
[0080] Further, step 201 includes:
[0081] Step 2011: Use the CreateNeighborList method to create a neighbor node list of size size for node j, i.e., site j;
[0082] Step 2012: Obtain node k in the neighbor node list, create an object M to record this move (SBRPMove), use the Evaluate evaluation method to evaluate whether the move of inserting node j into node k satisfies the constraints, use the CheckMove method to evaluate whether the new solution generated by this move can be accepted, and determine whether the current move object M is better than the current best move object BestM according to the heuristic rule. If so, take the current move object M as the best move object BestM;
[0083] Step 2013: Search each node in the neighbor node list in turn, perform the operation of step 2012 on each node, and determine the best insertion position of j;
[0084] Step 2014: After the search ends, perform a move operation on the point according to the currently recorded best move object BestM. If the operation is successful, node j will be permanently moved. If no feasible move position is found or the move fails, end.
[0085] Specifically, in step 3, the yard operation operator is as Figure 3 shown. When implementing the perturbation mechanism, first select a certain number of nodes, remove them from the current solution to obtain a partial solution of the problem; then re-insert the removed nodes into the partial solution to obtain a feasible solution. Randomly select a certain number of nodes within the neighborhood of a certain node i, remove them from the current solution to obtain a partial solution of the problem; then re-insert the removed nodes into the partial solution to obtain a feasible solution.
[0086] Further, step 3 includes:
[0087] Step 301: Input the current solution after the site operation, i.e., the local optimal solution Sb;
[0088] Step 302: Use the destroy yard operation operator to perform a certain degree of destruction on the sites near the yard, and then use the corresponding repair yard operation operator for repair. For a closed yard, the return route is not damaged. For an open yard, the return route is damaged and a new route is regenerated, and it is detected whether the constraint conditions are satisfied to determine whether to accept the solution;
[0089] Step 303: Record the local search solution, and detect whether the current solution is better than the current local optimal solution Sb. If so, update the global optimal solution with the current solution.
[0090] Specifically, step 302 includes:
[0091] The solution is destroyed using two destroy operators. The random destroy operator randomly removes a certain proportion of stations from the current solution, and the worst destroy operator removes the stations that cause a large increase in the objective function from the current solution. The objective function is:
[0092]
[0093] With the minimization of the number of school buses and the minimization of the operation mileage as the optimization objectives, where the number of school buses is the first optimization objective and the operation mileage is the second objective, P + is the set of (student) boarding stations, and M is the set of vehicles; V represents all stations, V = P ∪ D, P = P + ∪P - ; f k represents the fixed cost of vehicle k, v k represents the variable cost of vehicle k, d ij represents the driving distance between station i and station j; x ijk represents whether vehicle k passes through the arc connecting station i and station j, 1 means passing through, and 0 means not passing through.
[0094] To verify the effect of the present invention, the following experiments are carried out:
[0095] The test cases are based on the first publicly available benchmark test case set in the SBRP field, including two types of case sets: RSRB and CSCB. Each case set contains several schools and their corresponding stations. In the RSRB cases, the distribution of schools and boarding stations is random, while in the CSCB cases, schools and boarding stations are relatively concentrated in several clusters respectively. The basic situation of the test cases is listed in Table 1. On average, each case set has a certain number of schools, the vehicle capacity limit is 66, and the maximum boarding time is set to 2700 s (45 min) respectively. The average driving speed of the vehicle is 32.2 km / h.
[0096] Table 1 Basic situation of test cases
[0097] Case Number of schools Number of stations Number of students CSCB01 6 250 3409 CSCB02 12 250 3670 CSCB03 12 500 6794 CSCB04 25 500 6805 RSRB01 6 250 3907 RSRB02 12 250 3204 RSRB03 12 500 6813 RSRB04 25 500 754
[0098] As an implementable approach, in the MDSBRP model, 4 stations are added within the scope of school bus planning, which are the 4 vertices of the maximum circumscribed rectangle, and the capacity of each station is the maximum number of nodes. In the SDSBRP, 1 station is added at the center point within the scope of school bus planning. The algorithm mainly uses search operators such as shift(1,0), swap(1,0) and swap(2,0) to operate on the stations, and uses the destroy operator and the repair operator to optimize the stations.
[0099] (1) CSCB experimental results
[0100] The LNS algorithm is used to solve the CSCB class test cases, and the MDSBRP and SDSBRP are solved respectively to analyze the performance of LNS in the two modes. Each case is randomly run 10 times, and the best solution "best" and the standard deviation coefficient of the solution "std" are counted. "MRT" represents the maximum driving time, and "gap" represents the improvement degree of the best solution of the 10 runs of the case compared with the best solution in the case of a single station.
[0101] Table 2 Comparison of test results of cases in two modes
[0102]
[0103]
[0104] Among them, Nbest represents the optimal number of school buses, Dbest represents the optimal operating mileage, Ngap represents the improvement degree of the best solution of the number of school buses in the 10 runs of the case compared with the best solution in the case of a single station, and Dgap represents the improvement degree of the best solution of the operating mileage in the 10 runs of the case compared with the best solution in the case of a single station.
[0105] It can be seen from Table 2 that for the CSCB01-CSCB04 case set with riding time constraints and school bus capacity constraints, on average 85.8 school buses are required in the multi-station mode, and 90.72 school buses are required in the single-station mode, saving an average of 5.16% of school buses; the average operating mileage of school buses in the multi-station mode is 20641252.21m, and the average operating mileage of school buses in the single-station mode is 22013214.16m, saving an average of 6.70% of school bus operating mileage.
[0106] (2) RSRB experimental results
[0107] The LNS algorithm is used to solve the RSRB class test cases, and the performance of LNS in MDSBRP and SDSBRP is analyzed to obtain the comparison of the number of vehicles in the two modes.
[0108] Table 3 Comparison of the number of vehicles in two modes
[0109]
[0110]
[0111] Experiments show that the LNS algorithm is effective in solving the MDSBRP. For the school bus routing problem with multi-depot operation, it can optimize to obtain a routing plan with fewer vehicles required, reducing the operating cost of school buses. The LNS algorithm has good stability. The average standard deviation of the solutions of LNS in both multi-depot and single-depot modes is between 2.59 - 3.64, and the changes in the mean and standard deviation of the solutions are very small, indicating that the algorithm has good stability and convergence. When the maximum riding time MRT is 5400, the solution results of the LNS algorithm are overall better. The reason is that the increase in the value of MRT is equivalent to looser problem constraints, and the algorithm can find better solutions in a shorter time.
[0112] (3) Comparison of experimental results between CSCB and RSRB
[0113] By comparing and analyzing the performance of the LNS algorithm in the CSCB and RSRB datasets through CSCB and RSRB, Δ represents the difference in the coefficient of standard deviation.
[0114] Table 4 Comparison of results between CSCB and RSRB in two modes
[0115]
[0116] As can be seen from Table 4, in MDSBRP, the CSCB cases save 3.03% of school buses compared to the RSRB cases, and the operating mileage is saved by 11.27%; in SDSBRP, the CSCB cases save 2.71% of school buses compared to the RSRB cases, and the average operating mileage is saved by 10.66%; the results show that the algorithm has better effects in CSCB cases than in RSRB cases.
[0117] Table 5 Stability ratio between CSCB and RSRB in two modes
[0118]
[0119]
[0120] Among them, ΔN represents the difference in the average standard deviation coefficient of the number of vehicles, and ΔD represents the difference in the standard deviation coefficient of the operating mileage.
[0121] As can be seen from Table 5, whether in the single-depot mode or the multi-depot mode, the stability of CSCB is greater than that of RSRB, indicating that the algorithm has better stability in CSCB.
[0122] From the above experimental results, it can be known that the LNS algorithm has the following characteristics in two cases:
[0123] In the MDSBRP, for the CSCB case of the LNS algorithm, the number of vehicles required is 3.03% higher than that of the RSRB, and the operating mileage of the CSCB is 11.27% higher than that of the RSRB. In the SDSBRP, for the CSCB case of the LNS algorithm, the number of vehicles required is 2.71% higher than that of the RSRB, and the operating mileage of the CSCB is 10.66% higher than that of the RSRB. This shows that the LNS algorithm has better effects in centralized cases.
[0124] In the MDSBRP, for the LNS algorithm, the coefficient of variation of the standard deviation of the number of vehicles in the CSCB and the RSRB is similar, but the difference in the average coefficient of variation of the standard deviation of the number of vehicles is 0.16. The coefficient of variation of the standard deviation of the operating mileage in the CSCB and the RSRB is similar, and the difference in the coefficient of variation of the standard deviation of the operating mileage is 0.16. In the SDSBRP, for the LNS algorithm, the coefficient of variation of the standard deviation of the number of vehicles in the CSCB is mostly less than that of the RSRB, and the difference in the average coefficient of variation of the standard deviation of the number of vehicles is 0.43. The coefficient of variation of the standard deviation of the operating mileage in the CSCB is mostly less than that of the RSRB, and the difference in the average coefficient of variation of the standard deviation of the operating mileage is 1.31. This shows that the stability of the LNS is better in centralized cases.
[0125] In summary, the present invention uses different operators for searching for stations and stations respectively: for stations, three station operation operators of swap(1, 1), shift(1, 0), and swap(2, 1) are used to complete neighborhood search; for stations, a perturbation mechanism is introduced for optimization. The present invention adjusts stations between paths and within paths through station operation operators, expands the heuristic strategy of neighborhood solutions, and tests the performance of the algorithm on a set of benchmark test instances. LNS is effective and stable for solving MDSBRP instances. Through tests in MDSBRP and SDSBRP, the results show that the method proposed by the present invention is effective, and good results are achieved in both MDSBRP and SDSBRP, which can improve the quality of the solution. Through the comparison of MDSBRP and SDSBRP, MDSBRP can further reduce the number of school buses required and shorten the driving distance, thereby saving the school bus service cost. The method of the present invention has high computational efficiency and good stability.
[0126] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and retouches can be made, and these improvements and retouches should also be regarded as the protection scope of the present invention.
Claims
1. A multi-station school bus route solving method based on large-scale domain search, characterized in that, Including: Step 1: Construct the initial solution of the MDSBRP model: First, for each school, based on the station, the boarding stations of the school, the available vehicle types, and the maximum travel time constraint, use the generalized insertion method to construct multiple paths to reach the school; Then, merge the paths constructed for each school to obtain the initial solution of the MDSBRP model; The said Step 1 includes: Step 101: Read the case file to obtain the information including the station set D, the boarding station set P + , the vehicle set M, and the school set P - information; Step 102: Combine a boarding station and its affiliated school into a path; Step 103: For all stations that have not been inserted into the closed loop, find several stations in the closed loop that are closest to it. If the number of all stations in the loop is less than 7, include all the stations in the loop; Step 104: Randomly select a station not in the loop, evaluate the cost of inserting this station clockwise and counterclockwise, find the position that can be inserted with the minimum cost, and use the generalized insertion method to insert the station; Step 105: After completing the insertion of the station, update the neighborhood of all stations, jump to Step 103 to continue execution until all stations have been added to the loop; Step 106: According to the obtained closed loop containing the station, all student boarding stations and schools, apply the above splitting process to divide it into individual paths; Step 107: Starting from the station set D, sequentially visit the stations in the loop, add the stations to an initial path containing the station and the school; according to the vehicle capacity, continuously add stations to the path while removing the corresponding stations in the loop; if the vehicle type capacity constraint or the maximum travel time constraint is violated, reconstruct a new initial path, jump to Step 106 to continue execution until there are no stations in the loop; Step 108: Merge the paths constructed for each school to obtain the initial solution of the MDSBRP model; The said Step 1 needs to satisfy the following constraint conditions: The constraint condition for the station is: Ensure that the number of students L on vehicle k is 0 when departing from or returning to station i; ik is 0; The constraint condition for the vehicle is: Where V represents all stations; x ij x represents whether vehicle k passes through the arc connecting station i and station j, 1 means passing through, 0 means not passing through; x jik represents whether vehicle k passes through the arc connecting station j and station i, 1 means passing through, 0 means not passing through; P = P + ∪P - ; Ensure that a vehicle enters and then leaves a station; The constraint condition for the relationship between the student's station and the school is: T ik + st i + t is(i) ≤ T s(i)k where T ik represents the cumulative time after vehicle k passes through stop i; st i represents the service time of stop i, i.e., the boarding and alighting time interval, i ∈ P; t ij represents the travel time between stop i and stop j, i, j ∈ V, and V = P ∪ D represents all stops; T ik represents the cumulative time after vehicle k passes through stop i; it is specified that the school bus must first visit the stop where the student is located and then visit the corresponding school; The constraint condition for the number of students on the vehicle is: Ensure that the number of students L after vehicle k passes through stop i ik is greater than or equal to the number of students q boarding at stop i i and less than or equal to the school bus capacity Q k ; The constraint condition for the arrival time of the vehicle at the station is: where e i represents the earliest departure time of station i, i ∈ P; T i represents the maximum travel time for the vehicle to reach station i; l i represents the latest departure time of station i, i ∈ P; the time for the vehicle to reach any station must meet the time window requirements; Step 2: Use the LNS algorithm to complete the local search of the station through the station operation operator. During the local search process, use the multi-point movement method to perturb the local optimal solution to obtain the local optimal solution; Step 3: For the obtained local optimal solution, use the station operation operator to perform a perturbation operation on it to obtain the global optimal solution; The said Step 3 includes: Step 301: Input the local optimal solution; Step 302: Use the destroy station operation operator to perform a certain degree of destruction on the stations near the station, and then use the corresponding repair station operation operator to repair. The closed station does not destroy the return route, the open station destroys the return route, regenerates a new route, and detects whether it satisfies the constraint conditions to determine whether to accept the solution; Step 303: Record the local search solution, detect whether the current solution is better than the current local optimal solution. If so, update the global optimal solution with the current solution; Step 4: Determine whether the maximum number of iterations is reached. If not, repeat Steps 2 and 3. If so, output the global optimal solution, i.e., the best school bus route.
2. The multi-station school bus route solving method based on large-scale domain search according to claim 1, characterized in that, The said Step 2 includes: Step 201: Use three site operation operators, namely swap(1, 1), shift(1, 0), and swap(2, 1), to perform local search on the sites. swap(1, 1) means randomly selecting two sites on two paths and swapping them to obtain a feasible solution. shift(1, 0) means randomly selecting a site on a certain path and considering all other paths to see if this site can be inserted into a feasible position to form a feasible solution. swap(2, 1) means randomly selecting consecutive sites on a certain path and then swapping them with a site on another path, and repeatedly trying to execute until a feasible solution is obtained. Step 202: Record the local search solution Sl, obtain the local optimal solution Sb^, and update it. Step 203: Perturb the local optimal solution Sb^ in a multi-point movement manner and output the local optimal solution Sb.
3. The multi-station school bus route solving method based on large-scale domain search according to claim 2, characterized in that, The said Step 201 includes: Step 2011: Use the method of creating a neighborhood node list to create a neighborhood node list of size size for node j, i.e., site j. Step 2012: Obtain node k in the neighborhood node list, create an object M to record this movement, use the Evaluate evaluation method to evaluate whether the movement of inserting node j into node k satisfies the constraints, use the CheckMove method to evaluate whether the new solution generated by this movement can be accepted, and determine whether the current movement object M is better than the current best movement object BestM according to the heuristic rule. If so, use the current movement object M as the best movement object BestM. Step 2013: Search each node in the neighborhood node list in turn, perform the operation in Step 2012 on each node, and determine the best insertion position of j. Step 2014: After the search ends, perform a movement operation on the point according to the currently recorded best movement object BestM. If the operation is successful, node j will be permanently moved. If no feasible movement position is found or the movement fails, end.
4. A multi-station school bus path solving method based on large-scale domain search according to claim 1, characterized in that, The said Step 302 includes: Randomly remove a certain proportion of sites from the current solution using the random destroy operator, and remove the sites that cause a large increase in the objective function from the current solution using the worst destroy operator. The objective function is: Among which P + is the set of boarding stations, M is the set of vehicles, V represents all stations, and f k represents the fixed cost of vehicle k, v k represents the variable cost of vehicle k, d ij represents the driving distance between station i and station j; x ijk represents whether vehicle k passes through the arc connecting station i and station j, where 1 means passing through and 0 means not passing through; Take minimizing the objective function as the optimization goal, where the number of school buses is the first optimization goal and the operating mileage is the second goal.