CN108846623B - Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal - Google Patents

Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal Download PDF

Info

Publication number
CN108846623B
CN108846623B CN201811081434.3A CN201811081434A CN108846623B CN 108846623 B CN108846623 B CN 108846623B CN 201811081434 A CN201811081434 A CN 201811081434A CN 108846623 B CN108846623 B CN 108846623B
Authority
CN
China
Prior art keywords
ant
data
target
order
capacity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811081434.3A
Other languages
Chinese (zh)
Other versions
CN108846623A (en
Inventor
金忠孝
梁亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAIC Motor Corp Ltd
Anji Automotive Logistics Co Ltd
Original Assignee
SAIC Motor Corp Ltd
Anji Automotive Logistics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAIC Motor Corp Ltd, Anji Automotive Logistics Co Ltd filed Critical SAIC Motor Corp Ltd
Priority to CN201811081434.3A priority Critical patent/CN108846623B/en
Publication of CN108846623A publication Critical patent/CN108846623A/en
Application granted granted Critical
Publication of CN108846623B publication Critical patent/CN108846623B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Abstract

A vehicle logistics scheduling method and device based on a multi-objective ant colony algorithm, a storage medium and a terminal are provided, the method comprises the following steps: acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprise order data and transport capacity data; acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; recording the candidate allocation scheme as ants, recording a set formed by M ants as an ant group, discarding the ants with all the target vectors dominated in the ant group during the transfer of each ant in the ant group to obtain a non-inferior solution set, and recording the projection of the ant on each target as the target vector corresponding to the target; and when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene. The scheme provided by the invention can realize the automatic dispatching of the whole vehicle logistics, is beneficial to realizing the optimal dispatching and integrally reduces the dynamic dispatching cost of the freight vehicle.

Description

Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal
Technical Field
The invention relates to the technical field of automobile logistics, in particular to a method and a device for dispatching the whole automobile logistics based on a multi-target ant colony algorithm, a storage medium and a terminal.
Background
The whole vehicle logistics refers to a series of activities and processes of transporting a whole vehicle from a host factory, each delivery site and a dealer to a final customer, and the whole vehicle logistics scheduling needs to solve a series of problems such as logistics path planning, load allocation and vehicle scheduling.
The existing whole vehicle logistics scheduling relates to complex factors, numerous constraint conditions, multiple and mutually restricted targets, for example, multiple aspects including a host factory and a warehouse thereof, a logistics company and a transfer warehouse thereof, a carrier and a contract driver thereof, a distributor and a warehouse thereof, and the like, and generalizes the problem of multi-target optimization.
Most logistics companies customize a dispatching transportation scheme according to manual experience, the loading process is mostly operated manually, and the loading scheme completely depends on the self experience of a dispatcher. The whole vehicle logistics scheduling mode has the defects of few considered variable factors, non-optimal scheduling scheme, low utilization rate of transport capacity resources, low order reaction speed and the like, and cannot meet the expectations of automobile manufacturers and customers.
Disclosure of Invention
The invention solves the technical problem of how to realize the automatic dispatching of the whole vehicle logistics and integrally reduce the dynamic dispatching cost of the freight vehicle by more reasonable and comprehensive dispatching logic.
In order to solve the technical problem, an embodiment of the present invention provides a complete vehicle logistics scheduling method based on a multi-objective ant colony algorithm, including: acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprise order data and transport capacity data; acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; recording the candidate allocation scheme as ants, recording a set formed by M ants as an ant group, discarding the ants with all the target vectors dominated in the ant group during the transfer of each ant in the ant group to obtain a non-inferior solution set, and recording the projection of the ant on each target as the target vector corresponding to the target; and when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene.
Optionally, the obtaining M candidate allocation schemes based on the entire vehicle logistics data includes: circularly and iteratively and randomly matching the order data and the transport capacity data, wherein for each iteration, when the order distribution is finished and the matched transport capacity is the minimum, or when the transport capacity distribution is finished, the matching result of the distributed order and the transport capacity is used as a candidate distribution scheme obtained by the iteration; and screening the candidate distribution schemes obtained through iteration of the previous time based on a preset constraint condition to obtain the M candidate distribution schemes.
Optionally, the iteratively and randomly matching the order data and the capacity data in a loop includes: randomly extracting a capacity from the capacity data and starting internal iteration, wherein the internal iteration process comprises the following steps: traversing orders included in the order data to screen out all orders meeting loading constraints with the transport capacity; judging whether the transport capacity is full; when the transport capacity is not fully loaded, clearing the matching result of the transport capacity and re-executing the internal iteration until the result of the current internal iteration is that the transport capacity is fully loaded, and judging whether the order included in the order data is completely distributed; and when the order distribution included in the order data is not finished and the capacity included in the capacity data is not finished, randomly extracting capacity from the capacity data and executing the internal iteration until the capacity included in the capacity data is finished or the order included in the order data is finished so as to finish a cycle iteration.
Optionally, the step of taking the matching result of the allocated order and the transport capacity as the candidate allocation scheme obtained in the current iteration includes: comparing the number of the transport capacity determined by the current loop iteration with the number of the transport capacity determined by the last loop iteration; and if the number of the transport capacity determined by the loop iteration is smaller than the number of the transport capacity determined by the previous loop iteration, taking the matching result of the transport capacity determined by the loop iteration and the order as the candidate allocation scheme acquired by the loop iteration.
Optionally, the traversing the orders included in the order data to filter out all orders that satisfy loading constraints with the capacity includes: randomly extracting an order from the order data; determining whether the capacity and the order satisfy the loading constraints; when the transport capacity and the orders do not meet the loading constraint, randomly extracting one order from the order data again until the randomly extracted order and the transport capacity meet the loading constraint, and judging whether the order included in the order data is traversed completely; and when the orders included in the order data are not completely traversed, continuously randomly extracting one order from the order data and judging whether the transport capacity and the randomly extracted order meet the loading constraint or not until all the orders included in the order data are completely traversed.
Optionally, the preset constraint condition is selected from: stowage constraint; an intention direction constraint; the number of the pieceable cities is restricted.
Optionally, each ant in the ant colony is provided with i initialization pheromone matrices and heuristic information matrices, i is a target number, and the initialization pheromone matrices and the heuristic information matrices correspond to the targets one to one, wherein for each target of each ant, the heuristic information matrix is used for describing an initial matching result of the order and the capacity of the ant under the target, and the initialization pheromone matrices are used for describing an initial transfer probability of each order among the capacities of the ant under the target.
Optionally, for each ant, the heuristic information matrix is represented based on the following formula: b isx=(buv);
Figure GDA0002804354010000031
Wherein, BxA heuristic information matrix for the xth target of the ant, x is more than or equal to 1 and less than or equal to i, buvIs the element of the U-th row and the V-th column in the heuristic information matrix, U is the U-th order in the order data, U is more than or equal to 1 and less than or equal to U, U is the total order number included in the order data, V is the V-th transport capacity in the transport capacity data, V is more than or equal to 1 and less than or equal to V, and V is the total transport capacity number included in the transport capacity data, when b is the total transport capacity number included in the transport capacity data, the method for generating the transport capacity data comprises theuvWhen 1, it means that the u-th order in the ant matches the v-th capacity, when buvWhen 0, it means that the u-th order and the v-th capacity are not matched in the ant.
Optionally, for each ant, the initialization pheromone matrix A of the ant at the xth targetxThe order data comprises U multiplied by V elements, wherein U is the total order number included by the order data, V is the total capacity number included by the capacity data, and the U multiplied by V elements are all filled with preset constants.
Optionally, during transfer of each ant in the ant group, discarding the ant in the ant group whose target vector is dominated to obtain a non-inferior solution set includes: calculating and updating a state transition matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm during the transfer of each ant in the ant group, wherein for each target of each ant, the state transition matrix is used for describing the latest matching result of the order and the capacity of the ant under the target, and the pheromone matrix is used for describing the latest transfer probability of each order among the capacities of the ant under the target; for each ant, calculating a target vector of the ant on each target according to the state transition matrix; and discarding ants of which the target vectors on the targets are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set.
Optionally, during the transfer of each ant in the ant colony, the update cycle for updating the state transition matrix and the pheromone matrix of each ant in the ant colony is based on the step length of each ant during the transfer.
Optionally, during the transfer of the ants, for each target of each ant, the updated pheromone matrix is used as the initialized pheromone matrix for the next transfer of the ant.
Optionally, for each ant in the ant group, the ant is transferred according to a deterministic probability or a stochastic probability, where the transferring according to the deterministic probability refers to transferring according to a maximum probability direction indicated by an pheromone matrix of the ant, and the transferring according to the stochastic probability refers to transferring according to a stochastic direction, and the pheromone matrix is used to describe a latest transfer probability between transport capacities of orders of the ant.
Optionally, the process of transferring by the ants according to the certainty probability or the randomness probability includes: the ants extract a random number from a preset interval; when the random number is smaller than a preset threshold value, transferring according to the certainty probability; otherwise, the transition is carried out according to the random probability.
Optionally, the preset termination condition includes: the transfer times of all ants in the ant colony reach the preset cycle times.
Optionally, the whole vehicle logistics data is obtained by preprocessing the raw data, and the obtaining of the whole vehicle logistics data includes: acquiring the original data; screening the original data according to a preset standard value range to remove data which do not conform to the corresponding preset standard value range in the original data; and acquiring the whole vehicle logistics data according to the screened original data.
Optionally, the target is selected from: maximizing the loading quantity; the emergency degree of the goods loading vehicle is maximized; the number of large and medium commodity vehicles is loaded to the maximum.
Optionally, the number M of candidate allocation schemes is determined according to the order data.
In order to solve the above technical problem, an embodiment of the present invention further provides a device for scheduling logistics of a whole vehicle based on a multi-objective ant colony algorithm, including: the system comprises an acquisition module, a storage module and a display module, wherein the acquisition module is used for acquiring the whole vehicle logistics data which comprises order data and transport capacity data; the initial loading module is used for acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; the multi-target ant colony algorithm optimization module is used for recording the candidate allocation scheme as ants, recording a set formed by M ants as an ant colony, discarding the ants with all the target vectors dominated in the ant colony during the transfer period of each ant in the ant colony to obtain a non-inferior solution set, and recording the projection of each ant on each target as the target vector corresponding to the target; and the selecting module is used for selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene when the transfer state of the ant colony meets a preset termination condition.
To solve the above technical problem, an embodiment of the present invention further provides a storage medium having stored thereon computer instructions, where the computer instructions execute the steps of the above method when executed.
In order to solve the above technical problem, an embodiment of the present invention further provides a terminal, including a memory and a processor, where the memory stores computer instructions capable of being executed on the processor, and the processor executes the computer instructions to perform the steps of the method.
Compared with the prior art, the technical scheme of the embodiment of the invention has the following beneficial effects:
the embodiment of the invention provides a whole vehicle logistics scheduling method based on a multi-objective ant colony algorithm, which comprises the following steps: acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprise order data and transport capacity data; acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; recording the candidate allocation scheme as ants, recording a set formed by M ants as an ant group, discarding the ants with all the target vectors dominated in the ant group during the transfer of each ant in the ant group to obtain a non-inferior solution set, and recording the projection of the ant on each target as the target vector corresponding to the target; and when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene. Compared with the existing implementation mode of manually scheduling the whole vehicle logistics, the scheme of the embodiment of the invention replaces the existing manual operation mode with an intelligent automatic solution scheme, records each acquired candidate allocation scheme as an ant, combines the principle of an ant colony algorithm, acquires a group of non-inferior solution sets consisting of non-inferior solutions corresponding to different targets through the transfer of each ant during continuous iteration as a candidate scheme, and further selects the optimal scheduling scheme from the candidate schemes according to the specific requirements of a service scene. The technical scheme of the embodiment of the invention has the advantages that the complete vehicle logistics scheduling is accurately described and deduced through the multi-objective ant colony algorithm, the finally obtained scheme to be selected can flexibly correspond to different scheduling scenes, requirements of all aspects are fully considered, and the failure scheduling is avoided, so that the system efficiency of the complete vehicle scheduling system is improved, and the complete vehicle scheduling system can be ensured to operate orderly. Furthermore, the scheme of the embodiment of the invention not only can improve the operation efficiency, but also can ensure the solution of the optimal scheme, reduce the cost and improve the customer satisfaction.
Further, the acquiring M candidate allocation plans based on the entire vehicle logistics data includes: circularly and iteratively and randomly matching the order data and the transport capacity data, wherein for each iteration, when the order distribution is finished and the matched transport capacity is the minimum, or when the transport capacity distribution is finished, the matching result of the distributed order and the transport capacity is used as a candidate distribution scheme obtained by the iteration; and screening the candidate distribution schemes obtained through iteration of the previous time based on a preset constraint condition to obtain the M candidate distribution schemes. Those skilled in the art understand that, in the initial loading process of this embodiment, a greedy algorithm is used to perform preliminary matching between orders and capacity to directly calculate a feasible scheduling scheme, and then a multi-objective ant colony algorithm of this embodiment is used to perform a successive optimization deduction on the feasible scheduling scheme to obtain an optimal scheme.
Further, discarding the ant with all the target vectors dominated to obtain a non-inferior solution set during transfer of each ant in the ant group comprises: calculating and updating a state transition matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm during the transfer of each ant in the ant group, wherein for each target of each ant, the state transition matrix is used for describing the latest matching result of the order and the capacity of the ant under the target, and the pheromone matrix is used for describing the latest transfer probability of each order among the capacities of the ant under the target; for each ant, calculating a target vector of the ant on each target according to the state transition matrix; and discarding ants of which the target vectors on the targets are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set. The scheme of the embodiment combines the principle of an ant colony algorithm, and the change situation of the matching relationship between the orders and the capacity recorded in the distribution scheme is equivalent to the transfer of the ants, so that the state transfer matrix and the pheromone matrix of each ant are calculated during the transfer of each ant in the ant colony, the ants with the target vectors on at least one target not inferior to the target vectors on the target of other ants are selected from the state transfer matrix and the pheromone matrix, and the non-inferior solution set is formed. Those skilled in the art understand that based on the solution of the present embodiment, the ant colony positive feedback mechanism can be used to approach the optimal solution, and different application scenarios can be ensured to correspond to appropriate non-inferior solutions (i.e., optimal solutions) in the finally obtained non-inferior solution set.
Drawings
Fig. 1 is a flowchart of a vehicle logistics scheduling method based on a multi-objective ant colony algorithm according to an embodiment of the present invention;
FIG. 2 is a flowchart of one embodiment of step S101 of FIG. 1;
FIG. 3 is a flowchart of one embodiment of step S102 of FIG. 1;
FIG. 4 is a flow diagram of an exemplary application scenario of FIG. 3;
FIG. 5 is a flowchart of one embodiment of step S103 of FIG. 1;
FIG. 6 is a flow diagram of an exemplary application scenario of FIG. 5;
fig. 7 is a schematic structural diagram of a complete vehicle logistics scheduling device based on a multi-objective ant colony algorithm according to an embodiment of the present invention.
Detailed Description
As will be appreciated by those skilled in the art, as mentioned in the background, the conventional overall vehicle logistics scheduling mode does not fully consider a specific scheduling scenario, does not perform load optimization on a task target, and does not fully consider the constraint requirements of an input order itself, but simply forms a scheduling plan (i.e., a scheduling scheme) by manually allocating the order to the vehicle. In the right time, due to the defects of manual scheduling in the existing whole vehicle logistics scheduling scheme, the defects of few considered variable factors, non-optimal scheduling scheme, low utilization rate of transport capacity resources, full order reaction speed and the like exist, the constraints from the aspects of business contracts and the like cannot be met in practical application, the interest relation parties in all aspects of tasks are damaged, and invalid schemes are generated due to neglecting realistic factors in some scheduling systems, so that the normal operation of the whole system is influenced, the efficiency is low, and the system is disordered.
On the other hand, the existing whole vehicle logistics scheduling mode does not have the function of combing system targets and performing multi-aspect overall optimization, so that the improvement of system capacity and the maximization of benefits in all aspects are limited, or all targets of a scheduling system cannot be balanced, so that the problems that the system is lost, the system is inverted at the end, and the overall optimization cannot be performed from the time perspective are caused.
In order to realize an intelligent automatic solution whole vehicle scheduling scheme, the inventor of the application finds that:
in general, the solution idea for a typical multi-objective problem is to mathematically model it and abstract it into an optimization problem of numerical functions. However, in practical applications, due to the complexity of practical factors, these functions usually exhibit different mathematical characteristics, such as whether the objective function and the constraint function are continuous or minute, whether the objective function and the constraint function have convex characteristics, and the like, so that the calculation result may have difficulty in meeting practical conditions. Therefore, in most cases, approximate optimization calculation is required by a numerical calculation method. That is, for the current application scenario, it is necessary to find the approximate optimal solution of the numerical function within the acceptable time and accuracy range. The heuristic algorithm has loose requirements on the target function and the constraint condition and does not require reaching an accurate optimal solution, so the heuristic algorithm becomes a popular solution at present.
As a specific solution to the heuristic algorithm, the ant colony algorithm is a probabilistic algorithm for finding an optimal path in a graph. The inspiration comes from the behavior of finding the shortest path in the foraging process of ants. Specifically, when an ant advances on a path, the next path is selected according to the concentration of pheromones secreted by the former ant, and the probability of selecting one path is proportional to the concentration of the pheromones. Thus, the collective behavior of the ant colony constitutes a positive feedback mechanism, i.e., the more ants a path has to travel, the greater the probability that a following ant will select the path. The ant colony algorithm uses artificial ants to simulate the ant colony behavior according to the phenomenon in time, thereby realizing optimization.
On the other hand, when multi-objective solution is performed, there may be a case of mutual conflict, and therefore, the multi-objective optimization problem is highly likely to fail to find a unique global optimal solution so that all the objectives are optimal in a strict sense.
Therefore, the solutions generated by the solution according to the present application based on the multi-objective ant colony algorithm will not be further optimized for one or more targets, that is, the optimal solution generated by the solution according to the embodiment of the present invention for one target is only required to be applied to the remaining other targets to the extent that the solution is not degraded, so that the solutions can be classified as non-inferior solution sets (or Pareto solution sets).
In order to solve the technical problems in the background art, the scheme disclosed by the application realizes intelligent and automatic whole vehicle logistics scheduling by combining the dynamic programming with constraints and multi-objective optimization, can consider as many variable factors as possible, is favorable for obtaining an optimal scheduling scheme, greatly improves the utilization rate of transport capacity resources, and improves the order reaction speed.
Specifically, an embodiment of the present invention provides a complete vehicle logistics scheduling method based on a multi-objective ant colony algorithm, including: acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprise order data and transport capacity data; acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; recording the candidate allocation scheme as ants, recording a set formed by M ants as an ant group, discarding the ants with all the target vectors dominated in the ant group during the transfer of each ant in the ant group to obtain a non-inferior solution set, and recording the projection of the ant on each target as the target vector corresponding to the target; and when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene.
The technical personnel in the field understand that, in the scheme of the embodiment of the invention, the intelligent automatic solution scheme replaces the existing manual operation mode, each acquired candidate allocation scheme is marked as one ant, a group of non-inferior solution sets consisting of non-inferior solutions corresponding to different targets are acquired through the transfer of each ant during continuous iteration by combining the principle of an ant colony algorithm and are taken as candidate schemes, and then the optimal scheduling scheme is selected from the candidate schemes according to the specific requirements of a service scene.
Furthermore, the scheme of the embodiment of the invention accurately describes and deduces the overall vehicle logistics scheduling through the multi-objective ant colony algorithm, the finally obtained scheme to be selected can flexibly correspond to different scheduling scenes, requirements of all aspects are fully considered, and ineffective scheduling is avoided, so that the system efficiency of the overall vehicle scheduling system is improved, and the overall vehicle scheduling system can be ensured to operate orderly.
Furthermore, the scheme of the embodiment of the invention not only can improve the operation efficiency, but also can ensure the solution of the optimal scheme, reduce the cost and improve the customer satisfaction.
Those skilled in the art understand that the solution of the embodiment of the present invention applies the multi-objective ant colony algorithm to the constrained multi-objective optimization to solve the scheduling scheme. For example, according to the scheme of the embodiment of the invention, the goals of maximizing the loading quantity, maximizing the emergency degree of loading orders, maximizing the quantity of loading large and medium commodity vehicles and the like can be taken as the goals of the algorithm; stowage constraints, intention destination constraints, quantity of shareable cities constraints, and the like can be used as constraints of the algorithm; and performing iterative optimization on the scheduling scheme by adopting a multi-target ant colony algorithm on the basis of the targets and the constraints to obtain a group of scheme solution sets which can contain various scheduling scenes. Further, for different scheduling scenarios, different target weight parameters can be used to select a final scheduling scheme, rather than the same set of parameters, so that the obtained scheduling scheme is the optimal scheme most suitable for the current scheduling scenario.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in detail below.
Fig. 1 is a flowchart of a vehicle logistics scheduling method based on a multi-objective ant colony algorithm according to an embodiment of the present invention. Wherein, the whole vehicle logistics scheduling can refer to logistics path planning, loading and capacity scheduling of the whole vehicle from the factory, to the final client through the delivery site and the dealer. The scheme of the embodiment of the invention can be suitable for the whole vehicle logistics scheduling application scene so as to determine the optimal scheduling scheme aiming at a specific service scene (also called a scheduling scene).
Specifically, referring to fig. 1, the method for scheduling logistics of a whole vehicle based on a multi-objective ant colony algorithm in this embodiment may include the following steps:
step S101, acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprises order data and transport capacity data.
And S102, acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1.
Step S103, recording the candidate allocation schemes as ants, recording a set of M ants as an ant group, discarding all ants with dominant target vectors in the ant group during transfer of each ant in the ant group to obtain a non-inferior solution set, and recording a projection of each target of the ant as a target vector corresponding to the target.
And step S104, when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene.
More specifically, the order data may be used to describe information related to the entire vehicle to be scheduled. For example, the order data may include a vehicle type to be delivered, a destination, a delivery date, an order urgency, and the like.
Further, the capacity data may be used to describe stowage information of transport means available for transporting the full vehicle to be dispatched. For example, the capacity data may include the number of vehicles, loading capacity, and the like. Preferably, the transport means may comprise a trolley.
Further, the whole vehicle logistics data may further include node data, which is used to describe delivery sites, dealers, and the like that need to be passed through when the scheduling scheme is formulated.
Further, the whole vehicle logistics data may further include scene data for describing the cautionary matters to be considered when the scheduling scheme is formulated. Such as prioritization of particular orders, preferential delivery requirements for particular vehicle models, etc.
Preferably, for each piece of order data, the order data may include a plurality of fields, and the fields may include dealer information, customer information, vehicle type of the entire vehicle, personalized setting content of the entire vehicle, delivery deadline, and the like. Similarly, for each capacity data, the capacity data may also include a plurality of fields, which may include loading limits, number of cars that can be loaded with a full model of car, etc.
Further, the whole vehicle logistics data may be obtained by preprocessing raw data, and the raw data may also include order data, capacity data, node data, scene data, and the like. For example, the order data, the node data, and the scenario data may be acquired from a dealer, and the capacity data may be acquired from a logistics party.
Those skilled in the art will appreciate that the raw data may be integrated from multiple data sources, and that the data sources may have problems such as missing data, filling errors, etc. when entering the respective data. On the other hand, as the traditional whole vehicle logistics scene mostly depends on manual experience to form a dispatching plan, data generated in the dispatching process is recorded in an unstructured mode, and more irrelevant data and error data can be generated and mixed. Therefore, in the initial data acquisition stage, the acquired original data can be cleaned to eliminate mutually contradictory error data in the original data, and useful information required for executing a subsequent algorithm is extracted, so that the reliability and the reasonability of the whole vehicle logistics data are ensured.
As a non-limiting example, referring to fig. 2, the step S101 may include the steps of:
step S1011, acquiring the original data.
Step S1012, screening the original data according to a preset standard value range to remove data that does not conform to the corresponding preset standard value range from the original data.
And S1013, acquiring the whole vehicle logistics data according to the screened original data.
Specifically, the preset standard range may correspond to the field one to one. In practical application, a corresponding preset standard range can be set for each field in the original data, and when the obtained field of the original data does not conform to the corresponding preset standard range, the data is removed to ensure the validity of the finally retained data.
Taking the loading limit field of the capacity data as an example, it may be preset that the loading limit can only be selected from a fixed value set {8,10}, and if the obtained value does not belong to the fixed value set, it is determined that the original data is erroneous, and the original data is proposed.
Preferably, the preset standard value range corresponding to the original data may be preset by a data provider providing the original data; or, the data provider may adjust the specific numerical value of the preset standard value range according to the requirement.
Further, the candidate allocation scheme may be used to describe a matching result of placing an order and capacity in an initial state, where the matching result is a scheduling scheme, and the initial state is a state at the beginning of executing the multi-objective ant colony algorithm. That is, after the original data is cleaned, loading can be performed based on the cleaned data (i.e., the whole vehicle logistics data), and the order is distributed to the car transportation vehicle, so that a subsequent multi-target ant colony algorithm can be performed. Preferably, the M candidate assignments may serve as initial ant colony parameters for a subsequent ant colony algorithm.
For example, a greedy algorithm may be formulated through experience of manual dispatch, and the order is prioritized according to the size of the vehicle type and the degree of urgency in the order data, and then the loading scheme that is best at present is selected for allocation, so as to directly calculate a feasible dispatch scheme as the candidate allocation scheme. Wherein the feasible scheduling scheme needs to satisfy a preset constraint condition.
Further, the number M of candidate allocation plans may be determined from the order data. For example, 10 candidate allocation plans may be obtained for 100 order data.
As a non-limiting example, referring to fig. 3, the step S102 may include the steps of:
and step S1021, matching the order data and the transport capacity data in a circulating and iterative manner, wherein for each iteration, when the order distribution is finished and the matched transport capacity is the minimum, or when the transport capacity distribution is finished, the matching result of the distributed order and the transport capacity is used as a candidate distribution scheme obtained by the iteration.
Step S1022, screening candidate allocation schemes obtained through iteration over the past time based on a preset constraint condition, so as to obtain the M candidate allocation schemes.
In a preferred embodiment, the random matching may refer to: and sequencing the orders included in the order data according to the emergency degree, sequentially extracting one order from the high emergency degree to the low emergency degree during each cycle iteration, and randomly extracting one transport capacity from the transport capacity data to start matching operation.
As a variation, the random matching may refer to: and sequencing the transport vehicles included in the transport capacity data according to the sizes of the vehicle types, sequentially extracting one transport capacity according to the sequence of the vehicle types from large to small during each cycle iteration, and randomly extracting one order from the order data to start matching operation.
As another variation, the random matching may also refer to: and randomly extracting an order and a capacity from the order data and the capacity data respectively to start matching operation during each loop iteration.
Next, taking the third random matching manner as an example, the flow of acquiring the candidate allocation scheme described in this embodiment is specifically described with reference to fig. 4.
In a typical application scenario, referring to fig. 4, first, step a101 may be performed to randomly extract a capacity from the capacity data and start an internal iteration.
Specifically, the process of the inner iteration may include the following steps: step a102, traversing orders included in the order data to screen out all orders meeting loading constraints with the transport capacity; and a step a103, judging whether the transport capacity is full.
Preferably, the loading constraint may refer to a size constraint, i.e., whether the capacity can place an order.
More specifically, the step a102 may include the following steps: step a1021, randomly extracting an order from the order data; step a1022, loading the order to the capacity; step a1023, determining whether said capacity and said order satisfy said loading constraint.
When the determination result of the step a1023 is negative, that is, when the capacity and the order do not satisfy the loading constraint, re-executing the step a1021 to re-randomly draw an order from the order data until the randomly drawn order and the capacity satisfy the loading constraint (that is, until the determination result of the step a1023 is positive), executing the step a1024 to determine whether the order included in the order data is completely traversed.
When the determination result of the step a1024 is negative, that is, when the order included in the order data is not completely traversed, the steps a1021 to a1023 are continuously executed to continue to randomly draw an order from the order data and determine whether the capacity and the randomly drawn order satisfy the loading constraint until all the orders included in the order data are completely traversed (that is, until the determination result of the step a1024 is positive).
When the judgment result of the step a1024 is positive, the step a103 is executed to judge whether the transport capacity is full.
When the determination result of the step a103 is negative, that is, when the capacity is not fully loaded, execute step a104 to clear the matching result of the capacity and re-execute the internal iteration (that is, re-execute the step a102 and the step a103) until the result of the current internal iteration is that the capacity is fully loaded (that is, until the determination result of the step s103 is affirmative), execute step a105 to determine whether the order included in the order data is completely allocated.
When the determination result of the step a105 is negative, that is, when the orders included in the order data are not allocated completely and the capacity included in the capacity data is not allocated completely, the steps a101 to a105 are continuously executed (that is, one capacity is randomly extracted from the capacity data and the inner iteration is continuously executed) until the orders included in the order data are allocated completely or the capacity included in the capacity data is allocated completely, so as to complete one loop iteration.
When the determination result of the step a105 is positive, that is, when all the orders included in the order data are allocated, step a106 may be executed to compare whether the number of the capacity determined in the current iteration of the loop is smaller than the number of the capacity determined in the previous iteration of the loop.
If the number of the capacity determined by the current loop iteration is smaller than (may include equal to) the number of the capacity determined by the previous loop iteration, that is, if the determination result of the step a106 is positive, the matching result of the capacity determined by the current loop iteration and the order may be used as the candidate allocation scheme obtained by the current iteration.
Otherwise, if the number of the capacity determined by the current loop iteration is greater than the number of the capacity determined by the previous loop iteration, that is, if the determination result of the step a106 is negative, the step a101 is executed again to obtain the random matching result of the order data and the capacity data again.
As a variation, during the loop iteration, when the capacity data includes capacity that is allocated, the step a106 may also be executed.
Further, the preset constraint condition may be selected from: stowage constraint; an intention direction constraint; the number of the pieceable cities is restricted. The intention direction may refer to an intention city, that is, a destination, a sharable city, and the like of the order. In practical applications, those skilled in the art may also adjust the specific content of the preset constraint condition as needed.
Further, based on the characteristics of multivariable, discreteness, high dimension, large data volume and solution space, short required calculation time and the like of the whole vehicle scheduling problem, the solution of the scheduling scheme is planned to be carried out by adopting the ant colony algorithm.
Specifically, for a given order and capacity, an order initial loading based on a greedy algorithm a priori may be performed according to the system objective (i.e., the step S102 is performed) while satisfying various constraints. And on the basis of a plurality of preliminary loading schemes, generating a scheme for gradually maximizing the task objective through iterative optimization of the ant colony algorithm. Wherein, the positive feedback mechanism of the ant colony is used for approaching to the optimal scheme; a selection strategy combining deterministic selection and stochastic selection is adopted, so that the stagnation phenomenon of the algorithm is avoided; local rule updating is carried out on all ants completing one transfer, and global updating is used on ants with the optimal cycle each time to avoid falling into local optimization; updating information of the path traveled by each generation of optimal ants, and limiting the path within an upper and lower bound interval to avoid convergence on a local optimal solution; and performing target vector comparison on the generated schemes of each generation to generate a non-inferior solution set candidate scheme solution set.
Further, the basic ant colony algorithm model can be described by using a Traveling Salesman Problem (TSP). For a given set of n city nodes and edges connecting the nodes, a shortest closed loop is found, such that the closed loop passes through each node only once.
Specifically, in the basic ant colony algorithm, there are two basic elements: state transition rules and pheromone update rules.
For the state transition rule, an artificial ant (which may be referred to as an ant for short) randomly selects a certain node as an initialization node, and then transfers to the next node via the node until the closed loop passing through all the nodes is completed.
Correspondingly, the state transition rule of each ant is as follows:
Figure GDA0002804354010000151
wherein, the node where the kth ant is located is i, and the probability of transferring to j is pij(ii) a Eta (i, j) represents heuristic information and is generally selected as the reciprocal of the distance of the urban node;
Figure GDA0002804354010000152
is a set of nodes that have not passed; alpha and beta respectively represent the parameter factors of pheromone and heuristic information; τ (i, j) represents the total number of pheromones on the path (i, j).
The pheromone update rule may be summarized as the following formula:
Figure GDA0002804354010000153
τ(i,j)=(1-ρ)·τ(i,j)+Δτ(i,j);
wherein, m artificial ants complete the route by n-1 times of selection, and pheromone is released on the route.
Figure GDA0002804354010000154
For the pheromone released by the kth ant during the transfer of (i, j), the total pheromone updating amount of the route is delta tau (i, j). Meanwhile, a pheromone volatilization mechanism is introduced, the volatilization coefficient is rho, and the pheromone is adjusted to be the sum of the retention amount of the pheromone and the release amount of the newly added pheromone.
Because the multi-objective ant colony algorithm is used for solving a group of non-inferior solution sets, the pheromone matrix and the heuristic information matrix comprise possible positions of all Pareto (Pareto) optimal solutions, and therefore a plurality of corresponding pheromone matrices and heuristic information matrices are required to be applied to different targets.
In this embodiment, the candidate allocation scheme is denoted as an ant, a set of M ants is denoted as an ant group, each ant in the ant group may be allocated with i initialization pheromone matrices and heuristic information matrices, i is a target number, the initialization pheromone matrices and the heuristic information matrices correspond to targets one by one, wherein, for each target of each ant, the heuristic information matrices are used for describing an initial matching result of orders and capacities of the ant under the target, and the initialization pheromone matrices are used for describing an initial transition probability of each order of the ant between capacities under the target.
Specifically, the heuristic information matrix and the initialization pheromone matrix are combined to determine the position and the direction of the first-step transfer of each ant in the ant colony.
Recording the aggregate of orders that the order data comprisesset={shipmentuU belongs to U, wherein U is included in the order dataThe total amount of orders. Similarly, the set Trailer of cars involved in the capacity data is recordedset={TrailervV ∈ V, wherein V is the total transport force number (namely the total car transport force number) included in the transport force data.
As a non-limiting example, for each ant, the heuristic information matrix may be represented based on the following formula:
Bx=(buv);
Figure GDA0002804354010000161
wherein, BxA heuristic information matrix for the xth target of the ant, x is more than or equal to 1 and less than or equal to i, buvIs the element of the U-th row and the V-th column in the heuristic information matrix, U is the U-th order in the order data, U is more than or equal to 1 and less than or equal to U, V is the V-th transport capacity in the transport capacity data, V is more than or equal to 1 and less than or equal to V, when b isuvWhen 1, it means that the u-th order in the ant matches the v-th capacity (i.e. the u-th order is loaded by the v-th capacity), when buvA time of 0 indicates that the u-th order does not match the v-th capacity in the ant (i.e., the u-th order is not loaded by the v-th capacity).
Optionally, for each ant, the initialization pheromone matrix A of the ant at the xth targetxMay include U × V elements, wherein the U × V elements are each filled with a preset constant. For example, the preset constant may be 1, that is, the initial transition probability of each order of the ant on the xth target between the capacities is 1.
In this embodiment, for an order and capacity included in a distribution scheme, the change of the matching result between the order and the capacity may be the transfer of ants. The loading state is continuously changed by continuously transferring ants until the performance evaluation on the corresponding target is optimal.
As a non-limiting example, referring to fig. 5, the step S103 may include the steps of:
step S1031, during transfer of each ant in the ant group, calculating and updating a state transfer matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm, where for each target of each ant, the state transfer matrix is used to describe a latest matching result of orders and capacities of the ant under the target, and the pheromone matrix is used to describe a latest transfer probability of each order among capacities of the ant under the target.
Step S1032, for each ant, calculating a target vector of the ant on each target according to the state transition matrix.
Step S1033, discarding ants whose target vectors on each target are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set.
Those skilled in the art understand that the solution of the present embodiment combines the principle of ant colony algorithm, and equates the variation of the matching relationship between the order and the capacity recorded in the allocation solution as the transfer of ants, so as to calculate the state transition matrix and the pheromone matrix of each ant during the transfer of each ant in the ant colony, to select the ant from which the target vector on at least one target is not inferior to the target vectors of other ants and to form the non-inferior solution set. Those skilled in the art understand that based on the solution of the present embodiment, the ant colony positive feedback mechanism can be used to approach the optimal solution, and different application scenarios can be ensured to correspond to appropriate non-inferior solutions (i.e., optimal solutions) in the finally obtained non-inferior solution set.
Specifically, the state transition matrix is initially the heuristic information matrix.
Further, there may be the formula: the state transition matrix is the pheromone matrix x heuristic information matrix.
In step S1031, M ants start to transfer randomly in parallel, M new schemes can be obtained in each transfer step, and each pheromone matrix is updated, and a new pheromone matrix is obtained based on the pheromone of the ant and the pheromone matrix in the last transfer according to the pheromone update rule. That is, during the transfer of each of the ants, for each target of each ant, the updated pheromone matrix may be used as the initialization pheromone matrix for the next transfer of the ant.
As an optional scheme, after M ants are transferred (i.e. all orders and all capacity in each ant are matched once), the optimal ant is selected, and the latest pheromone matrix of the optimal ant is used as the initial pheromone matrix of all ants in the next cycle.
Further, during the transfer of each ant in the ant group, the update cycle for updating the state transition matrix and the pheromone matrix of each ant in the ant group may be in units of a step length when each ant transfers. That is, each time an ant transfers (i.e., each step), the state transition matrix and pheromone matrix of the ant are updated.
Further, for each target of each ant, the corresponding state transition matrix and pheromone matrix may be calculated and updated based on the state transition rules and pheromone update rules described above.
In step S1032, since the state transition matrix actually reflects the latest allocation scheme, a projection (i.e. an object vector) of the allocation scheme on the corresponding object may be calculated, and the projection may be a quantized result used to measure the degree of goodness of the allocation scheme on the object.
As a non-limiting example, for each ant in the ant group, the ant may be transferred according to a deterministic probability or a stochastic probability, wherein the transfer according to the deterministic probability refers to a transfer according to a maximum probability direction indicated by an pheromone matrix of the ant, and the transfer according to the stochastic probability refers to a transfer according to a random direction, and the pheromone matrix is used for describing a latest transfer probability between capacities of orders of the ant.
In a preferred example, the process of ants transferring according to the deterministic probability or the stochastic probability may include: the ants extract a random number from a preset interval; when the random number is smaller than a preset threshold value, transferring according to the certainty probability; otherwise, the transition is carried out according to the random probability.
For example, assuming that the preset interval is (0,1) and the preset threshold is 0.9, for one ant, randomly extracting a number from the preset interval during the current transfer, and if the number is 0.2, transferring the current transfer according to a random probability; if the value is 0.98, the transition is according to the certainty probability.
Further, for each ant, it may perform the above operations before each transfer to determine whether to transfer according to a probabilistic or deterministic probability.
Further, the preset termination condition may include: the transfer times of all ants in the ant colony reach the preset cycle times. Preferably, the preset number of cycles may be determined based on the order data and the capacity data, with the aim of ensuring that the finally obtained scheduling scheme is a converged result.
Further, the target may be selected from: maximizing the loading quantity; the emergency degree of the goods loading vehicle is maximized; the number of large and medium commodity vehicles is loaded to the maximum. In practical applications, the specific content and number of the targets can be adjusted by those skilled in the art according to the needs.
Further, the service scenario may be used to describe specific requirements for the scheduling scheme, such as an order urgency, a vehicle type requirement of a complete vehicle included in the order, and the like. The business scenario may be associated with the goal.
In a typical application scenario, referring to fig. 6, after obtaining M candidate allocation schemes (i.e., M ants) based on the scheme described in fig. 4, step b101 may be continuously performed, so that each ant is allocated to the same number of pheromone matrices and heuristic information matrices as the number of targets, and different state transition matrices of each ant are calculated respectively.
Further, step b102 is executed, each ant performs a transfer according to the probability of certainty or randomness, and each transfer step updates the respective pheromone matrix.
Further, during the transfer of each ant in the ant group, each ant walks one step, step b103 is executed to discard the fully dominated ant in the ant group according to the target vector, and the latest allocation scheme corresponding to the rest of ants is selected into the non-inferior solution set as the candidate scheme.
Then, step b104 is executed to determine whether the end condition is currently satisfied. For example, the ending condition may refer to whether the number of cycles of the steps b102 to b104 reaches a preset number of cycles.
And b, when the judgment result in the step b104 is positive, that is, when the ending condition is met, ending the algorithm module to obtain a candidate scheme set (namely the non-inferior solution set).
Otherwise, namely when the judgment result of the step b104 is negative, updating the pheromone matrix by using the optimal ants obtained in the current cycle, calculating the state transition matrix through the pheromone matrix, updating the ant colony through the state transition matrix, re-executing the steps b102 to b104, and performing rolling iteration in this way until the ending condition is met.
Further, when the judgment result of the step b104 is positive, the step b105 is continuously executed, the target value of each scheme is compared in a weighted summation mode by combining the candidate scheme set according to the actual service scene, and the optimal scheduling scheme is output.
The technical personnel in the field understand that the scheme of the embodiment makes full use of the global optimization capability and the parallel search capability of the ant colony algorithm, improves the real-time performance of intelligent scheduling, and can meet the requirements of different scheduling service scenes for solving the optimal scheduling scheme.
By the above, by adopting the scheme of the embodiment, the existing manual operation mode is replaced by an intelligent automatic solution scheme, each obtained candidate allocation scheme is marked as one ant, a group of non-inferior solutions formed by the non-inferior solutions corresponding to different targets is obtained through the transfer of each ant during continuous iteration by combining the principle of the ant colony algorithm, and then the optimal scheduling scheme is selected from the candidate schemes according to the specific requirements of the service scene.
The technical scheme of the embodiment of the invention has the advantages that the complete vehicle logistics scheduling is accurately described and deduced through the multi-objective ant colony algorithm, the finally obtained scheme to be selected can flexibly correspond to different scheduling scenes, requirements of all aspects are fully considered, and the failure scheduling is avoided, so that the system efficiency of the complete vehicle scheduling system is improved, and the complete vehicle scheduling system can be ensured to operate orderly.
Furthermore, the scheme of the embodiment of the invention not only can improve the operation efficiency, but also can ensure the solution of the optimal scheme, reduce the cost and improve the customer satisfaction.
Fig. 7 is a schematic structural diagram of a complete vehicle logistics scheduling device based on a multi-objective ant colony algorithm according to an embodiment of the present invention. Those skilled in the art understand that the complete vehicle logistics scheduling device 7 based on the multi-objective ant colony algorithm (hereinafter, referred to as the complete vehicle logistics scheduling device 7) in this embodiment is used for implementing the technical solutions of the methods in the embodiments shown in fig. 1 to 6.
Specifically, in this embodiment, the whole vehicle logistics scheduling device 7 may include: the acquisition module 71 is configured to acquire finished vehicle logistics data, where the finished vehicle logistics data includes order data and transportation capacity data; the initial loading module 72 is used for acquiring M candidate allocation schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1; the multi-objective ant colony algorithm optimization module 73 records the candidate allocation schemes as ants, records a set of M ants as an ant colony, discards ants with all target vectors dominated in the ant colony during transfer of each ant in the ant colony to obtain a non-inferior solution set, and records a projection of each target of an ant as a target vector corresponding to the target; and a selecting module 74, configured to select an optimal scheduling scheme from the obtained non-inferior solution set according to a service scenario when the ant colony transfer state satisfies a preset termination condition.
More specifically, the initial load module 72 may perform the following steps: circularly and iteratively and randomly matching the order data and the transport capacity data, wherein for each iteration, when the order distribution is finished and the matched transport capacity is the minimum, or when the transport capacity distribution is finished, the matching result of the distributed order and the transport capacity is used as a candidate distribution scheme obtained by the iteration; and screening the candidate distribution schemes obtained through iteration of the previous time based on a preset constraint condition to obtain the M candidate distribution schemes.
Preferably, the whole vehicle logistics scheduling device 7 may further include: and a constraint module 76 for storing and providing the preset constraint condition.
Further, the iteratively randomly matching the order data and capacity data in the loop may comprise: randomly extracting a capacity from the capacity data and starting internal iteration, wherein the internal iteration process comprises the following steps: traversing orders included in the order data to screen out all orders meeting loading constraints with the transport capacity; judging whether the transport capacity is full; when the transport capacity is not fully loaded, clearing the matching result of the transport capacity and re-executing the internal iteration until the result of the current internal iteration is that the transport capacity is fully loaded, and judging whether the order included in the order data is completely distributed; and when the order distribution included in the order data is not finished and the capacity included in the capacity data is not finished, randomly extracting capacity from the capacity data and executing the internal iteration until the capacity included in the capacity data is finished or the order included in the order data is finished so as to finish a cycle iteration.
Further, the taking the matching result of the allocated order and the capacity as the candidate allocation scheme acquired in the current iteration may include: comparing the number of the transport capacity determined by the current loop iteration with the number of the transport capacity determined by the last loop iteration; and if the number of the transport capacity determined by the loop iteration is smaller than the number of the transport capacity determined by the previous loop iteration, taking the matching result of the transport capacity determined by the loop iteration and the order as the candidate allocation scheme acquired by the loop iteration.
Further, said traversing the orders included in said order data to screen out all orders that satisfy loading constraints with said capacity may include: randomly extracting an order from the order data; determining whether the capacity and the order satisfy the loading constraints; when the transport capacity and the orders do not meet the loading constraint, randomly extracting one order from the order data again until the randomly extracted order and the transport capacity meet the loading constraint, and judging whether the order included in the order data is traversed completely; and when the orders included in the order data are not completely traversed, continuously randomly extracting one order from the order data and judging whether the transport capacity and the randomly extracted order meet the loading constraint or not until all the orders included in the order data are completely traversed.
Further, the preset constraint condition may be selected from: stowage constraint; an intention direction constraint; the number of the pieceable cities is restricted.
Further, each ant in the ant colony may be allocated with i initialization pheromone matrices and heuristic information matrices, i is a target number, and the initialization pheromone matrices and the heuristic information matrices correspond to targets one to one, wherein for each target of each ant, the heuristic information matrix is used to describe an initial matching result of an order and capacity of the ant under the target, and the initialization pheromone matrices are used to describe an initial transition probability of each order among capacities of the ant under the target.
Further, for each ant, the heuristic information matrix may be represented based on the following formula: b isx=(buv);
Figure GDA0002804354010000221
Wherein, BxA heuristic information matrix for the xth target of the ant, x is more than or equal to 1 and less than or equal to i, buvIs the element of the U-th row and the V-th column in the heuristic information matrix, U is the U-th order in the order data, U is more than or equal to 1 and less than or equal to U, U is the total order number included in the order data, V is the V-th transport capacity in the transport capacity data, V is more than or equal to 1 and less than or equal to V, and V is the total transport capacity number included in the transport capacity data, when b is the total transport capacity number included in the transport capacity data, the method for generating the transport capacity data comprises theuvWhen being 1, the compound is shown inThe u th order in the ant is matched with the v th transport capacity when buvWhen 0, it means that the u-th order and the v-th capacity are not matched in the ant.
Further, for each ant, the initialization pheromone matrix A of the ant at the x-th targetxU × V elements may be included, where U is a total amount of orders included in the order data, V is a total capacity included in the capacity data, and the U × V elements are each filled with a preset constant.
Further, the multi-objective ant colony algorithm optimization module 73 may perform the following steps: calculating and updating a state transition matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm during the transfer of each ant in the ant group, wherein for each target of each ant, the state transition matrix is used for describing the latest matching result of the order and the capacity of the ant under the target, and the pheromone matrix is used for describing the latest transfer probability of each order among the capacities of the ant under the target; for each ant, calculating a target vector of the ant on each target according to the state transition matrix; and discarding ants of which the target vectors on the targets are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set.
Further, the whole vehicle logistics scheduling device 7 may further include: and the target vector comparison module 75 is configured to calculate corresponding target vectors according to the state transition matrix of each ant on each target, and select a non-inferior solution from the corresponding target vectors to form the non-inferior solution set. Specifically, the target vector comparison module 75 may be configured to describe whether a scheduling scheme is governed by other scheduling schemes, so as to select the non-inferior solution set.
Further, during the transfer of each ant in the ant group, the update cycle for updating the state transition matrix and the pheromone matrix of each ant in the ant group may be in units of a step length when each ant transfers.
Further, during the transfer of the ants, for each target of each ant, the updated pheromone matrix may be used as the initialization pheromone matrix for the next transfer of the ant.
Further, for each ant in the ant group, the ant may be transferred according to a deterministic probability or a stochastic probability, where the transfer according to the deterministic probability is performed according to a maximum probability direction indicated by an pheromone matrix of the ant, and the transfer according to the stochastic probability is performed according to a random direction, where the pheromone matrix is used to describe a latest transfer probability between capacities of the orders of the ant.
Further, the process of the ants transferring according to the certainty probability or the randomness probability may include: the ants extract a random number from a preset interval; when the random number is smaller than a preset threshold value, transferring according to the certainty probability; otherwise, the transition is carried out according to the random probability.
Further, the preset termination condition may include: the transfer times of all ants in the ant colony reach the preset cycle times.
Further, the whole vehicle logistics data may be obtained by preprocessing raw data, and the obtaining module 71 may perform the following steps: acquiring the original data; screening the original data according to a preset standard value range to remove data which do not conform to the corresponding preset standard value range in the original data; and acquiring the whole vehicle logistics data according to the screened original data.
Further, the target may be selected from: maximizing the loading quantity; the emergency degree of the goods loading vehicle is maximized; the number of large and medium commodity vehicles is loaded to the maximum.
Further, the number M of candidate allocation plans may be determined from the order data.
For more contents of the working principle and the working mode of the entire vehicle logistics scheduling device 7, reference may be made to the related descriptions in fig. 1 to fig. 6, and details are not repeated here.
By adopting the scheme of the embodiment, after the original data are cleaned by the acquisition module 71, the effective available order information, transport capacity information, node information and scene description are transmitted to the initial loading module 72; the initial loading module 72 performs greedy loading according to a certain rule a priori according to the requirements of the constraint module 76 to form a preliminary loading mode (i.e. the M candidate allocation schemes); the multi-objective ant colony algorithm optimization module 73 performs iterative optimization by using the ant colony algorithm with the initial loading result as a starting point and in combination with the target vector comparison module 75, further calculates a set of candidate schemes for different targets, and finally selects an optimal scheduling scheme according to a scheduling scene by the selection module 74.
Those skilled in the art understand that, in the solution of this embodiment, based on the multi-objective ant colony optimization module 73, the process of matching orders and capacity under each constraint condition is completed, the ant colony optimization is used to perform solution optimization, and the target vector comparison module 75 is used to perform selection and selection of a scheduling solution, so as to finally obtain a scheduling solution that satisfies the constraint module and is optimal in specific performance.
Further, the embodiment of the present invention further discloses a storage medium, on which computer instructions are stored, and when the computer instructions are executed, the method technical solution described in the embodiments shown in fig. 1 to fig. 6 is executed. Preferably, the storage medium may include a computer-readable storage medium such as a non-volatile (non-volatile) memory or a non-transitory (non-transient) memory. The storage medium may include ROM, RAM, magnetic or optical disks, etc.
Further, an embodiment of the present invention further discloses a terminal, which includes a memory and a processor, where the memory stores a computer instruction capable of running on the processor, and the processor executes the method technical solution described in the embodiments shown in fig. 1 to 6 when running the computer instruction.
Although the present invention is disclosed above, the present invention is not limited thereto. Various changes and modifications may be effected therein by one skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (18)

1. A whole vehicle logistics scheduling method based on a multi-objective ant colony algorithm is characterized by comprising the following steps:
acquiring whole vehicle logistics data, wherein the whole vehicle logistics data comprise order data and transport capacity data;
acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1;
recording the candidate allocation schemes as ants, recording a set of M ants as an ant group, discarding the ants with all the target vectors dominated in the ant group to obtain a non-inferior solution set every step of each ant in the ant group during the transfer of each ant in the ant group, recording the projection of the ant on each target as the target vector corresponding to the target, wherein for an order and capacity included in one candidate allocation scheme, the transfer of the ant represents the change of the matching result of the order and the capacity, each ant in the ant group is allocated with i initialization pheromone matrixes and heuristic information matrixes, i is the number of target ants, the initialization pheromone matrixes and the heuristic information matrixes are in one-to-one correspondence with the targets, wherein for each target of each ant, the heuristic information matrixes are used for describing the initial matching result of the order and the capacity under the target, the initialization pheromone matrix is used for describing the initial transfer probability of the ants among the transport capacities of the orders placed by the targets;
when the transfer state of the ant colony meets a preset termination condition, selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene;
wherein, during the transfer of each ant in the ant colony, each ant steps one step, discarding the ant in the ant colony whose all target vectors are dominated to obtain a non-inferior solution set comprises:
calculating and updating a state transition matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm every time each ant walks during the transfer of each ant in the ant group, wherein for each target of each ant, the state transition matrix is used for describing the latest matching result of the order and the capacity of the ant under the target, and the pheromone matrix is used for describing the latest transfer probability of each order among the capacities of the ant under the target;
for each ant, calculating a target vector of the ant on each target according to the state transition matrix;
discarding ants whose target vectors on each target are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set;
and during the transfer of the ants, taking the updated pheromone matrix as an initialized pheromone matrix when the ants transfer next time for each target of each ant.
2. The vehicle logistics scheduling method of claim 1, wherein the obtaining of the M candidate allocation schemes based on the vehicle logistics data comprises:
circularly and iteratively and randomly matching the order data and the transport capacity data, wherein for each iteration, when the order distribution is finished and the matched transport capacity is the minimum, or when the transport capacity distribution is finished, the matching result of the distributed order and the transport capacity is used as a candidate distribution scheme obtained by the iteration;
and screening the candidate distribution schemes obtained through iteration of the previous time based on a preset constraint condition to obtain the M candidate distribution schemes.
3. The vehicle logistics scheduling method of claim 2, wherein the iteratively and randomly matching the order data and the capacity data comprises:
randomly extracting a capacity from the capacity data and starting internal iteration, wherein the internal iteration process comprises the following steps: traversing orders included in the order data to screen out all orders meeting loading constraints with the transport capacity; judging whether the transport capacity is full;
when the transport capacity is not fully loaded, clearing the matching result of the transport capacity and re-executing the internal iteration until the result of the current internal iteration is that the transport capacity is fully loaded, and judging whether the order included in the order data is completely distributed;
and when the order included in the order data is not distributed completely and the capacity included in the capacity data is not distributed completely, randomly extracting capacity from the capacity data and executing the internal iteration until the capacity included in the capacity data is distributed completely or the order included in the order data is distributed completely, so as to finish a cycle iteration.
4. The vehicle logistics scheduling method of claim 3, wherein the step of taking the matching result of the allocated orders and the capacity as the candidate allocation scheme obtained in the current iteration comprises:
comparing the number of the transport capacity determined by the current loop iteration with the number of the transport capacity determined by the last loop iteration;
and if the number of the transport capacity determined by the loop iteration is smaller than the number of the transport capacity determined by the previous loop iteration, taking the matching result of the transport capacity determined by the loop iteration and the order as the candidate allocation scheme acquired by the loop iteration.
5. The vehicle logistics scheduling method of claim 3, wherein traversing the orders included in the order data to screen out all orders that satisfy loading constraints with the capacity comprises:
randomly extracting an order from the order data;
determining whether the capacity and the order satisfy the loading constraints;
when the transport capacity and the orders do not meet the loading constraint, randomly extracting one order from the order data again until the randomly extracted order and the transport capacity meet the loading constraint, and judging whether the order included in the order data is traversed completely;
and when the orders included in the order data are not completely traversed, continuously randomly extracting one order from the order data and judging whether the transport capacity and the randomly extracted order meet the loading constraint or not until all the orders included in the order data are completely traversed.
6. The vehicle logistics scheduling method of claim 2, wherein the preset constraint condition is selected from the group consisting of:
stowage constraint;
an intention direction constraint;
the number of the pieceable cities is restricted.
7. The vehicle logistics scheduling method of claim 1, wherein the heuristic information matrix is expressed for each ant based on the following formula:
Bx=(buv);
Figure FDA0002804352000000031
wherein, BxA heuristic information matrix for the xth target of the ant, x is more than or equal to 1 and less than or equal to i, buvIs the element of the U-th row and the V-th column in the heuristic information matrix, U is the U-th order in the order data, U is more than or equal to 1 and less than or equal to U, U is the total order number included in the order data, V is the V-th transport capacity in the transport capacity data, V is more than or equal to 1 and less than or equal to V, and V is the total transport capacity number included in the transport capacity data, when b is the total transport capacity number included in the transport capacity data, the method for generating the transport capacity data comprises theuvWhen 1, it means that the u-th order in the ant matches the v-th capacity, when buvWhen 0, it means that the u-th order and the v-th capacity are not matched in the ant.
8. The vehicle logistics scheduling method of claim 1, wherein for each ant, the initialization pheromone matrix A of the ant at the xth targetxComprises U × V elements, wherein U is the total included in the order dataAnd the number of orders, V is the total capacity number included in the capacity data, and the U multiplied by V elements are all filled with preset constants.
9. The vehicle logistics scheduling method of claim 1, wherein during transfer of each ant in the ant group, the update period for updating the state transition matrix and the pheromone matrix of each ant in the ant group is based on a step length when each ant transfers.
10. The vehicle logistics scheduling method of claim 1, wherein for each ant in the ant group, the ant is transferred according to a deterministic probability or a stochastic probability, wherein the transfer according to the deterministic probability means transfer according to a maximum probability direction indicated by an pheromone matrix of the ant, and the transfer according to the stochastic probability means transfer according to a random direction, and the pheromone matrix is used for describing a latest transfer probability between capacities of the orders of the ant.
11. The vehicle logistics scheduling method of claim 10, wherein the process of ants transferring according to the deterministic probability or the stochastic probability comprises:
the ants extract a random number from a preset interval;
when the random number is smaller than a preset threshold value, transferring according to the certainty probability; otherwise, the transition is carried out according to the random probability.
12. The vehicle logistics scheduling method of claim 1, wherein the preset termination condition comprises: the transfer times of all ants in the ant colony reach the preset cycle times.
13. The vehicle logistics scheduling method of claim 1, wherein the vehicle logistics data is obtained by preprocessing raw data, and the obtaining the vehicle logistics data comprises:
acquiring the original data;
screening the original data according to a preset standard value range to remove data which do not conform to the corresponding preset standard value range in the original data;
and acquiring the whole vehicle logistics data according to the screened original data.
14. The vehicle logistics scheduling method according to any one of claims 1 to 13, wherein the target is selected from the group consisting of:
maximizing the loading quantity;
the emergency degree of the goods loading vehicle is maximized;
the number of large and medium commodity vehicles is loaded to the maximum.
15. The vehicle logistics scheduling method according to any one of claims 1 to 13, wherein the number M of candidate allocation plans is determined according to the order data.
16. The utility model provides a whole car commodity circulation scheduling device based on multi-objective ant colony algorithm which characterized in that includes:
the system comprises an acquisition module, a storage module and a display module, wherein the acquisition module is used for acquiring the whole vehicle logistics data which comprises order data and transport capacity data;
the initial loading module is used for acquiring M candidate distribution schemes based on the whole vehicle logistics data, wherein M is more than or equal to 1;
the multi-objective ant colony algorithm optimization module is used for recording the candidate allocation schemes as ants, recording a set formed by M ants as an ant colony, discarding the ants with all the target vectors dominated in the ant colony every step of each ant in the transfer period of each ant in the ant colony to obtain a non-inferior solution set, recording the projection of the ants on each target as the target vectors corresponding to the target, wherein for the order and the capacity included in one candidate allocation scheme, the transfer of the ants represents the change of the matching result of the order and the capacity, each ant in the ant colony is distributed with i initialization pheromone matrixes and heuristic information matrixes, i is the number of targets, the initialization pheromone matrixes and the heuristic information matrixes are in one-to-one correspondence with the targets, wherein for each target of each ant, the heuristic information matrixes are used for describing the initial matching result of the order and the capacity under the targets, the initialization pheromone matrix is used for describing the initial transfer probability of the ants among the transport capacities of the orders placed by the targets;
the selecting module is used for selecting an optimal scheduling scheme from the acquired non-inferior solution set according to a service scene when the transfer state of the ant colony meets a preset termination condition;
the multi-target ant colony algorithm optimization module executes the following steps:
calculating and updating a state transition matrix and an pheromone matrix of each ant in the ant group based on an ant group algorithm every time each ant walks during the transfer of each ant in the ant group, wherein for each target of each ant, the state transition matrix is used for describing the latest matching result of the order and the capacity of the ant under the target, and the pheromone matrix is used for describing the latest transfer probability of each order among the capacities of the ant under the target;
for each ant, calculating a target vector of the ant on each target according to the state transition matrix;
discarding ants whose target vectors on each target are inferior to the corresponding target vectors of other ants in the ant colony to obtain the non-inferior solution set, wherein for the ants in the non-inferior solution set, the target vectors of the ants on at least one target are superior to those of the other ants in the non-inferior solution set;
and during the transfer of the ants, taking the updated pheromone matrix as an initialized pheromone matrix when the ants transfer next time for each target of each ant.
17. A storage medium having stored thereon computer instructions, wherein the computer instructions when executed perform the steps of the method of any one of claims 1 to 15.
18. A terminal comprising a memory and a processor, the memory having stored thereon computer instructions executable on the processor, wherein the processor, when executing the computer instructions, performs the steps of the method of any one of claims 1 to 15.
CN201811081434.3A 2018-09-17 2018-09-17 Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal Active CN108846623B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811081434.3A CN108846623B (en) 2018-09-17 2018-09-17 Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811081434.3A CN108846623B (en) 2018-09-17 2018-09-17 Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal

Publications (2)

Publication Number Publication Date
CN108846623A CN108846623A (en) 2018-11-20
CN108846623B true CN108846623B (en) 2021-02-19

Family

ID=64189574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811081434.3A Active CN108846623B (en) 2018-09-17 2018-09-17 Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal

Country Status (1)

Country Link
CN (1) CN108846623B (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111308995B (en) * 2018-11-27 2024-01-16 北京京东乾石科技有限公司 Scheduling method and device of transfer robot, medium and electronic equipment
CN111325424B (en) * 2018-12-14 2023-08-18 中国移动通信集团山东有限公司 Intelligent scheduling method and system based on improved ant colony algorithm
CN109726863A (en) * 2018-12-26 2019-05-07 深圳市北斗智能科技有限公司 A kind of material-flow method and system of multiple-objection optimization
CN109711940A (en) * 2018-12-27 2019-05-03 拉扎斯网络科技(上海)有限公司 Order allocation method, device, electronic equipment and storage medium
CN110097231A (en) * 2019-05-09 2019-08-06 上汽安吉物流股份有限公司 Multiple target objects stream scheduling method and device, logistics system and computer-readable medium
CN110111004A (en) * 2019-05-09 2019-08-09 上汽安吉物流股份有限公司 Complete vehicle logistics dispatching method and device, computer-readable medium and logistics system
CN112016866B (en) * 2019-05-31 2023-09-26 北京京东振世信息技术有限公司 Order data processing method, device, electronic equipment and readable medium
CN112270135B (en) * 2020-11-13 2023-02-03 吉林烟草工业有限责任公司 Intelligent distribution method, device and equipment for logistics dispatching and storage medium
CN112686458B (en) * 2021-01-05 2023-03-07 昆明理工大学 Optimized dispatching method for multi-vehicle fleet delivery process
CN113011644B (en) * 2021-03-11 2022-06-14 华南理工大学 Smart city dynamic cold-chain logistics scheduling method based on ant colony optimization algorithm
CN113496390A (en) * 2021-04-28 2021-10-12 炭为互联科技有限公司 Total station type coal supply chain intelligent service method and service system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866911A (en) * 2014-02-21 2015-08-26 日本电气株式会社 Device and method used for optimizing logistics stowage and distribution
CN104915557A (en) * 2015-06-04 2015-09-16 中山大学 Cloud task allocation method based on double-objective ant colony algorithm
WO2016082370A1 (en) * 2014-11-25 2016-06-02 中国科学院声学研究所 Distributed node intra-group task scheduling method and system
CN107578199A (en) * 2017-08-21 2018-01-12 南京航空航天大学 A kind of method for solving two dimension and loading constraint logistics vehicle dispatching problem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866911A (en) * 2014-02-21 2015-08-26 日本电气株式会社 Device and method used for optimizing logistics stowage and distribution
WO2016082370A1 (en) * 2014-11-25 2016-06-02 中国科学院声学研究所 Distributed node intra-group task scheduling method and system
CN104915557A (en) * 2015-06-04 2015-09-16 中山大学 Cloud task allocation method based on double-objective ant colony algorithm
CN107578199A (en) * 2017-08-21 2018-01-12 南京航空航天大学 A kind of method for solving two dimension and loading constraint logistics vehicle dispatching problem

Also Published As

Publication number Publication date
CN108846623A (en) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108846623B (en) Whole vehicle logistics scheduling method and device based on multi-target ant colony algorithm, storage medium and terminal
CN109345091B (en) Ant colony algorithm-based whole vehicle logistics scheduling method and device, storage medium and terminal
CN109214756B (en) Vehicle logistics scheduling method and device, storage medium and terminal
WO2022262469A1 (en) Industrial park logistics scheduling method and system based on game theory
CN110097231A (en) Multiple target objects stream scheduling method and device, logistics system and computer-readable medium
CN112567399A (en) System and method for route optimization
Mattfeld et al. Terminal operations management in vehicle transshipment
CN110807236A (en) Warehouse logistics simulation system based on multiple robots
CN105631530A (en) Multiple sequential planning and allocation of time-divisible resources
CN111768629B (en) Vehicle scheduling method, device and system
CN111860957B (en) Multi-vehicle-type vehicle path planning method considering secondary distribution and balancing
CN105825303A (en) Drop and pull transport task allocation method
CN112348426B (en) Information processing method and device
CN115860613A (en) Part load and goods matching and vehicle scheduling method considering reservation mechanism
Cai et al. Dynamic bicycle relocation problem with broken bicycles
Gu et al. Dynamic truck–drone routing problem for scheduled deliveries and on-demand pickups with time-related constraints
Hao et al. Introduction to the dynamic pickup and delivery problem benchmark--ICAPS 2021 competition
CN111947676A (en) Express delivery path planning method and device, electronic equipment and storage medium
US20230075128A1 (en) Column generation methods and systems for routing and scheduling in robotic and vehicular applications
CN114239931A (en) Method and device for realizing logistics storage loading scheduling based on improved ant colony algorithm
CN115018211A (en) Method and device for setting transportation scheduling line
US11703338B2 (en) Method and apparatus for tunable multi-vehicle routing
CN116205474B (en) AGV task allocation method and device for parking lot, electronic equipment and storage medium
CN114493056B (en) Cargo transportation method, cargo transportation system, computer device, and storage medium
CN116739467B (en) Circulating delivery path planning method, device and medium based on cloud edge cooperation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant