This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2023-144887, filed on Sep. 6, 2023, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a computer-readable recording medium storing an information processing program, an information processing method, and an information processing apparatus.
In the logistics industry, a driver of a delivery vehicle has executed delivery work on a daily basis in the past according to route information that defines which type of delivery vehicle is to visit which one or more sites in which order at which timing and which item is to be collected or delivered at each site. For example, there is a case where the driver of the delivery vehicle desires to perform the delivery work according to route information fixed throughout a certain period, instead of route information varying from day to day.
As a related art, for example, there is a technique in which an optimum ship distribution plan is formulated by performing comparison of a fuel consumption or a CO2 discharge amount in the case where a ship navigates between a location where the ship is present and a departure port that is a site of transport request. For example, there is a technique in which a candidate route for a shuttle service is derived based on one or more of selected historic non-shuttle service requests. For example, there is a technique in which a route of an equipment from a desired departure point to a desired end destination is displayed. For example, there is a technique in which at least a portion of a route from a first location to a second location is provided to a delivery mechanism.
Japanese Laid-open Patent Publication No. 2020-024751, Japanese National Publication of International Patent Application No. 2020-522064, and U.S. Patent Application Publication Nos. 2016/0335593 and 2014/0358703 are disclosed as related art.
According to an aspect of the embodiments, there is provided a recording medium storing an information processing program for causing a computer to execute processing including: obtaining one or more pieces of first route information, each of the one or more pieces of first route information including, among parameters, at least a first route being a route traveling through two or more of a plurality of nodes, the parameters including: the first route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes; generating second route information based on the one or more pieces of first route information and thereby setting a route information group including the second route information and at least one of the one or more pieces of first route information, the second route information being different from any of the one or more pieces of first route information and defining at least a second route traveling through two or more of the plurality of nodes, among the second route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes; and creating a plan defining a route on which each of a plurality of moving objects travels to two or more of the plurality of nodes, based on the route information group such that the first route information is used preferentially over the second route information.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
However, the related art has such a problem that the related art leads to an increase in a cost of the delivery work. The cost of the delivery work includes, for example, a financial cost, a temporal cost, an equipment cost, a human cost, and the like. For example, there is such a problem that it is difficult to efficiently collect or deliver items according to changes in a daily item collection amount, a daily item delivery amount, or the like by using only the fixed route information, and the related art tends to lead to an increase in the cost of the delivery work.
According to one aspect, an object of the present disclosure is to reduce the cost.
Hereinafter, an embodiment of an information processing program, an information processing method, and an information processing apparatus according to the present disclosure will be explained in detail with reference to the drawings.
The delivery work is work related to the field of logistics and is work of collecting or delivering one or more items to each of one or more of multiple sites via a delivery vehicle. In the related art, a driver drives the delivery vehicle and performs the delivery work daily according to route information that defines which type of delivery vehicle is to visit which one or more of the multiple sites in which order at which timing and which item is to be collected or delivered at each site.
For example, the multiple sites include sites that are fixed throughout a certain period and that are targets of daily item delivery or collection. The fixed sites include, for example, a convenience store, a supermarket, a warehouse, and the like. The multiple sites include, for example, a temporary site that vary from day to day and that is a target of item delivery or collection. The temporary site is, for example, a residential house or the like. The multiple sites may vary from day to day.
For example, there is a case where the driver desires to execute the delivery work according to route information fixed throughout a certain period, instead of route information varying from day to day. For example, there is a case where the driver desires to reduce a physical or mental work burden by executing the delivery work while driving the same type of delivery vehicle on the same route every day.
However, in the related art, there is such a problem that this leads to an increase in the cost of the delivery work. The cost of the delivery work includes, for example, a financial cost, a temporal cost, an equipment cost, a human cost, and the like.
For example, a case is conceivable in which each of multiple drivers drives a delivery vehicle and performs the delivery work according to only the route information fixed to be the same every day. In this case, there is such a problem that it is difficult to efficiently collect or deliver items according to changes in a daily item collection amount, a daily item delivery amount, or the like and the case is likely to lead to an increase in the cost of the delivery work.
For example, when the collection amount or the delivery amount of items on a certain day is relatively small, a case is conceivable in which a situation where one of the delivery vehicles travels with no items loaded between two of the sites occurs and this leads to a decrease in delivery efficiency. For example, when the collection amount or the delivery amount of items on a certain day is relatively small, a case is conceivable in which items of an amount loadable all at once on one delivery vehicle are loaded on two delivery vehicles in a distributed manner and this leads to a decrease in delivery efficiency. For example, when the collection amount or the delivery amount of items on a certain day is relatively large, a case is conceivable in which the delivery work is not appropriately completed if the delivery work is performed according to only the route information fixed to be the same every day.
For example, when a temporary site unique to a certain day is present as a target of collecting or delivering an item, a case is conceivable in which the delivery work is not appropriately completed if the delivery work is performed according to only the route information fixed to be the same every day. For example, when temporary route information different from the route information fixed to be same every day is generated to collect or deliver an item from or to the temporary site, there is such a problem that it is difficult to appropriately generate the temporary route information while suppressing an increase in the cost of the delivery work.
Accordingly, in the present embodiment, an information processing method capable of reducing the cost will be explained. For example, according to the present embodiment, it is possible to reduce the cost of the delivery work while using the route information fixed to be the same every day.
In
The multiple nodes include a node representing a site corresponding to a logistics center called depot. The logistics center may be, for example, a departure point or an arrival point of the moving object. The multiple nodes include nodes representing sites corresponding to travel destinations that are targets of collecting or delivering items, in addition to the logistics center. For example, the travel destination may be a relay point of the moving object.
The information processing apparatus 100 obtains a processing request demanding creation of a plan defining a route on which each of multiple moving objects travels to two or more of the multiple nodes. For example, the information processing apparatus 100 receives a signal indicating the processing request via a communication network, such as the Internet. The plan is information that enables execution of a delivery operation. The plan includes multiple pieces of route information to be used in execution of the delivery operation.
The delivery operation is an operation in which each of the multiple moving objects travels to two or more of the multiple nodes to collect or deliver items. The delivery operation includes the delivery work of each driver. For example, the route information defines at least a route traveling through two or more of the multiple nodes, among the route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes.
For example, the information processing apparatus 100 obtains the processing request by receiving the processing request from another computer. For example, the information processing apparatus 100 may obtain the processing request by receiving an input of the processing request based on an operation input by a user. The information processing apparatus 100 creates a current plan 130 as described below in response to the processing request. The current plan 130 is, for example, a plan that enables execution of the delivery operation of the current day.
For example, the second route information 120 may be route information that defines at least the second route same as the first route defined by one of the one or more pieces of first route information 110 and that is different in the type of moving object from the one or more pieces of first route information 110. For example, the second route defined in the second route information 120 may be a route different from any route of the one or more pieces of first route information 110. For example, the second information may be different in the parameters such as the type of moving object from the one or more pieces of first route information 110. For example, the second route information 120 specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work.
For example, the information processing apparatus 100 sets a weight for the cost in the case where the second route information 120 is used to a value larger than a weight for the cost in the case where the first route information 110 is used, and then sets an objective function for calculating a weighted sum of the cost. For example, the information processing apparatus 100 sets a route selection problem in which route information to be used in the current plan 130 is selected from the route information group such that the value of the set objective function is minimized. For example, the information processing apparatus 100 creates the current plan 130 by solving the set route selection problem.
The information processing apparatus 100 may thereby create the current plan 130, and enable execution of the current delivery operation. In this case, the information processing apparatus 100 may create the current plan 130 such that the first route information 110 is used preferentially over the second route information 120. The information processing apparatus 100 may increase a probability that the driver executes the delivery work according to the first route information 110 instead of the second route information 120. The information processing apparatus 100 may thus reduce the work burden on the driver. The information processing apparatus 100 may create the current plan 130 such that the second route information 120 is used in addition to the first route information 110 in consideration of the weighted sum of the costs. The information processing apparatus 100 may thus reduce the costs of the delivery operation.
Although the case where the function as the information processing apparatus 100 is implemented by a single computer has been explained, the embodiment is not limited to this case. For example, there may be a case where the function as the information processing apparatus 100 is implemented by cooperation of multiple computers. For example, there may be a case where the function as the information processing apparatus 100 is implemented on a cloud.
Next, an example of an information processing system 200 to which the information processing apparatus 100 illustrated in
In the information processing system 200, the information processing apparatus 100 and each client apparatus 201 are coupled to each other via a wired or wireless network 210. The network 210 is, for example, a local area network (LAN), a wide area network (WAN), the Internet, or the like.
The information processing apparatus 100 is a computer for creating the plan that enables execution of the delivery operation. The information processing apparatus 100 stores a graph that includes multiple nodes representing different sites, respectively, and in which the nodes are linked by edges. For example, the information processing apparatus 100 receives the graph from the client apparatus 201 and stores the graph. For example, the information processing apparatus 100 may store the graph by receiving an input of the graph based on an operation input by a user.
The information processing apparatus 100 obtains a processing request demanding creation of a plan defining a route on which each of multiple moving objects travels to two or more of the multiple nodes. The plan is, for example, information that enables execution of the delivery operation. For example, the information processing apparatus 100 obtains the processing request by receiving the processing request from the client apparatus 201. For example, the information processing apparatus 100 may obtain the processing request by receiving an input of the processing request based on an operation input by a user.
The information processing apparatus 100 obtains one or more pieces of fixed route information. The fixed route information (i.e., each piece of fixed route information of the one or more pieces of fixed route information) corresponds to an example of the first route information described above. For example, the fixed route information defines at least a fixed route traveling through two or more of the multiple nodes. In addition, the fixed route information may include a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. That is, the fixed route information includes at least the fixed route among such parameters as the fixed route, the time limit, and the type of moving object. The time limit is, for example, a deadline of the moving object arriving at a node, a deadline of the moving object departing from a node, or the like. The type of moving object is, for example, one of a large truck, a midsize truck, and a small truck. For example, the fixed route is a traveling route on which the driver has experienced traveling by driving a truck in the past. The fixed route is thus, for example, a traveling route in which a physical or mental work burden on the driver in traveling is expected to be small. The fixed route may be a desired traveling route specified by the driver. The fixed route information is, for example, route information that defines a fixed route preferable for the driver. The fixed route information is, for example, route information that has been used in the past plan. For example, the fixed route information specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work. For example, the information processing apparatus 100 obtains the one or more pieces of fixed route information by receiving the one or more pieces of fixed route information from the client apparatus 201. For example, the information processing apparatus 100 may obtain the one or more pieces of fixed route information by receiving an input of the one or more pieces of fixed route information based on an operation input by a user.
The information processing apparatus 100 generates derived route information or temporary route information based on the obtained one or more pieces of fixed route information, and thereby sets a route information group including the derived route information or the temporary route information and at least one of the obtained one or more pieces of fixed route information. The derived route information is route information different from any of the one or more pieces of fixed route information. For example, the derived route information defines at least a derived route traveling through two or more of the multiple nodes, among such parameters as the derived route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. For example, the derived route information may be route information that defines at least the derived route same as the fixed route defined by one of the one or more pieces of fixed route information and that is different in the type of moving object from the one or more pieces of fixed route information. For example, the derived route defined in the derived route information may be a route different from any route of the one or more fixed route information. For example, the derived route information specifies a route that the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work.
The temporary route information is route information different from any of the one or more pieces of fixed route information. For example, the temporary route information defines at least a temporary route traveling through two or more of the multiple nodes, among such parameters as the temporary route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. The temporary route information is, for example, route information that defines at least the temporary route different from any of the fixed routes defined, respectively, by the one or more pieces of fixed route information and that is different from any of the one or more pieces of fixed route information. For example, the temporary route information specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work.
For example, the information processing apparatus 100 prepares an empty route information group. The information processing apparatus 100 obtains multiple pieces of initial route information, and registers the initial route information in the route information group. For example, the initial route information defines at least an initial route traveling through two or more of the multiple nodes, among the initial route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. For example, the initial route information defines an initial route that starts from the node representing the logistics center, passes through one of the nodes representing the relay points, and arrives at the node representing the logistics center. For example, the initial route information specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work. For example, the information processing apparatus 100 obtains the initial route information corresponding to each of the sites other than the logistics center among the multiple sites. For example, the information processing apparatus 100 obtains the multiple pieces of initial route information by generating pieces of initial route information corresponding, respectively, to the sites other than the logistics center among the multiple sites based on the graph.
For example, the information processing apparatus 100 sets a final route information group by repeatedly executing a series of processes of setting a reduced cost minimization problem for an optimal solution to a dual problem of a relaxation problem of the route selection problem for the route information group and updating the route information group. For example, the final route information group preferably includes the derived route information or the temporary route information and at least one of the one or more pieces of fixed route information.
The series of processes includes a process of setting a reduced cost optimization problem for an optimal solution to a dual problem of a relaxation problem of a route selection problem for a current route information group. For example, the series of processes includes a process in which, when the fixed route information with a negative reduced cost is present among the one or more pieces of fixed route information based on the set reduced cost minimization problem, the current route information group is updated by adding this fixed route information to the current route information group.
For example, the series of processes includes a process in which, when the fixed route information with a negative reduced cost is absent based on the set reduced cost minimization problem, the current route information group is updated by generating the derived route information with a negative reduced cost and adding the derived route information to the current route information group. For example, the series of processes includes a process in which, when the derived route information with a negative reduced cost is absent based on the set reduced cost minimization problem, the current route information group is updated by generating the temporary route information with a negative reduced cost and adding the temporary route information to the current route information group.
The information processing apparatus 100 creates the current plan based on the set final route information group such that the fixed route information is used preferentially over the derived route information and the temporary route information. The information processing apparatus 100 creates the current plan based on the set final route information group such that the fixed route information is used preferentially over the derived route information and the derived route information is used preferentially over the temporary route information.
For example, the information processing apparatus 100 sets a weight for the cost in the case where the derived route information is used, to a value larger than a weight for the cost in the case where the fixed route information is used. For example, the information processing apparatus 100 sets a weight for the cost in the case where the temporary route information is used, to a value larger than the weight for the cost in the case where the derived route information is used. For example, the information processing apparatus 100 sets an objective function for calculating a weighted sum of the costs.
For example, the information processing apparatus 100 sets a route selection problem in which the route information to be used in the current plan is selected from the final route information group such that a value of the set objective function is minimized. For example, the information processing apparatus 100 creates the current plan by solving the set route selection problem. The information processing apparatus 100 transmits the created current plan to the client apparatus 201. For example, the information processing apparatus 100 is a server, a PC, or the like.
The client apparatus 201 is a computer for supporting the delivery operation. The client apparatus 201 generates the graph based on an operation input by a user, and transmits the graph to the information processing apparatus 100. For example, the client apparatus 201 generates the one or more pieces of fixed route information based on an operation input by a user, and transmits the one or more pieces of fixed route information to the information processing apparatus 100.
For example, the client apparatus 201 generates the processing request based on an operation input by the user, and transmits the processing request to the information processing apparatus 100. The client apparatus 201 receives the current plan from the information processing apparatus 100. The client apparatus 201 outputs the current plan such that the user may refer to the current plan. For example, the client apparatus 201 is a PC, a tablet terminal, a smartphone, or the like.
Although the case where the information processing apparatus 100 is a computer different from the client apparatus 201 has been explained, the embodiment is not limited to this case. For example, there may be a case where the information processing apparatus 100 has the function as the client apparatus 201 and operates also as the client apparatus 201.
Next, a hardware configuration example of the information processing apparatus 100 will be explained by using
The CPU 301 is responsible for control of the entire information processing apparatus 100. For example, the memory 302 includes a read-only memory (ROM), a random-access memory (RAM), a flash ROM, and the like. For example, the flash ROM and the ROM store various programs, and the RAM is used as a work area of the CPU 301. The programs stored in the memory 302 are loaded by the CPU 301, and causes the CPU 301 to execute coded processing.
The network I/F 303 is coupled to the network 210 through a communication line, and is coupled to another computer via the network 210. The network I/F 303 serves as an interface between the network 210 and the inside of the information processing apparatus 100, and controls input and output of data from and to another computer. For example, the network I/F 303 is a modem, a LAN adapter, or the like.
The recording medium I/F 304 controls reading and writing of data from and to the recording medium 305 according to the control of the CPU 301. For example, the recording medium I/F 304 is a disk drive, a solid-state drive (SSD), a Universal Serial Bus (USB) port, or the like. The recording medium 305 is a non-volatile memory that stores data written under control of the recording medium I/F 304. For example, the recording medium 305 is a disk, a semiconductor memory, a USB memory, or the like. The recording medium 305 may be removably attached to the information processing apparatus 100.
In addition to the components described above, the information processing apparatus 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. The information processing apparatus 100 may include multiple recording medium I/Fs 304 and multiple recording media 305. The information processing apparatus 100 may include no recording medium I/F 304 or recording medium 305.
Since a hardware configuration example of the client apparatus 201 is, for example, similar to the hardware configuration example of the information processing apparatus 100 illustrated in
Next, an example of a functional configuration of the information processing apparatus 100 will be explained by using
For example, the storage unit 400 is implemented by a storage area of the memory 302, the recording medium 305, or the like illustrated in
The obtaining unit 401 to the output unit 404 function as an example of a control unit. For example, functions of the obtaining unit 401 to the output unit 404 are implemented by, for example, causing the CPU 301 to execute programs stored in the storage area of the memory 302, the recording medium 305, or the like illustrated in
The storage unit 400 stores various types of information to be referred to or updated in processing of each functional unit. For example, the storage unit 400 stores the graph that includes the multiple nodes representing different sites, respectively, and in which the nodes are linked to one another by the edges. The graph indicates a region where the delivery operation is to be executed. The delivery operation includes the delivery work of the drivers in which each of the multiple moving objects travels to two or more of the multiple nodes to collect or deliver items.
Each edge indicates that a moving object is movable between sites represented by different nodes. The moving object is, for example, the delivery vehicle. The delivery vehicle is, for example, a large truck, a midsize truck, a small truck, or the like. The delivery vehicle may be, for example, a passenger vehicle, a motorcycle, or the like. The multiple nodes include a node representing a site corresponding to a logistics center called depot. The logistics center may be, for example, a departure point or an arrival point of the moving object. The multiple nodes include nodes representing sites corresponding to travel destinations that are targets of collecting or delivering items, in addition to the logistics center. For example, the travel destination may be a relay point of the moving object. For example, the graph is obtained by the obtaining unit 401.
The storage unit 400 stores, for example, the route information group. The route information group includes, for example, one or more pieces of route information. The route information may be used when the delivery operation is executed. For example, the route information defines at least a route traveling through two or more of the multiple nodes, among the route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. The time limit is, for example, a limit of a time point at which the moving object arrives at a node, a limit of a time point at which the moving object departs from a node, or the like. The limit of the time point at which the moving object arrives at the node indicates, for example, time before which the moving object is to arrive at the node or time after which the moving object is to arrive at the node. The limit of the time point at which the moving object departs from the node indicates, for example, time before which the moving object is to depart from the node or time after which the moving object is to depart from the node. The type of moving object is, for example, one of a large truck, a midsize truck, and a small truck. The route information may be included in, for example, the plan that enables execution of the delivery operation. The plan defines, for example, the route on which each of the multiple moving objects travels to two or more of the multiple nodes, by using one or more pieces of route information. For example, the route information group is updated by the obtaining unit 401, the setting unit 402, or the creation unit 403.
The storage unit 400 stores, for example, one or more pieces of first route information. For example, the first route information defines at least the first route traveling through two or more of the multiple nodes, among the first route, the time limit of traveling to at least one of the two or more nodes, and the type of moving object that travels to the two or more nodes. The first route information is, for example, the fixed route information preferable for the driver. The fixed route information is, for example, route information in which the work burden on the driver is considered to be relatively small when the delivery work is executed according to the route information. The fixed route information is, for example, route information that has been referred to by the driver in the past and is familiar to the driver. The fixed route information may be, for example, route information specified by the driver. For example, the first route information specifies the route on which the moving object travels in the delivery work, represents the temporal limit and the condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work. The first route information may be added to the route information group. The first route information is obtained by, for example, the obtaining unit 401.
The obtaining unit 401 obtains various types of information used in the processing of each functional unit. The obtaining unit 401 stores the obtained various types of information in the storage unit 400, or outputs the obtained various types of information to each functional unit. The obtaining unit 401 may output the various types of information stored in the storage unit 400, to each functional unit. For example, the obtaining unit 401 obtains the various types of information based on an operation input by the user. For example, the obtaining unit 401 may receive the various types of information from an apparatus different from the information processing apparatus 100.
The obtaining unit 401 obtains, for example, the graph. For example, the obtaining unit 401 obtains the graph by receiving the graph from another computer. The another computer is, for example, the client apparatus 201 or the like. For example, the obtaining unit 401 may obtain the graph by receiving an input of the graph based on an operation input by the user.
The obtaining unit 401 obtains, for example, the processing request demanding creation of the current plan. For example, the obtaining unit 401 obtains the processing request by receiving the processing request from another computer. The another computer is, for example, the client apparatus 201 or the like. For example, the obtaining unit 401 may obtain the processing request by receiving an input of the processing request based on an operation input by the user.
The obtaining unit 401 obtains, for example, one or more pieces of first route information. For example, the obtaining unit 401 obtains the one or more pieces of first route information by receiving the one or more pieces of first route information from another computer. The another computer is, for example, the client apparatus 201 or the like. For example, the obtaining unit 401 may obtain the one or more pieces of first route information by receiving an input of the one or more pieces of first route information based on an operation input by the user.
For example, when the setting unit 402 does not generate one or more pieces of initial route information, the obtaining unit 401 obtains one or more pieces of initial route information, and adds the one or more pieces of initial route information to the route information group to update the route information group to the initial state. The initial state is, for example, a state where the route information group includes one or more initial routes to allow the setting unit 402 to set the reduced cost minimization problem and allow the creation unit 403 to solve the route selection problem. For example, the initial route information defines at least an initial route traveling through two or more of the multiple nodes, among the initial route, a time limit of traveling to at least one of the two or more nodes, and a type of moving object that travels to the two or more nodes. For example, the initial route information defines an initial route that starts from the node representing the logistics center, passes through one of the nodes representing the relay points, and arrives at the node representing the logistics center. For example, the initial route information specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work. The one or more pieces of initial route information are, for example, initial route information corresponding to each of the sites other than the logistics center among the multiple sites. For example, the obtaining unit 401 obtains the one or more pieces of initial route information by receiving the one or more pieces of initial route information from another computer. The another computer is, for example, the client apparatus 201 or the like. For example, the obtaining unit 401 may obtain the one or more pieces of initial route information by receiving an input of the one or more pieces of initial route information based on an operation input by the user.
The obtaining unit 401 may obtain a start trigger for starting the processing of any of the functional units. The start trigger is, for example, a predetermined operation input by the user. The start trigger may be, for example, reception of predetermined information from another computer. The start trigger may be, for example, output of predetermined information by any of the functional units. For example, the obtaining unit 401 receives obtaining of the processing request as a start trigger for starting the processing by the setting unit 402 and the creation unit 403.
The setting unit 402 generates the second route information different from any of the obtained one or more pieces of first route information based on the obtained one or more pieces of first route information, and thereby sets the final route information group including the generated second route information and at least one of the one or more pieces of first route information. For example, the second route information defines at least the second route traveling through two or more of the multiple nodes, among the second route, the time limit of traveling to at least one of the two or more nodes, and the type of moving object that travels to the two or more nodes.
The second route information is, for example, the derived route information. The derived route information is, for example, route information that defines at least the second route same as the first route defined by one of the one or more pieces of first route information and that is different from any of the one or more pieces of first route information. The second route information may be, for example, temporary route information. The temporary route information is, for example, route information that defines at least the second route different from any of the first routes defined, respectively, by the one or more pieces of first route information and that is different from any of the one or more pieces of first route information. For example, the second route information specifies a route on which the moving object travels in the delivery work, indicates a temporal limit and a condition for the traveling moving object in the case where the moving object travels on the route, and defines how the driver is to execute the delivery work.
For example, when the obtaining unit 401 does not obtain one or more pieces of initial route information, the setting unit 402 obtains the one or more pieces of initial route information by generating the one or more pieces of initial route information, and adds the one or more pieces of initial route information to the route information group to update the route information group to the initial state. For example, for each of the sites other than the logistics center among the multiple sites, the setting unit 402 generates the initial route information defining the route traveling through at least the site, based on the graph by referring to the storage unit 400, and thereby obtains the one or more pieces of initial route information. The setting unit 402 may thereby add the minimum number, that is one or more, of initial routes that allows setting of the reduced cost minimization problem and allows the solving of the route selection problem in the creation unit 403, to the route information group.
The setting unit 402 sets the final route information group by repeatedly executing the series of processes of setting the reduced cost minimization problem for the optimal solution to the dual problem of the relaxation problem of the route selection problem for the route information group and updating the current route information group until a predetermined condition is satisfied. For example, the final route information group preferably includes the second route information and at least one of the one or more pieces of first route information. The predetermined condition is, for example, such a condition that both of the first route information with a negative reduced cost and the second route information with a negative reduced cost become absent. The predetermined condition may be, for example, such a condition that the series of processes is executed a predetermined number of times. The predetermined condition may be, for example, such a condition that a predetermined time period has elapsed after first execution of the series of processes.
For example, the setting unit 402 sets the reduced cost minimization problem for the optimal solution to the dual problem of the relaxation problem of the route selection problem for the current route information group. For example, the setting unit 402 searches for the first route information with a negative reduced cost among the obtained one or more pieces of first route information, based on the set reduced cost minimization problem. For example, when the first route information with a negative reduced cost is present as a result of searching for the first route information, the setting unit 402 updates the current route information group by adding this first route information to the current route information group.
For example, when the first route information with a negative reduced cost is absent as a result of searching for the first route information, the setting unit 402 determines whether or not the second route information with a negative reduced cost is present by searching for this second route information based on the set reduced cost minimization problem. For example, when the second route information with a negative reduced cost is present, the setting unit 402 generates the second route information with a negative reduced cost, and adds the generated second route information to the current route information group to update the current route information group.
For example, when the first route information with a negative reduced cost is absent, the setting unit 402 determines whether or not the derived route information to be the second route information with a negative reduced cost is present by searching for this derived route information based on the set reduced cost minimization problem. The derived route information is, for example, route information that defines at least the second route same as the first route defined by one of the one or more pieces of first route information. For example, when the derived route information is present, the setting unit 402 generates this derived route information as the second route information with a negative reduced cost, and adds the generated derived route information to the current route information group to update the current route information group.
For example, when the derived route information is absent, the setting unit 402 determines whether or not the temporary route information to be the second route information with a negative reduced cost is present by searching for this temporary route information based on the set reduced cost minimization problem. The temporary route information is, for example, route information that defines at least the second route different from any of the first routes defined, respectively, by the one or more pieces of first route information. For example, when the temporary route information is present, the setting unit 402 generates this temporary route information as the second route information with a negative reduced cost, and adds the generated temporary route information to the current route information group to update the current route information group. The information processing apparatus 100 may set the final route information group including the second route information and at least one of the one or more pieces of the first route information.
The creation unit 403 creates the current plan based on the final route information group set by the setting unit 402 such that the first route information is used preferentially over the second route information. For example, the creation unit 403 sets the weight for the cost in the case where the second route information is used to a value larger than the weight for the cost in the case where the first route information is used, and then sets the objective function indicating the weighted sum of the costs. For example, the weights are specified in advance by the user. For example, the creation unit 403 creates the current plan by solving the route selection problem in which the route information to be used in the current plan is selected from the final route information group such that the value indicated by the objective function is minimized.
For example, the creation unit 403 may create the current plan based on the final route information group set in the setting unit 402 such that the fixed route information is used preferentially over the derived route information and the derived route information is used preferentially over the temporary route information. For example, the creation unit 403 sets the weight for the cost in the case where the derived route information is used to a value larger than the weight for the cost in the case where the fixed route information is used. For example, the creation unit 403 sets the weight for the cost in the case where the temporary route information is used to a value larger than the weight for the cost in the case where the derived route information is used. For example, the creation unit 403 sets the objective function for calculating the weighted sum of the costs, based on the set weights. For example, the creation unit 403 creates the current plan by solving the route selection problem in which the route information to be used in the current plan is selected from the final route information group such that the value indicated by the objective function is minimized.
The creation unit 403 may thereby create the current plan, and enable execution of the current delivery operation. In this case, the creation unit 403 may create the current plan such that the first route information is used preferentially over the second route information, and increase the probability that the driver executes the delivery work according to the first route information instead of the second route information. The creation unit 403 may thus reduce the work burden on the driver. The creation unit 403 may create the current plan such that the second route information is used in addition to the first route information in consideration of the weighted sum of the costs. The creation unit 403 may thus reduce the costs of the delivery operation.
The output unit 404 outputs a processing result of at least one of the functional units. An output form is, for example, displaying the processing result on a display, outputting the processing result to a printer for printing, transmitting the processing result to an external apparatus through the network I/F 303, or storing the processing result in the storage area of the memory 302, the recording medium 305, or the like. The output unit 404 may thereby notify the user of the processing result of at least one of the functional units, and improve convenience of the information processing apparatus 100.
The output unit 404 outputs, for example, the current plan created by the creation unit 403. For example, the output unit 404 transmits the current plan created by the creation unit 403 to another computer. The another computer is, for example, the client apparatus 201. For example, the output unit 404 may output the current plan created by the creation unit 403 such that the user may refer to the current plan. The output unit 404 may thereby make the current plan created by the creation unit 403 usable outside the information processing apparatus 100.
Next, a specific example of the functional configuration of the information processing apparatus 100 is explained by using
For example, one of the conditions is that a truck departing from the node representing the logistics center travels to several nodes and returns to the node representing the logistics center. The nodes to which the truck travels are, for example, nodes representing a convenience store, a supermarket, a warehouse, and the like. A visiting order in which the truck travels to two or more nodes is the route. For example, one of the conditions is that there are multiple types of trucks that vary in capacity and cost. For example, one of the conditions is that the nodes to which the truck is able to travel depend on the type of truck. For example, one of the conditions is that there is an upper limit to the number of usable trucks for each type of truck. For example, one of the conditions is that each truck collects or delivers items from or to the nodes to which the truck has traveled. Any of the trucks may collect and deliver items at the same node being any of the nodes.
For example, one of the conditions is that, for each item, there are a node from which the item is collected and a node to which the item is delivered. For example, the item is transported from the node representing the logistics center to a node representing a site other than the logistics center. For example, the item is transported from a node representing a site other than the logistics center to the node representing the logistics center. For example, the item is transported from a node representing a site other than the logistics center to a node representing a site other than the logistics center.
For example, one of the conditions is that a size is set for each item. For example, one of the conditions is that items are loaded on each truck within a load capacity of the truck. For example, one of the conditions is that a priority is set for each item. For example, one of the conditions is that an item with a high priority is preferentially loaded onto each truck. For example, one of the conditions is that, for each item, whether or not the item is dividable is set.
For example, one of the conditions is that a collection time frame and a delivery time frame are set for each item. A collection time frame [a, b] indicates that, when a truck arrives at an item collection node before time a, the truck waits until the time a, and collects the item by time b. A delivery time frame [c, d] indicates that, when a truck arrives at an item delivery node before time c, the truck waits until the time c, and delivers the item by time d.
For example, one of the conditions is that a truck is unable to move between nodes that are not linked to each other by an edge. For example, one of the conditions is that, for each type of truck, an upper limit of total travel time of the truck is set. For example, one of the conditions is that the truck has to execute at least one of collection and delivery at a node representing a site other than the logistics center. For example, one of the conditions is that, for each type of truck, the delivery cost of the truck is defined by a weighted sum based on a step function, a fixed cost, and traveling time. The step function depends on the traveling time of the truck.
For example, one of the conditions is that delivery or collection for the same node is executed every day. For example, one of the conditions is that one or more pieces of fixed route information preferable for the driver are set. The fixed route information indicates at least the route, the visiting time of each node on the route, and the type of truck. One of the multiple pieces of fixed route information may be selected in the route selection problem. For example, one of the conditions is that, when the fixed route information is not selected in the route selection problem, it is preferable to select the derived route information that indicates at least the same route as the fixed route information and that is different from the fixed route information.
For example, the information processing apparatus 100 desirably creates a plan that enables appropriate collection or delivery of all items and minimization of the total delivery cost by assigning the route information to each of the multiple trucks such that each of the various conditions is satisfied.
The information processing apparatus 100 includes a vehicle routing problem (VRP) data storage unit 511, an initial route generation unit 512, a solving parameter storage unit 513, a route generation unit 514, and a route set storage unit 515. The information processing apparatus 100 further includes a route selection problem solving unit 516 and an output data generation unit 517. The route generation unit 514 includes a dual problem solving unit 521, a reduced cost minimization problem solving unit 522, and a termination determination unit 523.
The VRP data storage unit 511 obtains VRP data, and stores VRP data in input data 501. The VRP data defines the various conditions described above. The VRP data includes, for example, item data, node data, delivery vehicle data, and the fixed route information. The item data indicates the node from which an item is collected and the node to which the item is delivered. The item data indicates whether or not the item is dividable. The item data indicates the priority of the item. The item data indicates the collection time frame and the delivery time frame of the item.
The node data indicates the node representing the logistics center. The node data indicates traveling time between the nodes. The node data indicates the edges coupling the nodes. The delivery vehicle data indicates the load capacity of a truck. The delivery vehicle data indicates the upper limit of the number of usable trucks for each type of truck. The delivery vehicle data indicates, for each type of truck, nodes to which the truck is capable of traveling. The delivery vehicle data indicates, for each type of truck, the upper limit of the total travel time of the truck. The delivery vehicle data indicates, for each type of truck, the step function used in the defining of the delivery cost of the truck. The delivery vehicle data indicates, for each type of truck, the fixed cost used in the defining of the delivery cost of the truck. The fixed route information indicates at least the route, the visiting time of each node on the route, and the type of truck. The VRP data storage unit 511 provides the VRP data to the initial route generation unit 512, the route generation unit 514, and the route selection problem solving unit 516.
The initial route generation unit 512 obtains the VRP data. The initial route generation unit 512 generates, for each of the nodes representing sites other than the logistics center, the initial route information that defines a route traveling through the node, based on the VRP data. For example, the initial route information defines a route that starts from the node representing the logistics center, travels through the node representing the site other than the logistics center, and arrives at the node representing the logistics center. The initial route generation unit 512 provides the generated initial route information to the route set storage unit 515.
The solving parameter storage unit 513 obtains and stores solving parameters in the input data 501. The solving parameters include a penalty coefficient for each of the fixed route information, the derived route information, and the temporary route information. The derived route information indicates at least the route, the visiting time of each node on the route, and the type of truck. The derived route information is route information that indicates the same route as one of the one or more pieces of fixed route information and that is different from any of the one or more pieces of fixed route information. The derived route information is different from any of the one or more pieces of fixed route information at least in the visiting time of each node on the route or the type of truck. The temporary route information indicates at least the route, the visiting time of each node on the route, and the type of truck. The temporary route information is route information different from any of the one or more pieces of fixed route information.
The solving parameters include route generation parameters. The route generation parameters include a time limit indicating an allowable upper limit of time taken for route generation. The route generation parameters include a parameter related to a solver of the dual problem. The solving parameters include route selection parameters. The route selection parameters include a time limit indicating an allowable upper limit of time taken for route selection. The route selection parameters include a parameter related to a solver of the route selection problem. The solving parameter storage unit 513 provides the solving parameters to the route selection problem solving unit 516, the dual problem solving unit 521, and the termination determination unit 523.
The route generation unit 514 obtains the VRP data, and activates the dual problem solving unit 521, the reduced cost minimization problem solving unit 522, and the termination determination unit 523. The dual problem solving unit 521 sets the dual problem of the linear relaxation problem of the route selection problem for the latest route information group. The dual problem solving unit 521 calculates an optimal solution to the set dual problem. The dual problem solving unit 521 provides the optimal solution to the set dual problem to the reduced cost minimization problem solving unit 522.
The reduced cost minimization problem solving unit 522 sets the reduced cost minimization problem for the optimal solution to the dual problem. The reduced cost minimization problem solving unit 522 searches for the fixed route information, the derived route information, or the temporary route information as the route information with a negative reduced cost by solving the reduced cost minimization problem for the optimal solution to the dual problem. When the reduced cost minimization problem solving unit 522 generates the fixed route information, the derived route information, or the temporary route information as the route information with a negative reduced cost by the searching, the reduced cost minimization problem solving unit 522 updates the latest route information group by adding the route information with a negative reduced cost to the latest route information group. The reduced cost minimization problem solving unit 522 provides the latest route information group to the route set storage unit 515. The reduced cost minimization problem solving unit 522 provides information on whether or not the route information with a negative reduced cost is generated, to the termination determination unit 523.
When the route information with a negative reduced cost is not generated in the reduced cost minimization problem solving unit 522, the termination determination unit 523 activates the route selection problem solving unit 516. The termination determination unit 523 activates the route selection problem solving unit 516 when time from activation exceeds a time limit. When the route information with a negative reduced cost is generated in the reduced cost minimization problem solving unit 522 before the time from activation exceeds the time limit, the termination determination unit 523 activates the dual problem solving unit 521 again.
The route set storage unit 515 stores the route information group. The route set storage unit 515 receives the initial route information from the initial route generation unit 512, and adds the initial route information to the route information group. The route set storage unit 515 obtains the latest route information group from the reduced cost minimization problem solving unit 522, and stores the latest route information group. The route set storage unit 515 provides the latest route information group to the route selection problem solving unit 516.
The route selection problem solving unit 516 obtains the VRP data. The route selection problem solving unit 516 obtains the solving parameters. The route selection problem solving unit 516 obtains the latest route information group. The route selection problem solving unit 516 sets the route selection problem that selects multiple pieces of route information to be used in the current plan from the latest route information group by setting the objective function corresponding to the total delivery cost, based on the VRP data and the solving parameters.
A delivery cost of route r∈R indicated by the route information is assumed to be cr. R is a set of routes r. For example, the total delivery cost is defined by the following formula (1). In the formula (1), xr∈Z is an integer variable. The number of usage of routes r in the current plan is represented by xr.
The route selection problem solving unit 516 sets a penalty coefficient p(r) for the route r indicated by the route information such that the fixed route information is selected preferentially over the derived route information and the derived route information is selected preferentially over the temporary route information, and applies the penalty coefficient p(r) to the above formula (1). For example, the penalty coefficient p(r) is defined by the following formula (2). In the formula (2), λ2≥λ1>1 is satisfied.
For example, the route selection problem solving unit 516 sets the following formula (3), obtained by applying the above formula (2) to the above formula (1), as the objective function. The route selection problem solving unit 516 may thereby allow the current plan to be created such that the total delivery cost is reduced and such that the fixed route information is preferentially selected over the derived route information and the derived route information is preferentially selected over the temporary route information.
The route selection problem solving unit 516 solves the set route selection problem to select multiple pieces of route information to be used in the current plan such that the value of the objective function is minimized, and creates the current plan including the selected multiple pieces of route information. The route selection problem solving unit 516 provides the created current plan to the output data generation unit 517.
The output data generation unit 517 obtains the current plan. The output data generation unit 517 generates output data 502 based on the current plan. The output data 502 indicates the current plan. The output data 502 includes a route information list in which identification information for identifying each of the multiple pieces of route information forming the current plan is recorded. The output data 502 includes the multiple pieces of route information forming the current plan.
The output data 502 includes, for example, a type of route information. The type indicates that the route information is the fixed route information, the derived route information, or the temporary route information. The output data 502 includes, for example, an assigned vehicle type. The assigned vehicle type indicates the type of truck indicated by the route information. The output data 502 includes, for example, a visiting order of each node on the route. The visiting order indicates the route indicated by the route information.
The output data 502 includes, for example, the visiting time of each node on the route. The output data 502 includes, for example, item amount data at each node on the route. The information processing apparatus 100 may thereby create the current plan such that the work burden on the driver is reduced and the total delivery cost for the delivery operation is reduced, and enable execution of the current delivery operation.
An example of an operation of the information processing apparatus 100 will be explained next by using
The temporary route information is route information different from the fixed route information and the derived route information. The temporary route information is route information in which the visiting order is different from that of the fixed route information. Since the visiting order of the temporary route information is independent of the fixed route information, the temporary route information has a property of facilitating handling of daily changes in item amount, and has a role of contributing to reduction of the total delivery cost.
In the following explanation, the route information is represented by r. The route information group is represented by R. The item is represented by i. A set of items i is represented by T. The size of item i∈T is represented by bi. The type of truck is represented by t. A set of trucks that are the type t is represented by U. The number of usable trucks that are the type t∈U is represented by mt. Whether or not the route information r includes the type t of truck is represented by dtr. For example, dtr is defined by the following formula (4). The fixed route information is represented by f. A set of pieces of fixed route information is represented by F. Whether or not the route information r is the fixed route information f is represented by gfr. For example, gfr is defined by the following formula (5). The number of usage of route information r in the current plan is represented by xr.
As described above, when the information processing apparatus 100 creates the current plan, the information processing apparatus 100 preferably preferentially selects the fixed route information over the derived route information and preferentially selects the derived route information over the temporary route information. Accordingly, the information processing apparatus 100 sets the route selection problem in which multiple pieces of route information to be used in the current plan are selected from the route information group by setting an objective function illustrated in the following formula (6) and constraint conditions illustrated in the following formulae (7) to (10). The following formula (6) corresponds to the above formula (3).
The objective function indicates a value being a target of the minimization. The value indicated by the objective function in the case where the derived route information is used is larger than that in the case where the fixed route information is used, due to the coefficient p(r). As illustrated in the above formula (3), the value indicated by the objective function in the case where the temporary route information is used is larger than that in the case where the derived route information is used, due to the coefficient p(r).
Accordingly, in the minimization of the value indicated by the objective function, the information processing apparatus 100 may be made more likely to preferentially select the fixed route information over the derived route information and preferentially select the derived route information over the temporary route information. The information processing apparatus 100 may thereby set the route selection problem such that the total delivery cost is reduced and such that the fixed route information is selected preferentially over the derived route information and the derived route information is selected preferentially over the temporary route information.
The information processing apparatus 100 sets the route information group R to be referred to in the route selection problem, according to a column generation method. In the column generation method, the route information group R is set by repeating a unit process in which the route information r is generated. (1) For example, the information processing apparatus 100 sets the route information group R to an initial state. (2) For example, the information processing apparatus 100 solves the dual problem of the linear relaxation problem of the route selection problem for the current route information group R by using the solver of the dual problem, and thereby calculates the optimal solution to the dual problem.
(3) For example, the information processing apparatus 100 solves the reduced cost minimization problem for the dual problem based on the optimal solution to the dual problem by using the solver of the reduced cost minimization problem, and thereby calculates the solution to the reduced cost minimization problem. (4) When the reduced cost of the calculated solution is negative, the information processing apparatus 100 adds the route information corresponding to the solution to the route information group R, and returns to the process of (2) described above. The processes of (2) to (4) described above correspond to the unit process described above. When the reduced cost of the calculated solution is not negative, the information processing apparatus 100 determines the current route information group R as the final route information group R to be referred to in the route selection problem.
Since the dual problem is a linear programming problem, the information processing apparatus 100 may calculate the optimal solution to the dual problem at relatively high speed. Since processing time taken to calculate the optimal solution to the reduced cost minimization problem is likely to increase, the information processing apparatus 100 preferably solves the reduced cost minimization problem by local search, and calculates a local solution of the reduced cost minimization problem.
Since the relaxation problem of the route selection problem is obtained by removing an integer constraint of each variable xr in the route selection problem, the relaxation problem is defined by an objective function of the following formula (11) and constraint conditions of the following formulae (12) to (15). The relaxation problem is a linear programming problem. A dual problem is defined for the linear programming problem. The dual problem for the relaxation problem is defined by an objective function of the following formula (16) and constraint conditions of the following formulae (17) to (20).
The optimal solution to the dual problem in the unit process repeated in the column generation method is assumed to be (y*, z*, w*). In this case, the reduced cost minimization problem is defined by a variable r indicating the route information, a variable a˜i that is the size of the item i to be transported in the route information r, a 0-1 variable d˜t that takes a value 1 when the route information r includes the type t of truck, a 0-1 variable g˜f that takes a value 1 when the route information r is the fixed route f, an objective function of the following formula (21), constraint conditions according to the various conditions described above, and constraint conditions of the following formulae (22) to (24). For the sake of convenience, a character with “˜” at the top is expressed as “character˜” in some cases.
For example, the information processing apparatus 100 implements the processes of (2) to (4) described above by performing processes of (a) to (c) described below, and handles the unit process. (a) For example, the information processing apparatus 100 performs local search in which items are assigned to all pieces of fixed route information. For example, when the information processing apparatus 100 finds the fixed route information with a negative reduced cost, the information processing apparatus 100 updates the current route information group R by adding the fixed route information with a negative reduced cost to the current route information group R, and terminates one execution of the above-mentioned unit process. For example, when the information processing apparatus 100 finds no fixed route information with a negative reduced cost, the information processing apparatus 100 proceeds to the process of (b).
(b) For example, the information processing apparatus 100 performs local search in which the derived route information is generated for all pieces of fixed route information. For example, when the information processing apparatus 100 finds the derived route information with a negative reduced cost, the information processing apparatus 100 updates the current route information group R by adding the derived route information with a negative reduced cost to the current route information group R, and terminates one execution of the above-described unit process. For example, when the information processing apparatus 100 finds no derived route information with a negative reduced cost, the information processing apparatus 100 proceeds to the process of (c).
(c) For example, the information processing apparatus 100 performs local search in which the temporary route information is generated. For example, when the information processing apparatus 100 finds the temporary route information with a negative reduced cost, the information processing apparatus 100 updates the current route information group R by adding the temporary route information with a negative reduced cost to the current route information group R, and terminates one execution of the above-described unit process. For example, when the information processing apparatus 100 finds no temporary route information with a negative reduced cost, the information processing apparatus 100 determines the current route information group R as the final route information group R, and terminates the unit process.
The information processing apparatus 100 may thereby determine the final route information group R. The information processing apparatus 100 may reduce the processing load and the processing time taken to determine the final route information group R, from those in the case where all of the fixed route information, the derived route information, and the temporary route information are examined for each unit process. The information processing apparatus 100 may examine the fixed route information, the derived route information, and the temporary route information in descending order of priority for each unit process. The information processing apparatus 100 may be thus made more likely to appropriately determine the final route information group R while reducing the processing load and the processing time.
Specific examples of the above-mentioned processes (a) to (c) will be explained. In the following explanation, r0 represents the initial route information. N represents an additional node set. (A) The information processing apparatus 100 sets r:=r0. (B) The information processing apparatus 100 sets a route information group R′ in which one task is assigned to the route information r. The task is, for example, transporting an item. The information processing apparatus 100 specifies the route information r′∈R in R′ that satisfies the constraint conditions being the conditions described above and in which the value indicated by the objective function g( ) of the reduced cost minimization problem is minimized.
(C) When the additional node set is not empty, the information processing apparatus 100 executes processes of (C-1) to (C-3) described below on a node v∈N. (C-1) The information processing apparatus 100 specifies new route information rv obtained by adding the node v to the visiting order of the route information r. (C-2) The information processing apparatus 100 specifies a route information group R′v in which one task is assigned to the route information rv. The information processing apparatus 100 specifies the route information r′v∈R in R′v that satisfies the constraint conditions being the conditions described above and in which the value indicated by the objective function g( ) of the reduced cost minimization problem is minimized. (C-3) When g(r′)>g(r′v) is satisfied, the information processing apparatus 100 sets r′:=r′v.
(D) When g(r)<g(r′) is satisfied, the information processing apparatus 100 outputs the route information r as the solution of the reduced cost minimization problem. (E) When g(r)<g(r′) is not satisfied, the information processing apparatus 100 returns to the process of (B). The information processing apparatus 100 may thereby output the route information r to be the solution of the reduced cost minimization problem, and make the route information group R updatable.
For example, in the process of (a), the information processing apparatus 100 sets each piece of fixed route information to r0, normally sets the additional node set N to an empty set, and executes the processes of (A) to (E) described above. The information processing apparatus 100 may thereby specify the fixed route information to be the solution of the reduced cost minimization problem.
For example, in the process of (b), for each piece of fixed route information i and each type t of truck, the information processing apparatus 100 sets the derived route information that indicates the type t of truck and that indicates the same visiting order as the visiting order in the fixed route information i, to r0. For example, in the process of (b), the information processing apparatus 100 normally sets the additional node set N to an empty set. Then, for example, in the process of (b), the information processing apparatus 100 executes the processes of (A) to (E) described above. The information processing apparatus 100 may thereby specify the derived route information to be the solution of the reduced cost minimization problem.
For example, in the process of (c), for each node v indicating a site other than the logistics center and each type t of truck, the information processing apparatus 100 specifies the visiting order that starts from the node representing the logistics center, passes the node v, and returns to the node representing the logistics center. For example, in the process of (c), the information processing apparatus 100 sets the temporary route information indicating the specified visiting order and indicating the type t of the truck, to r0. For example, the information processing apparatus 100 sets the additional node set N as a node set in which nodes representing sites other than the logistics center are collected. Then, for example, the information processing apparatus 100 executes the processes of (A) to (E) described above. The information processing apparatus 100 may thereby specify the temporary route information to be the solution of the reduced cost minimization problem.
Although the case where the information processing apparatus 100 does not have to examine all of the fixed route information, the derived route information, and the temporary route information for each unit process has been explained, the embodiment is not limited to this case. For example, there may be a case where the information processing apparatus 100 examines all of the fixed route information, the derived route information, and the temporary route information for each unit process, finds appropriate route information with a negative reduced cost, and determines the final route information group R. Description continues to explanation of
The graph 600 in
The graph 610 in
The graph 620 in
The method of related art is a method of creating a plan in which the fixed route information is absent and new route information is generated without limitations on the daily visiting order, the type of truck, and the like. The graph 700 in
The graph 710 in
The graph 720 in
Next, an example of effects produced by the information processing apparatus 100 is explained by using
The table 800 of
As illustrated in the table 800, the information processing apparatus 100 may create a plan for each day such that the use frequency of the fixed route information is highest, followed by the derived route information and the temporary route information in this order. As illustrated in the table 800, the information processing apparatus 100 may adopt the fixed route information and the derived route information for about 90% of the route information used in the plan. The information processing apparatus 100 may thereby make the visiting order of the truck less likely to change daily, and reduce the work burden on the driver. Next, the description proceeds to explanation of
The table 900 in
As illustrated in the table 900, an adverse effect on the total delivery cost tends not to occur even when the fixed route information is present. As illustrated in the table 900, the total delivery cost in the case where the fixed route information is present is lower than that in the case where the fixed route information is absent, in some days. Since there is an upper limit to the processing time in creation of the plan, it is assumed that there is a situation where a preferable plan is more likely to be created in the case where the fixed route information is present than in the case where the fixed route information is absent. As illustrated in the tables 800 and 900, the information processing apparatus 100 may create an appropriate plan to reduce the total delivery cost while reducing the work burden on the driver.
Next, an example of an overall processing procedure executed by the information processing apparatus 100 will be explained by using
In step S1002, the information processing apparatus 100 calculates the optimal solution to the dual problem of the linear relaxation problem of the route selection problem for the route information group R (step S1002). Next, the information processing apparatus 100 solves the reduced cost minimization problem for the calculated optimal solution to the dual problem by executing update processing to be described later in
The information processing apparatus 100 determines whether or not the route information with a negative reduced cost is generated (step S1004). When the route information with a negative reduced cost is generated (step S1004: Yes), the information processing apparatus 100 proceeds to a process of step S1005. Meanwhile, when the route information with a negative reduced cost is not generated (step S1004: No), the information processing apparatus 100 proceeds to a process of step S1006.
In step S1005, the information processing apparatus 100 determines whether or not the time limit is exceeded (step S1005). When the time limit is exceeded (step S1005: Yes), the information processing apparatus 100 proceeds to a process of step S1006. Meanwhile, when the time limit has not been exceeded (step S1005: No), the information processing apparatus 100 returns to the process of step S1002.
In step S1006, the information processing apparatus 100 selects one or more pieces of route information from the route information group R by solving the route selection problem for the route information group R (step S1006). The information processing apparatus 100 then terminates the overall processing.
Next, an example of an update processing procedure executed by the information processing apparatus 100 is explained by using
The information processing apparatus 100 determines whether or not the fixed route information with a negative reduced cost is generated by the searching (step S1103). When the fixed route information with a negative reduced cost is generated (step S1103: Yes), the information processing apparatus 100 proceeds to a process of step S1108. Meanwhile, when the fixed route information with a negative reduced cost is not generated (step S1103: No), the information processing apparatus 100 proceeds to a process of step S1104.
In step S1104, the information processing apparatus 100 refers to the reduced cost minimization problem, and searches for the derived route information with a negative reduced cost based on the one or more pieces of fixed route information (step S1104). The information processing apparatus 100 determines whether or not the derived route information with a negative reduced cost is generated by the searching (step S1105). When the derived route information with a negative reduced cost is generated (step S1105: Yes), the information processing apparatus 100 proceeds to the process of step S1108. Meanwhile, when the derived route information with a negative reduced cost is not generated (step S1105: No), the information processing apparatus 100 proceeds to a process of step S1106.
In step S1106, the information processing apparatus 100 refers to the reduced cost minimization problem, and searches for the temporary route information with a negative reduced cost based on the one or more pieces of fixed route information (step S1106). The information processing apparatus 100 determines whether or not the temporary route information with a negative reduced cost is generated by the searching (step S1107). When the temporary route information with a negative reduced cost is generated (step S1107: Yes), the information processing apparatus 100 proceeds to the process of step S1108. Meanwhile, when the temporary route information with a negative reduced cost is not generated (step S1107: No), the information processing apparatus 100 terminates the update processing.
In step S1108, the information processing apparatus 100 adds the route information with a negative reduced cost to the route information group R (step S1108). The information processing apparatus 100 then terminates the update processing. The information processing apparatus 100 may change the processing order of some of the steps in each of the flowcharts of
As explained above, according to the information processing apparatus 100, one or more pieces of first route information may be obtained. According to the information processing apparatus 100, generating the second route information different from any of the one or more pieces of first route information based on the one or more pieces of first route information enables setting of the route information group including the generated second route information and at least one of the one or more pieces of first route information. According to the information processing apparatus 100, it is possible to create a plan that defines a route on which each of the multiple moving objects travels to two or more of the multiple nodes, based on the set route information group such that the first route information is used preferentially over the second route information. The information processing apparatus 100 may thereby reduce a work burden on an executioner executing the plan. The information processing apparatus 100 may reduce the cost of executing the plan.
According to the information processing apparatus 100, it is possible to set the weight for the cost in the case where the second route information is used to a value larger than the weight for the cost in the case where the first route information is used. According to the information processing apparatus 100, it is possible to create the plan by solving the route selection problem in which the route information to be used in the plan is selected from the route information group such that the weighted sum of the costs is minimized. The information processing apparatus 100 may thereby create a plan in which the first route information is used preferentially over the second route information. The information processing apparatus 100 may thus reduce the work burden on the executioner executing the plan.
According to the information processing apparatus 100, it is possible to set the route information group such that the route information group includes one or more pieces of initial route information in the initial state. According to the information processing apparatus 100, it is possible to set the reduced cost minimization problem for the optimal solution to the dual problem of the relaxation problem of the route selection problem for the route information group. According to the information processing apparatus 100, it is possible to repeatedly execute the series of processes based on the set reduced cost minimization problem. According to the information processing apparatus 100, in the series of processes, when the first route information with a negative reduced cost is present among the obtained one or more pieces of first route information, it is possible to add this first route information to the route information group. According to the information processing apparatus 100, in the series of processes, when the first route information with a negative reduced cost is absent, it is possible to generate the second route information with a negative reduced cost and add the second route information to the route information group. The information processing apparatus 100 may thereby set an appropriate route information group. The information processing apparatus 100 may reduce the processing time taken to set the route information group.
According to the information processing apparatus 100, it is possible to generate the second route information with a negative reduced cost by searching for the second route information with a negative reduced cost that defines at least the second route same as the first route defined by one of the one or more pieces of first route information. The information processing apparatus 100 may thereby generate route information with a relatively-high degree of freedom. The information processing apparatus 100 may thus facilitate reduction of the cost of the plan while reducing the work burden on the executioner executing the plan.
According to the information processing apparatus 100, it is possible to generate the second route information with a negative reduced cost by searching for the second route information with a negative reduced cost that defines at least the second route different from any of the first routes defined, respectively, by the one or more pieces of first route information. The information processing apparatus 100 may thereby generate route information with a relatively-high degree of freedom. The information processing apparatus 100 may thus facilitate reduction of the cost of the plan.
According to the information processing apparatus 100, it is possible to repeatedly execute the series of processes until both of the first route information with a negative reduced cost and the second route information with a negative reduced cost become absent. The information processing apparatus 100 may thereby set an appropriate route information group.
According to the information processing apparatus 100, it is possible to generate the route information that defines at least the second route same as the first route defined by one of the one or more pieces of first route information and that is different from any of the one or more pieces of first route information, as the second route information. The information processing apparatus 100 may thereby generate route information with a relatively-high degree of freedom. The information processing apparatus 100 may thus facilitate reduction of the cost of the plan while reducing the work burden on the executioner executing the plan.
According to the information processing apparatus 100, it is possible to generate the route information that defines at least the second route different from any of the first routes defined, respectively, by the one or more pieces of first route information and that is different from any of the one or more pieces of first route information, as the second route information. The information processing apparatus 100 may thereby generate route information with a relatively-high degree of freedom. The information processing apparatus 100 may thus facilitate reduction of the cost of the plan.
The information processing method explained in the present embodiment may be implemented by causing a computer such as a PC or a workstation to execute a program prepared in advance. The information processing program explained in the present embodiment is recorded in a computer-readable recording medium, and is executed by being read from the recording medium by a computer. The recording medium is a hard disk, a flexible disk, a compact disc (CD)-ROM, a magneto optical (MO) disc, a Digital Versatile Disc (DVD), or the like. The information processing program explained in the present embodiment may be distributed via a network such as the Internet.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2023-144887 | Sep 2023 | JP | national |