Information processing program, information processing method, and information processing device
The information processing program uses a column generation method to generate adaptable VRP solutions, addressing the challenge of specialized solutions for specific VRP variations by enabling efficient handling of unknown problem settings.
Patent Information
- Application Number
- JP2023147780
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-12
- Publication Date
- 2025-03-25
AI Technical Summary
Existing solutions for the Vehicle Routing Problem (VRP) are specialized for specific problem settings and are difficult to adapt to other variations, requiring significant human resources and time.
An information processing program that employs a column generation method to generate routes that satisfy multiple conditions, including route constraints, vehicle number constraints, and cost definitions, allowing for the solution of VRPs with unknown problem settings.
Enables the efficient solution of VRPs with unknown problem settings, reducing the need for extensive human resources and time, and allowing for the adaptation of solutions to various VRP variations.
Smart Images

Figure 2025040766000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing program for solving a delivery plan problem. [Background technology]
[0002] The vehicle routing problem (hereinafter referred to as VRP) is a problem of determining a route for multiple moving objects, such as delivery vehicles, to deliver packages from a specific point called a depot and return to the depot. VRP is one of the representative combinatorial optimization problems, and has been actively researched from classical VRP to real-world VRP. Real-world VRPs often include problem settings unique to each delivery company, and there are many variations.
[0003] Conventionally, in order to deal with various variations in VRP, a solution-finding system is developed for each VRP based on the unique problem settings that are preset for the VRP. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2021-165196 A Summary of the Invention [Problem to be solved by the invention]
[0005] Research on solution systems for various vehicle delivery planning problems has been conducted around the world, but the solution systems that have been studied are specialized for the target VRP and are difficult to apply to other variations of VRP.
[0006] For example, when considering a business that provides a VRP solution-finding system to delivery companies that want to solve VRPs, even if it were possible to develop a solution-finding system each time, it would require highly skilled personnel and a sufficient amount of time, which is not realistic from the perspective of business scale.
[0007] In one aspect, the present invention has an object to provide an information processing program, an information processing method, and an information processing device that are capable of solving even a VRP with an unknown problem setting. [Means for solving the problem]
[0008] In the first proposal, a computer executes the following process: The computer applies a column generation method to a set of multiple routes that indicate the order in which multiple moving bodies visit nodes when they depart from a specific node and return to the specific node via multiple nodes, generates a route that satisfies multiple conditions for a newly set route from the set of multiple routes, generates a route selection problem using the generated route, solves the generated route selection problem, and outputs the solution result of the route selection problem. Effect of the Invention
[0009] The present invention can solve even VRPs with unknown problem formulations. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a flowchart showing the processing steps of the column generation method. [Diagram 2] FIG. 2 is a flowchart showing the processing procedure of the local search method. [Diagram 3] FIG. 3 is a flowchart illustrating a processing procedure of the information processing device according to the present embodiment. [Figure 4] FIG. 4 is a functional block diagram illustrating a configuration of an information processing device according to the present embodiment. [Diagram 5] FIG. 5 is a diagram showing an example of a data structure of the VRP general form DB. [Figure 6] FIG. 6 is a diagram for explaining an example of the process of the generation unit. [Figure 7] FIG. 7 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an information processing program, an information processing method, and an information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments. EXAMPLES
[0012] (Typical problem settings for VRP in the real world) Before describing this embodiment, a typical problem setting for VRP in the real world will be described. For example, the simplest definition of VRP is shown as Definition A1.
[0013] Definition A1: Multiple vehicles depart from a specific location called a depot, pass through customers, and return to the depot. The order in which the vehicles pass through is called a route, and they deliver the requested cargo to each customer. This is an optimization problem to find a route that satisfies all requirements and minimizes the total travel distance of each route.
[0014] Even when simply referred to as VRP, it may include vehicle capacity restrictions and upper limit restrictions on the number of vehicles, and the objective function (function to be minimized) may be a function related to travel time or the number of vehicles. In this embodiment, problem settings such as capacity restrictions are appropriately referred to as "attributes." VRPs in the real world include a wide variety of attributes. Below, an example of a representative attribute is shown.
[0015] Capacity (C): Each transporter must have a maximum load capacity, the total size of its cargo must not exceed the maximum capacity. Heterogeneous Fleet (HF): Handling multiple types of transport vehicles with different maximum loading capacities, etc. Backhauls (B): Delivers cargo from the depot to the customer, collects cargo from the customer on the way back to the depot, and returns to the depot. Time-Windows (TW): A time window is given for delivery or collection within which the delivery or collection must occur. Multiple Depots (MD): You can temporarily return to a depot, load up your luggage and depart again. Multi-Trips (MT): Can return to the depot temporarily, load up and depart again. Split Deliveries (SD): Deliveries can be split into multiple deliveries to a single customer. Pickup and Deliveries (PD): Picking up parcels when visiting a customer and delivering them to another customer. Time Dependent (TD): Travel time between points depends on the time of day to take into account road congestion.
[0016] In the following explanation, for example, the attribute "Time-Windows" may be abbreviated as "TW." A frequently used objective function may take into account fixed costs that differ depending on the type of vehicle, in addition to the travel distance and travel time of the vehicle.
[0017] (VRP general type) Next, the VRP general form will be described. In the information processing device according to this embodiment, the attributes of the VRP to be solved and basic information such as the travel time between each node are given as input. The nodes correspond to locations such as depots and customers. The VRP solved by the information processing device is internally called the VRP general form. In order to define the VRP general form, "task", "route constraint", "car number constraint", "route cost", and "travel time calculation method" are defined respectively. In the following description, the information processing device according to this embodiment will be referred to as "information processing device 100".
[0018] The definition of "task" is explained below. A task is the work of collecting and delivering packages. For example, a task includes the following information: * Collection node: A node that collects luggage. *Delivery node: A node that delivers packages. *Priority: Priority of the task, *Load vector: A vector related to load, which indicates the type and amount of luggage, etc. *Pickup Time Frame: The time frame for picking up your package; *Delivery Time Frame: The time frame for delivery of the package, *Can it be split?: Whether split delivery is possible.
[0019] In the simplest VRP, all packages are collected at the depot and delivered to the customer. For example, when considering attribute PD, packages are delivered from one customer to another. In the case of attribute B, there are two types of packages: delivered from the depot to the customer, and collected from the customer on the way back and returned to the depot. One of the purposes of introducing the concept of a task is to flexibly express cases in which multiple attributes are mixed in practical VRP as an optimization problem within the same framework.
[0020] Next, the definition of "route constraint" will be explained. A route constraint is a constraint condition for each route that is independent of other routes. Although a route generally refers to the order in which vehicles visit each route, here it is assumed to include constraint conditions related to information associated with the route, such as departure and arrival times and cargo volume. In practice, route constraints include, for example, constraint conditions related to the time when a vehicle must return to the depot, constraint conditions related to travel times that differ for each vehicle type, and constraint conditions related to nodes that must be visited before returning to the depot.
[0021] Next, we will explain the definition of "vehicle number constraint." For example, when a positive integer k and a condition related to vehicles are given, a vehicle number constraint is a constraint condition that the number of vehicles that satisfies the condition is less than or equal to k. For example, the following constraint condition corresponds to a vehicle number constraint. *Constraints on the availability of certain vehicles; *Constraints on the upper limit of the total number of transport vehicles, *Constraints on the number of vehicles capable of traveling long distances.
[0022] Next, we will explain the definition of "route cost." The cost that can be defined for one route is called the route cost. For example, route costs include fixed costs that depend on the travel time and distance of the route, and the type of vehicle used for transportation.
[0023] Next, we will explain the definition of "travel time calculation method." A travel time calculation method is a calculation method for the travel time between any two nodes (edges). In the simplest VRP, the travel time for each edge is uniquely determined. When road congestion is taken into consideration, the travel time calculation method is determined according to the departure time of the edge's starting node.
[0024] Next, we will explain the definition of the VRP general form. For example, the definition of the VRP general form is shown as Definition B1.
[0025] Definition B1: The following optimization problem is called the general form of VRP. *Multiple vehicles leaving a specific node called a depot pass through another node and return to the depot (depot arrival / departure constraint), *One or more types of transport vehicles with different sizes and departure nodes (depots) are available. * All tasks will be picked up and delivered. *Each task is assigned to a transport vehicle and satisfies the following task-related constraints (task constraints) b-1, b-2, b-3, and b-4. b-1: The transport vehicle passes through the collection node and then the delivery node. b-2: Once a shipment related to a task with priority p has been collected, no other tasks with a higher priority than p can be collected thereafter. In addition, no other tasks with a lower priority than p can be collected until the task with priority p assigned to the transport vehicle has been delivered. b-3: Constraints on collection and delivery time frames. b-4: If the goods cannot be divided, they must be collected and delivered at the same time using one transport vehicle. *Each transport vehicle is allowed or not allowed to temporarily return to the depot. *For each vehicle route, satisfy the route constraints contained in the given route constraint set. *For all vehicle routes, the vehicle number constraints included in the given vehicle number constraint set are satisfied. *The travel time between any two nodes is calculated based on the travel time calculation method. * Path cost functions f1,...,f for path r n and the positive parameters λ1, , λ n Given the above, we find a set R of routes that satisfies all constraints and minimizes the objective function F(R) shown in equation (1).
[0026]
number
[0027] The representative attributes explained in the simplest VRP can be expressed in the VRP general form as follows:
[0028] Capacity (C): This can be expressed as a route constraint, and the load is included in the task information. Heterogeneous Fleet (HF): A VRP that handles multiple types of vehicles and is supported. Backhauls (B): This can be achieved by setting task priorities. Time-Windows (TW): Can be expressed in the same way as attribute C. Multiple Depots (MD): This is addressed by treating departure nodes as different vehicle types. Multi-Trips (MT): This is addressed by defining for each transport vehicle whether or not it can temporarily return to the depot. Split Deliveries (SD): Task information can be set to indicate whether or not a task can be split. This can be set for each task. Pickup and Deliveries (PD): This is represented by setting pickup and delivery nodes for the task. Time Dependent (TD): Determines the travel time calculation method depending on the departure time of the starting node of the edge.
[0029] The information processing device 100 finds a solution for the general form of VRP. The general form of VRP can increase attributes corresponding to route constraints, vehicle number constraints, and route costs, and therefore may be applicable to various variations of VRP.
[0030] (Route Generation Approach of the Present Example) Next, a route generation approach of the information processing device 100 will be described. The information processing device 100 employs a column generation method and generates a route that satisfies depot departure / arrival constraints, task constraints, 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 from the generated routes so as to satisfy other constraint conditions.
[0031] <Route selection problem> Before explaining the column generation method, the route selection problem used in this embodiment will be formulated. First, the following is defined. *Let the generated route set be R. *The cost of a route r∈R is defined as in equation (2). The explanation for λ and f is the same as above.
number
number
number
number
[0032] In this embodiment, for each route r ∈ R, an integer variable x r In this case, the route selection problem is formulated by equation (5). Note that x r satisfies formula (5a), formula (5b), formula (5c), formula (5d), and formula (5e).
[0033]
number
number
number
number
number
number
[0034] When solving a route selection problem, the information processing device 100 r satisfies equations (5a) to (5e), find the value of x that minimizes equation (5). r Search for the value of x r If the value of x is 0, the route is excluded from the routes to be adopted. For example, r1 If the value of is 0, it indicates that the route r1 is not adopted.
[0035] <Column Generation Method for the General Form of VRP> Next, the column generation method for the general form of VRP will be described. If all the routes that satisfy the constraint conditions can be enumerated, the optimal solution for the general form of VRP can be obtained by solving the route selection problem. However, it is not realistic to enumerate all the routes from the viewpoints of the memory of the information processing apparatus 100 and the large scale of the route selection problem.
[0036] In reality, since all the routes include inefficient 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 the routes are enumerated. It is empirically known that the set of routes generated to obtain the optimal solution of the linear programming problem is excellent in constructing the optimal solution of the original route selection problem.
[0037] <Processing Procedure of Column Generation Method> Here, an example of the processing procedure of the column generation method executed by the information processing apparatus 100 will be described. FIG. 1 is a flowchart showing the processing procedure of the column generation method. As shown in FIG. 1, the information processing apparatus 100 acquires an initial value of a route set R designated by the user (step S10). The information processing apparatus 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).
[0038] The information processing apparatus 100 solves the reduced cost minimization problem (step S12). When the objective function value of the obtained solution is negative (step S13, Yes), the information processing apparatus 100 adds the route corresponding to the obtained solution to the route set R (step S14) and shifts to step S11.
[0039] On the other hand, when the objective function value of the obtained solution is not negative (step S13, No), the information processing apparatus 100 outputs the route set R (step S15).
[0040] The linear relaxation problem in step 11 in Fig. 1 is a linear programming problem, so it can be solved quickly by using an existing solver. On the other hand, the reduced cost minimization problem in step S12 is not an easy problem because it requires finding a route that minimizes the reduced cost and satisfies all route constraints, including depot departure / arrival constraints and task constraints.
[0041] For this reason, the information processing device 100 applies a local search method to the reduced cost minimization problem to obtain a solution. For example, the information processing device 100 executes the process of FIG. 2, which will be described below, as the process of step S12 in FIG.
[0042] <Local search method processing procedure> 2 is a flowchart showing a processing procedure of the local search method. As shown in FIG. 2, the information processing device 100 is given an initial route r0 that satisfies constraint conditions C (depot departure / arrival constraints, task constraints, and route constraints), and sets r:=r0 (step S20).
[0043] The information processing device 100 sets a route set R' in which one task is assigned to a route r (step S21). The information processing device 100 sets r'∈R' as a route in the route set R' that satisfies the constraint C and has the smallest value of the objective function g() of the reduced cost minimization problem (step S22).
[0044] The information processing device 100 selects a node v other than the depot from among the nodes (step S23). The information processing device 100 selects a route r by adding the node v to the visited nodes of the route r. v (Step S24). The information processing device 100 sets the route r v A set of routes R' that assigns one task to v is set (step S25).
[0045] The information processing device 100 calculates a route set R′ v The route that satisfies the constraint C and has the smallest value of the objective function g() of the reduced cost minimization problem is called r' v ∈R' (step S26).
[0046] The information processing apparatus 100 sets r':=r' when g(r')>g(r' v ) (step S27). If the information processing apparatus 100 has not selected all nodes other than the depot (step S28, No), it proceeds to step S23. On the other hand, if the information processing apparatus 100 has selected all nodes other than the depot (step S28, Yes), it proceeds to step S29. v
[0047] If g(r)<g(r') does not hold (step S29, No), the information processing apparatus 100 sets r:=r' (step S30) and proceeds to step S21. On the other hand, if g(r)<g(r') holds (step S29, Yes), it outputs the route r (step S31).
[0048] Here, the information processing apparatus 100 has a route constraint determination unit, a carrier number condition determination unit, a route cost calculation unit, and a travel time calculation unit, and uses the route constraint determination unit, the carrier number condition determination unit, the route cost calculation unit, and the travel time calculation unit to handle VRPs with unexpected attributes.
[0049] 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 FIG. 2. The route constraint determination unit determines whether the route constraints included in the constraint condition C are satisfied.
[0050] The carrier number condition determination unit performs a condition determination of the carrier number constraint. For example, the carrier number condition determination unit is used in the processes described in steps S22, S26, S27, and S29 of FIG. 2. The carrier number condition determination unit performs a condition determination of the carrier number constraint when the value of the objective function g() of the minimum reduced cost problem is calculated.
[0051] The route cost calculation unit calculates the cost of the route. For example, the route cost calculation unit is used in the processes described in steps S22, S26, and S27 of FIG. 2. The route cost calculation unit calculates the route cost when the value of the objective function g() of the minimum reduced cost problem is calculated.
[0052] The travel time calculation unit calculates the travel time for any edge (any two nodes) from information on the order of visited nodes, the tasks in charge, and the types of vehicles to be transported. For example, when the travel time for two nodes is calculated by the travel time calculation unit, the travel time required to travel all the nodes for each route (in the following explanation, this will be referred to as the travel time for the route). The travel time for the route may be used to check for violations of the constraint conditions for the route constraints, to determine the conditions for the constraints on the number of vehicles to be transported, and to calculate the route cost.
[0053] The relationship between route constraints and travel time for a route will be described. For example, the attribute "Route Duration Constraints" imposes an upper limit on the travel time for a route. Therefore, when the route constraint determination unit determines whether or not a route constraint is violated, the travel time for the route is used. For example, if a vehicle cannot move within the travel time, it may be determined that the route constraint is violated.
[0054] The relationship between the constraint on the number of vehicles and the travel time for the route will be described. For example, when the vehicle number condition determination unit performs condition determination for the constraint on the number of vehicles, such as "the number of vehicles that allows the travel time for the route to be longer than a predetermined time (8 hours) is 3 or less," the travel time for the route is used.
[0055] The relationship between route cost and travel time for a route will be described. When the route cost depends on the travel time for a route, the route cost calculation unit uses the travel time for the route. For example, when the route cost is the travel time for a route, the route cost depends on the travel time for the route. When the driver of the transport vehicle is paid on an hourly basis, the route cost depends on the travel time for the route. For example, if the travel time for a route is 1.5 hours, the labor cost of the driver for 2 hours becomes the route cost.
[0056] <Processing Procedure of Information Processing Device 100 According to the Present Embodiment> Next, an example of a processing procedure of the information processing device 100 according to the present embodiment will be described. Fig. 3 is a flowchart showing the processing procedure of the information processing device according to the present embodiment. As shown in Fig. 3, the information processing device 100 accepts an input of VRP data (step S101).
[0057] 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 path by applying a column generation method to the VRP general form (step S103). For example, the processing procedure of step S103 in FIG. 3 corresponds to the processing procedure described in FIG. 1.
[0058] The information processing device 100 generates a route selection problem by using the generated routes (corresponding to the route set R in step S15 in FIG. 1) (step S104). For example, the generated route selection problem is expressed by the above-mentioned formulas (5), (5a) to (5e).
[0059] 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).
[0060] <Configuration example of information processing device 100 according to this embodiment> Next, a configuration example of the information processing device 100 that executes the process described in Fig. 3 will be described. Fig. 4 is a functional block diagram showing the configuration of the information processing device according to the present embodiment. As shown in Fig. 4, the information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
[0061] The communication unit 110 executes data communication with an external device owned by a delivery company via a network. The communication unit 110 is a NIC (Network Interface Card) or the like. For example, the communication unit 110 may receive VRP data 141 from the external device or the like.
[0062] The input unit 120 is an input device that inputs various 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. A user may operate the input unit 120 to input the solution-finding parameters 143, etc.
[0063] 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 the solution result of the path selection problem.
[0064] The storage unit 140 includes VRP data 141, a VRP general form DB 142, and solution parameters 143. The storage unit 140 is a memory or the like.
[0065] The VRP data 141 includes various data used in the VRP. For example, the VRP data 141 includes data on each task, travel time between nodes, the number of vehicles, and a route cost coefficient. The VRP data 141 also includes travel distance between nodes, maximum load capacity, and problem setting flags. The VRP data 141 may include add-in programs for executing a route constraint determination unit 153, a number of vehicles condition determination unit 154, a route cost calculation unit 155, and a travel time calculation unit 156, which will be described later. For example, the VRP data 141 includes conditions related to routes unique to the delivery company. The conditions related to routes unique to the delivery company include conditions for determining whether the applicable route satisfies route constraints, conditions for determining whether the number of vehicles condition is satisfied, a definition of route costs, and data for calculating travel time.
[0066] The VRP general form DB 142 holds data of a VRP general form (optimization problem) generated based on the VRP data 141. The VRP general form is defined by definition B1 as described above.
[0067] FIG. 5 is a diagram showing an example of the data structure of the VRP general DB. As shown in FIG. 5, the VRP general DB 142 associates names, data types, and values. The values set in FIG. 5 are initial values. For example, the VRP general DB 142 is set with records of 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 depot temporary return possible / not possible. The depot departure / arrival constraints shown in definition B1 are included in the VRP general form, but are omitted from FIG. 5.
[0068] The solution finding parameters 143 include parameters such as a time limit, etc. When the time required for finding a solution exceeds the time limit set in the solution finding parameters 143, the information processing apparatus 100 ends the solution finding.
[0069] Next, we move on to an explanation of the control unit 150. The control unit 150 has an acquisition unit 151, a generation unit 152, a route constraint determination unit 153, a number of transport vehicles condition determination unit 154, a route cost calculation unit 155, a travel time calculation unit 156, and a solution finding unit 157. The control unit 150 is a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.
[0070] The acquisition unit 151 acquires VRP data 141 from an external device or the like via the communication unit 110, and stores the acquired VRP data 141 in the storage unit 140. The acquisition unit 151 acquires solution-finding parameters 143 from the input unit 120, etc., and stores them in the storage unit 140.
[0071] The generating unit 152 generates a VRP general form based on the VRP data 141. For example, the generating unit 152 changes an initial value of the VRP general form DB 142 based on the VRP data 141. Fig. 6 is a diagram for explaining an example of the process of the generating unit.
[0072] In the example shown in FIG. 6, the VRP data 141 associates names with values. For example, in the VRP data 141, the value for the name "problem setting flag: route cost: travel time" is "True". The value for the name "problem setting flag: route cost: number of transport vehicles" is "True". The value for the name "route cost coefficient: travel time" is "1". The value for the name "route cost coefficient: number of transport vehicles" is "100". The value for the name "add-in program: route cost: AddinCostExample1" is "route cost defined by the user in the add-in program". The value for the name "route cost coefficient: AddinCostExample1" is "10". Although not shown in FIG. 6, the problem setting flags for route cost include "travel time" and "number of transport vehicles", as well as "travel distance" and "cost by type of transport vehicle".
[0073] For example, the generating unit 152 updates the initial values of the VRP general DB 142 based on the VRP data 141, as shown in Fig. 6. For example, the generating unit 152 updates the value of the name "route cost list" to "(travel time, number of carriers, AddinCostExample1)" in the VRP general DB 142. The generating unit 152 sets the value of the name "route cost coefficient list" to "(1,100,10)".
[0074] For example, the generating unit 152 converts the initial value of the VRP general type DB 142 based on a preset conversion table (rules for converting values corresponding to names of the VRP data 141 into values corresponding to names of the VRP general type DB 142). Here, the generating unit 152 generates the VRP general type DB 142 based on the VRP data 141, but the generating unit 152 may obtain VRP general type data in which values have been set from the input unit 120 or the like, and update the initial value of the VRP general type DB 142 based on the obtained VRP general type data.
[0075] The route constraint determination unit 153 checks for violation of constraint conditions of route constraints. When the solution unit 157 solves the reduced cost minimization problem by the local search method, the route constraint determination unit 153 acquires a target route r from the solution unit 157 and determines whether the route r satisfies the route constraint set in the VRP general type DB 142. For example, the route constraint determination unit 153 is used in the process described in step S22 of FIG. 2. The route constraint determination unit 153 outputs the determination result of whether the route r satisfies the route constraint to the solution unit 157.
[0076] The number of vehicles condition determination unit 154 performs condition determination of the number of vehicles constraint. When the solution finding unit 157 calculates the value of the objective function g() of the reduced cost minimization problem, the number of vehicles condition determination unit 154 determines whether or not the value set in the objective function g() satisfies the number of vehicles constraint set in the VRP general type DB 142. For example, the number of vehicles condition determination unit 154 is used in the processes described in steps S22, S26, S27, and S29 of FIG. 2. The number of vehicles condition determination unit 154 outputs the determination result of whether or not the value set in the objective function g() satisfies the number of vehicles constraint to the solution finding unit 157.
[0077] The path cost calculation unit 155 calculates the cost of a path. When the solution finding unit 157 calculates the value of the objective function g() of the reduced cost minimization problem, the path cost calculation unit 155 calculates the path cost based on the path cost list, the path cost coefficient list, and the like set in the VRP general form DB 142. For example, the path cost calculation unit 155 is used in the processes described in steps S22, S26, and S27 of FIG. 2. The path cost calculation unit 155 outputs the cost of the path to the solution finding unit 157.
[0078] The travel time calculation unit 156 calculates the travel time of any edge (any two nodes) from the order of visited nodes, the assigned tasks, and the information on the transport vehicle type set in the VRP general DB 142. For example, when the travel time of two nodes is calculated by the travel time calculation unit 156, the travel time when moving through all the nodes for each route (travel time for the route) is determined. The travel time for the route calculated by the travel time calculation unit 156 is used for checking the violation of the constraint condition of the route constraint by the route constraint determination unit 153, for determining the condition of the transport vehicle number constraint by the transport vehicle number condition determination unit 154, and for calculating the route cost by the route cost calculation unit 155. The travel time calculation unit 156 outputs data on the travel time corresponding to the route to the route constraint determination unit 153, the transport vehicle number condition determination unit 154, and the route cost calculation unit 155.
[0079] The solution finding unit 157 identifies a route by solving the VRP general form by executing the following process. First, the solution finding unit 157 generates a route by applying a column generation method to the data in the VRP general form DB 142. For example, the solution finding unit 157 generates a route (route set R) by executing the process described in FIG. 1. The initial value of the route set R may be specified in advance, or a route starting from a depot, passing through multiple nodes, and returning to the depot again may be randomly generated and set as the initial value of the route set R.
[0080] When solving the reduced cost minimization problem described in step S12 of FIG. 1, the solution finding unit 157 executes the local search method described in FIG. 2. In the process of executing the local search method, the solution finding unit 157 requests the route constraint determination unit 153 to check for violation of the constraint conditions of the route constraint. In the process of executing the local search method (timing of calculating the value of the objective function g(), etc.), the solution finding unit 157 requests the number of vehicles condition determination unit 154 to determine the condition of the number of vehicles constraint. In the process of executing the local search method, the solution finding unit 157 requests the calculation of the cost of the route when calculating the value of the objective function g(). In addition, in the process of executing the local search method by the solution finding unit 157, the travel time calculation unit 156 calculates the travel time for the route based on the data set in the VRP general type DB 142, and outputs it to the route constraint determination unit 153, the number of vehicles condition determination unit 154, and the route cost calculation unit 155.
[0081] After generating a route by the column generation method, the solution finding unit 157 generates a route selection problem based on the generated route. For example, the solution finding unit 157 formulates the route selection problem by Equation (5).
[0082] The solution finding unit 157 solves the generated route selection problem. For example, when solving the route selection problem, the solution finding unit 157 calculates an integer variable x r satisfies equations (5a) to (5e), find the value of x that minimizes equation (5). r The solution finding unit 157 searches for the value of x r The output data is generated by setting the route whose value is not 0 in the route data list. For example, r1 If the value of is 0, the route r1 is not added to the route data list. The route data included in the route data list includes the assigned transport vehicle type, the node visiting order, the node visiting time, task load data, and the like.
[0083] The solution finding unit 157 outputs the route data list (output data) to the display unit 130. The solution finding unit 157 may notify an external device or the like of the route data list via the communication unit 110. Note that when generating a route selection problem or when solving a route selection problem, the solution finding unit 157 ends the solution finding if the time limit set in the solution finding parameters 143 is exceeded.
[0084] (effect) Next, the effect of the information processing device 100 according to the present embodiment will be described. The information processing device 100 applies a column generation method to the VRP general DB 142, and generates a route that satisfies the conditions of a newly set route and has a minimum value of an 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. This makes it possible to solve even a VRP with an unknown problem setting.
[0085] When the information processing device 100 generates a route by applying the column generation method, the information processing device 100 uses the route constraint determination unit 153 to generate a route that satisfies the route constraint and has a minimum value of the objective function. As a result, even if a new route constraint is set in the VRP data 141, a route that satisfies the new route constraint can be generated.
[0086] When generating a route by applying the column generation method, the information processing device 100 uses the number of vehicles condition determination unit 154 to generate a route that minimizes the value of the objective function within a range that satisfies the number of vehicles constraint. This makes it possible to generate a route that satisfies a new condition for the number of vehicles set in the VRP data 141.
[0087] When the information processing device 100 generates a route by applying the column generation method, the information processing device 100 uses the route cost calculation unit 155 to generate a route with a minimum objective function value by using the route cost calculated by the route cost calculation unit 155. This makes it possible to generate an optimal route even if a new route cost definition is set in the VRP data 141.
[0088] When applying the column generation method to generate a route, the information processing device 100 uses the travel time calculation unit 156 to determine whether or not the route constraints are satisfied, whether or not the vehicle number constraints are satisfied, and calculate the route cost, using the travel time calculated by the travel time calculation unit 156. This makes it possible to generate an optimal route even if a new travel time definition is set in the VRP data 141.
[0089] (Hardware configuration) Next, a description will be given of an example of a hardware configuration of a computer that realizes the same functions as the above-mentioned information processing device 100. Fig. 7 is a diagram showing an example of a hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.
[0090] 7, computer 300 includes CPU 301 for executing various arithmetic processes, input device 302 for receiving data input from a user, and display 303. Computer 300 also includes communication device 304 for transmitting and receiving data to and from external devices via a wired or wireless network, and interface device 305. Computer 300 also includes RAM 306 for temporarily storing various information, and hard disk device 307. Each of devices 301 to 307 is connected to bus 308.
[0091] The hard disk device 307 has an acquisition program 307a, a generation program 307b, a judgment and calculation program 307c, and a solution-finding program 307d. The CPU 301 reads out each of the programs 307a to 307d and loads them in the RAM 306.
[0092] The acquisition program 307a functions as an acquisition process 306a. The generation program 307b functions as a generation process 306b. The determination and calculation program 307c functions as a determination and calculation process 306c. The solution-finding program 307d functions as a solution-finding process 306d.
[0093] 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 number of vehicle condition determination unit 154, and the route cost calculation unit 155. The processing of the solution finding process 306d corresponds to the processing of the solution finding unit 157.
[0094] It is not necessary that each of the programs 307a to 307d is stored in the hard disk device 307 from the beginning. For example, each program may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 300. Then, the computer 300 may read and execute each of the programs 307a to 307d.
[0095] The following supplementary notes are further disclosed regarding the embodiments including the above examples.
[0096] (Supplementary Note 1) A route is generated when a plurality of moving bodies depart from a specific node and return to the specific node via a plurality of nodes, by applying a column generation method to a set of a plurality of the routes indicating an order in which the plurality of moving bodies visit the nodes, and a route that satisfies a plurality of conditions related to the newly set route is generated from the set of the plurality of routes; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing program that causes a computer to execute a process.
[0097] (Additional Note 2) The newly set multiple conditions include a route constraint indicating a constraint condition for each route that is independent of other routes, The information processing program according to claim 1, wherein the process of generating the route generates a route that satisfies the route constraints and minimizes the value of an objective function related to the route.
[0098] (Additional Note 3) The newly set conditions include a moving object number constraint regarding the number of moving objects passing through the route, The information processing program according to claim 2, wherein the process of generating the route generates a route in which the value of the objective function is minimized within a range that satisfies the constraint on the number of moving objects.
[0099] (Appendix 4) The information processing program according to appendix 3, characterized in that the newly set conditions include a definition regarding the cost of the route, and the process of generating the route uses the route cost calculated based on the definition to generate a route that minimizes the value of the objective function.
[0100] (Appendix 5) The newly set conditions include a definition of the travel time of the route, The information processing program described in Appendix 4, characterized in that the process of generating the route further utilizes a route cost based on the travel time, the number of moving objects constraint based on the travel time, and a route constraint based on the travel time to generate the route.
[0101] (Appendix 6) A route is generated when a plurality of moving bodies depart from a specific node and return to the specific node via a plurality of nodes, the route being a set of a plurality of routes indicating an order in which the plurality of moving bodies visit the nodes, and a route that satisfies a plurality of conditions related to the newly set route is generated from the set of the plurality of routes; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing method characterized in that the processing is executed by a computer.
[0102] (Appendix 7) The newly set multiple conditions include a route constraint indicating a constraint condition for each route that is independent of other routes, The information processing method according to claim 6, wherein the process of generating a route generates a route that satisfies the route constraints and minimizes the value of an objective function related to the route.
[0103] (Appendix 8) The newly set conditions include a moving object number constraint regarding the number of moving objects passing through the route, The information processing method according to claim 7, wherein the process of generating a route generates a route for which the value of the objective function is minimized within a range that satisfies the constraint on the number of moving objects.
[0104] (Appendix 9) The information processing method according to appendix 8, wherein the newly set conditions include a definition regarding the cost of the route, and the process of generating the route uses the route cost calculated based on the definition to generate a route that minimizes the value of the objective function.
[0105] (Appendix 10) The newly set conditions include a definition of the travel time of the route, The information processing method described in Appendix 9, characterized in that the process of generating the route further utilizes the route cost based on the travel time, the number of moving objects constraint based on the travel time, and the route constraint based on the travel time to generate the route.
[0106] (Appendix 11) A route is generated when a plurality of moving bodies depart from a specific node and return to the specific node via a plurality of nodes, by applying a column generation method to a set of a plurality of the routes indicating an order in which the plurality of moving bodies visit the nodes, and a route that satisfies a plurality of conditions related to the newly set route is generated from the set of the plurality of routes; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing device comprising a control unit for executing processing.
[0107] (Appendix 12) The newly set multiple conditions include a route constraint indicating a constraint condition for each route that is independent of other routes, The information processing device according to claim 11, wherein the process of generating a route generates a route that satisfies the route constraints and minimizes a value of an objective function related to the route.
[0108] (Additional Note 13) The newly set conditions include a moving object number constraint regarding the number of moving objects passing through the route, The information processing device according to claim 12, wherein the process of generating the route generates a route in which the value of the objective function is minimized within a range that satisfies the constraint on the number of moving objects.
[0109] (Appendix 14) The information processing device described in Appendix 13, characterized in that the newly set multiple conditions include a definition regarding the cost of the route, and the process of generating the route uses the route cost calculated based on the definition to generate a route that minimizes the value of the objective function.
[0110] (Appendix 15) The newly set conditions include a definition of the travel time of the route, The information processing device described in Appendix 14, characterized in that the process of generating the route further utilizes a route cost based on the travel time, the number of moving objects constraint based on the travel time, and a route constraint based on the travel time to generate the route. [Explanation of symbols]
[0111] 100 Information processing device 110 Communications Department 120 Input section 130 Display section 140 Storage section 141 VRP data 142 VRP general type DB 143 Solution parameters 150 Control section 151 Acquisition Department 152 Generation part 153 Route constraint determination unit 154 Number of transport vehicles condition determination unit 155 Route Cost Calculation Unit 156 Travel time calculation section 157 Solving part
Claims
1. applying a column generation method to a set of a plurality of routes, each of which indicates an order in which a plurality of moving bodies depart from a specific node and return to the specific node via a plurality of nodes, to generate, from the set of the plurality of routes, a route that satisfies a plurality of conditions related to the newly set route; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing program that causes a computer to execute a process.
2. the newly set multiple conditions include a route constraint indicating a constraint condition for each route that is independent of other routes; 2. The information processing program according to claim 1, wherein the process of generating a route generates a route that satisfies the route constraints and minimizes a value of the objective function related to the route.
3. the newly set conditions include a moving object number constraint regarding the number of moving objects passing through the route; 3. The information processing program according to claim 2, wherein the process of generating the route generates a route in which the value of the objective function is minimized within a range in which the constraint on the number of moving objects is satisfied.
4. The information processing program according to claim 3, characterized in that the newly set conditions include a definition regarding the cost of the route, and the process of generating the route uses the route cost calculated based on the definition to generate a route that minimizes the value of the objective function.
5. The newly set conditions include a definition of a travel time of the route, The information processing program according to claim 4, characterized in that the process of generating the route further utilizes a route cost based on the travel time, the number of moving objects constraint based on the travel time, and a route constraint based on the travel time to generate the route.
6. applying a column generation method to a set of a plurality of routes, each of which indicates an order in which a plurality of moving bodies depart from a specific node and return to the specific node via a plurality of nodes, to generate, from the set of the plurality of routes, a route that satisfies a plurality of conditions related to the newly set route; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing method characterized in that the processing is executed by a computer.
7. applying a column generation method to a set of a plurality of routes, each of which indicates an order in which a plurality of vehicles depart from a specific node and return to the specific node via a plurality of nodes, to generate a route from the set of the plurality of routes that satisfies a plurality of conditions related to the newly set route; A route selection problem is generated using the generated route; Solving the generated routing problem; Output the solution of the route selection problem An information processing device comprising a control unit for executing processing.
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
JP2021165196A