Hybrid sparrow optimization algorithm-based vehicle scheduling method for cement enterprises
By constructing a multi-objective cement vehicle scheduling model and adopting a hybrid intelligent optimization algorithm, the problems of multiple vehicle types, multiple types of materials, and vehicle queuing in cement enterprise vehicle scheduling were solved, thereby improving logistics efficiency, reducing costs, and reducing carbon emissions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN UNIV OF TECH
- Filing Date
- 2022-08-30
- Publication Date
- 2026-06-19
AI Technical Summary
Existing vehicle scheduling technologies for cement companies have failed to effectively address the issues of multiple vehicle types, multiple types of materials, and vehicle queuing, resulting in low logistics efficiency, high costs, and serious carbon emission problems.
A multi-objective cement vehicle scheduling model based on the Hybrid Sparrow Intelligent Optimization Algorithm is constructed. Combining multiple vehicle types, multiple material varieties, and multiple batches of transportation, the Hybrid Sparrow Intelligent Optimization Algorithm is used to solve the problem, optimizing vehicle scheduling to minimize logistics completion time, vehicle mileage, and logistics costs, and improving vehicle scheduling efficiency through the Hybrid Sparrow Intelligent Optimization Algorithm.
It has effectively improved the vehicle logistics level of cement enterprises, reduced logistics costs, and saved vehicle mileage and reduced carbon emissions by shortening logistics completion time.
Smart Images

Figure CN115907066B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle scheduling, and more specifically, it is a vehicle scheduling method for cement enterprises based on a hybrid sparrow intelligent optimization algorithm. Background Technology
[0002] For cement companies, product production typically requires multiple raw materials and processes; different types of goods usually need to be transported by different types of vehicles within a specified time; and vehicle queuing is frequently encountered due to limitations in the number of road crossings and operational requirements during logistics. Therefore, these companies are characterized by a large variety of logistics vehicles, high raw material and product output demands, dispersed vehicle delivery locations, and dense vehicle logistics. Currently, with the introduction of energy conservation and emission reduction policies, the carbon emissions from cement company vehicle logistics have become even more significant, further restricting vehicle logistics. The production and operation of cement companies largely depend on their logistics capabilities; low-level vehicle logistics is not only inefficient and costly but also negatively impacts production processes.
[0003] For cement company vehicles, when completing a logistics task, they need to depart from the parking lot outside the company, go to any weighbridge to weigh themselves once, drive into the company, then go to a distribution point to pick up or deliver goods, and finally go to any weighbridge to weigh themselves once more before leaving. At this time, they do not need to return to the parking lot.
[0004] The existing vehicle scheduling technologies for cement enterprises are as follows: Wang Pan studied the cement vehicle entry scheduling problem based on fuzzy operation time and proposed a solution to optimize vehicle weighing time. Xu Minhe established a multi-vehicle pickup and delivery route optimization model considering carbon emissions for the bagged cement delivery problem and solved it using a genetic algorithm. Hertz A, Uldry M, and Widmer M explored the split delivery vehicle route problem with additional constraints for cement delivery from different fleets to multiple warehouses and proposed a two-stage solution method of first allocating vehicles and then planning routes. Paraphantakul C et al. studied the cement full-truck transportation problem with return trip scheduling and designed an improved ant colony algorithm for solving it. Tai-Sheng S proposed a weighted fuzzy multi-objective linear programming model to solve the cement mixer truck scheduling problem in a fuzzy environment. The above technologies either only consider a single material and a single vehicle type, or only schedule a certain link in the cement vehicle logistics. At the same time, the queuing problem of cement vehicles in the logistics process is also ignored. The scheduling of cement enterprise vehicles has limitations and cannot effectively improve the overall logistics efficiency and reduce logistics costs.
[0005] Based on this, in order to improve the logistics level of cement enterprises and reduce logistics costs, multiple optimization objectives are considered when scheduling cement enterprise vehicles. Summary of the Invention
[0006] The purpose of this invention is to overcome the shortcomings of the existing technology and provide a vehicle scheduling method for cement enterprises based on a hybrid sparrow intelligent optimization algorithm. It mainly addresses the characteristics of vehicle scheduling problems in cement enterprises and combines them with the actual production situation of enterprises. It constructs a multi-objective cement vehicle scheduling model that considers factors such as multiple vehicle types, multiple types of materials, multiple batches of transportation, and vehicle queuing. Furthermore, it designs an efficient solution model using a hybrid sparrow intelligent optimization algorithm, which can effectively improve the vehicle logistics level and reduce logistics costs in cement enterprises.
[0007] This invention relates to a vehicle scheduling method for cement enterprises based on a hybrid sparrow intelligent optimization algorithm, characterized by the following steps:
[0008] Step 1) Based on the characteristics of cement enterprise vehicle logistics, considering factors such as multiple vehicle types, multiple types of materials, multiple batches of transportation and vehicle queuing, a series of assumptions are made about the cement vehicle scheduling environment.
[0009] Step 2) To achieve the goals of minimizing total logistics completion time, minimizing total vehicle mileage, and minimizing total logistics cost, a multi-objective vehicle scheduling problem model for cement enterprises is constructed.
[0010] Step 3) A hybrid sparrow intelligent optimization algorithm is proposed to solve the multi-objective cement enterprise vehicle scheduling model. The optimized optimal solution set is the set of optimal solutions for multi-objective cement enterprise vehicle scheduling.
[0011] In the above technical solution, the series of assumptions mentioned in step 1) include:
[0012] (1) The distance between any two points is the shortest transportation distance;
[0013] (2) All vehicle attributes are known, including carrying capacity, driving speed, fuel consumption, weighing and working time;
[0014] (3) Each vehicle shall only operate one delivery or pickup route;
[0015] (4) Each vehicle may only operate one loading or unloading route;
[0016] (5) All vehicles depart from the parking lot but do not need to return to the area.
[0017] In the above technical solution, the problem model constructed in step 2) is specifically described as follows:
[0018] 1. Symbols and Variables:
[0019] N: Set of material points, N = {1, 2, ..., n};
[0020] M: Weight set, M = {1, 2, ..., m};
[0021] Ψ: The set of vehicle types, where Ψ = {1, 2, ..., K};
[0022] Φ k Vehicle model K, Φ k ={1,2,…,q k};
[0023] i: Material point index, i = 1, 2, ..., n;
[0024] j,j': refers to the weight index, j,j'=1,2,…,m;
[0025] l,l': Vehicle index for model k, l,l' = 1,2,…,q k ;
[0026] W i Material point i: Production or demand;
[0027] w k Vehicle type (k) and vehicle loading capacity;
[0028] The acceptable range of vehicle models for delivery point i
[0029] o k Model k: Model coefficient;
[0030] d ij The shortest distance between material point i and weighing scale j;
[0031] d 0j The shortest distance from the waiting area to the weighbridge.
[0032] V k : The average speed of vehicle model k;
[0033] OT k : Average loading or unloading time for vehicle model k;
[0034] WT k : Average weighing time for vehicle model k;
[0035] [ET i ,LT i ]: The time window during which material point i receives vehicle operations;
[0036] ST kl : The time when the l-th vehicle of model k departs from the waiting area;
[0037] AT kl : The time when the l-th vehicle of model k arrives at the material point;
[0038] BT kl : The time when the lth vehicle of model k begins operation;
[0039] CT kl : The time when the lth vehicle of model k arrives at the weighing scale after leaving the factory;
[0040] FT kl : The time when the l-th vehicle of model k left the factory area;
[0041] C ek Vehicle model K arriving at the unit early incurs penalties and costs.
[0042] C bk Vehicle model (k) late arrival incurs penalties and costs for the unit.
[0043] C pkl Vehicle model k time window penalty cost;
[0044] e k1 : Fuel consumption per unit distance for vehicle model k when unloaded;
[0045] e k2 Fuel consumption per unit distance for vehicle model k when carrying materials;
[0046] C co2kl Carbon emission cost of vehicle l of model k;
[0047] r: Conversion rate of fuel to carbon dioxide per unit unit;
[0048] a: Unit carbon dioxide emission cost
[0049] C si Material point i: Penalty cost per unit for material surplus or shortage;
[0050] C i Material point i: Total penalty cost for material surplus or shortage;
[0051] S i Material point i: remaining or shortage of material;
[0052] I: An infinitely large positive number;
[0053] x jikl : Did the lth vehicle of model k travel from the weighbridge j to the material point i?
[0054] y ijkl : Did the lth vehicle of model k travel from material point i to weighbridge j?
[0055] z 0jkl : Did the lth vehicle of model k drive from the parking lot to the weighbridge?
[0056] Is the lth vehicle of model k weighed on the jth scale in front of the l'th vehicle of model k'?
[0057] λ iklk’l’ Is the l-th vehicle of model k operating at material point i before the l'-th vehicle of model k'?
[0058] 2. Objective function:
[0059] Minimize total logistics completion time:
[0060]
[0061] Minimize total vehicle mileage:
[0062]
[0063] Minimize total logistics costs:
[0064]
[0065] The total logistics cost of vehicle penalties includes:
[0066]
[0067] The total cost of vehicle carbon emission control includes:
[0068]
[0069] Total penalty cost for material surplus or shortage:
[0070]
[0071]
[0072] 3. Constraints
[0073] (1) The total transport volume of vehicles heading to any delivery point cannot exceed the output or demand of that material point, as shown in the formula:
[0074]
[0075] (2) The vehicle type must meet the material point vehicle type requirements, as shown in the formula:
[0076]
[0077] (3) The number of vehicles of any type can be allocated shall not exceed the total number of vehicles of that type, as shown in the formula.
[0078]
[0079] (4) The order of vehicles queuing for weighing upon entering the factory is required, as shown in the formula:
[0080]
[0081] (5) The queuing order requirements for vehicles when loading and unloading goods at material points are as shown in the formula:
[0082]
[0083] (6) The order of vehicles queuing for weighing upon leaving the factory is required, as shown in the formula:
[0084]
[0085] (7) The logistics process from when a vehicle leaves the depot to when it arrives at the delivery point is continuous, as shown in the formula:
[0086]
[0087] (8) The time when the vehicle begins loading and unloading operations cannot be earlier than the time when the vehicle arrives at the delivery point, as shown in the formula:
[0088]
[0089] (9) The logistics process of a vehicle from the start of operation to its arrival at the weighbridge and preparation for departure is continuous, as shown in the formula:
[0090]
[0091] (10) The weighing time when a vehicle leaves the factory cannot be earlier than the time when the vehicle arrives at the weighing scale, as shown in the formula:
[0092]
[0093] (11) A vehicle may enter the factory via only one weighbridge, as shown in the formula:
[0094]
[0095] (12) A vehicle can only go to one material point for operation at most, as shown in the formula:
[0096]
[0097] (13) A vehicle may only leave the enterprise via one weighbridge at most, as shown in the formula:
[0098]
[0099] (14) The relationship between variables ensures that the vehicle route is complete and reasonable, as shown in the formula:
[0100]
[0101]
[0102]
[0103] In the above technical solution, the algorithm proposed in step 3) is as follows:
[0104] (1) Encoding
[0105] A two-layer integer encoding method is used. The first layer is the vehicle model code, with a length equal to the total number of vehicles. The numbers represent the vehicle model, and the frequency of each number indicates the vehicle's serial number. The second layer is the vehicle route code, using 0 to represent parking lots and positive integers to represent weighing or delivery points. Each 0 followed by a positive integer represents a vehicle's route. The vehicle model code corresponds to the route code; therefore, the delivery point a vehicle is heading to, indicated by the second digit after the 0 in the route code, needs to be selected based on the vehicle model code.
[0106] (2) Decoding
[0107] The comprehensive decoding rules are as follows:
[0108] Step 1: Determine whether there are still goods remaining or goods needed at the current material point. If so, assign the current vehicle to proceed to Step 3; otherwise, proceed to Step 2.
[0109] Step 2: Determine if other material points that accept the current vehicle model still have vehicle demand. If so, proceed to the delivery point with the higher unit penalty cost when materials are in short supply or insufficient, and go to Step 3; otherwise, the current vehicle will not be assigned, and go to Step 6.
[0110] Step 3: Calculate the arrival time of the vehicle at the weighbridge upon entering the factory, extract the order of other vehicles weighing at the current weighbridge, and then determine the current vehicle's weighing position. At this point, two cases are considered: if no other vehicle is currently weighing at the weighbridge, there is no need to queue; if other vehicles have already been weighed at the weighbridge, the earliest available weighing time is selected during the gap between other vehicles' weighing and inserted into the sorting.
[0111] Step 4: Calculate the arrival time of the current vehicle at the material point, extract the operation sequence of vehicles already at the current delivery point, and determine the operation sequence of the current vehicle. The method is the same as in Step 3.
[0112] Step 5: Calculate the arrival time at the weighbridge when the vehicle leaves the factory based on the current vehicle's end time, extract the order of vehicles weighed at the current weighbridge, and determine the current vehicle's departure order. The method is the same as in Step 3.
[0113] Step 6: Decode the next vehicle, repeating steps 1-5 until all vehicle codes have been decoded.
[0114] (3) Basic Mahjong Intelligent Optimization Algorithm
[0115] The Sparrow Intelligent Optimization Algorithm seeks the optimal solution by simulating the foraging process of sparrows. The algorithm divides the sparrow population into discoverers and followers according to a certain ratio, and randomly selects individuals as watchdogs. It then continuously updates the positions of these three groups to find the optimal foraging point.
[0116] Discoverers possess higher energy reserves, enabling the population to search a wider area and providing foraging directions for followers.
[0117] The formula for updating the discoverer's location is as follows.
[0118]
[0119] in Iter represents the i-th discoverer in the t-th generation population, where a is a random number within the range [0,1]. max R2 is the maximum number of iterations; R2 is the warning value; ST is the safety value (ST∈[0.5,1]); Q is a random number that follows a normal distribution; L is a 1×d matrix where each element is 1.
[0120] While following the discoverer in search of food, the followers also monitor the discoverer. The follower's position is updated as follows.
[0121]
[0122] in Represents the i-th follower in the t-th generation of the population; n represents the total number of followers in the current population; This represents the best location discovered by the current discoverer. A represents the worst individual in the current population; A is a 1×d matrix where each element is randomly assigned a value of 1 or -1.
[0123] After the discoverers and followers complete their flight, a number of individuals are randomly selected from the population to serve as watchmen. Watchmen at the edge of the population move to a safe area, while watchmen in the middle of the population fly randomly to get closer to other sparrows. The positions of the watchmen are updated as follows.
[0124]
[0125] in This represents the i-th vigilant in generation t of the population. Represents the best individual in the current population; f g and f w These represent the best and worst fitness values in the population, respectively; f iLet represent the fitness value of the i-th vigilant; ε is a small constant to avoid a denominator of 0; β is the step size control parameter, which is a random number following a standard normal distribution. K represents a random number in [-1, 1], which represents the sparrow's movement direction and is also the step size control parameter.
[0126] (4) Population initialization of the hybrid sparrow intelligent optimization algorithm
[0127] Step 1: Randomly generate N D-dimensional space vectors to form an initial population Z, where N is the population size and D is the sum of the lengths of the two encoding layers, Z = {Z i ,i=1,2,…,N},Z i ={Z ik ,k=1,2,…,D}, where the value of each component of the vector is between 0 and 1. The Tent chaotic sequence expression is shown in equation (27), where β=0.5.
[0128]
[0129] Step 2: Map the Tent chaotic sequence to the solution space to obtain the initial population X, X = {X... i X, i = 1, 2, ..., N i ={X ik Let X be the upper and lower bounds of each position of an individual, k = 1, 2, ..., D. max and X min ;
[0130] Step 3: Calculate the reverse population OX of the initial population X according to the formula:
[0131] OX ij =X min +X max -X ik
[0132] Step 4: Mix the initial population and the reverse population, calculate the fitness values and perform non-dominated sorting, then calculate the crowding distance and sort again, and finally select individuals of the previous population size as the initial population.
[0133] (5) Discoverers and Followers in Variable Domain Search Strategies
[0134] After the discoverer and follower complete their position updates, a variable neighborhood descent search is performed on them with probability Pa (Pa∈[0,1]), and different search strategies are used for vehicle type and path.
[0135] Vehicle model coding uses three common neighborhood structures, as follows:
[0136] Greedy swapping: Randomly select an element from the encoded sequence and swap it with the remaining elements to generate multiple neighborhood structures. Each time, select the best neighborhood structure.
[0137] Greedy insertion: Randomly select an element from the encoded sequence and insert it into the remaining positions in its encoded sequence, generating multiple neighborhood structures. Each time, the best neighborhood structure is selected.
[0138] Reverse order: Randomly select two positions from the encoded sequence, and then reverse the order of the elements between the two positions.
[0139] The path-variable neighborhood search employs two different strategies. For the same vehicle path, the entry and exit weighing sequence numbers are swapped; for different vehicle paths, an improved 2-opt operator is designed based on the path characteristics, with the specific steps as follows:
[0140] Step 1: Select two different vehicle routes and break them at any identical location on the two routes.
[0141] Step 2: Connect the two broken paths to obtain two new paths.
[0142] (6) Local search strategy of vigilant
[0143] After the vigilant completes its location update, a local search is performed on it. The POX operator is used to switch vehicle types, while simultaneously and uniformly switching paths, each with a probability of P. c A uniform mutation strategy is used to simultaneously mutate the vehicle type and the route, meaning that each bit of the code is mutated with probability P. m It varies within its range of values.
[0144] (7) Multi-objective individual preservation strategy based on Metropolis criterion
[0145] After population update, the Metropolis criterion from the simulated annealing algorithm is introduced to retain individuals from the new population, thus preventing local optima and premature convergence of the algorithm. Let the new population be denoted as X. new Compare the original solution X i Fit i and X newi fitness newFit i Since multi-objective fitness cannot be directly judged by comparing their magnitudes, a strategy for preserving solutions based on the global optimum of the multi-objective system is proposed, with the following steps:
[0146] Step 1: If newFit i All values are better than Fit i Let X be the corresponding value in the middle. i =X newi, otherwise execute Step 2.
[0147] Step 2: If any value in newFit i is the current global optimal value of the target, then keep X i unchanged, otherwise execute Step 3.
[0148] Step 3: Generate a random number r, set the acceptance probability Pr of the solution. If r < Pr, then let X i = X newi , otherwise keep X i . P r Adopt an exponentially decreasing manner (P r = λ * P r ) and continuously decrease as the iteration process progresses.
[0149] After the individuals in the new population are retained, use non-dominated sorting to record the non-dominated solutions in the Pareto archive set, and during the iteration process, compare the new solutions with the non-dominated solutions in the archive set, then retain the new non-dominated solutions, remove the dominated solutions, and update the archive set.
[0150] In view of the characteristics of the cement vehicle scheduling problem, the present invention considers multiple vehicle types, multiple varieties of materials, multi-batch transportation, and vehicle queuing factors; aims to minimize the total logistics completion time, the shortest total vehicle driving mileage, and the lowest logistics total cost, constructs a mixed integer programming model; proposes a hybrid sparrow intelligent optimization algorithm for solving this model; designs an initialization strategy for the population based on Tent chaotic sequence for reverse learning; improves the search ability of the algorithm through variable neighborhood search for the vehicle types and paths of the discoverers and followers, and local search for the vigilant; introduces the Metropolis criterion in the simulated annealing algorithm, and proposes a multi-objective individual retention strategy to avoid falling into local optima; the optimized optimal solution set is the optimal solution set for the multi-vehicle type cement vehicle scheduling problem. The present invention uses an intelligent optimization algorithm to optimize the scheduling process, effectively saving the vehicle driving mileage and reducing the logistics total cost while shortening the logistics completion time. BRIEF DESCRIPTION OF THE DRAWINGS
[0151] Figure 1 is a schematic diagram of double-layer coding for solving the vehicle scheduling problem of cement enterprises in the present invention;
[0152] Figure 2 is a schematic diagram of vehicle queue-jumping sorting;
[0153] Figure 3 is a path exchange operator;
[0154] Figure 4 is a path improvement 2-opt operator
[0155] Figure 5 For vehicle type POX crossover operator;
[0156] Figure 6 For path uniform exchange operators;
[0157] Figure 7 The flowchart shows the hybrid sparrow intelligent optimization algorithm used in this invention to solve the vehicle scheduling problem in cement enterprises.
[0158] Figure 8(a) shows a three-dimensional plot of the optimal solution set distribution of different Pareto algorithms;
[0159] Figure 8(b) shows the solution obtained by the hybrid sparrow intelligent optimization algorithm with the minimum logistics completion time and the minimum total logistics cost;
[0160] Figure 8(c) shows the solution obtained by the hybrid sparrow intelligent optimization algorithm with the minimum total logistics cost and the minimum total driving mileage;
[0161] Figure 8(d) shows the solution obtained by the hybrid sparrow intelligent optimization algorithm with the minimum logistics completion time and the minimum total driving mileage. Detailed Implementation
[0162] The following detailed description of the implementation of the present invention is in conjunction with the accompanying drawings. However, these descriptions do not constitute a limitation of the present invention and are merely examples. Furthermore, the advantages of the present invention will become clearer and easier to understand by illustrating them.
[0163] The vehicle scheduling method for cement enterprises based on the hybrid sparrow intelligent optimization algorithm designed in this invention is characterized by the following steps:
[0164] Step 1) Based on the characteristics of cement enterprise vehicle logistics, considering factors such as multiple vehicle types, multiple types of materials, multiple batches of transportation and vehicle queuing, a series of assumptions are made about the cement vehicle scheduling environment.
[0165] Step 2) To minimize the total logistics completion time, the total vehicle mileage, and the total logistics cost, a multi-objective vehicle scheduling problem model for cement enterprises is constructed.
[0166] Step 3) A hybrid sparrow intelligent optimization algorithm (hybrid sparrow intelligent optimization algorithm) is proposed to solve the multi-objective cement enterprise vehicle scheduling model. The optimal solution set obtained is the set of optimal solutions for multi-objective cement enterprise vehicle scheduling.
[0167] Furthermore, the series of assumptions made in step 1) of this invention include:
[0168] (1) The distance between any two points is the shortest transportation distance;
[0169] (2) All vehicle attributes are known, including carrying capacity, driving speed, fuel consumption, weighing and working time;
[0170] (3) Each vehicle shall only operate one delivery or pickup route;
[0171] (4) Each vehicle may only operate one loading or unloading route;
[0172] (5) All vehicles depart from the parking lot but do not need to return to the area.
[0173] Furthermore, the model constructed in step 2) is described in detail below:
[0174] 1. Symbols and Variables:
[0175] N: Set of material points, N = {1, 2, ..., n};
[0176] M: Weight set, M = {1, 2, ..., m};
[0177] Ψ: The set of vehicle types, where Ψ = {1, 2, ..., K};
[0178] Φ k Vehicle model K, Φ k ={1,2,…,q k};
[0179] i: Material point index, i = 1, 2, ..., n;
[0180] j,j': refers to the weight index, j,j'=1,2,…,m;
[0181] l,l': Vehicle index for model k, l,l' = 1,2,…,q k ;
[0182] W i Material point i: Production or demand;
[0183] w k Vehicle type (k) and vehicle loading capacity;
[0184] The acceptable range of vehicle models for delivery point i
[0185] o k Model k: Model coefficient;
[0186] d ij The shortest distance between material point i and weighing scale j;
[0187] d 0j The shortest distance from the waiting area to the weighbridge.
[0188] Vk : The average speed of vehicle model k;
[0189] OT k : Average loading or unloading time for vehicle model k;
[0190] WT k : Average weighing time for vehicle model k;
[0191] [ET i ,LT i ]: The time window during which material point i receives vehicle operations;
[0192] ST kl : The time when the l-th vehicle of model k departs from the waiting area;
[0193] AT kl : The time when the l-th vehicle of model k arrives at the material point;
[0194] BT kl : The time when the lth vehicle of model k begins operation;
[0195] CT kl : The time when the lth vehicle of model k arrives at the weighing scale after leaving the factory;
[0196] FT kl : The time when the l-th vehicle of model k left the factory area;
[0197] C ek Vehicle model K arriving at the unit early incurs penalties and costs.
[0198] C bk Vehicle model (k) late arrival incurs penalties and costs for the unit.
[0199] C pkl Vehicle model k time window penalty cost;
[0200] e k1 : Fuel consumption per unit distance for vehicle model k when unloaded;
[0201] e k2 Fuel consumption per unit distance for vehicle model k when carrying materials;
[0202] C co2kl Carbon emission cost of vehicle l of model k;
[0203] r: Conversion rate of fuel to carbon dioxide per unit unit;
[0204] a: Unit carbon dioxide emission cost
[0205] C si Material point i: Penalty cost per unit for material surplus or shortage;
[0206] C i Material point i: Total penalty cost for material surplus or shortage;
[0207] S i Material point i: remaining or shortage of material;
[0208] I: An infinitely large positive number;
[0209] x jikl : Did the lth vehicle of model k travel from the weighbridge j to the material point i?
[0210] y ijkl : Did the lth vehicle of model k travel from material point i to weighbridge j?
[0211] z 0jkl : Did the lth vehicle of model k drive from the parking lot to the weighbridge?
[0212] Is the lth vehicle of model k weighed on the jth scale in front of the l'th vehicle of model k'?
[0213] λ iklk’l’ Is the l-th vehicle of model k operating at material point i before the l'-th vehicle of model k'?
[0214] 2. Objective function:
[0215] Minimize total logistics completion time:
[0216]
[0217] Minimize total vehicle mileage:
[0218]
[0219] Minimize total logistics costs:
[0220]
[0221] The total logistics cost of vehicle penalties includes:
[0222]
[0223] The total cost of vehicle carbon emission control includes:
[0224]
[0225] Total penalty cost for material surplus or shortage:
[0226]
[0227]
[0228] 3. Constraints
[0229] (1) The total transport volume of vehicles heading to any delivery point cannot exceed the output or demand of that material point, as shown in the formula:
[0230]
[0231] (2) The vehicle type must meet the material point vehicle type requirements, as shown in the formula:
[0232]
[0233] (3) The number of vehicles of any type can be allocated shall not exceed the total number of vehicles of that type, as shown in the formula.
[0234]
[0235] (4) The order of vehicles queuing for weighing upon entering the factory is required, as shown in the formula:
[0236]
[0237] (5) The queuing order requirements for vehicles when loading and unloading goods at material points are as shown in the formula:
[0238]
[0239] (6) The order of vehicles queuing for weighing upon leaving the factory is required, as shown in the formula:
[0240]
[0241] (7) The logistics process from when a vehicle leaves the depot to when it arrives at the delivery point is continuous, as shown in the formula:
[0242]
[0243] (8) The time when the vehicle begins loading and unloading operations cannot be earlier than the time when the vehicle arrives at the delivery point, as shown in the formula:
[0244]
[0245] (9) The logistics process of a vehicle from the start of operation to its arrival at the weighbridge and preparation for departure is continuous, as shown in the formula:
[0246]
[0247] (10) The weighing time when a vehicle leaves the factory cannot be earlier than the time when the vehicle arrives at the weighing scale, as shown in the formula:
[0248]
[0249] (11) A vehicle may enter the factory via only one weighbridge, as shown in the formula:
[0250]
[0251] (12) A vehicle can only go to one material point for operation at most, as shown in the formula:
[0252]
[0253] (13) A vehicle may only leave the enterprise via one weighbridge at most, as shown in the formula:
[0254]
[0255] (14) The relationship between variables ensures that the vehicle route is complete and reasonable, as shown in the formula:
[0256]
[0257]
[0258]
[0259] Furthermore, the algorithm designed in step 3) of this invention is as follows:
[0260] (1) Encoding
[0261] All vehicles are coded using a two-layer integer encoding system. The first layer is the vehicle type code, with a length equal to the total number of vehicles. The second layer is the vehicle route code, where 0 represents the waiting area, and positive integers represent weighing points or material points. Each 0 followed by a positive integer represents a vehicle's route. The vehicle type code and route code correspond sequentially, therefore, the second digit after the 0 in the route code, i.e., the material point code, needs to be selected based on the vehicle type code. For example: X1 = [1 2 3], X2 = [0 3 5 1 0 3 6 40 4 7 2], which means that vehicle type 1 departs from the waiting area to weighing point 3, then proceeds to material point 5, and finally leaves the factory from weighing point 1; vehicle type 2 departs from the waiting area to weighing point 3, completes its work at material point 6, and leaves from weighing point 4; vehicle type 3 enters the factory from weighing point 4, proceeds to material point 7, and leaves from weighing point 2.
[0262] (2) Decoding
[0263] The comprehensive decoding rules are as follows:
[0264] Step 1: Determine whether there are still goods remaining or goods needed at the current material point. If so, assign the current vehicle to proceed to Step 3; otherwise, proceed to Step 2.
[0265] Step 2: Determine if other material points that accept the current vehicle model still have vehicle demand. If so, proceed to the delivery point with the higher unit penalty cost when materials are in short supply or insufficient, and go to Step 3; otherwise, the current vehicle will not be assigned, and go to Step 6.
[0266] Step 3: Calculate the arrival time of the vehicle at the weighbridge upon entering the factory, extract the order of other vehicles weighing at the current weighbridge, and then determine the current vehicle's weighing position. At this point, two cases are considered: if no other vehicle is currently weighing at the weighbridge, there is no need to queue; if other vehicles have already been weighed at the weighbridge, the earliest available weighing time is selected during the gap between other vehicles' weighing and inserted into the sorting.
[0267] Step 4: Calculate the arrival time of the current vehicle at the material point, extract the operation sequence of vehicles already at the current delivery point, and determine the operation sequence of the current vehicle. The method is the same as in Step 3.
[0268] Step 5: Calculate the arrival time at the weighbridge when the vehicle leaves the factory based on the current vehicle's end time, extract the order of vehicles weighed at the current weighbridge, and determine the current vehicle's departure order. The method is the same as in Step 3.
[0269] Step 6: Decode the next vehicle, repeating steps 1-5 until all vehicle codes have been decoded.
[0270] (3) Basic Mahjong Intelligent Optimization Algorithm
[0271] The Sparrow Intelligent Optimization Algorithm seeks the optimal solution by simulating the foraging process of sparrows. The algorithm divides the sparrow population into discoverers and followers according to a certain ratio, and randomly selects individuals as watchdogs. It then continuously updates the positions of these three groups to find the optimal foraging point.
[0272] Discoverers possess higher energy reserves, enabling the population to search a wider area and providing foraging directions for followers.
[0273] The formula for updating the discoverer's location is as follows.
[0274]
[0275] in Iter represents the i-th discoverer in the t-th generation population, where a is a random number within the range [0,1]. max R2 is the maximum number of iterations; R2 is the warning value; ST is the safety value (ST∈[0.5,1]); Q is a random number that follows a normal distribution; L is a 1×d matrix where each element is 1.
[0276] While following the discoverer in search of food, the followers also monitor the discoverer. The follower's position is updated as follows.
[0277]
[0278] in Represents the i-th follower in the t-th generation of the population; n represents the total number of followers in the current population; This represents the best location discovered by the current discoverer. A represents the worst individual in the current population; A is a 1×d matrix where each element is randomly assigned a value of 1 or -1.
[0279] After the discoverers and followers complete their flight, a number of individuals are randomly selected from the population to serve as watchmen. Watchmen at the edge of the population move to a safe area, while watchmen in the middle of the population fly randomly to get closer to other sparrows. The positions of the watchmen are updated as follows.
[0280]
[0281] in This represents the i-th vigilant in generation t of the population. Represents the best individual in the current population; f g and f w These represent the best and worst fitness values in the population, respectively; f i Let represent the fitness value of the i-th vigilant; ε is a small constant to avoid a denominator of 0; β is the step size control parameter, which is a random number following a standard normal distribution. K represents a random number in [-1, 1], which represents the sparrow's movement direction and is also the step size control parameter.
[0282] (4) Population initialization of the hybrid sparrow intelligent optimization algorithm
[0283] Step 1: Randomly generate N D-dimensional space vectors to form an initial population Z, where N is the population size and D is the sum of the lengths of the two encoding layers, Z = {Z i ,i=1,2,…,N},Z i ={Z ik ,k=1,2,…,D}, where the value of each component of the vector is between 0 and 1. The Tent chaotic sequence expression is shown in equation (27), where β=0.5.
[0284]
[0285] Step 2: Map the Tent chaotic sequence to the solution space to obtain the initial population X, X = {X... i X, i = 1, 2, ..., N i ={X ik Let X be the upper and lower bounds of each position of an individual, k = 1, 2, ..., D. max and X min ;
[0286] Step 3: Calculate the reverse population OX of the initial population X according to the formula:
[0287] OX ij =X min +X max -X ik
[0288] Step 4: Mix the initial population and the reverse population, calculate the fitness values and perform non-dominated sorting, then calculate the crowding distance and sort again, and finally select individuals of the previous population size as the initial population.
[0289] (5) Discoverers and Followers in Variable Domain Search Strategies
[0290] After the discoverer and follower complete their position updates, a variable neighborhood descent search is performed on them with probability Pa (Pa∈[0,1]), and different search strategies are used for vehicle type and path.
[0291] Vehicle model coding uses three common neighborhood structures, as follows:
[0292] Greedy swapping: Randomly select an element from the encoded sequence and swap it with the remaining elements to generate multiple neighborhood structures. Each time, select the best neighborhood structure.
[0293] Greedy insertion: Randomly select an element from the encoded sequence and insert it into the remaining positions in its encoded sequence, generating multiple neighborhood structures. Each time, the best neighborhood structure is selected.
[0294] Reverse order: Randomly select two positions from the encoded sequence, and then reverse the order of the elements between the two positions.
[0295] The path-variable neighborhood search employs two different strategies. For the same vehicle path, the entry and exit weighing sequence numbers are swapped; for different vehicle paths, an improved 2-opt operator is designed based on the path characteristics, with the specific steps as follows:
[0296] Step 1: Select two different vehicle routes and break them at any identical location on the two routes.
[0297] Step 2: Connect the two broken paths to obtain two new paths.
[0298] (6) Local search strategy of vigilant
[0299] After the vigilant completes its location update, a local search is performed on it. The POX operator is used to switch vehicle types, while simultaneously and uniformly switching paths, each with a probability of P. c A uniform mutation strategy is used to simultaneously mutate the vehicle type and the route, meaning that each bit of the code is mutated with probability P. mvary within its value range.
[0300] (7) Multi-objective individual retention strategy based on the Metropolis criterion
[0301] After the population update is completed, introduce the Metropolis criterion in the simulated annealing algorithm to retain the individuals in the new population, so as to jump out of the local optimum and avoid premature convergence of the algorithm. Denote the new population as X new , compare the original solution X i 's fitness Fit i and X newi 's fitness newFit i . Since the multi-objective fitness cannot directly determine the quality by comparing sizes, a retention strategy for solutions based on the global optimum of multiple objectives is proposed, and the steps are as follows:
[0302] Step 1: If all values in newFit i are better than the corresponding values in Fit i , let X i = X newi , otherwise execute Step 2.
[0303] Step 2: If any value in newFit i is the current global optimum value of this objective, retain X i unchanged, otherwise execute Step 3.
[0304] Step 3: Generate a random number r, set the acceptance probability Pr of the solution. If r < Pr, let X i = X newi , otherwise retain X i . P r adopts an exponential decay method (P r = λ * P r ) and continuously decreases as the iteration process progresses.
[0305] After the retention of the new population individuals is completed, use non-dominated sorting to record the non-dominated solutions in the Pareto archive set, and compare the new solutions with the non-dominated solutions in the archive set during the iteration process, then retain the new non-dominated solutions, remove the dominated solutions, and update the archive set.
[0306] To verify the effectiveness of the Hybrid Sparrow Smart Optimization Algorithm (HSSA), it was compared with the Basic Sparrow Smart Optimization Algorithm (SSA), Non-Dominated Sorting Genetic Algorithm (NSGA-II), Discrete Particle Swarm Optimization (DPSO), and Variable Neighborhood Search (VNS). The algorithm was run on an Intel Core i9 CPU @ 3.6GHz, 32GB RAM, Windows 10 (64-bit), and Matlab 2017b. Each algorithm was run independently 10 times, with a runtime of 100 seconds for each run.
[0307] Scatter plots of the Pareto optimal solution sets of the five algorithms in the experiment were drawn under different dimensions. Figure 8(a) shows the three-dimensional distribution of the Pareto optimal solution sets of different algorithms. As can be seen from Figure 8(b), the Hybrid Sparrow Intelligent Optimization Algorithm can obtain a solution with the minimum logistics completion time and the minimum total logistics cost; as can be seen from Figure 8(c), the Hybrid Sparrow Intelligent Optimization Algorithm can obtain a solution with the minimum total logistics cost and the minimum total mileage; as can be seen from Figure 8(d), the Hybrid Sparrow Intelligent Optimization Algorithm can obtain a solution with the minimum logistics completion time and the minimum total mileage. Overall, it can be shown that the Hybrid Sparrow Intelligent Optimization Algorithm performs significantly better than other algorithms.
[0308] All other details not described herein are existing technologies.
Claims
1. A cement enterprise vehicle scheduling method based on a hybrid sparrow optimization algorithm, characterized in that, Includes the following steps: Step 1) Based on the characteristics of cement enterprise vehicle logistics, considering factors such as multiple vehicle types, multiple types of materials, multiple batches of transportation and vehicle queuing, a series of assumptions are made about the cement vehicle scheduling environment. Step 2) To minimize the total logistics completion time, the total vehicle mileage, and the total logistics cost, a multi-objective vehicle scheduling problem model for cement enterprises is constructed. Step 3) Propose a hybrid sparrow intelligent optimization algorithm to solve the multi-objective cement enterprise vehicle scheduling model. The optimized optimal solution set is the set of optimal solutions for multi-objective cement enterprise vehicle scheduling. The series of assumptions mentioned in step 1) includes: (1) The distance between any two points is the shortest transportation distance; (2) The vehicle attributes of all vehicles are known, including carrying capacity, driving speed, fuel consumption, weighing and working time; (3) Each vehicle shall only operate one delivery or pickup route; (4) Each vehicle may only operate one loading or unloading route; (5) All vehicles depart from the parking lot but do not need to return to the area; The algorithm proposed in step 3) is as follows: (1) Encoding A two-layer integer encoding method is adopted. The first layer is the vehicle type code, the length of which is the total number of vehicles. The numbers represent the vehicle type, and the number of times the numbers appear is the vehicle serial number. The second layer is the vehicle route code, with 0 representing parking lots and positive integers representing weighing or delivery points. Each 0 and the positive integer following it represents a vehicle's route. The vehicle type code corresponds to the route code. Therefore, the delivery point that the vehicle is going to, i.e., the second digit after the 0 in the route, needs to be selected based on the vehicle type code. (2) Decoding The comprehensive decoding rules are as follows: Step 1: Determine if there is still any goods remaining or goods still needed at the current material point. If so, assign the current vehicle to proceed to Step 3; otherwise, proceed to Step 2. Step 2: Determine if other material points that accept the current vehicle model still have vehicle demand. If so, proceed to the delivery point where the unit penalty cost is high when there is a shortage or surplus of materials, and go to Step 3; otherwise, the current vehicle will not be assigned, and go to Step 6. Step 3: Calculate the arrival time of the vehicle at the weighbridge when it enters the factory, extract the order of other vehicles weighing at the current weighbridge, and then determine the current vehicle's weighing position. At this time, two cases are judged: if no other vehicle is currently weighing at the weighbridge, there is no need to queue; if other vehicles have already been weighed at the weighbridge, then the earliest available weighing time is selected during the gap time of other vehicles' weighing and inserted into the sort. Step 4: Calculate the arrival time of the current vehicle at the material point, extract the operation sequence of vehicles already at the current delivery point, and determine the operation sequence of the current vehicle. The method is the same as in Step 3. Step 5: Calculate the arrival time at the weighbridge when the vehicle leaves the factory based on the current vehicle's end time, extract the order of vehicles that have been weighed at the current weighbridge, and determine the current vehicle's departure order. The method is the same as in Step 3. Step 6: Decode the next vehicle, repeating steps 1-5 until all vehicle codes have been decoded; (3) Basic Sparrow Intelligent Optimization Algorithm The Sparrow Intelligent Optimization Algorithm seeks the optimal solution by simulating the sparrow's foraging process. The algorithm divides the sparrow population into discoverers and followers according to a certain ratio, and randomly selects individuals as watchdogs. It finds the optimal foraging point by continuously updating the positions of the three groups. The discoverer has a higher energy reserve, allowing the population to search a wider area and providing foraging directions for followers. The discoveryer's position update formula is as follows; in represent t The first generation of the population i One discoverer, a A random number within the range [0,1]; iter max This represents the maximum number of iterations. R 2 The warning value, ST For safety value ( ST ∈[0.5, 1]); Q is a random number that follows a normal distribution; L is a 1× d A matrix, where each element is 1; While following the discoverer in search of food, the followers also monitor the discoverer. The follower's position is updated as follows: in represent t The first generation of the population i One follower; n Represents the total number of followers in the current population; This represents the best location discovered by the current discoverer. Represents the worst individual in the current population; A It is a 1× d A matrix in which each element is randomly assigned the value 1 or -1; After the discoverers and followers complete their flight, a portion of individuals are randomly selected from the population to serve as watchmen. Watchmen at the edge of the population move to safe areas, while watchmen in the middle of the population fly randomly to approach other sparrows. The positions of the watchmen are updated as follows: in represent t The first generation of the population i A vigilant; Represents the best individual in the current population; f g and f w These represent the best and worst fitness values in the population, respectively. f i Indicates the first i The fitness value of each vigilant; It is a relatively small constant to avoid a denominator of 0; The step size control parameter is a random number that follows a standard normal distribution; K This represents a random number in the range [-1, 1], which indicates the direction of the sparrow's movement and is also a step size control parameter; (4) Population initialization of the hybrid sparrow intelligent optimization algorithm Step 1: Randomly generate N indivual D The initial population is composed of vectors in a 3D space. Z ,in N For population size, D It is the sum of the lengths of the two coding layers. Z = { Z i , i = 1, 2, … , N }, Z i = { Z ik , k = 1, 2, … , D }, the value of each component of the vector is between 0 and 1; the Tent chaotic sequence expression is shown in equation (27), where β = 0.5; Step 2: Map the Tent chaotic sequence to the solution space to obtain the initial population. X , X ={ X i , i =1,2,…, N }, X i ={ X ik , k =1,2,…, D }, denoted as the upper and lower bounds of each individual's position. X max and X min ; Step 3: Calculate the reverse population OX of the initial population X according to the formula: Step 4: Mix the initial population and the reverse population, calculate the fitness value and perform non-dominated sorting, then calculate the crowding distance and sort again, and finally select individuals of the previous population size as the initial population. (5) Discoverer and follower domain search strategies After the discoverer and follower complete their position updates, the probability is used. Pa ( Pa [0, 1]) Perform a variable neighborhood descent search on it, and use different search strategies for vehicle type and path; Vehicle model coding uses three common neighborhood structures, as follows: Greedy swapping: Randomly select an element from the encoded sequence and swap it with the other remaining elements to generate multiple neighborhood structures. Each time, select the best neighborhood structure. Greedy insertion: Randomly select an element from the encoded sequence and insert it into the remaining positions in its encoded sequence to generate multiple neighborhood structures. Each time, the best neighborhood structure is selected. Reverse order: Randomly select two positions from the encoded sequence, and then reverse the order of the elements between the two positions; The path-variable neighborhood search employs two different strategies: for the same vehicle path, the entry and exit weighing sequence numbers are swapped; for different vehicle paths, an improved 2-opt operator is designed based on the path characteristics, with the specific steps as follows: Step 1: Select two different vehicle routes and break them at any identical location on both routes; Step 2: Connect the two broken paths to obtain two new paths; (6) Local search strategy of vigilant After the vigilant completes its location update, a local search is performed, using the POX operator to switch vehicle types while uniformly switching paths with equal probability. P c A uniform mutation strategy is used to mutate both the vehicle type and the path simultaneously; that is, each bit of the code is mutated with probability. P m It varies within its range of values; (7) Multi-objective individual retention strategy based on Metropolis criterion After completing the population update, the Metropolis criterion from the simulated annealing algorithm is introduced to retain individuals in the new population, in order to escape local optima and avoid premature convergence of the algorithm; the new population is denoted as... X new Compare the original solution X i fitness Fit i and X newi fitness newFit i Since the fitness of multi-objective systems cannot be directly judged by comparing their magnitudes, a strategy for preserving solutions based on the global optimum of multi-objective systems is proposed, the steps of which are as follows: Step 1: If newFit i All values are better than Fit i Let the corresponding value in be X i = X newi Otherwise, proceed to step 2; Step 2: If newFit i any of the values in the middle is the current global optimum value for the objective, then retain X i unchanged, otherwise perform step 3; Step 3: Generate a random number r Set the probability of accepting the solution. Pr ,like r < Pr Then let X i = X newi Otherwise, keep X i ; P r Using an exponential decline method ( P r = P r The value decreases continuously as the iteration process progresses; After the new population individuals are retained, non-dominated solutions are recorded in the Pareto archive using non-dominated sorting. During the iteration process, the new solution is compared with the non-dominated solutions in the archive, and then the new non-dominated solution is retained, the dominant solution is removed, and the archive is updated.
2. The cement enterprise vehicle scheduling method based on the hybrid sparrow intelligent optimization algorithm as described in claim 1, characterized in that, The problem model constructed in step 2) is described in detail below:
1. Symbols and Variables: N : set of material points, N = {1, 2,... n}; M : set of weigh pounds, M = {1, 2, …, m}; : set of vehicle types, set = {1, 2, …, K} ; k : vehicle model K vehicle set, k = {1,2,… q k}; i : material point index, i = 1,2,..., n ; j,j ’ : index of the weighing pound, j,j ’ = 1,2,..., m ; l,l ’ : k Vehicle model vehicle index, l,l ’ = 1,2,… q k ; W i : material point i : production or demand w k : vehicle model k Vehicle load; [ Omin i , Omax i Delivery point i Acceptable range of vehicle coefficients o k : vehicle type k vehicle type coefficient d ij : material point i with a weighing scale j shortest distance between d 0j : shortest distance from the waiting area to the weighbridge j V k : vehicle model k average travel speed of the vehicle; OT k : vehicle type k Average loading or unloading time of a vehicle; WT k : vehicle model k Average on-weighing time of the vehicle; [ ET i LT i ] : material point i time window for accepting vehicle jobs; ST kl Model k The l The time when the vehicle departs from the waiting area; AT kl : vehicle type k the first l vehicle to arrive at the material point; BT kl : vehicle type k : the first l : the time when the first vehicle starts work CT kl : vehicle model k : the first l : time when the vehicle leaves the factory to arrive at the weighing station FT kl Model k The l The time the vehicle left the factory area; C ek : vehicle model k Vehicle early arrival to unit penalty cost; C bk : vehicle model k Vehicle late arrival unit penalty cost; C pkl : vehicle model k vehicle time window penalty cost; e k1 : vehicle model k Fuel consumption per distance when the vehicle is empty; e k2 : vehicle model k Fuel consumption per unit distance when the vehicle is loaded C co2kl : vehicle model k of l carbon emission cost of a vehicle; r : unit conversion of fuel to carbon dioxide a : unit cost of carbon dioxide emissions C si : material point i material surplus or shortage unit penalty cost; C i : material point i total penalty cost of material surplus or shortage; S i : material point i material surplus or shortage I : an indefinitely large positive number; x jikl : k first l whether the vehicle is weighed by a weighbridge j driven to a material point i ; y ijkl : k first l whether the vehicle is driven to the weighing scale by the material point i j ; z 0jkl : k first l whether the vehicle is driving from a parking lot to a weighbridge j ; j klk'l' : k the first l whether the vehicle is in k ’ the first l ’ weighing the vehicle before the first j pound. iklk'l' : k The first model l Is the car there? k ’ The first model l ’ The vehicle is at the material point i Operation; 2. Objective function: Minimize total logistics completion time: Minimize total vehicle mileage: Minimize total logistics costs: The total logistics cost of vehicle penalties includes: The total cost of vehicle carbon emission control includes: Total penalty cost for material surplus or shortage:
3. Constraints (1) The total transport volume of vehicles heading to any delivery point cannot exceed the output or demand of that material point, as shown in the formula: (2) The vehicle type must meet the material point vehicle type requirements, as shown in the formula: (3) The number of vehicles of any type that are allocated shall not exceed the total number of vehicles of that type, as shown in the formula; (4) The order of vehicles queuing for weighing upon entering the factory is required, as shown in the formula: (5) The queuing order requirements for vehicles when loading and unloading goods at material points are as shown in the formula: (6) The order of vehicles queuing for weighing when leaving the factory is required, as shown in the formula: (7) The logistics process from when a vehicle leaves the depot to when it arrives at the delivery point is continuous, as shown in the formula: (8) The time when the vehicle begins loading and unloading operations cannot be earlier than the time when the vehicle arrives at the delivery point, as shown in the formula: (9) The logistics process of a vehicle from the start of operation to its arrival at the weighbridge and preparation for departure is continuous, as shown in the formula: (10) The weighing time when a vehicle leaves the factory cannot be earlier than the time when the vehicle arrives at the weighbridge, as shown in the formula: (11) A vehicle may enter the factory via only one weighbridge, as shown in the formula: (12) A vehicle can only go to one material point for operation at most, as shown in the formula: (13) A vehicle may only leave the enterprise via one weighbridge at most, as shown in the formula: (14) The relationship between variables ensures that the vehicle route is complete and reasonable, as shown in the formula: 。