Distribution vehicle boxing scheduling method and device, medium and equipment
By building a directed arc network and optimization model, the vehicle loading problem in papermaking scenarios is solved, and an efficient vehicle packing scheduling solution is provided, which solves the problems of production planning flexibility, logistics complexity and low manual loading efficiency, achieving optimal scheduling and cost minimization.
Patent Information
- Application Number
- CN202510569487.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-03
- Publication Date
- 2025-08-15
AI Technical Summary
The existing technology has problems such as lack of flexibility in production planning, logistics complexity, low manual loading efficiency, information lag, work order time difference and vehicle volume utilization in the vehicle, resulting in high transportation costs and low efficiency, and existing methods are difficult to provide an optimal scheduling solution.
By obtaining customer information, warehouse information and vehicle information, a directional arc network is built, and the main objective function and constraints are constructed using decision variables and cost models. Combining greedy algorithms, linear slack and branch delimiting methods, the vehicle packing scheduling scheme is optimized to ensure the total driving cost is minimized.
It realizes the rapid finding of the optimal vehicle packing scheduling plan, improves logistics efficiency, reduces calculation time, adapts to rapid changes in the production process, and ensures the feasibility and optimization of the scheduling plan.
Smart Images

Figure CN120494175A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of delivery scheduling, and in particular to a method, device, medium and equipment for dispatching packing of delivery vehicles. Background Art
[0002] Existing approaches to flexible job-shop scheduling still have numerous drawbacks. For example, in the papermaking industry, the cardboard packing and loading problem exhibits the following characteristics: 1. Order-driven production: The current production model relies entirely on sales orders, which can lead to a lack of flexibility in production planning and difficulty responding to market fluctuations. 2. Dispersion of work orders: The large number of work orders, each with small demand, and a wide customer base increase the complexity of logistics loading and unwinding, necessitating an effective carpooling and shipping strategy. 3. Shipment coordination: Shipments require the consolidation of multiple work orders, but current production scheduling does not consider loading and shipping, which can lead to misalignment between production and logistics. 4. Manual loading efficiency and limitations: Manual loading methods have limited efficiency and are unable to meet the requirement of loading 80%-85% of vehicle capacity, impacting transportation costs and efficiency. Manual loading also fails to fully utilize cardboard storage location information and lacks optimization of inventory placement order, impacting overall logistics efficiency. 5. Work order time discrepancies: Inconsistent work order shipping times can cause product to remain in the warehouse, increasing inventory costs and necessitating optimized time management. 6. Information lag: Lags in loading information mean that it's impossible to predict future loading needs when storing produced cardboard, complicating logistics planning. 7. Loading strategy requirements: Loading orders prioritize recent customer orders, which are typically loaded last. Vehicle capacity requirements are specified, with a minimum of 20 cubic meters and a maximum of 95 cubic meters, with most vehicles having a capacity of 75 cubic meters.
[0003] Previous methods for solving vehicle loading problems did not focus on the papermaking scenario, nor were they combined with the specific needs of the papermaking scenario. Some special needs in the papermaking scenario were not taken into account. For example, in the loading of a paper mill, the work orders produced by the APS production system are combined to estimate the time it takes for the work order to be completed and leave the production line. Then, all work orders shipped by the same vehicle are required to have a paper delivery time within a certain range. This requirement describes the efficiency of logistics operations within the paper mill. However, this issue is basically not considered in existing research. In addition, previous methods focused on logical rule methods and commonly used non-exact solution algorithms such as genetic algorithms. Although these methods can provide better solutions than human decision-making, the optimality of the solutions is difficult to guarantee, and the optimal solution to the distance problem still has a lot of room for improvement.
[0004] Therefore, how to improve at least one of the above problems is a technical problem that needs to be solved urgently in this field. Summary of the Invention
[0005] Based on this, the purpose of this application is to provide a delivery vehicle packing scheduling method, device, medium and equipment to solve at least one technical problem mentioned in the above background technology.
[0006] In a first aspect, the present application provides a method for dispatching packing of delivery vehicles, comprising:
[0007] Obtain customer information, warehouse information, and vehicle information; customer information includes customer location, customer needs, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle;
[0008] Taking customer locations and warehouse locations as nodes and paths between nodes as directed arcs, we can obtain several feasible route-vehicle pairs based on vehicle types and all directed arcs. We can also obtain the driving cost of each feasible route-vehicle pair based on the unit cost of each type of vehicle.
[0009] The main objective function is constructed based on the preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. The main constraints are constructed based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle, and available number of each type of vehicle. The main problem is obtained based on the main objective function and the main constraints, and the main problem is solved to obtain a scheduling plan.
[0010] Furthermore, the steps of solving the main problem to obtain a scheduling solution include:
[0011] S31: Initialize the main problem, obtain several vehicle-route pairs, and construct a restricted main problem to obtain the corresponding upper bound;
[0012] S32: Obtain the linearly relaxed master problem and initialize it, obtain several vehicle-route pairs to construct and solve the linearly relaxed restricted master problem, and obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem;
[0013] S33: Construct a minimization subproblem based on the dual variables and solve it to obtain the solution to the minimization subproblem;
[0014] S34: Determine whether the solution to the subproblem is an integer feasible solution. If so, update the upper bound based on the solution to the subproblem and execute step S35. If not, update the lower bound based on the solution to the subproblem and execute step S36.
[0015] S35: Determine whether the upper bound is equal to the lower bound at this time. If so, the solution to the current subproblem is the final delivery vehicle packing scheduling plan. If not, execute step S36;
[0016] S36: Create two child nodes according to the solution of the sub-problem, add branch constraints to each child node, obtain the restricted main problem corresponding to each child node, and return to step S32.
[0017] Furthermore, the steps of constructing and solving minimization subproblems based on the dual variables to obtain solutions to the subproblems include:
[0018] S331: Construct sub-objective functions and sub-constraints based on dual variables to obtain the minimization sub-problem;
[0019] S332: Solve the minimization subproblem to obtain the optimal objective value of the subobjective function, and determine whether it is negative. If not, obtain the solution to the minimization subproblem. If so, add the vehicle-route pair corresponding to the optimal objective value to the restricted main problem to obtain an updated restricted main problem.
[0020] S333: Solve the updated restricted master problem to obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem, and return to step S331.
[0021] Furthermore, the steps of creating two child nodes based on the solution of the subproblem, adding branch constraints to each child node, and obtaining the restricted main problem corresponding to each child node include:
[0022] According to the solution of the sub-problem, any variable is obtained as the initial node, and the variable value is restricted to obtain two child nodes;
[0023] In any child node, the variable value is restricted to 0, and in another child node, the variable value is restricted to 1, thereby adding corresponding branch constraints to each child node and obtaining the restricted main problem corresponding to each child node.
[0024] Furthermore, after creating two child nodes based on the solution to the subproblem, it also includes:
[0025] Pruning is performed according to one or more of the following methods: feasibility pruning, limit pruning, and integer optimal solution judgment, where:
[0026] Feasibility pruning is used to determine whether there is no feasible solution for the current node. If not, the node remains unchanged. If so, the node is removed.
[0027] Boundary pruning is used to determine whether the target value of the current node is greater than the upper bound. If so, the solution of the current node is used as the final delivery vehicle packing scheduling solution;
[0028] Integer optimal solution judgment is used to update the upper bound based on the integer solution of the current node and determine whether the upper bound and the lower bound are equal. If not, it remains unchanged. If so, the solution of the current node is used as the final delivery vehicle packing scheduling plan.
[0029] Furthermore, the main problem includes:
[0030]
[0031] where \(T\) is the set of vehicle types, \(k\) represents the \(k\)-th vehicle type, \(0 \lt k \leq m\), and \(m\) is the total number of vehicle types; \(r\) is a feasible route, and \(R\) k is the set of feasible route-vehicle pairs corresponding to vehicle type \(k\), is the driving cost of the \(k\)-th vehicle type along route \(r\); is a variable, which is 1 if the feasible route-vehicle pair \((r, k)\) is adopted, and 0 otherwise; is a variable, which is 1 if vehicle type \(k\) visits customer node \(i\) on route \(r\), and 0 otherwise; \(N\) is the set of nodes, and \(q\) k is the available quantity of vehicle type \(k\).
[0032] Furthermore, the sub-problem includes:
[0033]
[0034]
[0035] where, is the driving cost for vehicle type \(k \in T\) to traverse arc \((i, j) \in A\), and \(A\) is the set of directed arcs; \(\pi\) i is the value of the dual variable when the path passes through node \(i\); \(y\) ij is a variable, which is 1 if the vehicle passes through \((i, j) \in A\), and 0 otherwise; \(\pi\) k is the dual value caused by using vehicle type \(k\), which can be regarded as a constant when solving for each vehicle type; \(v\) i is the volume of work order \(i\); \(b\) k is the volume capacity of vehicle type \(k\); \(t\) i and \(t\) j are different work orders in the same loading list; \(M\) is a constant; \(T\) t is that the shipping time difference between work orders in the same loading list must be less than or equal to \(T\) t ; \(l\) ij is the distance of the arc \((i, j) \in A\) between node \(i\) and node \(j\); Formula 3-12 means that as long as there is a path from node \(i\) to node \(h\), there must be a path from node \(h\) to node \(j\); \(Y\) 0,j , indicating starting from point 0 (the initial point); \(Y\) i,n+1 , where \(n + 1\) means returning to the end point; \(t\) ij is the vehicle driving time; \(serv\) i is the time consumed for loading and unloading at distribution point \(i\); \([e\) i , \(l\) i] is the service time range of distribution point i; s i is the time when node i starts unloading, s i ≥0;S j is the time when node j adjacent to node i starts unloading, S j ≥0.
[0036] In a second aspect, the present application further provides a delivery vehicle packing scheduling device, comprising:
[0037] The information acquisition module is used to obtain customer information, warehouse information, and vehicle information; customer information includes customer location, customer needs, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle;
[0038] The parameter acquisition module is connected to the information acquisition module and is used to obtain several feasible route-vehicle pairs based on the vehicle type and all directed arcs, using the customer location and warehouse location as nodes and the paths between the nodes as directed arcs. The driving cost of each feasible route-vehicle pair is then obtained based on the unit cost of each type of vehicle.
[0039] The scheduling solution acquisition module is connected to the parameter acquisition module and is used to construct a main objective function based on preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. It also constructs main constraints based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle, and available number of each type of vehicle, so as to obtain the main problem based on the main objective function and main constraints, and solve the main problem to obtain a scheduling solution.
[0040] In a third aspect, the present application further provides a computer storage medium storing an executable program code; the executable program code is used to execute the delivery vehicle packing scheduling method described in any one of the first aspects.
[0041] In a fourth aspect, the present application also provides a terminal device comprising a memory and a processor; the memory stores a program code that can be executed by the processor; the program code is used to execute the delivery vehicle packing scheduling method described in any one of the first aspects.
[0042] The present invention provides a delivery vehicle packing scheduling method, device, medium and equipment, which obtains customer information, warehouse information and vehicle information; customer information includes customer location, customer demand and service time window; warehouse information includes work order volume, work order delivery time and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, unit cost of each type of vehicle, and provides comprehensive data support for the formulation of subsequent scheduling plans by collecting customer information, warehouse information and vehicle information required for logistics scheduling, takes customer location and warehouse location as nodes, and the path between each node as directed arc, obtains several feasible route-vehicle pairs according to vehicle type and all directed arcs, and obtains the driving cost of each feasible route-vehicle pair according to the unit cost of each type of vehicle, and forms a clear The network structure is convenient for modeling and analyzing the logistics network. Finally, the main objective function is constructed based on the preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. The main constraint conditions are constructed based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle and the available number of each type of vehicle. The main problem is obtained based on the main objective function and the main constraint conditions, and the main problem is solved to obtain a scheduling plan. The optimization direction is clarified by minimizing the total driving cost as the objective function. The main constraint conditions are constructed based on information such as customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle and the available number of each type of vehicle to ensure that the generated scheduling plan is feasible in actual operation. Finally, through a systematic solution process, the optimal solution can be quickly found from many possible scheduling plans, saving time and energy and improving the efficiency of scheduling decisions. It solves the problems of the existing scheduling plan, such as long calculation time and difficulty in adapting to rapid changes in the production process. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 This is a flow chart of a method for dispatching packing of delivery vehicles according to an embodiment of the present invention;
[0044] Figure 2 A schematic diagram of a process for solving the main problem and obtaining a scheduling solution according to an embodiment of the present invention;
[0045] Figure 3 Schematic diagram of the structure of a delivery vehicle packing scheduling device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0046] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0047] It should be noted that if the embodiments of the present invention involve directional indications, such as up, down, left, right, front, back, etc., then the directional indications are only used to explain the relative position relationship, movement status, etc. between the components in a certain specific posture. If the specific posture changes, the directional indications will also change accordingly. In addition, if the embodiments of the present invention involve descriptions of "first, second", "S1, S2", "step one, step two", etc., then such descriptions are only used for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features or indicating the execution order of the method, etc. Those skilled in the art can understand that anything that does not violate the main points of the invention under the technical concept of the invention should be included in the scope of protection of the present invention.
[0048] like Figure 1 As shown, the present invention provides a method for dispatching the packing of distribution vehicles:
[0049] S1: Obtain customer information, warehouse information, and vehicle information; customer information includes customer location, customer needs, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle;
[0050] S2: Using customer locations and warehouse locations as nodes and paths between nodes as directed arcs, we obtain several feasible route-vehicle pairs based on vehicle type and all directed arcs. We also obtain the driving cost of each feasible route-vehicle pair based on the unit cost of each vehicle type.
[0051] Specifically, it is optional but not limited to obtaining customer information, warehouse information and vehicle information that need to be processed within a set time period in the future based on the company's MES (manufacturing execution system) and WMS (warehouse management system), and then using customer locations and warehouse locations as nodes, and the paths between the nodes as directed arcs, according to the vehicle type and all directed arcs, to obtain several feasible route-vehicle pairs, and obtain the driving cost of each feasible route-vehicle pair based on the unit cost of each type of vehicle.
[0052] Taking the directed graph model G = (N, A) as an example, where N is the set of nodes and A is the set of directed arcs. Optionally, the customer location and the warehouse location can be used as nodes to construct the node set N = {0, 1, 2, 3.....n}, where the index 0 represents the central warehouse and the indices 1 to n represent customers. According to the known map, the routes between each pair of nodes can be obtained, and each route is a directed arc (i, j) in the directed graph model, where i and j are the two endpoints of the directed arc, i ∈ (1 to n), j ∈ (1 to n), and each customer has a corresponding customer demand and service time window. The volume of the work order corresponding to the customer demand is v i , i ∈ N\{0}; construct the vehicle type set T = {1,…,m} according to the types of vehicle types. Each type of vehicle has a corresponding volume capacity b k , unit distance cost g k and available quantity q k . Let the larger the index k, the larger the capacity b k . Therefore, the unit distance cost g k is also larger; each vehicle has a corresponding loading list, which contains all the work orders that the vehicle needs to transport; according to each directed arc (i, j) ∈ A and the unit distance cost g k of each vehicle type, the driving cost of each vehicle type k ∈ T passing through the directed arc (i, j) ∈ A can be obtained according to Equation 2-1
[0053]
[0054] where, l ij is the directed arc between node i and node j, g k is the unit distance cost of the k-th type of vehicle, 0 < k ≤ T, T is the number of vehicle types, is the driving cost required for the k-th type of vehicle to pass through the directed arc l ij .
[0055] Let the total path between any two nodes be r. The path r contains several directed arcs. If the vehicle type is k, the driving cost required for the vehicle of type k to travel between the two nodes along the path r is the unit distance cost g k * the arc length of several directed arcs included in the path r, which can also be called the cost of the feasible route-vehicle pair (r, k).
[0056] S3: Construct the main objective function according to the preset decision variables and the costs of each feasible route-vehicle pair to minimize the total driving cost, and construct the main constraint conditions according to the customer demand, service time window, work order volume, work order shipping time, capacity of each type of vehicle, and available quantity of each type of vehicle, so as to obtain the main problem according to the main objective function and the main constraint conditions, and solve the main problem to obtain the scheduling plan.
[0057] Specifically, it is optional but not limited to defining decision variables When the feasible route-vehicle pair (r, k) is adopted, the decision variable is 1, otherwise it is 0. Thus, the main objective function is constructed based on the decision variables and the costs of each feasible route-vehicle pair to minimize the total driving cost. And the main constraint conditions are constructed according to customer requirements, service time windows, order volumes, order shipping times, the capacities of various types of vehicles, and the available quantities of various types of vehicles, so as to obtain the main problem based on the main objective function and the main constraint conditions, and solve the main problem to obtain the scheduling plan.
[0058] More specifically, based on customer information, warehouse information, vehicle information, and any existing engineering technical documents or transportation records, etc., all parameters can be obtained as shown in Table 1.
[0059] Table 1: Schematic Table of Parameters
[0060]
[0061]
[0062] Then the corresponding variables are defined as shown in Table 2:[[]]END]]
[0063] Table 2: Schematic Table of Main Problem Variables
[0064]
[0065] Preferably, the main problem can be optionally expressed as:[[]]END]]
[0066]
[0067] where, T is the set of vehicle types, k represents the kth vehicle type, 0 < k ≤ m, and m is the total number of vehicle types; r is the feasible route, R k is the set of feasible route-vehicle pairs corresponding to vehicle type k, is the driving cost of the kth vehicle type along route r; is a variable, which means that if the feasible route-vehicle pair (r, k) is adopted, the value is 1, otherwise it is 0; is a variable, which means that if vehicle type k visits customer node i on route r, it is 1, otherwise it is 0; N is the set of nodes, q k is the available quantity of vehicle type k. More specifically, when the variable When is 1, the customer demand at node i is internally loaded onto the feasible route-vehicle pair (r, k). Route r also derives the order in which vehicles travel along each route. This allows us to determine the loading and execution order for each customer demand's corresponding work order based on the positional relationship between each node and route. It's important to note that the specific form of this main problem is merely an adaptive example. The specific circumstances of vehicles and customers can lead to different travel costs, leading to different specific forms of this main problem.
[0068] Preferably, Figure 2 As shown, the steps for solving the main problem to obtain a scheduling solution may include:
[0069] S31: Initialize the main problem, obtain several vehicle-route pairs, and construct a restricted main problem to obtain the corresponding upper bound;
[0070] Specifically, it is optional but not limited to initializing the main problem through a greedy algorithm to obtain an initial solution that can satisfy the constraints of the main problem, as well as several vehicle-route pairs corresponding to the solution, adding the several vehicle-route pairs to the main problem to construct a restricted main problem, and then using any open source solver to solve the restricted main problem to obtain the corresponding function objective value, that is, the corresponding upper bound, thereby providing a basis for subsequent column generation and branch and bound operations; open source solvers include commonly used open source solvers such as GLPK, CBC, SCIP, PuLP, etc.
[0071] S32: Obtain the linearly relaxed master problem and initialize it, obtain several vehicle-route pairs to construct and solve the linearly relaxed restricted master problem, and obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem;
[0072] Specifically, optionally but not limited to linear relaxation of the main problem, the integer variables Linear relaxation is a continuous variable to transform the main problem into a linear programming problem, obtaining the linearly relaxed main problem, and then reinitializing the linearly relaxed main problem through the greedy algorithm to obtain a feasible path and the corresponding vehicle-route pairs. These are added to the linearly relaxed main problem to construct the linearly relaxed restricted main problem, and then any open source solver is used to solve the restricted main problem to obtain the optimal solution of the restricted main problem and the dual variables of the constraint conditions, and then the value of the objective function in the restricted main problem under the optimal solution is obtained, and the objective function value corresponding to the optimal solution is obtained, that is, the corresponding lower bound.
[0073] S33: Construct a minimization subproblem based on the dual variables and solve it to obtain the solution to the minimization subproblem;
[0074] Specifically, the specific steps of S33 may optionally include:
[0075] S331: Construct sub-objective functions and sub-constraints based on dual variables to obtain the minimization sub-problem;
[0076] Specifically, it is optional but not limited to constructing a sub-objective function based on the dual variables to find a new path and minimize its reduced cost, and constructing sub-constraints based on the known parameters in Table 1 to obtain the minimization sub-problem based on the sub-objective function and sub-constraints. More specifically, the optional definition variables are shown in Table 3:
[0077] Table 3: Schematic table of sub-question variables
[0078]
[0079] Preferably, the minimization subproblem can be expressed as:
[0080]
[0081] in, is the travel cost of vehicle type k∈T crossing arc (i, j)∈A, where A is a set of directed arcs; π i is the dual variable value when the path passes through node i; y ij is a variable, indicating that the vehicle passes through (i, j)∈A and is 1, otherwise it is 0; π k is the dual value caused by using vehicle type k, which can be regarded as a constant when solving for each vehicle type; v i is the volume of work order i; b k is the volume capacity of vehicle type k; t i and t j are different work orders in the same stowage list; M is a constant; T t The shipping time difference between work orders in the same loading list must be less than or equal to T t ; l ij is the distance between nodes i and j, arc (i, j)∈A; Formula 3-12 means that as long as there is a path from node i to node h, there must be a path from node h to node j; Y 0,j , indicating starting from point 0 (initial point); Y i,n+1 , where n+1 means returning to the end point; t ij is the vehicle travel time; serv i The time consumed for loading and unloading at distribution point i; [e i ,l i ] is the service time range of distribution point i; s i is the time when node i starts unloading, s i ≥0;S j is the time when node j adjacent to node i starts unloading, S j≥ 0. It is worth noting that, similar to the main problem above, the specific form of this sub-problem is only an adaptive example. The specific conditions of vehicles and customers will lead to different objective functions, constraints, etc., which will give this sub-problem other specific forms.
[0082] S332: Solve the minimization subproblem to obtain the optimal objective value of the subobjective function, and determine whether it is negative. If not, obtain the solution to the minimization subproblem. If so, add the vehicle-route pair corresponding to the optimal objective value to the restricted main problem to obtain an updated restricted main problem.
[0083] Specifically, since the Pulse algorithm is an efficient algorithm for solving constrained optimization problems, it is based on a recursive backtracking framework and significantly reduces the search space through pruning technology, thereby achieving efficient solutions. It is particularly suitable for solving path planning problems with complex constraints, such as vehicle routing problems (VRP) with time windows, vehicle travel distances, and vehicle loading volumes.
[0084] In the vehicle routing problem with time windows and multiple constraints, the Pulse algorithm constructs a weighted graph to represent the problem, where nodes represent customers or stations, and edge weights include journey distance, time, and other resource consumption. The algorithm recursively searches all possible paths, but at each step, it dynamically evaluates whether to continue expanding based on the current path's status (such as accumulated time, distance, and load volume). By comparing the path's status with a series of constraints (such as time window limits, vehicle travel distance limits, and load volume limits), it promptly terminates branches that cannot meet the constraints, avoiding inefficient computations.
[0085] More specifically, the core of the Pulse algorithm is the pruning mechanism, which includes the following categories:
[0086] Subjective pruning: Based on problem constraints, it is determined in advance whether to expand a path, such as whether the time window is met or the capacity is overloaded.
[0087] Objective function pruning: When the cost of the current path exceeds the optimal solution found, the expansion is directly abandoned;
[0088] Bidirectional bound pruning: uses a relaxed model to calculate upper and lower bounds, and dynamically updates the bounds during the search process to further reduce invalid branches.
[0089] The Pulse algorithm is suitable for optimization problems with multiple constraints because it can effectively utilize pruning strategies to avoid exhaustive combinatorial explosions. Compared with traditional dynamic programming or branch-and-bound methods, the Pulse algorithm has significant advantages in search efficiency and the ability to handle complex constraints. It performs particularly well in solving vehicle routing problems in real-world scenarios. Therefore, it is optional, but not limited to, to solve the minimization subproblem using the pulse algorithm to obtain the optimal solution to the minimization subproblem, and then obtain the value of the subobjective function in the minimization subproblem under the optimal solution, and obtain the subobjective function value corresponding to the optimal solution, i.e., the optimal objective value. Then, it is determined whether the optimal objective value of the subobjective function is negative. If the optimal objective value of the subobjective function is non-negative, it means that the current RMP solution has reached the optimal state and cannot be further improved. If the optimal objective value of the subobjective function is negative, it means that there is a new column (i.e., a feasible route-vehicle pair) that can improve the current solution. Therefore, the vehicle-route pair corresponding to the optimal objective value can be optionally added to the restricted main problem to obtain an updated restricted main problem.
[0090] S333: Solve the updated restricted master problem to obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem, and return to step S331.
[0091] Specifically, it is optional but not limited to obtaining the dual variables and corresponding lower bounds of the constraints of the restricted master problem according to step S32 for subsequent construction of the minimization problem to further approach the optimal solution, and then returning to step S331.
[0092] S34: Determine whether the solution to the subproblem is an integer feasible solution. If so, update the upper bound based on the solution to the subproblem and execute step S35. If not, update the lower bound based on the solution to the subproblem and execute step S36.
[0093] Specifically, it is optional but not limited to that when the solution to the subproblem is an integer feasible solution, the function objective value of the restricted main problem under the integer feasible solution can be obtained as the updated upper bound, and step S35 is executed; when the solution to the subproblem is a non-integer feasible solution, the function objective value of the restricted main problem under the non-integer feasible solution can be obtained as the updated lower bound, and step S36 is executed.
[0094] S35: Determine whether the upper bound is equal to the lower bound at this time. If so, the solution to the current subproblem is the final delivery vehicle packing scheduling plan. If not, execute step S36;
[0095] Specifically, it is optional to determine whether the upper bound is equal to the lower bound at this time. If so, the solution to the current subproblem is the final delivery vehicle packing scheduling plan. If not, it means that there is still room for optimization, so step S36 needs to be executed for further optimization.
[0096] S36: Create two child nodes according to the solution of the sub-problem, add branch constraints to each child node, obtain the restricted main problem corresponding to each child node, and return to step S32.
[0097] Specifically, you can choose to find all non-integer decision variables from the solution of the current sub-problem, obtain any variable as the initial node, and preferably select the variable with the largest fractional part or the variable with the greatest impact on the objective function as the branch variable, that is, use the variable as the initial node, and restrict the branch variable value to obtain two child nodes; for example, restrict the variable value to 0 in any child node and restrict the variable value to 1 in the other child node, thereby adding corresponding branch constraints to each child node, obtaining the restricted main problem corresponding to each child node, and then returning to step S32 for further iteration.
[0098] Preferably, since the solution space is usually very large in the branch and bound process, if the algorithm needs to traverse all possible branches, it will result in a huge amount of computation and time consumption. Therefore, it is necessary to exclude those branches that are unlikely to contain the optimal solution in advance, significantly reducing the number of nodes that need to be explored, so as to concentrate computing resources on those branches that are more likely to contain the optimal solution, and more accurately locate the area where the optimal solution is located, avoiding wasting computing resources on invalid or inefficient branches, thereby finding the optimal solution faster and more accurately. Therefore, after the step of creating two sub-nodes according to the solution of the sub-problem, it also includes:
[0099] Pruning is performed according to one or more of the following methods: feasibility pruning, limit pruning, and integer optimal solution judgment, where:
[0100] Feasibility pruning is used to determine whether there is no feasible solution for the current node. If not, the node remains unchanged. If so, the node is removed.
[0101] Boundary pruning is used to determine whether the target value of the current node is greater than the upper bound. If so, the solution of the current node is used as the final delivery vehicle packing scheduling solution;
[0102] Integer optimal solution judgment is used to update the upper bound based on the integer solution of the current node and determine whether the upper bound and the lower bound are equal. If not, it remains unchanged. If so, the solution of the current node is used as the final delivery vehicle packing scheduling plan.
[0103] In this embodiment, a method for dispatching packing of distribution vehicles of the present invention is provided, which obtains customer information, warehouse information and vehicle information; customer information includes customer location, customer demand and service time window; warehouse information includes work order volume, work order delivery time and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle and unit cost of each type of vehicle. By collecting customer information, warehouse information and vehicle information required for logistics dispatching, comprehensive data support is provided for the formulation of subsequent dispatching plans. With customer location and warehouse location as nodes and paths between nodes as directed arcs, several feasible route-vehicle pairs are obtained according to vehicle type and all directed arcs, and the driving cost of each feasible route-vehicle pair is obtained according to the unit cost of each type of vehicle. By taking customer location and warehouse location as nodes and paths between nodes as directed arcs, a clear The network structure is convenient for modeling and analyzing the logistics network. Finally, the main objective function is constructed based on the preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. The main constraint conditions are constructed based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle and the available number of each type of vehicle. The main problem is obtained based on the main objective function and the main constraint conditions, and the main problem is solved to obtain a scheduling plan. The optimization direction is clarified by minimizing the total driving cost as the objective function. The main constraint conditions are constructed based on information such as customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle and the available number of each type of vehicle to ensure that the generated scheduling plan is feasible in actual operation. Finally, through a systematic solution process, the optimal solution can be quickly found from many possible scheduling plans, saving time and energy and improving the efficiency of scheduling decisions. It solves the problems of the existing scheduling plan, such as long calculation time and difficulty in adapting to rapid changes in the production process.
[0104] On the other hand, Figure 3 As shown, the present invention provides a delivery vehicle packing scheduling device for executing the above-mentioned delivery vehicle packing scheduling method, comprising an information acquisition module 301, a parameter acquisition module 302 and a scheduling scheme acquisition module 303 connected in sequence, wherein:
[0105] Information acquisition module 301 is used to acquire customer information, warehouse information, and vehicle information; customer information includes customer location, customer demand, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle;
[0106] Parameter acquisition module 302, connected to information acquisition module 301, is used to obtain a number of feasible route-vehicle pairs based on vehicle type and all directed arcs, using customer locations and warehouse locations as nodes and the paths between nodes as directed arcs, and to obtain the driving cost of each feasible route-vehicle pair based on the unit cost of each type of vehicle;
[0107] The scheduling solution acquisition module 303 is connected to the parameter acquisition module 302 and is used to construct a main objective function based on preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost, and to construct main constraints based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle, and available number of each type of vehicle, so as to obtain the main problem based on the main objective function and the main constraints, and solve the main problem to obtain a scheduling solution.
[0108] On the other hand, the present invention further provides a computer storage medium storing an executable program code; the executable program code is used to execute any of the above-mentioned delivery vehicle packing scheduling methods.
[0109] On the other hand, the present invention also provides a terminal device, including a memory and a processor; the memory stores program code that can be executed by the processor; the program code is used to execute any of the above-mentioned delivery vehicle packing scheduling methods.
[0110] Exemplarily, the program code may be divided into one or more modules / units, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the program code in the terminal device.
[0111] The terminal device may be a computing device such as a desktop computer, laptop, PDA, or cloud server. The terminal device may include, but is not limited to, a processor and memory. Those skilled in the art will appreciate that the terminal device may also include input / output devices, network access devices, buses, and the like.
[0112] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0113] The memory may be an internal storage unit of the terminal device, such as a hard disk or memory. The memory may also be an external storage device of the terminal device, such as a plug-in hard disk, a SmartMedia Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Furthermore, the memory may include both an internal storage unit of the terminal device and an external storage device. The memory is used to store the program code and other programs and data required by the terminal device. The memory may also be used to temporarily store data that has been output or is about to be output.
[0114] The above-mentioned computer storage medium and terminal device are created based on the above-mentioned delivery vehicle packing scheduling method. Their technical functions and beneficial effects will not be repeated here. The various technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the various technical features in the above-mentioned embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0115] The above-described embodiments merely illustrate several implementations of the present invention, and while their descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present invention. Therefore, the scope of protection of the patent for this invention shall be determined by the appended claims.
Claims
1. A method for dispatching packing of distribution vehicles, characterized in that: include: Obtain customer information, warehouse information, and vehicle information; customer information includes customer location, customer needs, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle; Taking customer locations and warehouse locations as nodes and paths between nodes as directed arcs, we can obtain several feasible route-vehicle pairs based on vehicle types and all directed arcs. We can also obtain the driving cost of each feasible route-vehicle pair based on the unit cost of each type of vehicle. The main objective function is constructed based on the preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. The main constraints are constructed based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle, and available number of each type of vehicle. The main problem is obtained based on the main objective function and the main constraints, and the main problem is solved to obtain a scheduling plan.
2. The method according to claim 1, characterized in that The steps to solve the main problem and obtain the scheduling solution include: S31: Initialize the main problem, obtain several vehicle-route pairs, and construct a restricted main problem to obtain the corresponding upper bound; S32: Obtain the linearly relaxed master problem and initialize it, obtain several vehicle-route pairs to construct and solve the linearly relaxed restricted master problem, and obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem; S33: Construct a minimization subproblem based on the dual variables and solve it to obtain the solution to the minimization subproblem; S34: Determine whether the solution to the subproblem is an integer feasible solution. If so, update the upper bound based on the solution to the subproblem and execute step S35. If not, update the lower bound based on the solution to the subproblem and execute step S36. S35: Determine whether the upper bound is equal to the lower bound at this time. If so, the solution to the current subproblem is the final delivery vehicle packing scheduling plan. If not, execute step S36; S36: Create two child nodes according to the solution of the sub-problem, add branch constraints to each child node, obtain the restricted main problem corresponding to each child node, and return to step S32.
3. The method according to claim 2, characterized in that The steps of constructing and solving minimization subproblems based on dual variables to obtain solutions to the subproblems include: S331: Construct sub-objective functions and sub-constraints based on dual variables to obtain the minimization sub-problem; S332: Solve the minimization subproblem to obtain the optimal objective value of the subobjective function, and determine whether it is negative. If not, obtain the solution to the minimization subproblem. If so, add the vehicle-route pair corresponding to the optimal objective value to the restricted main problem to obtain an updated restricted main problem. S333: Solve the updated restricted master problem to obtain the dual variables and corresponding lower bounds of the constraints of the restricted master problem, and return to step S331.
4. The method according to claim 3, characterized in that The steps to create two subnodes based on the solution of the subproblem, add branch constraints to each subnode, and obtain the restricted main problem corresponding to each subnode include: According to the solution of the sub-problem, any variable is obtained as the initial node, and the variable value is restricted to obtain two child nodes; In any child node, the variable value is restricted to 0, and in another child node, the variable value is restricted to 1, thereby adding corresponding branch constraints to each child node and obtaining the restricted main problem corresponding to each child node.
5. The method according to claim 4, characterized in that After creating two child nodes based on the solution to the subproblem, it also includes: Pruning is performed according to one or more of the following methods: feasibility pruning, limit pruning, and integer optimal solution judgment, where: Feasibility pruning is used to determine whether there is no feasible solution for the current node. If not, the node remains unchanged. If so, the node is removed. Boundary pruning is used to determine whether the target value of the current node is greater than the upper bound. If so, the solution of the current node is used as the final delivery vehicle packing scheduling solution; Integer optimal solution judgment is used to update the upper bound based on the integer solution of the current node and determine whether the upper bound and the lower bound are equal. If not, it remains unchanged. If so, the solution of the current node is used as the final delivery vehicle packing scheduling plan.
6. The method according to claim 1, characterized in that The main issues include: Where \(T\) is the set of vehicle types, \(k\) represents the \(k\)th vehicle type, \(0 < k\leq m\), and \(m\) is the total number of vehicle types; \(r\) is a feasible route, and \(R\) k is the set of feasible route - vehicle pairs corresponding to vehicle type \(k\), is the driving cost of the \(k\)th vehicle type along route \(r\); is a variable, which is equal to 1 if the feasible route - vehicle pair \((r,k)\) is adopted, and 0 otherwise; is a variable, which is equal to 1 if vehicle type \(k\) visits customer node \(i\) on route \(r\), and 0 otherwise; \(N\) is the set of nodes, and \(q\) k is the available quantity of vehicle type \(k\).
7. The method according to claim 2, wherein the sub-question include: Σy ij ≤4 3-11 in, is the travel cost of vehicle type k∈T crossing arc (i, j)∈A, where A is a set of directed arcs; π i is the dual variable value when the path passes through node i; y ij is a variable, indicating that the vehicle passes through (i, j)∈A and is 1, otherwise it is 0; π k is the dual value caused by using vehicle type k, which can be regarded as a constant when solving for each vehicle type; v i is the volume of work order i; b k is the volume capacity of vehicle type k; t i and t j are different work orders in the same stowage list; M is a constant; T t The shipping time difference between work orders in the same loading list must be less than or equal to T t ; l ij is the distance between nodes i and j, arc (i, j)∈A; Formula 3-12 means that as long as there is a path from node i to node h, there must be a path from node h to node j; Y 0,j , indicating starting from point 0 (initial point); Y i,n+1 , where n+1 means returning to the end point; t ij is the vehicle travel time; serv i The time consumed for loading and unloading at distribution point i; [e i ,l i ] is the service time range of distribution point i; s i is the time when node i starts unloading, s i ≥0;S j is the time when node j adjacent to node i starts unloading, S j ≥0.
8. A delivery vehicle packing scheduling device, characterized in that: include: The information acquisition module is used to obtain customer information, warehouse information, and vehicle information; customer information includes customer location, customer needs, and service time window; warehouse information includes work order volume, work order delivery time, and warehouse location; vehicle information includes vehicle type, capacity of each type of vehicle, available number of each type of vehicle, and unit cost of each type of vehicle; The parameter acquisition module is connected to the information acquisition module and is used to obtain several feasible route-vehicle pairs based on the vehicle type and all directed arcs, using the customer location and warehouse location as nodes and the paths between the nodes as directed arcs. The driving cost of each feasible route-vehicle pair is then obtained based on the unit cost of each type of vehicle. The scheduling solution acquisition module is connected to the parameter acquisition module and is used to construct a main objective function based on preset decision variables and the cost of each feasible route-vehicle pair to minimize the total driving cost. It also constructs main constraints based on customer demand, service time window, work order volume, work order delivery time, capacity of each type of vehicle, and available number of each type of vehicle, so as to obtain the main problem based on the main objective function and main constraints, and solve the main problem to obtain a scheduling solution.
9. A computer storage medium, characterized in that An executable program code is stored; the executable program code is used to execute the delivery vehicle packing scheduling method according to any one of claims 1 to 7.
10. A terminal device, characterized in that: It comprises a memory and a processor; the memory stores a program code that can be executed by the processor; the program code is used to execute the delivery vehicle packing scheduling method according to any one of claims 1-7.
Citation Information
Cited By
Intelligent scheduling multi-objective optimization method based on pulse propagation algorithm
CN120725403A