Computer-readable recording medium storing information processing program, information processing method, and information processing apparatus

The information processor uses the column generation method to generate routes that meet specific conditions and generate route selection problems for solving them. This solves the problem that existing VRP solution systems are difficult to apply to other variants, and realizes efficient solutions to the settings of unknown problems.

CN119623785APending Publication Date: 2025-03-14FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411022270.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-12
Filing Date
2024-07-29
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The existing Vehicle Route Problem (VRP) solution systems are difficult to apply to other variants of VRP, resulting in the need of high levels of human resources and sufficient time periods to develop the solution system at a time, and it is unrealistic.

Method used

It provides an information processing program to generate routes that meet specific conditions through the column generation method, and generate route selection problems to solve them to output the solution results of the route selection problem.

Benefits of technology

It can effectively solve vehicle route problems (VRP) set by even unknown problems, and improve the universality and efficiency of understanding the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119623785A_ABST
    Figure CN119623785A_ABST
Patent Text Reader

Abstract

The invention relates to a computer-readable recording medium storing an information processing program, an information processing method, and an information processing apparatus. A non-transitory computer-readable recording medium stores an information processing program for causing a computer to execute processing including: when a plurality of moving bodies starting from a specific node pass through a plurality of nodes and return to the specific node; generating a route satisfying a plurality of newly set conditions related to the route from a set of a plurality of routes by applying a column generation method to the set of the plurality of routes indicating an order in which the plurality of mobile bodies access the node; generating a routing problem by using the generated route; the generated route selection problem is solved; and outputting a solution result of the route selection problem.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments discussed herein relate to a non-transitory computer-readable recording medium storing an information processing program or the like for solving a vehicle routing problem. Background Art

[0002] The vehicle routing problem (hereinafter referred to as VRP) is a problem of obtaining a route for delivering a package from a specific point called a warehouse by a plurality of mobile bodies (e.g., transport vehicles) and returning to the warehouse. VRP is one of the representative problems of combinatorial optimization problems, and is actively studied from the classic VRP to the VRP in the real world. It is not uncommon for the VRP in the real world to include a problem setting specific to each delivery company, and there are various variations.

[0003] Previously, in order to cope with various variants of VRP, work was performed for each VRP to develop a solution system based on a specific problem setting preset in the VRP.

[0004] Japanese Patent Application Publication No. 2021-165196 is disclosed as a related art. Summary of the invention

[0005] Technical issues

[0006] Although solution systems for various vehicle routing problems have been studied throughout the world, the solution systems that have been studied are each dedicated to a specific object VRP and are difficult to apply to other variations of VRP.

[0007] For example, in the case of a company that provides VRP solution systems to delivery companies that want to solve VRP, even if the solution system can be developed, it requires a high level of human resources and sufficient time each time, which is unrealistic from the perspective of business scale.

[0008] In one aspect, an object of the embodiment is to provide an information processing program, an information processing method, and an information processing device capable of solving even a VRP with an unknown problem setting.

[0009] Solution to the problem

[0010] According to an aspect of an embodiment, there is provided a non-transitory computer-readable recording medium storing an information processing program for causing a computer to execute processing, the processing comprising: in a case where a plurality of moving bodies starting from a specific node pass through a plurality of nodes and return to the specific node, by applying a column generation method to a set of a plurality of routes indicating the order in which the plurality of moving bodies visit the nodes, generating a route satisfying a plurality of newly set conditions related to the route according to a set of the plurality of routes; generating a route selection problem by using the generated routes; solving the generated route selection problem; and outputting a solution result of the route selection problem.

[0011] Advantageous Effects of the Invention

[0012] Embodiments may solve vehicle routing problems (VRP) even with unknown problem settings. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a flowchart showing the processing procedure of the column generation method;

[0014] Figure 2 is a flow chart showing the processing procedure of a local search;

[0015] Figure 3 is a flowchart showing a processing procedure of the information processing device according to the present embodiment;

[0016] Figure 4 is a functional block diagram showing the configuration of an information processing device according to the present embodiment;

[0017] Figure 5 is a diagram showing an example of a data structure of a vehicle routing problem (VRP) general form database (DB);

[0018] Figure 6 is a diagram for describing an example of processing of a generation unit; and

[0019] Figure 7 : is a diagram showing an example of the hardware configuration of a computer that realizes functions similar to those of the information processing apparatus of the embodiment. DETAILED DESCRIPTION

[0020] Hereinafter, embodiments of the information processing program, information processing method, and information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the present disclosure is not limited to the embodiments.

[0021] [Implementation Method]

[0022] (Representative problem setting of VRP in the real world)

[0023] Before describing the present embodiment, a representative problem setting of a vehicle routing problem (VRP) in the real world will be described. For example, the simplest definition of a VRP is indicated as Definition A1.

[0024] Definition A1: Multiple transport vehicles depart from a specific point called a warehouse and return to the warehouse via customers. The order in which the transport vehicles pass is called a route, and the requested packages are delivered to each customer. The optimization problem is to obtain a route that satisfies all requests and minimizes the total travel distance of the corresponding route.

[0025] Even in the case of simply being referred to as VRP, the VRP may include capacity constraints of transport vehicles and upper limit constraints on the number of transport vehicles, and the objective function (function desired to be minimized) may be a function related to the travel time or number of transport vehicles. In the present embodiment, a problem setting such as a capacity constraint is appropriately referred to as an "attribute". VRP in the real world includes various attributes. Hereinafter, examples of representative attributes will be described.

[0026] Capacity (C): Each transport vehicle needs to have a total load size equal to or less than the maximum load capacity.

[0027] Heterogeneous Fleet (HF): handles multiple types of transport vehicles with different maximum load capacities etc.

[0028] Return trip (B): Deliver the package from the warehouse to the customer, pick up the package from the customer on the way back to the warehouse, and return to the warehouse.

[0029] Time Window (TW): A time frame within which a delivery or pickup is given and within which the delivery or pickup needs to be performed.

[0030] Multiple Depots (MD): There are multiple warehouses and the transport vehicle can depart from any of the multiple warehouses.

[0031] Multi-trip (MT): You can temporarily return to the warehouse and set off again with the package.

[0032] Split Delivery(SD): For one customer, split delivery can be performed.

[0033] Pickup and Delivery (PD): Picking up a package while visiting a customer and delivering the package to another customer.

[0034] Time Dependent (TD): To account for road congestion, the travel time between points depends on the time zone of the day.

[0035] In the following description, for example, the attribute “Time-Windows” may be abbreviated as the attribute “TW.” In addition to the travel distance and travel time of the transport vehicle, a fixed cost that varies depending on the type of transport vehicle may also be considered as a frequently occurring objective function.

[0036] (VRP General Form)

[0037] Subsequently, the VRP general form will be described. In the information processing device according to the present embodiment, the attributes of the VRP to be solved and basic information such as the travel time between the corresponding nodes are given as input. The nodes correspond to points such as warehouses or customers. The VRP solved by the information processing device is internally referred to as the VRP general form. In order to define the VRP general form, each of "task", "route constraint", "transport vehicle quantity constraint", "route cost" and "travel time calculation method" is defined. In the following description, the information processing device according to the present embodiment is referred to as "information processing device 100".

[0038] The definition of "task" will be described. A task is represented as a collection of information about the work of picking up and delivering a package. For example, a task includes the following information. * Pickup Node: the node that picks up the package, * Delivery Node: the node that delivers the package, * Priority: the priority associated with the task, * Load Vector: a vector associated with the load, indicating the type, quantity, etc. of the package, * Pickup Time Frame: the time frame associated with the pickup of the package, * Delivery Time Frame: the time frame associated with the delivery of the package, and * Split Possibility: whether the delivery can be split.

[0039] In the simplest VRP, all packages are picked up at the warehouse and delivered to customers. For example, in the case of considering attribute PD, packages are delivered from customers to different customers. In the case of attribute B, there are two types of packages: packages delivered from the warehouse to customers, and packages picked up from customers on the way back to the warehouse. In real-world VRP, there are cases where multiple attributes are mixed, and one of the purposes of introducing the concept of tasks is to flexibly express them as optimization problems in the same framework.

[0040] Next, the definition of "route constraints" will be described. Route constraints are constraints for each route that are independent of other routes. Note that a route generally refers to the order in which transport vehicles visit, and here, it is assumed that the route also includes constraints related to information such as departure and arrival times and the amount of load accompanying the route. Route constraints in actual work include, for example, constraints related to the time required to return to the warehouse, constraints related to the different travel times of each type of transport vehicle, constraints related to nodes that need to be visited before returning to the warehouse, etc.

[0041] Next, the definition of the "transport vehicle quantity constraint" will be described. For example, given a positive integer k and a condition related to transport vehicles, the transport vehicle quantity constraint is a constraint that the number of transport vehicles satisfying the condition is equal to or less than k or equal to k. For example, the following constraints correspond to the transport vehicle quantity constraint. * A constraint related to the number of specific transport vehicles available, * A constraint related to the upper limit of the total number of transport vehicles, and * A constraint related to the number of transport vehicles that can travel long distances.

[0042] Next, the definition of "route cost" will be described. The cost that can be defined for a route is referred to as route cost. For example, route cost includes fixed costs that depend on the travel time and travel distance of the route, the type of transport vehicle, etc.

[0043] Next, the definition of "travel time calculation method" will be described. The travel time calculation method is a calculation method related to the travel time between two arbitrary nodes (edges). In the simplest VRP, the travel time of each edge is uniquely determined. In the case of considering road congestion, the travel time calculation method is determined based on the start time of the starting node of the edge.

[0044] Next, the definition of the VRP general form will be described. For example, the definition of the VRP general form is indicated as definition B1.

[0045] Definition B1: The following optimization problem is called the general form of VRP. * A plurality of transport vehicles departing from a specific node called a warehouse pass through another node and return to the warehouse again (warehouse departure-arrival constraint), * One or more types of transport vehicles with different sizes, departure nodes (warehouses), etc. are available, * All packages of tasks are picked up and delivered, and * Each task is assigned to a transport vehicle, and the following constraints related to the task (task constraints) b-1, b-2, b-3 and b-4 are satisfied.

[0046] b-1: The transport vehicle passes through the pickup node and then passes through the delivery node.

[0047] b-2: In the case where a package associated with a task with priority p is picked up, a task with a priority higher than priority p may not be picked up thereafter, and furthermore, a task with a priority lower than priority p may not be picked up unless the delivery of the task with priority p assigned to the transport vehicle is completed.

[0048] b-3: Constraints related to pickup time frame and delivery time frame.

[0049] b-4: When splitting is not possible, one transport vehicle is required to perform pickup and delivery at a time. * For each transport vehicle, determine the possibility of temporary return to the warehouse. * For each transport vehicle's route, satisfy the route constraints included in the given route constraint set. * For all transport vehicles' routes, satisfy the transport vehicle quantity constraints included in the given transport vehicle quantity constraint set. * Calculate the travel time between any two nodes based on the travel time calculation method. * Given the route cost functions f1, ..., f2 of the route r, n and positive parameters λ1, ..., λ n In the case of , a set R of routes satisfying all constraints that minimizes the objective function F(R) indicated in expression (1) is obtained.

[0050] [Expression 1]

[0051]

[0052] Note that representative properties using the simplest VRP description can be expressed in VRP general form as follows.

[0053] Capacity (C): can be expressed as a route constraint, and the load amount is included in the information about the task.

[0054] Heterogeneous Fleet (HF): an attribute indicating that the VRP handles a problem setting of multiple types of transport vehicles. As described above, the VRP general form is able to handle multiple types of transport vehicles, and thus the VRP general form has the attribute HF.

[0055] Return (B): An attribute indicating a problem setting that includes delivering a package from a warehouse to a customer, collecting the package from the customer on the way back to the warehouse, and returning to the warehouse. The problem setting of attribute B can be represented by setting the priority of the tasks in the VRP general form. Therefore, the VRP general form includes attribute B.

[0056] Time Window (TW): can be expressed similarly to attribute C.

[0057] Multiple Depots (MD): An attribute of a problem setting indicating that there are multiple depots and the transport vehicle departs from any of the multiple depots. In the VRP general form, the problem setting with the attribute MD can be represented by setting the type of vehicle to be transported for each depot. Therefore, the VRP general form includes the attribute MD.

[0058] Multi-Trip (MT): As mentioned above, the VRP general form is able to take into account temporary returns to a depot, and therefore the VRP general form includes the attribute MT.

[0059] Split Delivery (SD): The VRP general form can set whether each task is split, and therefore the VRP general form includes the attribute SD.

[0060] Pickup and Delivery (PD): The VRP general form can set a pickup node and a delivery node for each task, and therefore the VRP general form includes an attribute PD.

[0061] Time Dependent (TD): A problem setting with attribute TD can be represented by defining the travel time calculation method based on the departure time of the edge source nodes. Therefore, the VRP general form includes attribute TD.

[0062] The information processing device 100 solves the VRP general form. Since the VRP general form can add attributes corresponding to route constraints, transport vehicle quantity constraints, and route costs, there is a possibility that the VRP general form can be applied to various variations of the VRP.

[0063] (Route Generation Method of the Present Embodiment)

[0064] Subsequently, the route generation method of the information processing device 100 will be described. The information processing device 100 adopts a column generation method to generate a route that satisfies the warehouse departure-arrival constraint, the task constraint, and all route constraints based on the VRP general form. In addition, the information processing device 100 selects a route that minimizes the objective function to satisfy other constraints from the generated routes.

[0065] <Route selection problem>

[0066] Before describing the column generation method, the route selection problem used in this embodiment is formulated. First, the following contents are defined.

[0067] *The generated route set is represented by R.

[0068] * The cost of a route r∈R is defined as in Expression (2). The description related to λ and f is similar to that related to λ and f in the above description.

[0069] [Expression 2]

[0070]

[0071] *The set of tasks that can be split-delivered is denoted by S, and the set of other tasks is denoted by T.

[0072] *The load type set is represented by M.

[0073] * The load type j∈M of task i∈S is given by b ij Indicates. *a ijr(i∈S∪T; j∈M; r∈R) is defined as in Expression (3). In Expression (3), "ow" represents "otherwise".

[0074] [Expression 3]

[0075]

[0076] * In the transport vehicle quantity constraint, the set of upper constraints is represented by U, and the upper limit number of transport vehicles is represented by u t (t∈U) represents. *d tr (t∈U; r∈R) is defined as in expression (4a).

[0077] [Expression 4a]

[0078]

[0079] * In the transport vehicle constraint, the set of equality constraints is denoted by E, and the number of transport vehicles is denoted by e t (t∈E) represents. *g tr (t∈E; r∈R) is defined as in expression (4b).

[0080] [Expression 4b]

[0081]

[0082] In this embodiment, for each route r∈R, an integer variable x is introduced indicating the number of vehicles using the route (the number of vehicles using the corresponding route). r At this time, the route selection problem is formulated by expression (5). Note that it is assumed that x included in expression (5) r Expressions (5a), (5b), (5c), (5d), and (5e) are satisfied.

[0083] [Expression 5]

[0084]

[0085] [Expression 5a]

[0086]

[0087] [Expression 5b]

[0088]

[0089] [Expression 5c]

[0090]

[0091] [Expression 5d]

[0092]

[0093] [Expression 5e]

[0094]

[0095] When solving the route selection problem, the information processing device 100 r Under the conditions of Expression (5a) to Expression (5e), ​​search for x that minimizes the value of Expression (5). r Note that in x r When the value of is 0, the corresponding route is excluded from the route to be adopted. r1 When the value of is 0, it indicates that route r1 is not adopted.

[0096] <Column Generation Method for VRP General Form>

[0097] Subsequently, a column generation method for the VRP general form will be described. Assuming that all routes that satisfy the constraint conditions can be listed, the optimal solution of the VRP general form can be obtained by solving the route selection problem. However, from the viewpoint that the memory of the information processing device 100 and the scale of the route selection problem become large, it is not realistic to list all routes.

[0098] In fact, since inefficient routes are also included in all routes, the purpose of the column generation method is to generate only useful routes. The goal of the column generation method is to obtain the optimal value of the linear relaxation problem of the route selection problem when all routes are listed. It is known from experience that the set of routes generated to obtain the optimal solution of the linear programming problem is excellent in configuring the optimal solution of the original route selection problem.

[0099] <Processing of column generation method>

[0100] Here, an example of a processing procedure of the column generation method performed by the information processing device 100 will be described. Figure 1 is a flowchart showing the processing procedure of the column generation method. Figure 1 As shown, the information processing device 100 obtains the initial value of the route set R specified by the user (step S10). The information processing device 100 generates a reduced cost minimization problem by solving the dual problem of the linear relaxation problem of the route selection problem for the route set R (step S11).

[0101] The information processing device 100 solves the reduction cost minimization problem (step S12). When the objective function value of the obtained solution is negative (step S13, yes), the information processing device 100 adds the route corresponding to the obtained solution to the route set R (step S14), and proceeds to step S11.

[0102] On the other hand, in the case where the objective function value of the obtained solution is non-negative (step S13, No), the information processing device 100 outputs the route set R (step S15).

[0103] because Figure 1 The linear relaxation problem in step S11 is a linear programming problem, so it can be solved at high speed by using an existing solver. On the other hand, the reduction cost minimization problem in step S12 is not an easy problem because it is necessary to obtain a route that minimizes the reduction cost and satisfies the warehouse departure-arrival constraints, task constraints, and all route constraints.

[0104] Therefore, the information processing device 100 applies local search to the reduced cost minimization problem to obtain a solution. For example, the information processing device 100 performs the following described Figure 2 The processing as Figure 1 The processing in step S12.

[0105] <Local Search Process>

[0106] Figure 2 FIG. 1 is a flowchart showing the processing procedure of a local search. Figure 2 As shown, the initial route r0 satisfying the constraint conditions C (warehouse departure-arrival constraint, task constraint and route constraint) is given to the information processing device 100, and r:=r0 is set (step S20). For example, in step S20, the initial route r0 is set to the value of the variable indicating the route r.

[0107] The information processing device 100 sets a route set R' in which a task is assigned to the route r (step S21). The information processing device 100 selects a first route from among the routes included in the route set R' as a route that satisfies the constraint condition C and minimizes the value of the objective function g() of the reduction cost minimization problem, and sets the selected first route as the route r' (i.e., r'∈R') (step S22).

[0108] The information processing device 100 selects a node v other than the warehouse from among the nodes (step S23). The information processing device 100 sets a route r obtained by adding the node v to the access node of the route r. v (Step S24). The information processing device 100 is set to vA set of routes R' to which a task is assigned v (Step S25).

[0109] The information processing device 100 selects, from among the routes included in the set of routes R' v a second route that is a route that satisfies the constraint condition C and minimizes the value of the objective function g() of the problem of minimizing the reduced cost, and sets the selected second route as the route r' v (i.e., r' v ∈R') (Step S26).

[0110] When g(r') > g(r' v ), the information processing device 100 sets r':= r' v (Step S27). For example, in Step S27, the value of the variable indicating the route r' is set to the route r'. When all nodes other than the warehouse have not been selected (Step S28, No), the information processing device 100 proceeds to Step S23. On the other hand, when all nodes other than the warehouse have been selected (Step S28, Yes), the information processing device 100 proceeds to Step S29. v

[0111] When g(r) < g(r') is not satisfied (Step S29, No), the information processing device 100 sets r := r' (Step S30) and proceeds to Step S21. On the other hand, when g(r) < g(r') is satisfied (Step S29, Yes), the information processing device 100 outputs the route r (Step S31).

[0112] Here, the information processing device 100 includes a route constraint determination unit, a transport vehicle number condition determination unit, a route cost calculation unit, and a travel time calculation unit, and uses the route constraint determination unit, the transport vehicle number condition determination unit, the route cost calculation unit, and the travel time calculation unit to process the VRP including unexpected attributes.

[0113] Figure 2 The route constraint determination unit checks for violations of the constraint conditions of the route constraints. For example, the route constraint determination unit is used in the process described in Step S22 of . The route constraint determination unit determines whether the route constraints included in the constraint condition C are satisfied.

[0114] Figure 2 The transport vehicle number condition determination unit performs condition determination of the transport vehicle number constraint. For example, in The transport vehicle quantity condition determination unit is used in the processing described in steps S22, S26, S27, S29. The transport vehicle quantity condition determination unit performs condition determination of the transport vehicle quantity constraint in the case of calculating the value of the objective function g() of the reduction cost minimization problem.

[0115] The route cost calculation unit calculates the cost of the route. For example, Figure 2 The route cost calculation unit is used in the processing described in steps S22, S26, and S27. The route cost calculation unit calculates the route cost in the case of calculating the value of the objective function g() of the reduced cost minimization problem.

[0116] The travel time calculation unit calculates the travel time of any edge (any two nodes) based on information about the order of visiting nodes, the task in charge, and the type of transport vehicle. For example, in the case where the travel time between two nodes is calculated by the travel time calculation unit, the travel time when traveling between all nodes is determined for each route (in the following description, referred to as the travel time of the route). The travel time of the route can be used to check the violation of the constraint condition of the route constraint, determine the condition of the transport vehicle number constraint, and calculate the route cost.

[0117] The relationship between the route constraint and the driving time of the route will be described. For example, in the attribute "route duration constraint", an upper limit is imposed on the driving time of the route. Therefore, in the case where the route constraint determination unit determines whether the route constraint is violated, the driving time of the route is used. For example, in the case where the vehicle may not be able to travel within the driving time, it can be determined that the route constraint is violated.

[0118] The relationship between the transport vehicle quantity constraint and the travel time of the route will be described. For example, in the case where the transport vehicle quantity condition determination unit performs condition determination of the transport vehicle quantity constraint (such as "the number of transport vehicles that allow the travel time of the route to be a predetermined time (8 hours) or more is equal to or less than 3"), the travel time of the route is used.

[0119] The relationship between the route cost and the travel time of the route will be described. The route cost calculation unit uses the travel time of the route in the case where the route cost depends on the travel time of the route. For example, when the route cost is the travel time of the route, the route cost depends on the travel time of the route. When the driver of the transport vehicle is paid by the hour, the route cost depends on the travel time of the route. For example, when the travel time of the route is 1.5 hours, the labor cost of the driver for two hours is the route cost.

[0120] <Processing Procedure of Information Processing Device 100 According to the Present Embodiment>

[0121] Subsequently, an example of a processing procedure of the information processing apparatus 100 according to the present embodiment will be described. Figure 3 1 is a flowchart showing the processing procedure of the information processing device according to the present embodiment. Figure 3 As shown, the information processing device 100 receives input of VRP data (step S101).

[0122] The information processing device 100 generates a VRP general form based on the input VRP data (step S102). The information processing device 100 generates a route by applying a column generation method to the VRP general form (step S103). For example, Figure 3 The processing in step S103 corresponds to the processing in reference Figure 1 Describe the process.

[0123] The information processing device 100 uses the generated route (corresponding to Figure 1 The route selection problem is generated by using the route set R in step S15 (step S104). For example, the generated route selection problem is indicated by the above-mentioned expression (5) and expressions (5a) to (5e).

[0124] The information processing device 100 solves the generated route selection problem (step S105). The information processing device 100 converts the solution result of the route selection problem into output data (step S106). The information processing device 100 outputs the output data (step S107).

[0125] <Configuration Example of Information Processing Device 100 According to the Present Embodiment>

[0126] Next, the execution reference will be described. Figure 3 The described process is a configuration example of the information processing device 100. Figure 4 1 is a functional block diagram showing the configuration of an information processing device according to the present embodiment. Figure 4 As shown, the information processing device 100 includes a communication unit 110 , an input unit 120 , a display unit 130 , a storage unit 140 , and a control unit 150 .

[0127] The communication unit 110 performs data communication with an external device or the like owned by a delivery company via a network. The communication unit 110 is a network interface card (NIC) or the like. For example, the communication unit 110 can receive VRP data 141 from the external device or the like.

[0128] The input unit 120 is an input device that inputs various types of information to the control unit 150 of the information processing device 100. For example, the input unit 120 corresponds to a keyboard, a mouse, a touch panel, etc. The user can input the solution parameter 143 and the like by operating the input unit 120.

[0129] The display unit 130 is a display device that displays information output from the control unit 150. For example, the display unit 130 displays output data of a solution result of a route selection problem.

[0130] The storage unit 140 includes VRP data 141, a VRP common form database (DB) 142, and solution parameters 143. The storage unit 140 is a memory or the like.

[0131] The VRP data 141 includes various types of data used in the VRP. For example, the VRP data 141 has data for each task, the travel time between nodes, the number of transport vehicles, and the route cost coefficient. In addition, the VRP data 141 includes the travel distance between nodes, the maximum load capacity, the problem setting flag, etc. The VRP data 141 may include additional programs for executing the route constraint determination unit 153, the transport vehicle quantity condition determination unit 154, the route cost calculation unit 155, and the travel time calculation unit 156 described later. For example, the VRP data 141 includes conditions related to a specific route of a delivery company. The conditions related to a specific route of a delivery company include conditions for determining whether the corresponding route satisfies the route constraint, conditions for determining whether the transport vehicle quantity condition is satisfied, the definition of the route cost, and data for calculating the travel time.

[0132] The VRP general form DB 142 stores data of a VRP general form (optimization problem) generated based on the VRP data 141. As described above, the VRP general form is defined in the definition B1.

[0133] Figure 5 : is a diagram showing an example of the data structure of the VRP general format DB. Figure 5 As shown, the VRP general form DB 142 associates names, data types, and values ​​with each other. Figure 5 The values ​​set in are initial values. For example, in the VRP general form DB 142, the number of vehicle types, travel time matrix, travel distance matrix, task data, route constraint set, transport vehicle number constraint set, travel time calculation method, route cost list, route cost coefficient list, and warehouse temporary return possibility records are set. The warehouse departure-arrival constraints indicated in definition B1 and the like are included in the VRP general form, but are not included in the VRP general form. Figure 5 Shown in.

[0134] The solution parameter 143 includes parameters such as a time limit. In a case where the time required for the solution exceeds the time limit set in the solution parameter 143, the information processing device 100 ends the solution.

[0135] Subsequently, the control unit 150 will be described. The control unit 150 includes an acquisition unit 151, a generation unit 152, a route constraint determination unit 153, a transport vehicle quantity condition determination unit 154, a route cost calculation unit 155, a travel time calculation unit 156, and a solution unit 157. The control unit 150 is a central processing unit (CPU), a graphics processing unit (GPU), or the like.

[0136] The acquisition unit 151 acquires the VRP data 141 from the external device or the like via the communication unit 110, and stores the acquired VRP data 141 in the storage unit 140. For example, the acquisition unit 151 receives a digital signal indicating the VRP data 141 from the external device via the communication unit 110, and acquires the VRP data from the received digital signal by decoding the received digital signal. The acquisition unit 151 acquires the solution parameter 143 from the input unit 120 or the like, and stores the solution parameter in the storage unit 140.

[0137] The generation unit 152 generates a VRP general form based on the VRP data 141. For example, the generation unit 152 changes an initial value of the VRP general form DB 142 based on the VRP data 141. Figure 6 is a diagram for describing an example of processing of a generation unit.

[0138] exist Figure 6 In the example shown, VRP data 141 associates names and values ​​with each other. For example, in VRP data 141, the value of the name "Problem setting flag: Route cost: Travel time" is "True". The value of the name "Problem setting flag: Route cost: Number of transport vehicles" is "True". The value of the name "Route cost coefficient: Travel time" is "1". The value of the name "Route cost coefficient: Number of transport vehicles" is "100". The value of the name "Add-on: Route cost: AddinCostExample1" is "Route cost defined by the user in the add-on". The value of the name "Route cost coefficient: AddinCostExample1" is "10". Although in Figure 6 Not shown in the figure, but the route cost problem setting flags include "driving distance" and "cost of each type of transport vehicle" in addition to "driving time" and "number of transport vehicles".

[0139] For example, the generation unit 152 updates the VRP data 141 as follows: Figure 6The initial value of the VRP general form DB 142 shown. For example, the generation unit 152 updates the value of the name "route cost list" in the VRP general form DB 142 to "(travel time, number of transport vehicles, AddinCostExample1)". The generation unit 152 sets the value of the name "route cost coefficient list" to "(1, 100, 10)".

[0140] For example, it is assumed that the generation unit 152 converts the initial value of the VRP general form DB 142 based on a preset conversion table (a rule for converting the value of the name of the VRP data 141 into a value corresponding to the name of the VRP general form DB 142). Here, a case has been described in which the generation unit 152 generates the VRP general form DB 142 based on the VRP data 141. However, the generation unit 152 may acquire data of the VRP general form having a set value from the input unit 120 or the like, and update the initial value of the VRP general form DB 142 based on the acquired data of the VRP general form.

[0141] The route constraint determination unit 153 checks the constraint violation of the route constraint. When the solution unit 157 solves the reduction cost minimization problem by local search, the route constraint determination unit 153 obtains the target route r from the solution unit 157 and determines whether the route r satisfies the route constraint set in the VRP general form DB 142. For example, Figure 2 The route constraint determination unit 153 is used in the process described in step S22 of FIG. The route constraint determination unit 153 outputs a determination result as to whether the route r satisfies the route constraint to the solution unit 157 .

[0142] The transport vehicle quantity condition determination unit 154 performs condition determination of the transport vehicle quantity constraint. When the solution unit 157 calculates the value of the objective function g() of the reduction cost minimization problem, the transport vehicle quantity condition determination unit 154 determines whether the value set to the objective function g() satisfies the transport vehicle quantity constraint set in the VRP general form DB 142. For example, Figure 2 The transport vehicle quantity condition determination unit 154 is used in the processing described in steps S22, S26, S27, S29 of FIG. The transport vehicle quantity condition determination unit 154 outputs a determination result as to whether the value set to the objective function g() satisfies the transport vehicle quantity constraint to the solution unit 157.

[0143] The route cost calculation unit 155 calculates the cost of the route. When the solution unit 157 calculates the value of the objective function g() of the reduction cost minimization problem, the route cost calculation unit 155 calculates the route cost based on the route cost list, route cost coefficient list, etc. set in the VRP general form DB 142. For example, Figure 2The route cost calculation unit 155 is used in the processing described in steps S22, S26, and S27. The route cost calculation unit 155 outputs the cost of the route to the solution unit 157.

[0144] The travel time calculation unit 156 calculates the travel time of any edge (any two nodes) according to the information about the order of the access nodes, the responsible tasks, and the types of transport vehicles set in the VRP general form DB 142. For example, in the case where the travel time between two nodes is calculated by the travel time calculation unit 156, the travel time (travel time of the route) when the travel is performed between all nodes is determined for each route. The travel time of the route calculated by the travel time calculation unit 156 is used for the route constraint determination unit 153 to check the violation of the constraint conditions of the route constraint, the transport vehicle quantity condition determination unit 154 to determine the condition of the transport vehicle quantity constraint, and the route cost calculation unit 155 to calculate the route cost. The travel time calculation unit 156 outputs the data of the travel time corresponding to the route to the route constraint determination unit 153, the transport vehicle quantity condition determination unit 154, and the route cost calculation unit 155.

[0145] The solution unit 157 specifies a route by performing the following processing of solving the VRP general form at a processor circuit such as a central processing unit. First, the solution unit 157 generates a route by applying a column generation method to the data of the VRP general form DB 142. For example, the solution unit 157 generates a route by performing a reference to Figure 1 The process described above is used to generate a route (route set R). The initial value of the route set R may be specified in advance, or a route starting from the warehouse, passing through a plurality of nodes and returning to the warehouse again may be randomly generated and set as the initial value of the route set R.

[0146] In solving Figure 1 In the case of the reduced cost minimization problem described in step S12, the solution unit 157 performs reference Figure 2The local search described. In the process of performing the local search, the solution unit 157 requests the route constraint determination unit 153 to check the constraint violation of the route constraint. In the process of performing the local search (such as the moment of calculating the value of the objective function g()), the solution unit 157 requests the transport vehicle quantity condition determination unit 154 to perform the condition determination of the transport vehicle quantity constraint. In the process of performing the local search, when calculating the value of the objective function g(), the solution unit 157 requests to calculate the cost of the route. In addition, in the process of performing the local search by the solution unit 157, the travel time calculation unit 156 calculates the travel time of the route based on the data set in the VRP general form DB 142, and outputs the travel time to the route constraint determination unit 153, the transport vehicle quantity condition determination unit 154 and the route cost calculation unit 155.

[0147] The solution unit 157 generates a route by a column generation method, and then generates a route selection problem based on the generated route. For example, the solution unit 157 formulates the route selection problem by expression (5).

[0148] The solution unit 157 solves the generated route selection problem. For example, when solving the route selection problem, the solution unit 157 solves the generated route selection problem at x r Search for an integer variable x that minimizes the value of expression (5) under the conditions of expressions (5a) to (5e). r The solution unit 157 sets x among the multiple routes generated by the column generation method in the route data list. r The output data is generated for the route where the value of does not become 0. For example, in x r1 When the value of is 0, the route r1 is not added to the route data list. Note that the data of the route included in the route data list includes the type of the assigned transport vehicle, the node access sequence, the node access time, the task load data, and the like.

[0149] The solution unit 157 outputs the route data list (output data) to the display unit 130. The solution unit 157 can notify the route data list to an external device or the like via the communication unit 110. Note that in the case of generating a routing problem and in the case of solving the routing problem, the solution unit 157 ends the solution if the time limit set in the solution parameter 143 is exceeded.

[0150] (Effect)

[0151] Next, the effect of the information processing device 100 according to the present embodiment will be described. The information processing device 100 applies the column generation method to the VRP general form DB 142, and generates a route that satisfies the conditions of the new setting of the route and minimizes the value of the objective function from a set of multiple routes. The information processing device 100 generates a route selection problem using the route generated by applying the column generation method, solves the route selection problem, and outputs the solution result. Therefore, even a VRP with an unknown problem setting can be solved.

[0152] In the case of generating a route by applying the column generation method, the information processing device 100 generates a route that satisfies the route constraint and minimizes the value of the objective function by using the route constraint determination unit 153. Therefore, even when a new route constraint is set in the VRP data 141, a route that satisfies the new route constraint can be generated.

[0153] In the case of generating a route by applying the column generation method, the information processing device 100 generates a route that minimizes the value of the objective function within the range of satisfying the transport vehicle number constraint by using the transport vehicle number condition determination unit 154. Therefore, even when a new transport vehicle number condition is set in the VRP data 141, a route satisfying the new transport vehicle number condition can be generated.

[0154] In the case of generating a route by applying the column generation method, the information processing device 100 generates a route that minimizes the value of the objective function by using the route cost calculation unit 155 and the route cost calculated by the route cost calculation unit 155. Therefore, even when a new definition of the route cost is set in the VRP data 141, an optimal route can be generated.

[0155] In the case of generating a route by applying the column generation method, the information processing device 100 performs determination as to whether the route constraint is satisfied, determination as to whether the transport vehicle number constraint is satisfied, and calculation of the route cost by using the travel time calculation unit 156 and the travel time calculated by the travel time calculation unit 156. Therefore, even when a new limitation of the travel time is set in the VRP data 141, an optimal route can be generated.

[0156] (Hardware Configuration)

[0157] Next, an example of a hardware configuration of a computer that realizes a function similar to that of the above-described information processing apparatus 100 will be described. Figure 7 : is a diagram showing an example of the hardware configuration of a computer that realizes functions similar to those of the information processing apparatus of the embodiment.

[0158] like Figure 7As shown, the computer 300 includes a CPU 301 that performs various types of arithmetic processing, an input device 302 that receives data input from a user, and a display 303. In addition, the computer 300 includes a communication device 304 that exchanges data with an external device or the like via a wired or wireless network, and an interface device 305. In addition, the computer 300 includes a random access memory (RAM) 306 that temporarily stores various types of information, and a hard disk device 307. In addition, each of the devices 301 to 307 is coupled to a bus 308.

[0159] The hard disk device 307 includes an acquisition program 307a, a generation program 307b, a determination and calculation program 307c, and a solution program 307d. The CPU 301 reads each of the programs 307a to 307d and expands the programs 307a to 307d in the RAM 306.

[0160] The acquisition program 307a serves as the acquisition process 306a. The generation program 307b serves as the generation process 306b. The determination and calculation program 307c serves as the determination and calculation process 306c. The solution program 307d serves as the solution process 306d.

[0161] The processing of the acquisition process 306a corresponds to the processing of the acquisition unit 151. The processing of the generation process 306b corresponds to the processing of the generation unit 152. The processing of the determination and calculation process 306c corresponds to the processing of the route constraint determination unit 153, the transport vehicle number condition determination unit 154, and the route cost calculation unit 155. The processing of the solution process 306d corresponds to the processing of the solution unit 157.

[0162] Note that each of the programs 307a to 307d does not have to be stored in advance in the hard disk device 307. For example, each of the programs is stored in a "portable physical medium" such as a floppy disk (FD), a compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a magneto-optical disk, or an integrated circuit (IC) card to be inserted into the computer 300. Then, the computer 300 can read and execute each of the programs 307a to 307d.

Claims

1. A non-transitory computer-readable recording medium storing an information processing program for causing a computer to execute a process, the process comprising: In a case where a plurality of moving bodies starting from a specific node pass through a plurality of nodes and return to the specific node, generating a route satisfying a plurality of newly set conditions from the set of a plurality of routes by applying a column generation method to a set of a plurality of routes indicating an order in which the plurality of moving bodies visit the nodes, the plurality of newly set conditions being related to the routes; generating a route selection problem by using the generated routes; Solving the generated route selection problem; as well as Output the solution result of the route selection problem.

2. The non-transitory computer-readable recording medium according to claim 1, wherein The plurality of newly set conditions include a route constraint indicating a constraint condition for each route, independent of another route, and In the process of generating the route, a route is generated that satisfies the route constraints and minimizes a value of an objective function related to the route.

3. The non-transitory computer-readable recording medium according to claim 2, wherein: The plurality of newly set conditions include a moving body number constraint related to the number of moving bodies passing through the route, and In the process of generating the route, a route is generated that minimizes the value of the objective function within a range that satisfies the moving body number constraint.

4. The non-transitory computer-readable recording medium according to claim 3, wherein: The plurality of newly set conditions include a limitation related to a cost of the route, and in the process of generating the route, a route that minimizes a value of the objective function is generated by using the cost of the route calculated based on the limitation.

5. The non-transitory computer-readable recording medium according to claim 4, wherein: The plurality of newly set conditions include a limitation on the travel time of the route, and In the process of generating the route, the route is generated by further using the cost of the route based on the travel time, the moving body quantity constraint based on the travel time, and the route constraint based on the travel time.

6. An information processing method implemented by a computer, the information processing method comprising: In a case where a plurality of moving bodies starting from a specific node pass through a plurality of nodes and return to the specific node, generating a route satisfying a plurality of newly set conditions from the set of a plurality of routes by applying a column generation method to a set of a plurality of routes indicating an order in which the plurality of moving bodies visit the nodes, the plurality of newly set conditions being related to the routes; generating a route selection problem by using the generated routes; Solving the generated route selection problem; as well as Output the solution result of the route selection problem.

7. An information processing device, comprising a control unit, the control unit being configured to perform a process, the process comprising: In a case where a plurality of moving bodies starting from a specific node pass through a plurality of nodes and return to the specific node, generating a route satisfying a plurality of newly set conditions from the set of a plurality of routes by applying a column generation method to a set of a plurality of routes indicating an order in which the plurality of moving bodies visit the nodes, the plurality of newly set conditions being related to the routes; generating a route selection problem by using the generated routes; Solving the generated route selection problem; as well as Output the solution result of the route selection problem.