Delivery planning apparatus, delivery planning method, and program
Patent Information
- Application Number
- JP2023125637
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-01
- Publication Date
- 2025-02-14
Smart Images

Figure 2025021721000001_ABST
Abstract
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 routes 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. [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 routes of the transport vehicles for each demand point and the allocation of personnel to the transport vehicles by a branch-and-bound method using the parameter information, thereby generating optimal route information regarding the routes and the allocation of personnel.
[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 the present embodiment will be described with reference to the flowchart in Fig. 2. Here, vehicles are assumed as the transport means. Also, a process is assumed in which a delivery plan that takes into account human constraints on demand points is optimized, in other words, a process that simultaneously optimizes vehicle routes and personnel allocations that minimize the maximum depletion time of materials.
[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, constraints between vehicles, i.e., synchronization constraints between different vehicles and constraints on personnel including the upper limit of continuous work time and work time intervals, are ignored for the time being when generating the relaxed problem. 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. Since the generation of the dual problem is the generation of a dual problem in a general column generation method, a detailed description thereof will be omitted here.
[0029] In step SA8, the optimization unit 112 calculates the dual problem and determines whether or not there is a column to be added. Specifically, as a result of calculating the dual problem, a search by 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 previous demand point on the path, and each time a better path is found during the search process, the label is rewritten. 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 determines 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 the vehicles ignored in step SA3. For example, as a constraint between each vehicle, in the solution calculated in step SA5, personnel must be assigned after the work start time and the initial work available time. In this way, if the solution satisfies the constraints between each vehicle, that is, if the solution is a feasible solution {x ijh If {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 branches further because the solution does not satisfy the constraints between the vehicles. As a specific example of branching, a parameter may be set to force a vehicle to go to a demand point, or to force a vehicle 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.
[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 each personnel h, the system 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, available work time, and 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, "3." Here, the system is assumed to be (3,3,3,3), which indicates that each personnel has multiple qualifications. The available work time and 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. For example, the travel cost can be expressed as [0, 1, 2, 3, 0, 0, 0, 0]. Here, the first component is the vehicle depot, the second to fourth components are the costs from the vehicle depot to each demand point, and the fifth to eighth components are the stations of each personnel. Note that, here, it is assumed that the vehicles and personnel are in the same depot and the travel costs to each demand point are the same, but the personnel and the vehicles may be in different depots, for example, the travel cost may be [0, 1, 2, 3, 0, 0, 2, 2].
[0041] In this way, 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 or she 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 executing 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 a vehicle route [v1→s1→s2→s3] and a schedule of personnel who will ride in the vehicles are generated. The personnel schedule is calculated as [(0,v1,d0),(24,v1,s2)] for personnel h1 and personnel h2, respectively. For personnel h3 and personnel h4, it is calculated as [(1,v1,s1)]. 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, the generated delivery plan is such that personnel h1 and personnel h2 board vehicle v1, move to demand point s1, and perform power supply work, then personnel h3 and personnel h4 transfer to vehicle v1 at demand point s1, move to demand point s2, and perform power supply work. Finally, personnel h1 and personnel h2 transfer to vehicle v1 at demand point s2, move to demand point s3, and perform power supply work.
[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 continuous work upper limit time as a variable using the branch and bound method, and the linearly relaxed problem in each branch is solved using a column generation method and a 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, further branches are performed. Finally, from among the solutions in each branch, the optimal solution that minimizes the maximum depletion time of the material is selected.
[0048] This makes it possible to find the exact optimal route that takes into account not only the transport means such as vehicles but also human constraints at the same time. 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. In other words, it is possible to search for a better route 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; 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. The delivery planning device according to claim 1 , wherein the optimization unit performs branching to narrow the range of the variable when a solution to the relaxed problem does not satisfy a constraint on a variable related to the upper continuous work time limit of the original problem.
4. The delivery planning device according to claim 1 , wherein the optimization unit sets a constraint such that, when a first personnel is active at a first demand point, a second personnel different from the first personnel is active at a second demand point.
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; Optimizing the route of the transportation vehicle for each demand point and the allocation of the personnel to the transportation vehicle simultaneously 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.
Citation Information
Cited By
Optimization processing apparatus, optimization processing method, and program
JP7926298B1