Delivery management system and method for generating delivery routes

The delivery management system uses a multi-objective genetic algorithm to efficiently integrate additional delivery orders into existing routes, optimizing travel distance, profit, and vehicle utilization, thus addressing computational inefficiencies in existing methods.

JP7879747B2Active Publication Date: 2026-06-24HITACHI LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI LTD
Filing Date
2022-06-09
Publication Date
2026-06-24

AI Technical Summary

Technical Problem

Existing methods for incorporating additional delivery orders into existing delivery routes require significant computational resources and time, and existing genetic algorithms focus on a single optimization metric, such as distance, without addressing multiple objectives efficiently.

Method used

A delivery management system using a multi-objective genetic algorithm to generate Pareto optimal solutions for delivery order assignment, followed by provisional determination of new delivery routes based on evaluation metrics, reducing computational costs and optimizing multiple objectives like travel distance, profit variance, and vehicle occupancy.

Benefits of technology

Efficient and rapid generation of new delivery routes that balance multiple optimization criteria, reducing computational overhead and improving route efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007879747000001
    Figure 0007879747000001
  • Figure 0007879747000002
    Figure 0007879747000002
  • Figure 0007879747000003
    Figure 0007879747000003
Patent Text Reader

Abstract

To provide a delivery management system and a method of generating a delivery route, for generating a new delivery route efficiently at a high speed when receiving an additional delivery order after generating a delivery route.SOLUTION: A method includes: receiving a plurality of delivery orders; executing first search processing to search, on the basis of a multiobjective genetic algorithm, for an assignment pattern being a Pareto optimal solution from among assignment patterns which are combinations of assignment of delivery orders for a delivery route; and executing second search processing to search, regarding the assignment pattern being the Pareto optimal solution, for a new delivery order for the delivery route with the delivery orders assigned thereto. The first search processing includes processing to temporarily decide, regarding one assignment pattern, a new delivery route, for a delivery route with the delivery orders assigned thereto, by inserting a base constituting the delivery orders into a travel route defined by the delivery route.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a technology for optimizing logistics delivery. [Background technology]

[0002] In the logistics industry, improving the efficiency of deliveries is crucial to addressing issues such as labor shortages and CO2 reduction. One known method for optimizing deliveries is the use of a genetic algorithm, as described in Patent Document 1.

[0003] Patent Document 1 states that "The solution search strategy optimization means 1 generates individuals having chromosomes that represent a solution search strategy for a given optimization problem using a genetic algorithm. The sequence consideration means 1a uses a predetermined algorithm to find the shortest path among the paths connecting each element of an element species that is fixed in a predetermined space, and determines the arrangement of the second element species on that path as the element species consideration order 5. The solution search means 2 performs individual solution searches according to the individual solution search strategies and element species consideration order 5 and generates solution candidates. The solution search strategy optimization means 1 then calculates the fitness function value of the solution candidates obtained by the solution search, and if there is no need to search for solution candidates for the next generation, the solution candidate with the best fitness function value is taken as the solution to the optimization problem." [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2005-84848 [Overview of the project] [Problems that the invention aims to solve]

[0005] Companies that handle delivery services typically determine their delivery routes the day before delivery. However, if they have surplus resources, they may accept additional delivery orders. In this case, the problem arises of how to incorporate these additional delivery orders into the delivery route.

[0006] It is conceivable to regenerate delivery routes using conventional techniques based on the delivery orders used when generating the initial delivery route and any additional delivery orders, but this would involve a large amount of computation and computation time (computation cost).

[0007] Furthermore, in Patent Document 1, the delivery route is determined based on the distance traveled, representing an optimal solution based on a single indicator.

[0008] The present invention aims to provide a system and method for efficiently and quickly generating new delivery routes when additional delivery orders are received after a delivery route has been generated. [Means for solving the problem]

[0009] A representative example of the invention disclosed in this application is as follows: A delivery management system comprising at least one computer having a processor, memory connected to the processor, and a network interface connected to the processor, holding information on a plurality of delivery routes, the at least one computer receiving a plurality of delivery orders consisting of a combination of loading points and unloading points, generating a plurality of assignment patterns representing the assignment of the delivery orders to the delivery routes based on a multi-objective genetic algorithm, executing a first search process to search for the assignment pattern that is the Pareto optimal solution from among the plurality of assignment patterns, executing a second search process to search for a new delivery order of the delivery routes to which the delivery orders are assigned for the assignment pattern that is the Pareto optimal solution, and the first search process is Each of the multiple assignment patterns Regarding the above, a first process of provisionally determining a new delivery route by inserting the loading and unloading points that constitute the delivery order into the movement route defined by the delivery route, for the delivery route to which the delivery order has been assigned, and for each of the multiple assignment patterns, Based on the aforementioned new delivery route,A second process for calculating values of a plurality of evaluation metrics used in the multi-objective genetic algorithm, a third process for selecting an allocation pattern for performing a genetic operation from a plurality of the allocation patterns based on the values of the plurality of evaluation metrics for each of the plurality of the allocation patterns, and a fourth process for performing a genetic operation on the selected allocation pattern to generate a new allocation pattern are repeatedly executed.

Advantages of the Invention

[0010] According to the present invention, when an additional delivery order is received after generating a delivery route, a new delivery route can be generated efficiently and at high speed. Problems, configurations, and effects other than those described above will be clarified by the description of the following embodiments.

Brief Description of the Drawings

[0011] [Figure 1] It is a diagram showing a configuration example of the system of Example 1. [Figure 2] It is a diagram showing a configuration example of a computer constituting the delivery management system of Example 1. [Figure 3] It is a diagram showing an example of the data structure of shipper information of Example 1. [Figure 4] It is a diagram showing an example of the data structure of carrier information of Example 1. [Figure 5] It is a diagram showing an example of the data structure of base information of Example 1. <​​​​​​​​​​​​​​ [Figure 11] This flowchart shows an example of the provisional delivery route determination process performed by the delivery management system of Example 1. [Figure 12] This figure shows an example of a delivery route generated by the delivery management system of Example 1. [Figure 13] This flowchart shows an example of the evaluation metric selection process performed by the delivery management system in Example 1. [Figure 14] This flowchart shows an example of the provisional delivery route determination process performed by the delivery management system in Example 2. [Figure 15] This figure shows an example of a delivery route generated by the delivery management system of Example 2. [Figure 16] This flowchart shows an example of the provisional delivery route determination process performed by the delivery management system in Example 2. [Figure 17] This figure shows an example of a delivery route generated by the delivery management system of Example 2. [Modes for carrying out the invention]

[0012] The embodiments of the present invention will be described below with reference to the drawings. However, the present invention is not to be construed as being limited to the embodiments described below. It will be readily apparent to those skilled in the art that the specific configuration can be modified without departing from the spirit or intent of the present invention.

[0013] In the configuration of the invention described below, identical or similar components or functions are denoted by the same reference numerals, and redundant descriptions are omitted.

[0014] The designations "First," "Second," "Third," etc., used in this specification are for the purpose of identifying constituent elements and do not necessarily limit their number or order.

[0015] The positions, sizes, shapes, and ranges of each component shown in the drawings, etc., may not represent the actual positions, sizes, shapes, and ranges, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, and ranges, etc., disclosed in the drawings, etc.

[0016] Examples of various types of information may be described using terms such as "table," "list," and "queue," but these types of information may also be represented by other data structures. For example, various types of information such as "XX table," "XX list," and "XX queue" may be referred to as "XX information." When describing identification information, terms such as "identification information," "identifier," "name," "ID," and "number" are used, and these terms are interchangeable. [Examples]

[0017] Figure 1 shows an example of the system configuration of Example 1. Figure 2 shows an example of the computer configuration that makes up the delivery management system of Example 1.

[0018] The system consists of a delivery management system 100 and terminals 101. The delivery management system 100 and terminals 101 are connected to each other via a network 102 such as a LAN and WAN. The network connection method may be either wired or wireless. Also, there may be two or more terminals 101.

[0019] Terminal 101 is a terminal operated by a user of the delivery management system 100. Terminal 101 can be, for example, a computer, a smartphone, or a tablet device. For example, the user uses terminal 101 to input delivery routes and delivery orders.

[0020] The delivery management system 100 generates and updates delivery route groups based on delivery order groups. In Example 1, the delivery management system 100 maintains information on existing delivery routes and accepts additional delivery orders. Information on existing delivery routes may be generated by the delivery management system 100 based on pre-entered delivery orders, or it may be entered by a user.

[0021] Here, the delivery route includes the route a single vehicle takes to load and unload locations, as well as the details of the delivery work. The delivery order includes the loading locations and unloading locations.

[0022] The delivery management system 100 consists of a computer 200 as shown in Figure 2. The computer 200 has a processor 201, main memory 202, secondary memory 203, and a network interface 204. Each hardware element is connected to the others via a bus. The computer 200 may also have input devices such as a keyboard, mouse, and touch panel, and output devices such as a display and printer.

[0023] The processor 201 executes the program stored in the main memory 202. By executing processing according to the program, the processor 201 operates as a functional unit (module) that realizes a specific function. In the following description, when the processing is described with a functional unit as the subject, it indicates that the processor 201 is executing the program that realizes that functional unit.

[0024] The main memory 202 is a storage device such as DRAM (Dynamic Random Access Memory) and stores the program executed by the processor 201 and the data used by the program. The main memory 202 is also used as a work area. The secondary memory 203 is a storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores data permanently.

[0025] The program and data stored in the main memory 202 may also be stored in the secondary memory 203. In this case, the processor 201 reads the program and data from the secondary memory 203 and loads them into the main memory 202.

[0026] The delivery management system 100 includes a delivery route generation unit 110 and a data management unit 111. The delivery management system 100 also holds shipper information 120, delivery company information 121, base information 122, delivery route information 123, and delivery order information 124.

[0027] The delivery route generation unit 110 generates and updates delivery routes. The data management unit 111 manages various types of data. The functional units of the delivery management system 100 may be combined into a single functional unit, or a single functional unit may be divided into multiple functional units according to its function.

[0028] Shipper information 120 is information for managing shippers. Delivery company information 121 is information for managing delivery companies. Base information 122 is information for managing bases where loading and unloading takes place. Delivery route information 123 is other-purpose information for managing delivery routes generated or updated by the delivery route generation unit 110. Delivery order information 124 is information for managing delivery orders.

[0029] The delivery management system 100 may consist of one computer 200 or two or more computers. Furthermore, the functional units may be implemented using physical computers 200, or they may be implemented using virtual computers and virtual components such as containers.

[0030] Figure 3 shows an example of the data structure of the shipper information 120 in Example 1.

[0031] The consignor information 120 stores entries that include the consignor ID 301 and name 302. There is one entry for each consignor. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.

[0032] The Shipper ID 301 is a field that stores the shitter's identification information. The Name 302 is a field that stores the shitter's name.

[0033] Figure 4 shows an example of the data structure of the delivery company information 121 in Example 1.

[0034] The carrier information 121 stores entries that include the carrier ID 401 and name 402. There is one entry for each carrier. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.

[0035] Delivery carrier ID 401 is a field that stores the identification information of the delivery carrier. Name 402 is a field that stores the name of the delivery carrier.

[0036] Figure 5 shows an example of the data structure of the location information 122 in Example 1.

[0037] Location information 122 stores an entry containing location ID 501, name 502, latitude 503, and longitude 504. There is one entry for each location. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.

[0038] Location ID 501 is a field that stores the location's identification information. Name 502 is a field that stores the location's name. Latitude 503 is a field that stores the location's latitude. Longitude 504 is a field that stores the location's longitude.

[0039] Figure 6 shows an example of the data structure of the delivery route information 123 in Example 1.

[0040] The delivery route information 123 stores entries that include route ID 601, delivery company ID 602, order ID 603, shipper ID 604, departure point ID 605, arrival point ID 606, and type 607. There is one entry for each operation of the delivery business. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.

[0041] Route ID 601 is a field that stores identification information for the delivery route. Delivery Carrier ID 602 ​​is a field that stores identification information for the delivery carrier. Delivery Carrier ID 602 ​​stores the identification information managed in Delivery Carrier Information 121.

[0042] Order ID 603 is a field that stores the identification information of the additional delivery order. A value is stored in Order ID 603 only for entries added based on the additional delivery order. Shipper ID 604 is a field that stores the identification information of the shipper who placed the additional delivery order. Shipper ID 604 stores the identification information managed in Shipper Information 120.

[0043] Base ID (Departure) 605 is a field that stores the identification information of the departure base. Base ID (Arrival) 606 is a field that stores the identification information of the arrival base. Each of Base ID (Departure) 605 and Base ID (Arrival) 606 stores the identification information managed in Base Information 122. Note that in the case of entries for operations corresponding to loading and unloading, a value is stored only in Base ID (Departure) 605, and Base ID (Arrival) 606 is left blank. In the case of entries for operations corresponding to movement, Base ID (Departure) 605 stores the identification information of the departure base, and Base ID (Arrival) 606 stores the identification information of the arrival base.

[0044] Type 607 is a field that stores the type of work performed in delivery operations. Type 607 can store one of the following: "Loading," "Unloading," or "Moving." Other values ​​may also be stored.

[0045] Figure 7 shows an example of the data structure of the delivery order information 124 in Example 1.

[0046] The delivery order information 124 stores an entry that includes the order ID 701, shipper ID 702, loading base ID 703, and unloading base ID 704. There is one entry for each delivery order. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.

[0047] Order ID 701 is a field that stores the identification information of the additional delivery order. Shipper ID 702 is a field that stores the identification information of the shipper who placed the additional delivery order. Shipper ID 702 stores the identification information managed in Shipper Information 120.

[0048] Base ID (Loading) 703 is a field that stores identification information for the base where loading takes place. Base ID (Unloading) 704 is a field that stores identification information for the base where unloading takes place. Each of Base ID (Loading) 703 and Base ID (Unloading) 704 stores identification information managed in Base Information 122.

[0049] Figure 8 is a flowchart showing an example of the delivery route update process performed by the delivery management system 100 of Example 1.

[0050] When the delivery management system 100 receives an execution request that includes an additional delivery order, it starts the delivery route update process described below.

[0051] The delivery management system 100 performs a delivery order assignment pattern search process based on a multi-objective genetic algorithm (step S101).

[0052] The allocation pattern search process for delivery orders is a process for searching for an allocation pattern that is a Pareto optimal solution from among the allocation patterns representing the allocation of additional delivery orders to the delivery route. Here, the Pareto optimal solution is a solution such that, in order to improve the value of a certain evaluation index (objective function), it is necessary to deteriorate the value of at least one other evaluation index.

[0053] In Example 1, the following are considered as evaluation indices. (Index 1) Total travel distance (Index 2) Variance of profit (Index 3) Average vehicle occupancy rate (Index 4) Locations of changes in the delivery plan

[0054] Index 1 can be calculated, for example, using the Euclidean distance between bases. Index 2 can be calculated using the profit value for each delivery route. Index 3 can be calculated using the travel distance for each delivery route and the travel distance in the empty load state. Index 4 can be calculated using the number of delivery orders assigned for each delivery route.

[0055] In Example 1, NSGA-II, which is one of the multi-objective genetic algorithms, is used. NSGA-II is an algorithm that searches for the Pareto optimal solution in the following procedure using the parent population P t+1 and the parent population Q t used for search by genetic operations. t is a variable representing the generation. Note that the number of individuals in each parent population is assumed to be N. (Step 1) Combine the parent population P t and the parent population Q t to generate the parent population R t ​​​​​​​​​​​​By adding to the population, congestion sort is performed on individuals of rank whose population size is greater than N. Furthermore, a predetermined number of individuals are added based on the degree of congestion, and the population P is sorted. t+1 Generates. (Step 3) Population P t+1 By performing a congestion tournament selection on the population Q, individuals are selected, and genetic manipulation (crossover, mutation) is performed on the selected individuals. t+1 Generates. (Step 4) If the termination condition is met, the process ends. If the termination condition is not met, return to Step 1.

[0056] When determining the assignment of delivery orders to delivery routes, strictly speaking, the delivery order within the assigned delivery route must also be considered. However, the sheer number of possible delivery order combinations for delivery routes results in high computational costs. Therefore, the delivery management system 100 tentatively determines new delivery routes for delivery routes to which additional delivery orders have been assigned, by determining the delivery order based on a predetermined algorithm. This reduces computational costs.

[0057] The delivery management system 100 performs a delivery order search process for the delivery routes to which delivery orders are assigned, based on the assignment pattern that is the Pareto optimal solution (step S102).

[0058] The delivery order search process is a process for finding the optimal delivery order for a given delivery order and generating a new delivery route. The delivery order search process uses known techniques such as construction methods or brute-force methods.

[0059] Figure 9 is a flowchart showing an example of the order assignment process performed by the delivery management system 100 of Embodiment 1.

[0060] The delivery management system 100 initializes the computational database (not shown) used by the multi-objective genetic algorithm (step S201).

[0061] The delivery management system 100 generates an initial allocation pattern (step S202). The initial allocation pattern may be generated randomly or based on past allocation performance. Embodiment 1 is not limited to the method of generating the initial allocation pattern.

[0062] In Example 1, the assignment pattern is treated as an individual in a multi-objective genetic algorithm. Here, the genotype representation R of the assignment pattern is defined as an array of k elements, where k represents the number of delivery orders. Each element of the array stores identification information for a delivery route. For example, if k is 3, the representation R=(3, 1, 1) represents an assignment pattern where delivery order "1" is assigned to delivery route "3", and delivery orders "2" and "3" are assigned to delivery route "1".

[0063] The delivery management system 100 generates population P1 and population Q1 from multiple assignment patterns. The delivery management system 100 stores population P1 and population Q1 in the calculation database.

[0064] The delivery management system 100 starts the generation loop processing (step S203). Specifically, the delivery management system 100 adds 1 to the variable t representing the generation, and also to the population P t and population Q t Combine the population R t Generates.

[0065] The delivery management system 100 executes the evaluation value calculation process (step S204). In the evaluation value calculation process, values ​​for multiple evaluation indicators are calculated for each individual. Details of the evaluation value calculation process will be explained using Figure 10.

[0066] The delivery management system 100 performs non-superiority sort and congestion sort on the population P t+1 The system generates (steps S205, S206). The delivery management system 100 generates the population P t+1The results are stored in the calculation database. The delivery management system 100 also stores the rank and the values ​​of each evaluation index calculated in the non-superiority sort and congestion sort in the calculation database. Note that in Example 1, the fast non-superiority sort is used.

[0067] The delivery management system 100 is based on the population P t+1 The evaluation indicator selection process is performed on the population P (step S207). t+1 For each individual included in the set, an evaluation index is selected to be used in the process of determining the delivery route. The details of the evaluation index selection process are explained using Figure 13. In the following explanation, the evaluation index selected by the evaluation index selection process will be referred to as the base evaluation index.

[0068] The delivery management system 100 is based on the population P t+1 By using crowding tournament selection and performing genetic operations (crossover and mutation), the population Q t+1 Generate (step S208). The delivery management system 100 generates population Q t+1 Save the result to the calculation database.

[0069] In Example 1, the delivery management system 100 associates the base evaluation index associated with the parent individual with the child individual and stores it. This controls the provisional delivery route determination process described later. In the case of crossover, the base evaluation index with the higher sort rank among the base evaluation indices of the two parent individuals, i.e., the base evaluation index that is expected to have a greater effect in reducing congestion, is associated with the child individual.

[0070] The delivery management system 100 determines whether the termination condition is met (step S209).

[0071] If the termination conditions are not met, the delivery management system 100 returns to step S203. If the termination conditions are met, the delivery management system 100 terminates the order assignment process.

[0072] Figure 10 is a flowchart showing an example of the evaluation value calculation process performed by the delivery management system 100 of Example 1.

[0073] The delivery management system 100 starts loop processing of individual items (step S301). Specifically, the delivery management system 100 processes the population R t Select one individual from among them.

[0074] The delivery management system 100 identifies the base evaluation index for the selected individual (step S302). In Example 1, one base evaluation index is associated with the individual during the evaluation index selection process. In step S302, the delivery management system 100 identifies the base evaluation index associated with the individual.

[0075] The delivery management system 100 decodes individual items into data (phenotype) that can be handled on a per-delivery route basis (step S303). This allows processing to be performed on a per-delivery route basis to which a delivery order has been assigned.

[0076] The delivery management system 100 refers to the calculation database to determine whether the value of the evaluation index for the selected individual has already been calculated (step S304). Specifically, the delivery management system 100 determines whether a calculation result exists in the calculation database that is associated with the value of the evaluation index and has the same combination of delivery route and delivery order.

[0077] If the value of the evaluation index for the selected individual has already been calculated, the delivery management system 100 retrieves the value of the evaluation index from the calculation DB (step S305) and proceeds to step S309.

[0078] If the evaluation index value for the selected individual has not been calculated, the delivery management system 100 performs a provisional delivery route determination process based on the base evaluation index (step S306). In this process, new delivery routes are generated for delivery routes to which delivery orders have been assigned. Delivery routes to which no delivery orders have been assigned remain unchanged. A detailed explanation of the provisional delivery route determination process is provided in Figure 11.

[0079] The delivery management system 100 calculates the value of the evaluation index for the selected individual based on the results of the provisional delivery route determination process (step S307). Since all delivery routes are determined by the provisional delivery route determination process, the value of the evaluation index can be calculated. Note that the determination of the delivery routes is temporary.

[0080] The delivery management system 100 registers the calculation result, which associates the selected individual with the value of the evaluation index, into the calculation DB (step S308), and then proceeds to step S309.

[0081] In step S309, the delivery management system 100 determines whether processing has been completed for all individuals (step S309).

[0082] If processing is not complete for all individuals, the delivery management system 100 returns to step S301. If processing is complete for all individuals, the delivery management system 100 terminates the evaluation value calculation process.

[0083] By storing the calculation results in a calculation database, the process of calculating the evaluation index values ​​for the same individual can be omitted. This reduces computational costs.

[0084] Figure 11 is a flowchart showing an example of the provisional delivery route determination process performed by the delivery management system 100 of Example 1. Figure 12 is a diagram showing an example of a delivery route generated by the delivery management system 100 of Example 1.

[0085] The delivery management system 100 starts loop processing of the delivery routes to which the delivery order has been assigned (step S401). Specifically, the delivery management system 100 selects one delivery route from among the delivery routes to which the delivery order has been assigned.

[0086] The delivery management system 100 generates a new delivery route by inserting the combination of loading and unloading locations included in the delivery order into the route between any of the locations included in the delivery route (step S402).

[0087] For example, consider the case where a loading point B6 and an unloading point B7 are inserted into a delivery route whose delivery sequence is B1, B2, B3, B4, B1, as shown in Figure 12. In this case, three delivery routes are generated.

[0088] The delivery management system 100 calculates the value of the base evaluation index for the new delivery route (step S403). Note that in the first generation, no base evaluation index is selected, so the base evaluation index specified by the user is used.

[0089] The delivery management system 100 selects a delivery route with a good evaluation from among the new delivery routes based on the value of the base evaluation index (step S404). For example, the delivery route with the lowest value of the base evaluation index is selected.

[0090] The delivery management system 100 determines whether processing has been completed for all delivery routes to which delivery orders have been assigned (step S405).

[0091] If processing is not complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 returns to step S401. If processing is complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 terminates the provisional delivery route determination process and proceeds to step S307.

[0092] The method shown in Figure 11 has the advantage of low computational cost required to generate new delivery routes. However, it may generate delivery routes with long total travel distances or routes with low vehicle utilization rates.

[0093] Figure 13 is a flowchart showing an example of the evaluation indicator selection process performed by the delivery management system 100 of Example 1.

[0094] The delivery management system 100 starts a loop processing of the ranks assigned by the non-superiority sort (step S501). Specifically, the delivery management system 100 selects one rank. Here, it is assumed that ranks "1" and below are selected in order.

[0095] The delivery management system 100 starts a loop of evaluation indicators for individuals belonging to the selected rank (step S502). Specifically, the delivery management system 100 selects one evaluation indicator from among several evaluation indicators.

[0096] The delivery management system 100 sorts the individuals belonging to the selected rank based on the value of the selected evaluation index (step S503). For example, they are sorted in ascending order of evaluation index. In this case, "1" indicates the highest sort rank.

[0097] The delivery management system 100 stores the sorting results in the calculation database (step S504). Specifically, the delivery management system 100 stores the selected evaluation indicator and sorting rank in the calculation database, associating them with each individual item.

[0098] The delivery management system 100 determines whether processing has been completed for all evaluation indicators (step S505).

[0099] If processing for all evaluation metrics is not complete, the delivery management system 100 returns to step S502.

[0100] Once processing is complete for all evaluation indicators, the delivery management system 100 starts loop processing for individual items (step S506). Specifically, the delivery management system 100 selects one individual item from among those belonging to the selected rank.

[0101] The delivery management system 100 selects a base evaluation index that ensures diversity among the selected individuals based on the sorting results of each evaluation index of the selected individuals (step S507). Specifically, the delivery management system 100 selects the evaluation index with the highest sort rank as the base evaluation index. In other words, the evaluation index that reduces congestion is selected as the base evaluation index. If there are multiple evaluation indexes with high sort ranks, it is possible to define a priority order for the evaluation indexes.

[0102] The delivery management system 100 stores the information of the base evaluation index in the calculation database, associating it with the individual (step S508).

[0103] The delivery management system 100 determines whether processing has been completed for all individuals belonging to the selected rank (step S509).

[0104] If processing is not complete for all individuals belonging to the selected rank, the delivery management system 100 returns to step S506.

[0105] If processing is completed for all individuals belonging to the selected rank, the delivery management system 100 determines whether processing has been completed for all ranks (step S510).

[0106] If processing is not complete for all ranks, the delivery management system 100 returns to step S501. If processing is complete for all ranks, the delivery management system 100 terminates the evaluation metric selection process.

[0107] In this invention, the delivery management system 100 selects an evaluation index that is expected to reduce congestion as a base evaluation index, and makes a provisional determination of the delivery route based on the base evaluation index. This enables efficient and high-speed calculations.

[0108] As described above, the delivery management system 100 of Example 1 determines the assignment of delivery orders to delivery routes by provisionally determining the delivery routes, and then optimizes the delivery order for the delivery routes to which delivery orders have been assigned. Therefore, it can significantly reduce computational costs compared to regenerating all delivery routes while considering the delivery order.

[0109] Furthermore, in genetic manipulation, by passing on the base evaluation index of the parental individual to the offspring, it is possible to control the provisional determination of the delivery route for the next generation based on the base evaluation index that is expected to reduce congestion. [Examples]

[0110] In Example 2, the process for determining the delivery route differs from that in Example 1. Below, we will explain Example 2, focusing on the differences from Example 1.

[0111] The system configuration of Example 2 is the same as that of Example 1. The functional configuration of the delivery management system 100 in Example 2 is the same as that of Example 1. The data structure of the information managed by the delivery management system 100 in Example 2 is the same as that of Example 1. Furthermore, the processing flow executed by the delivery management system 100 in Example 2 is the same as that of Example 1.

[0112] In Example 2, the process for determining the delivery route differs from that in Example 1. Two types of processes will be described here.

[0113] Figure 14 is a flowchart showing an example of the provisional delivery route determination process performed by the delivery management system 100 of Example 2. Figure 15 is a diagram showing an example of a delivery route generated by the delivery management system 100 of Example 2.

[0114] The delivery management system 100 starts loop processing of the delivery routes to which the delivery order has been assigned (step S601). Specifically, the delivery management system 100 selects one delivery route from among the delivery routes to which the delivery order has been assigned.

[0115] The delivery management system 100 generates a new delivery route for the delivery order assigned to the selected delivery route by inserting the combination of loading and unloading locations included in the delivery order into the route connecting the departure point and the next point of the delivery route (step S602).

[0116] For example, consider the case shown in Figure 15 where a delivery route has a delivery order of base B1, base B2, base B3, base B4, base B1, and then inserts two delivery orders: one including loading base B6 and unloading base B7, and another including loading base B11 and unloading base B12. In this case, two delivery routes are generated.

[0117] The delivery management system 100 calculates the value of the base evaluation index for the new delivery route (step S603). Note that in the first generation, no base evaluation index is selected, so the base evaluation index specified by the user is used.

[0118] The delivery management system 100 selects a delivery route with a good evaluation from among the new delivery routes based on the value of the base evaluation index (step S604). For example, the delivery route with the lowest value of the base evaluation index is selected.

[0119] The delivery management system 100 determines whether processing has been completed for all delivery routes to which delivery orders have been assigned (step S605).

[0120] If processing is not complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 returns to step S601. If processing is complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 terminates the provisional delivery route determination process and proceeds to step S307.

[0121] The method shown in Figure 14 has the advantage of low computational cost required to generate new delivery routes. However, it may generate delivery routes with long total travel distances or routes with low vehicle utilization rates.

[0122] Figure 16 is a flowchart showing an example of the provisional delivery route determination process performed by the delivery management system 100 of Example 2. Figure 17 is a diagram showing an example of a delivery route generated by the delivery management system 100 of Example 2.

[0123] The delivery management system 100 starts loop processing of the delivery routes to which the delivery order has been assigned (step S701). Specifically, the delivery management system 100 selects one delivery route from among the delivery routes to which the delivery order has been assigned.

[0124] The delivery management system 100 generates a new delivery route for the delivery order assigned to the selected delivery route by inserting the loading locations included in the delivery order into the route connecting the departure point and the next point of the delivery route, and by inserting the unloading locations included in the delivery order into the route connecting the final point and the previous point of the delivery route (step S702).

[0125] For example, consider the case shown in Figure 17 where a delivery route has a delivery order of base B1, base B2, base B3, base B4, base B1, and then a delivery order including loading base B6 and unloading base B7, and another delivery order including loading base B11 and unloading base B12 are inserted. In this case, four delivery routes are generated.

[0126] The delivery management system 100 calculates the value of the base evaluation index for the new delivery route (step S703). Note that in the first generation, no base evaluation index is selected, so the base evaluation index specified by the user is used.

[0127] The delivery management system 100 selects a delivery route with a good evaluation from among the new delivery routes based on the value of the base evaluation index (step S704). For example, the delivery route with the lowest value of the base evaluation index is selected.

[0128] The delivery management system 100 determines whether processing has been completed for all delivery routes to which delivery orders have been assigned (step S705).

[0129] If processing is not complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 returns to step S701. If processing is complete for all delivery routes to which delivery orders have been assigned, the delivery management system 100 terminates the provisional delivery route determination process and proceeds to step S307.

[0130] The method shown in Figure 16 has the advantage of efficiently loading and unloading cargo and generating delivery routes with a high vehicle utilization rate. However, it may generate delivery routes with long total travel distances.

[0131] The delivery management system 100 may present methods for provisionally determining delivery routes and allow users to select one. Alternatively, the method for provisionally determining delivery routes may be switched depending on the base evaluation metrics.

[0132] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. Furthermore, for example, the embodiments described above are detailed explanations of the configuration in order to clearly illustrate the present invention, and are not necessarily limited to those having all the configurations described. In addition, some of the configurations in each embodiment can be added to, deleted from, or replaced with other configurations.

[0133] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, in whole or in part, for example, by designing them as integrated circuits. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.

[0134] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Python, and Java (registered trademark).

[0135] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.

[0136] In the above-described embodiment, the control lines and information lines shown are those deemed necessary for explanation and do not necessarily represent all control lines and information lines in the actual product. All components may be interconnected. [Explanation of Symbols]

[0137] 100 Delivery Management Systems 101 terminals 102 Network 110 Delivery Route Generation Unit 111 Data Management Department 120 Shipper Information 121 Delivery Carrier Information 122 Location Information 123 Delivery Route Information 124 Delivery Order Information 200 calculator 201 Processor 202 Main storage 203 Secondary storage device 204 Network Interfaces

Claims

1. It is a delivery management system, A computer comprising at least one computer having a processor, memory connected to the processor, and a network interface connected to the processor, It maintains information on multiple delivery routes, The aforementioned at least one computer is It consists of a combination of loading and unloading points, and accepts multiple delivery orders. Based on a multi-objective genetic algorithm, a plurality of assignment patterns representing the assignment of the delivery order to the delivery route are generated, and a first search process is executed to search for the assignment pattern that is the Pareto optimal solution from among the plurality of assignment patterns. For the assignment pattern that is a Pareto optimal solution, a second search process is executed to search for a new delivery order for the delivery route to which the delivery order has been assigned. The first search process is, For each of the multiple assignment patterns, a first process is performed to provisionally determine a new delivery route by inserting the loading and unloading points that constitute the delivery order into the movement route defined by the delivery route to which the delivery order is assigned. A second process for each of the multiple assignment patterns, which calculates values ​​for multiple evaluation metrics used in the multi-objective genetic algorithm based on the new delivery route, A third process of selecting the assignment pattern to perform genetic manipulation from the multiple assignment patterns based on the values ​​of the multiple evaluation indicators for each of the multiple assignment patterns, A fourth process involves performing genetic manipulation on the selected assignment pattern to generate a new assignment pattern, A delivery management system characterized by its repeated execution.

2. A delivery management system according to claim 1, The first search process includes a fifth process for selecting a base evaluation index, which is the evaluation index used in the first process, for each of the plurality of assignment patterns. The first process is, A sixth process for generating multiple new delivery routes, A seventh process for calculating the value of the base evaluation index for each of the multiple new delivery routes, A delivery management system characterized by including an eighth process of selecting a new delivery route to be used when calculating the values ​​of the multiple evaluation indicators based on the values ​​of the base evaluation indicators.

3. A delivery management system according to claim 2, The fifth process is, A ninth process in which, for each of the aforementioned multiple evaluation indicators, the multiple assignment patterns are sorted in ascending order of the value of the evaluation indicator, A delivery management system characterized by including a tenth process of selecting the evaluation index with the highest sorting rank for each of the plurality of assignment patterns as the base evaluation index for the assignment pattern.

4. A delivery management system according to claim 2, The delivery management system is characterized in that the fourth process includes a process of associating the base evaluation index of the parent assignment pattern with the child assignment pattern.

5. A delivery management system according to claim 2, The first process is, The process of selecting the delivery route to which the delivery order has been assigned, A delivery management system characterized by including a process for generating a new delivery route by inserting a combination of loading and unloading locations included in the delivery order into a route connecting one of the locations included in the travel route defined by the selected delivery route.

6. A delivery management system according to claim 2, The first process is, The process of selecting the delivery route to which the delivery order has been assigned, A delivery management system characterized by including a process for generating a new delivery route by inserting the combination of loading locations and unloading locations included in the delivery order into the route connecting the departure location and the next location included in the travel route defined by the selected delivery route.

7. A delivery management system according to claim 2, The first process is, The process of selecting the delivery route to which the delivery order has been assigned, A delivery management system characterized by including a process of generating a new delivery route by inserting the loading locations included in the delivery order into the route connecting the departure point and the next point included in the travel route defined by the selected delivery route, and inserting the unloading locations included in the delivery order into the route connecting the final point and the previous point included in the travel route defined by the selected delivery route.

8. A method for generating delivery routes performed by a delivery management system, The aforementioned delivery management system is A computer comprising at least one computer having a processor, memory connected to the processor, and a network interface connected to the processor, It maintains information on multiple delivery routes, The method for generating the aforementioned delivery route is: The first step involves at least one computer receiving multiple delivery orders, each consisting of a set of loading and unloading points. A second step involves at least one computer generating a plurality of assignment patterns representing the assignment of the delivery order to the delivery route based on a multi-objective genetic algorithm, and performing a first search process to search for the assignment pattern that is the Pareto optimal solution from among the plurality of assignment patterns. The third step includes the at least one computer performing a second search process to search for a new delivery order of the delivery routes to which the delivery orders are assigned, for the assignment pattern that is a Pareto optimal solution, In the second step described above, at least one computer, For each of the multiple assignment patterns, the steps include: provisionally determining a new delivery route by inserting the loading and unloading points that constitute the delivery order into the travel route defined by the delivery route to which the delivery order is assigned; For each of the multiple assignment patterns, the steps include calculating values ​​for multiple evaluation metrics used in the multi-objective genetic algorithm based on the new delivery route, A step of selecting the assignment pattern to perform the genetic manipulation on from the multiple assignment patterns based on the values ​​of the multiple evaluation indicators for each of the multiple assignment patterns, The steps include: performing genetic manipulation on the selected assignment pattern to generate a new assignment pattern; A method for generating delivery routes, characterized by repeatedly performing the following steps.