Delivery planning apparatus, delivery planning method, and program

JP2025021724APending Publication Date: 2025-02-14NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023125641
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-01
Publication Date
2025-02-14

Smart Images

  • Figure 2025021724000001_ABST
    Figure 2025021724000001_ABST
Patent Text Reader

Abstract

To improve accuracy of path finding.SOLUTION: A delivery planning apparatus includes an acquisition unit and an optimization unit. The acquisition unit acquires, as parameter information, the number of transportation media, the number of demand points, the number of staff members who ride on the transportation media, and maximum continuous work time indicating lengths of time in which the staff members can continuously perform activities. The optimization unit simultaneously optimizes, under a constraint that staff members who ride on the transportation media are present in a same base, paths of the transportation media with respect to the demand points, and allocation of the staff members with respect to the transportation media, by Branch and Bound using the parameter information.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The embodiments relate to a delivery planning device, a delivery planning method, and a program. [Background technology]

[0002] Delivery of goods by vehicles is an essential element in modern society, and it is necessary to determine the optimal route for smooth delivery. For example, when supplying goods such as electricity and water to multiple demand points by vehicles during a disaster, it is necessary to search for a route that minimizes the time it takes for the goods to run out at each demand point. Since not only vehicles but also personnel are essential for the delivery of goods, it is desirable to search for a route that takes into account personnel constraints, such as the qualifications required for the work, the amount of time that can be worked continuously, and personnel changes along the way.

[0003] Specifically, for example, in the event of a widespread power outage, a plan is drawn up to deploy a mobile power source vehicle equipped with a generator and multiple workers (drivers and electricians) to the communications building, which is the demand point, to maintain or restore power to the emergency batteries in each communications building that runs on emergency batteries. At this time, each worker travels from the base (depot) to the location of the work vehicle according to the plan, and then travels to the location of the designated communications equipment with the work vehicle, after which they carry out restoration work.

[0004] In addition, because there is a limit to the amount of time each worker can work continuously, in the event of a failure that requires a long time to restore, the worker will be replaced by another worker as appropriate. In response to a widespread power outage, it is expected that it will take several hours to move to the communications building and to supply power, so it is expected that the worker will be replaced by another worker after the power supply is completed. Taking into account the above constraints, it is necessary to search for a route that can be carried out by a limited number of vehicles and workers and that minimizes the time that each telecommunications building runs out of power.

[0005] Conventional methods include a technique for searching only vehicle routes without considering human constraints, which uses discrete optimization to strictly find the optimal route. In addition, when considering human constraints (maximum continuous working hours, personnel transfers along the route, etc.), there is a method that divides the problem into two stages, determining the vehicle route and then allocating personnel, and solves each stage independently. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] Anders Dohn, Esben Kolind, Jens Clausen, The manpower allocation problem with time windows and job-teaming constraints: A branch-and-price approach, Computers & Operations Research, Volume 36, Issue 4, 2009, Pages 1145-1157. [Non-Patent Document 2] Drexl, M., Rieck, J., Sigl, T. et al. Simultaneous Vehicle and Crew Routing and Scheduling for Partial- and Full-Load Long-Distance Road Transport. Bus Res 6, 242-264 (2013). Summary of the Invention [Problem to be solved by the invention]

[0007] However, the method of decomposing the delivery planning problem into two steps, the determination of vehicle routes and the subsequent allocation of personnel, is not a strictly optimal solution to the original problem. In other words, a vehicle route determined ignoring human constraints does not necessarily match the optimal vehicle route taking human constraints into account.

[0008] The present invention has been made in view of the above circumstances, and an object of the present invention is to improve the accuracy of route searches. [Means for solving the problem]

[0009] A delivery planning device according to one embodiment includes an acquisition unit and an optimization unit. The acquisition unit acquires, as parameter information, the number of transport vehicles, the number of demand points, the number of personnel aboard the transport vehicles, and a continuous work upper limit time indicating the time during which the personnel can be continuously active. The optimization unit simultaneously optimizes the route of the transport vehicles for each demand point and the allocation of the personnel to the transport vehicles by a branch-and-bound method using the parameter information, under the constraint that the personnel aboard the transport vehicles are personnel who are present at the same base. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a block diagram showing a delivery planning device according to the present embodiment. [Diagram 2] FIG. 2 is a flowchart showing the delivery planning process of the delivery planning device according to this embodiment. [Diagram 3] FIG. 3 is a diagram showing an example of parameter information input to the delivery planning device according to the present embodiment. [Figure 4] FIG. 4 is an example of an output result of the delivery planning device according to this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, a delivery planning device, a delivery planning method, and a program according to the present embodiment will be described with reference to the drawings. In the following embodiments, parts with the same reference numerals perform similar operations, and duplicated descriptions will be omitted as appropriate.

[0012] The delivery planning device according to this embodiment will be described with reference to the block diagram of FIG. 1 includes a processing circuit 11, a storage unit 12, a communication interface 13, an input interface 14, and an output interface 15. The processing circuit 11 includes an acquisition unit 111, an optimization unit 112, and an output control unit 113.

[0013] The acquisition unit 111 acquires, as parameter information, the number of transport vehicles, the number of demand points, the number of personnel aboard the transport vehicles, and the continuous work upper limit time indicating the time during which personnel can be continuously active. Here, the transport vehicle is assumed to be a vehicle such as a truck in which personnel appear, but is not limited to this. For example, a train, a ship, or an air vehicle such as a drone may be selectively used, and any transport vehicle capable of moving personnel may be used. The demand point is, for example, a location where personnel are active, such as a communication building or a disaster site.

[0014] The optimization unit 112 simultaneously optimizes the route of the transportation vehicle for each demand point and the allocation of personnel to the transportation vehicle by a branch-and-bound method using parameter information under the constraint that personnel aboard the transportation vehicle are personnel present at the same base. As a result, optimal route information regarding the route and the allocation of personnel is generated.

[0015] The processing circuit 11 of the delivery planning device 1 is configured with a processor such as a central processing unit (CPU) or a graphics processing unit (GPU), or an integrated circuit such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Each unit of the processing circuit 11 described above may be realized as one function of the processor or the integrated circuit by the processor or the integrated circuit executing a processing program stored in the storage unit 12, for example.

[0016] Furthermore, all or part of the series of processes may be executed by one processor, or may be distributed and processed by a plurality of processors or other information processing terminals.

[0017] The storage unit 12 is configured with a commonly used storage medium, such as a non-volatile memory, such as a hard disk drive (HDD), a solid state drive (SSD), a ROM, or a flash memory. The storage unit 12 may be configured with a volatile memory, such as a random access memory (RAM), or may be configured with a combination of a non-volatile memory and a volatile memory. The storage unit 12 stores the optimal route information calculated by the optimization unit 112.

[0018] The communication interface 13 is an interface for transmitting and receiving data to and from an external device via a wired or wireless connection.

[0019] The input interface 14 is an interface for receiving input from a user via an input device such as a mouse, a keyboard, or a microphone.

[0020] The output interface 15 is an interface for outputting data or sound to an output device such as a display, a projector, or a speaker.

[0021] Next, the delivery planning process of the delivery planning device 1 according to this embodiment will be described with reference to the flowchart in FIG. 2. Here, vehicles are assumed as the transport medium. Also, a process is assumed in which a delivery plan taking into account human constraints on demand points is optimized, in other words, a process is assumed in which a vehicle route that minimizes the maximum depletion time of materials and personnel allocation are simultaneously optimized. As an additional constraint, a synchronization constraint is assumed, that is, a case in which multiple vehicles simultaneously supply power to a single demand point. Furthermore, a constraint is assumed in which personnel aboard the vehicles are personnel present at the same base.

[0022] In step SA1, the acquisition unit 111 acquires parameter information from the user via the input interface 14, for example.

[0023] In step SA2, the optimization unit 112 generates an optimization problem (original problem) based on the parameter information. The optimization problem assumed here is a problem of finding a route that minimizes the maximum exhaustion time. Specifically, the set of depots (bases) j is defined as D, the set of demand points i as S, and the set of personnel h as H. Also, the edge connecting two demand points i, j (i, j∈D∪S) is defined as e ij A vehicle is connected to edge e by personnel h∈H. ij A binary variable x that returns "1" if it is used and "0" if it is not used. ijh This defines the vehicle route as x ijh Set of {x ijh In other words, the original problem is to find a route {x ijh In this case, the continuous work upper limit a of the employee is a user-entered value or a predetermined value, and is assumed to be known. Demand point for travelling along route x i The exhaustion time T i is the remaining time at each demand point d i and expected arrival time T arr_i Based on this, T i (x)=T arr_i -d i Therefore, the original problem is the exhaustion time T S Path x where (x)≦λ ijh This is a question that asks:

[0024] In step SA3, the optimization unit 112 generates a relaxation problem of the original problem. ijh exists or not, the integer variable x ijh ∈[0,1] for continuous variables 0≦x ijh≦1. For the sake of convenience, when generating the relaxed problem, we will ignore the constraints between vehicles, i.e., the constraint that vehicles must arrive at a certain demand point at the same time, and the constraints on personnel, including the upper limit of continuous work time and work time intervals. A linear programming problem that has been linearly relaxed is generated as the relaxed problem.

[0025] In step SA4, the optimization unit 112 searches for the minimum value of the maximum exhaustion time for the relaxed problem, i.e., the linear programming problem, by binary search. Specifically, an initial value of the minimum value λ of the maximum exhaustion time is set, and a binary search is performed for a route that is equal to or less than λ. Specifically, a partial route in which the exhaustion time of all demand points is equal to or less than λ is searched for. The upper and lower limits of the search range in the binary search are set to predetermined values.

[0026] In step SA5, the optimization unit 112 calculates a linearly relaxed linear programming problem for a branch after the binary search, and judges whether a feasible solution is obtained. If a solution is obtained for the linear programming problem (main problem), the optimization unit 112 proceeds to step SA6, and if a feasible solution is not obtained for the linear programming problem (main problem), that is, if there is no solution, the optimization unit 112 proceeds to step SA7.

[0027] In step SA6, the optimization unit 112 determines that there is a feasible solution and that it is a feasible branch (path), and reduces the minimum value λ of the maximum exhaustion time.

[0028] In step SA7, optimization unit 112 generates a dual problem for the primal problem in step SA4. The generation of the dual problem is the same as that in a general column generation method, and therefore a detailed description thereof will be omitted here.

[0029] In step SA8, the optimization unit 112 calculates a dual problem under a fixed state in which the passengers aboard the vehicle are those who are at the same base (depot), and determines whether or not there is a column to be added. Specifically, as a result of calculating the dual problem, a search using a labeling method is performed to determine whether or not there is a column to be added. Specifically, each demand point is given the length of the path from the starting point obtained so far and a label representing the demand point immediately preceding the path, and each time a better path is found during the search process, the label is rewritten. Also, if there is no personnel available to transfer to a vehicle at a single demand point at the end of the personnel's working hours, the label is updated to provide a waiting time. If there is a column to be added, the process proceeds to step SA9, and if there is no column to be added, the process proceeds to step SA10.

[0030] In step SA9, the optimization unit 112 adds the columns that satisfy the objective function of the dual problem in step SA7 to the columns of the linear programming problem, and then returns to step SA4 to generate a primal problem of the linear programming problem including the newly restricted columns, and repeats the same process.

[0031] In step SA10, the optimization unit 112 determines that there is no feasible solution and that the branch is infeasible, sets the minimum value λ of the maximum exhaustion time to a large value, and proceeds to step SA11. This makes it possible to find an optimal solution for the relaxation problem (branch).

[0032] In step SA11, the optimization unit 112 judges whether the solution to the linear programming problem obtained by the processes in steps SA4 to SA9 is a solution to the original problem, i.e., whether it satisfies the constraints between vehicles and the constraints on personnel that were ignored in step SA3. For example, as a constraint between each vehicle, in the solution calculated in step SA5, it is necessary that personnel be assigned after the work start time and the initial work available time. Furthermore, it is necessary that the time of the vehicles visiting the demand point is simultaneous. In this way, when the solution satisfies the above-mentioned constraints between each vehicle, that is, a feasible solution {x ijhIf {x} is an integer value, it is determined to be a solution to the original problem, and the process proceeds to step SA12. On the other hand, if the solution does not satisfy the constraints between the vehicles, that is, if the solution is not a feasible solution {x ijh If} is a value other than an integer, it is determined that it is not a solution to the original problem, and the process proceeds to step SA13.

[0033] In step SA12, the optimization unit 112 terminates the search for that branch because the solution satisfies the constraints between the vehicles.

[0034] In step SA13, the optimization unit 112 further branches the solution so as to divide the time window into two because the solution does not satisfy the constraints between the vehicles. As a specific example of branching, a parameter may be set so as to force a vehicle to go to a demand point or not to go to a demand point. Then, the process returns to step SA3, a new relaxed problem is generated, and the same process is repeated. Specifically, for example, if a relaxed solution is obtained in which a first vehicle arrives at a demand point at 12 o'clock and a second vehicle arrives at 13 o'clock, the relaxed solution does not satisfy the synchronization constraint that the vehicles arrive at the same time. Therefore, a branch that adds the constraint that the vehicles arrive at the demand point before 12 o'clock or after 12 o'clock may be executed.

[0035] In step SA14, the output control unit 113 determines the solution with the smallest minimum value of the maximum exhaustion time among the solutions of each relaxation problem (branch) obtained by searching in the processing up to step SA13 as the optimal solution, and outputs the optimal solution to, for example, a display via the output interface 15.

[0036] Next, a specific example of the delivery plan processing of the delivery plan device 1 according to the present embodiment will be described with reference to Fig. 3 and Fig. 4. In the specific example, it is assumed that an optimal delivery plan is generated when power is supplied to each demand point in order to restore power.

[0037] FIG. 3 is an example of parameter information input to the delivery planning device 1. The parameter information input by the user includes the number of vehicles v, the number of demand points s, the number of personnel h, the continuous work upper limit a, the work time interval p, and the travel cost c between each demand point. The work time interval is the interval time required until the next work after a certain period of continuous work. Here, it is assumed that the number of vehicles v=1, the number of demand points s=3, the number of personnel h=4, the continuous work upper limit a=8, and the work time interval p=24.

[0038] For each demand point s, the data further includes information on the power outage time, which is the time when power runs out, the power supply time, which is the time it takes to supply power, and the number of vehicles required simultaneously, which indicates the number of vehicles required simultaneously. In other words, there are s elements for the power outage time, power supply time, and number of vehicles required simultaneously. Here, the power outage times for the three demand points are assumed to be (10, 100, 1000). The power supply times are assumed to be (1, 2, 3). The number of vehicles required simultaneously is assumed to be one at each demand point, i.e., (1, 1, 1).

[0039] For personnel h, the data further includes the qualifications held by the personnel, the available work time, which is the time when the personnel can start working, and the initial available work time, which indicates the initial available work time of the personnel. That is, there are h elements for each of the qualifications, the available work time, and the initial available work time. The qualifications are assumed to be a driver's license and an electrician's license, and indicate that a driver's license is required to drive a vehicle, and an electrician's license is required to supply power when the demand point is a communication building that has lost power. The qualifications are assumed to be specified by a numerical value indicating what qualifications each personnel h has, for example, a driver's license is set to "1," an electrician's license is set to "2," and if both are held, it is set to "3." Here, the example is (1,1,2,2). The available work time and the initial available work time are assumed to be (0,0,0,0) since it is assumed that the personnel can start working immediately.

[0040] The travel cost indicates the travel cost between each demand point, and is (d+s+h). 2 In the example in Figure 3, it is formed of the elements (1+3+4). 2= 64 possible travel costs. In addition, since the personnel aboard a vehicle are restricted to be personnel located at the same depot (base), the travel cost can be expressed as [0,1,2,3], for example. Here, the first component is the vehicle depot (base), and the second to fourth components are the costs from the vehicle depot to each demand point.

[0041] In this way, the continuous work upper limit time, the available work start time, and the initial available work time are stored as branching variables. An objective function that minimizes the maximum depletion time of the power supply is defined, and the branch and bound method is used. After calculating the minimum value of the linear relaxation problem using such branching variables, branching is performed depending on whether or not the constraint of the original problem of the linear relaxation problem is violated. For example, if a specific person h1 violates the personnel constraint, such as being on board a vehicle in violation of the available work time constraint, branching can be performed. As a branching method, for example, a constraint may be set such that when person h1 works at demand point s1, he must be replaced by another person h2, and person h2 works at demand point s2. This reduces the number of personnel allocation patterns and shortens the time to obtain a solution.

[0042] Also, branching may be performed under the condition that a vehicle is forced to move to (pass through) a certain demand point, or that a vehicle is forced not to move to (pass through) a certain demand point. Alternatively, branching may be performed to narrow (limit) the available work start time or the initial available work hours.

[0043] Next, the output result of this embodiment will be described with reference to FIG. FIG. 4 shows the execution result of the delivery plan process shown in FIG. 2 for the input of the parameter information shown in FIG. 3. The maximum delay time is set to [-8 hours], and the vehicle route [v1→s1→s2→s3] and the schedule of the personnel who will ride in the vehicles are generated. The personnel schedule is calculated as [(0,v1,d0),(26,v1,s2)] for personnel h1 and personnel h2, respectively. The personnel schedule is calculated as [(1,v2,d0),(2,v1,s1)] for personnel h3 and personnel h4. Here, the first component in the () indicates the departure time, the second component indicates the boarding vehicle, and the third component indicates the transfer location.

[0044] That is, in the example of FIG. 4, as a delivery plan to be generated, personnel h1 and personnel h2 board vehicle v1 at "time: 0" to move from depot d0 to demand point s1, and perform power supply work at demand point s1. Thereafter, personnel h3 and personnel h4 board a vehicle different from vehicle v1 (here, for convenience, vehicle v2) at "time: 1" to move from depot d0 to demand point s1. Personnel h3 and personnel h4 transfer to vehicle v1 at demand point s1 at "time: 2" to move from demand point s1 to demand point s2, and perform power supply work at demand point s2. Finally, personnel h1 and personnel h2 transfer to vehicle v1 at demand point s2 at "time: 26" to move from demand point 2 to demand point s3, and perform power supply work at demand point 3.

[0045] In the above embodiment, an example was described in which power is supplied to multiple demand points when a disaster occurs. However, the present invention is not limited to this and can also be applied as a support system during normal times, for example, when delivering goods to multiple stores.

[0046] Furthermore, the functions of the delivery planning device 1, the processing procedures and contents, the types of materials, the contents of the support information, and the like can be modified in various ways without departing from the gist of the present invention.

[0047] According to the present embodiment described above, a search is performed by setting the synchronization constraint between vehicles and the upper limit of continuous work time as variables using the branch and bound method, and the linearly relaxed problem in each branch is solved using column generation and binary search. If the obtained solution is the solution to the original problem before linear relaxation, the value is set as the solution for that branch, and if not, the branch is further branched to divide the time window in half. Finally, the optimal solution that minimizes the maximum depletion time of the material is selected from the solutions of each branch.

[0048] This makes it possible to find a precise optimal route that takes into account not only the transport means such as vehicles, but also human constraints. Therefore, for example, when delivering supplies such as electricity and water to disaster-stricken areas during a disaster, it is possible to minimize the time it takes for supplies to run out. Furthermore, by limiting the personnel aboard each transport means to those from the same depot as the vehicle, the search space can be reduced, the processing time can be shortened, and a route that is advantageous for personnel can be output. In other words, a better route can be searched for in a short time.

[0049] The method described in the above embodiment can be stored as a program (software means) that can be executed by a calculator (computer) in a storage medium such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), optical disk (CD-ROM, DVD, MO, etc.), semiconductor memory (ROM, RAM, flash memory, etc.), and can also be distributed by transmitting it via a communication medium. The program stored on the medium side also includes a setting program that configures the software means (including not only execution programs but also tables and data structures) that the calculator executes in the computer. The computer that realizes this device reads the program stored in the storage medium, and in some cases, configures the software means by the setting program, and executes the above-mentioned processing by controlling the operation of the software means. The storage medium referred to in this specification is not limited to a storage medium for distribution, but also includes a storage medium such as a magnetic disk or semiconductor memory provided inside the computer or in a device connected via a network.

[0050] In short, this invention is not limited to the above-mentioned embodiment, and various modifications can be made in the implementation stage without departing from the gist of the invention. Moreover, each embodiment may be implemented in combination as appropriate as possible, in which case the combined effect can be obtained. Furthermore, the above-mentioned embodiment includes inventions at various stages, and various inventions can be extracted by appropriate combinations of the disclosed constituent elements. [Explanation of symbols]

[0051] 1...Distribution planning device 11...Processing circuit 12…Storage section 13...Communication interface 14...Input interface 15...Output interface 111…Acquisition Department 112…Optimization section 113...Output control unit

Claims

1. an acquisition unit that acquires, as parameter information, the number of means of transport, the number of demand points, the number of personnel aboard the means of transport, and an upper continuous work limit time indicating the time during which the personnel can be continuously active; an optimization unit that simultaneously optimizes the route of the transportation vehicle for each demand point and the allocation of the personnel to the transportation vehicle by a branch-and-bound method using the parameter information under the constraint that the personnel aboard the transportation vehicle are personnel present at the same base; A delivery planning device comprising:

2. 2. The delivery planning device according to claim 1, wherein the optimization unit simultaneously optimizes the route and the assignment by setting the continuous work upper limit time as a variable in the branch and bound algorithm and solving a relaxation problem of the branch and bound algorithm by using a column generation algorithm and a binary search.

3. 2. The delivery planning device according to claim 1, wherein the optimization unit sets a waiting time when there is no personnel at the first demand point who can transfer to the transportation medium at the end of the working hours of the personnel at the first demand point as a variable in the branch and bound method, and optimizes the route and the allocation simultaneously by solving a relaxation problem of the branch and bound method using a column generation method and a binary search.

4. The delivery planning device according to claim 1 , wherein the optimization unit performs branching to narrow the range of the variables when a solution to the relaxed problem does not satisfy a constraint on the variables related to a synchronization constraint between the transportation vehicles of the original problem.

5. Acquire, as parameter information, the number of means of transport, the number of demand points, the number of personnel aboard the means of transport, and an upper continuous work limit time indicating the time during which the personnel can be continuously active; Under the constraint that the personnel aboard the transportation vehicle are personnel present at the same base, a route of the transportation vehicle for each demand point and an allocation of the personnel to the transportation vehicle are simultaneously optimized by a branch-and-bound method using the parameter information. Delivery planning methods.

6. A program for causing a computer to execute each unit of the delivery planning device according to claim 1.