Visit schedule creation device, visit schedule creation device control method and program
The visit schedule formulation device optimizes visit schedules by uniformly distributing the number of locations visited and localizing the visit range, enhancing work efficiency by minimizing daily workload variation and travel distance.
Patent Information
- Application Number
- JP2022194690
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2025-10-02
- Estimated Expiration
- 2042-12-06
AI Technical Summary
Existing visit schedules for delivering supplies to multiple locations often result in inefficient travel due to fixed daily visits and wide-ranging locations, making it difficult to uniformly distribute the number of locations visited each day and localize the visit range, thereby hindering work efficiency.
A visit schedule formulation device that generates schedules by optimizing the number of daily visits and localizing the visit range using a combination of location information storage, visit schedule storage, allocation pattern generation, and a visit schedule formulation unit to calculate and select allocation patterns based on index values that minimize variation in the number of locations and size of the visit range.
The device creates schedules that uniformly distribute the number of locations visited each day and localize the visit range, thereby standardizing worker workload and improving efficiency by reducing travel time and distance.
Smart Images

Figure 0007748070000001 
Figure 0007748070000002 
Figure 0007748070000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a visit schedule generation device, a control method for a visit schedule generation device, and a program. [Background technology]
[0002] The job involves visiting multiple customers scattered around the country and replenishing supplies such as kerosene, gas, and food.
[0003] As a technique for improving the efficiency of such work, there is known a technique for improving the efficiency of the work of visiting and maintaining vending machines installed in various locations (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2002-221325 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the case of delivering supplies to multiple locations, it is not always necessary to visit locations where supplies are running low; in some cases, the visit schedule for each location is determined in advance, such as every three days for one location and every Monday and Thursday for another.
[0006] When visit schedules are determined in advance like this, the locations to be visited each day are fixed according to the visit schedule set for each location. Therefore, even if the number of locations to be visited each day varies or the locations to be visited each day are spread over a wide area, increasing travel time and making them inefficient, it is difficult to respond by flexibly changing the locations to be visited, which is one of the factors that hinders improvements in work efficiency.
[0007] For this reason, it is important to create a schedule for visiting each location in advance so that the number of locations visited each day is as uniform as possible and the range of visits is as localized as possible, and there is a demand for technology to support the creation of such a schedule.
[0008] The present invention has been made in consideration of the above-mentioned problems, and provides a visiting schedule creation device, a control method for the visiting schedule creation device, and a program that can create a visiting schedule in which the number of daily visiting points is as uniform as possible and the visiting range is as localized as possible. [Means for solving the problem]
[0009] A visit schedule formulation device according to one embodiment of the present invention is a visit schedule formulation device that formulates visit schedules for visiting a plurality of locations while satisfying visit requirements related to the visit cycle and visit frequency set for each location, and comprises: a location information storage unit that stores location information for each of the locations; a visit schedule storage unit that stores, for each of the visit requirements set for each of the locations, one or more visit schedules that have the same visit frequency within the visit cycle specified by the visit requirement but different visit timings; an allocation pattern generation unit that generates a plurality of allocation patterns for allocating visit schedules that meet the visit requirements of each of the locations to each of the locations; and a visit schedule formulation unit that formulates a visit schedule for each of the locations by selecting one allocation pattern from the plurality of allocation patterns based on the results of calculating, for each of the allocation patterns, a first index value that indicates the degree of variation in the number of visited locations at each visit timing from the first to the final visit, and a second index value that indicates the degree of breadth of the visited range at each visit timing determined from the location information of each of the locations.
[0010] In addition, the problems and solutions disclosed in this application will be made clear by the description in the section on the preferred embodiment of the invention and the drawings. [Effects of the Invention]
[0011] When visiting a plurality of locations according to a visit schedule set for each location, it is possible to create a visit schedule in which the number of locations visited each time is as uniform as possible and the visiting range is localized as much as possible. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a diagram showing a state in which a plurality of points are scattered within a predetermined area. [Figure 2] FIG. 2 is a diagram for explaining a visit schedule formulated by the visit schedule formulation device. [Figure 3] FIG. 2 is a diagram illustrating a hardware configuration of a visit schedule development device. [Figure 4] FIG. 2 is a diagram illustrating a storage device of the visit schedule planning device. [Figure 5] FIG. 10 is a diagram illustrating a visited point management table. [Figure 6] FIG. 10 is a diagram illustrating a visit schedule management table. [Figure 7] FIG. 2 is a diagram illustrating a functional configuration of a visit schedule development device. [Figure 8] 10 is a flowchart illustrating the process flow of a visiting schedule formulation method. [Figure 9] 10 is a flowchart illustrating the hill-climbing method. [Figure 10] 1 is a flowchart illustrating a simulated annealing method. [Figure 11] This is a diagram to explain the range of visits. This diagram uses OpenStreetMap and has been modified from the following copyrighted work: List of public fire hydrants, Kawasaki City, Creative Commons Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ). [Figure 12] FIG. 10 is a diagram illustrating how the number of visited points is equalized. [Figure 13]This is a diagram showing how the visited area is localized. This diagram uses OpenStreetMap and the following copyrighted work: List of public fire hydrants, Kawasaki City, Creative Commons Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ). [Figure 14] FIG. 10 is a diagram showing how a predetermined area is divided into a plurality of small areas. [Figure 15] FIG. 10 is a diagram illustrating a visited point management table. DETAILED DESCRIPTION OF THE INVENTION
[0013] At least the following matters will become apparent from the description of this specification and the accompanying drawings. Hereinafter, the present invention will be described based on embodiments with reference to the accompanying drawings.
[0014] First Embodiment == Overview == FIG. 1 shows a predetermined area 900 in which a plurality of points 300 (13 points from point A to point M) and bases 310 are scattered.
[0015] The predetermined area 900 is an area that is defined so as to encompass all of these points 300. In the example shown in Fig. 1, the predetermined area 900 is a rectangular area surrounded by boundaries that run along the east-west or north-south direction, but it may also be an area defined by administrative divisions such as cities, wards, towns, and villages.
[0016] A kerosene tank (not shown) is installed at each point 300 within the predetermined area 900, and kerosene is consumed daily by customers who reside at each point 300.
[0017] Kerosene is periodically replenished by workers who visit each location 300 in accordance with a visit schedule (such as every Monday and Thursday (meeting the twice-weekly requirement) or the 1st and 15th of each month (meeting the twice-monthly requirement)) that meets the visit requirements (such as twice-weekly or twice-monthly) regarding the visit cycle and frequency set for each location 300.
[0018] Base 310 is the worker's workplace, a kerosene storage facility, or the like, and is the starting point and destination when the worker visits each point 300. Every day, the worker departs from base 310, refills the tanks of the points 300 that he / she should visit that day with kerosene, and returns to base 310.
[0019] Therefore, the number of locations 300 that a worker visits in a day and the size of the visiting range 920 are determined by the combination of locations 300 that the worker visits in that day.
[0020] The visit schedule formulation device 100 according to an embodiment of the present invention is an information processing device such as a computer that formulates a visit schedule for each location 300 such that the number of visit locations each day is as uniform as possible and the size of the visit range 920 is as small (unevenly distributed) as possible. By visiting each location 300 according to such a visit schedule, it is possible to standardize the daily workload of workers and improve work efficiency.
[0021] FIG. 2 shows how the number of visited points per day is equalized by following a visiting schedule formulated by the visiting schedule formulation device 100. FIG. 2(a) is a comparative example showing the state before the number of visited points is equalized, and FIG. 2(b) is an example showing the state after equalization. In both cases, the visiting requirements set for each point 300 are the same, and point A is to be visited every two days, point B every four days, point C every two days, and point D every three days.
[0022] Looking at Figure 2(a), we can see that the number of visited locations during the period from day 1 to day 8 varies greatly, with a maximum of four locations (day 1) and a minimum of zero locations (days 2, 6, and 8). On the other hand, in the case of Figure 2(b), the number of visited locations is a maximum of two locations (days 1, 2, 4, 6, and 7) and a minimum of one location (days 3, 5, and 8). Compared to Figure 2(a), this shows that the number of visited locations is more uniform while still meeting the requirement of 300 visits to each location.
[0023] FIG. 12 shows the results of a simulation conducted using the visit schedule development device 100 according to this embodiment to visit 2,000 locations, and shows that the number of locations visited each day can be standardized to around 45 to 50 locations while meeting the visit requirements of 300 locations for each location.
[0024] As for the size of the visiting range 920, FIG. 13 shows a schematic diagram of how the visiting range 920 is localized each day according to the visiting schedule formulated by the visiting schedule formulation device 100.
[0025] Specifically, Fig. 13(a) shows locations 300 that a worker will visit on the first day according to the visit schedule formulated by the visit schedule formulation device 100, and Fig. 13(b) shows locations 300 that a worker will visit on the second day. The visit range 920 for the first day shown in Fig. 13(a) is localized to an area near the upper left of the predetermined area 900, and the visit range 920 for the second day shown in Fig. 13(b) is localized to an area slightly to the lower right of the center of the predetermined area 900. This reduces the travel distance of the worker on each of the first and second days, shortening work time and improving work efficiency.
[0026] In this way, the visit schedule formulation device 100 according to this embodiment makes it possible to formulate a visit schedule for each location 300 such that the number of visit locations each day is as uniform as possible and the size of the visit range 920 is as small (localized) as possible, thereby making it possible to standardize the daily workload of workers and improve work efficiency.
[0027] As will be described in more detail later, the visit schedule formulation device 100 generates multiple allocation patterns by assigning various visit schedules that meet the visit requirements of each location 300 to each location 300, and for each allocation pattern, it calculates a first index value that indicates the degree of variation in the number of locations visited each day over a specified period (for example, 28 days) and a second index value that indicates the extent of the daily visit range 920, and based on the results, it formulates a visit schedule for each location 300 by selecting the optimal allocation pattern.
[0028] The worker visits each location 300, with one cycle consisting of the time from departure from the base 310 to the time of return. In this embodiment, an example is described in which the worker visits one cycle per day, but multiple cycles of visits may be made in one day, or one cycle of visits may span multiple days. Alternatively, there may be days on which no visits are made, such as the worker's days off.
[0029] In the following description, it is assumed that the visits in one cycle are performed at the same visit timing, i.e., the locations 300 visited by the worker from the start to the end of one visit cycle are visited at the same visit timing.
[0030] The number of visit timings that occur during a specified period is determined by the number of visit cycles per day. For example, if a worker makes one visit cycle per day, one visit timing occurs every day. Therefore, in this case, the number of visit timings during a specified period (the period from the first visit timing to the final visit timing) is equal to the number of days in the specified period. In the following explanation, the number of visit timings from the first to the final will be referred to as the specified number. In other words, the specified period is a period during which a specified number of visit timings are performed, from the first to the final visit.
[0031] The visit schedule development device 100 may be installed at the base 310 or at a location different from the base 310. Furthermore, the visit schedule development device 100 may be installed inside or outside the predetermined area 900. This will be explained in detail below.
[0032] ==Visit Schedule Planning Device== Next, the visit schedule planning device 100 will be described.
[0033] 3 shows the hardware configuration of the visit schedule development device 100. The visit schedule development device 100 is a computer including a CPU (Central Processing Unit) 110, a memory 120, a communication device 130, a storage device 140, an input device 150, an output device 160, and a recording medium reading device 170.
[0034] The storage device 140 stores various programs, such as the visit schedule planning device control program 700 executed by the CPU 110, and data.
[0035] The visit schedule planning device control program 700 and various data stored in the storage device 140 are read into the memory 120 and executed or processed by the CPU 110, thereby realizing various functions of the visit schedule planning device 100.
[0036] Here, the storage device 140 is a non-volatile storage device such as a hard disk, a solid state drive (SSD), or a flash memory.
[0037] As shown in FIG. 4, the storage device 140 stores a visit schedule planning device control program 700, a visit location management table 600, and a visit schedule management table 610.
[0038] Returning to FIG. 3, the recording medium reader 170 reads the visit schedule planning device control program 700 and data recorded on a recording medium 800 such as a CD, DVD, or SD card, and stores them in the storage device 140 .
[0039] The communication device 130 exchanges various data and the visit schedule development device control program 700 with other computers (not shown) installed at each of the above-mentioned locations 300 and other locations via the network 500. For example, the above-mentioned visit schedule development device control program 700 and data can be stored in another computer, and the visit schedule development device 100 can download the visit schedule development device control program 700 and data from this computer. Alternatively, the communication device 130 can communicate with a mobile terminal (not shown), such as a smartphone or laptop computer, carried by a worker, to exchange various information.
[0040] The network 500 is any of various information and communication networks such as the Internet, a LAN (Local Area Network), and a telephone network.
[0041] The input device 150 is a device such as various buttons, switches, a mouse, a keyboard, and a microphone that accepts commands and data input by the user, and functions as an input user interface.
[0042] The output device 160 is, for example, a display device such as a display, a speaker, or the like, and functions as an output user interface.
[0043] <Visit point management table> 5 shows the visited point management table 600 stored in the storage device 140. The visited point management table 600 is a table that stores a visited point ID for uniquely identifying each point 300, location information indicating the location of each point 300, visiting requirements set for each point 300, and a determined visiting schedule, all in association with each other.
[0044] In the example shown in FIG. 5, the location of each point 300 is specified by latitude and longitude, but it may also be specified by address.
[0045] The visit requirements column records the visit requirements set for each location 300. The visit requirements are set for each location 300 by specifying the visit cycle and frequency, such as "three times a week on weekdays" or "once a month," depending on the kerosene consumption rate and tank capacity at each location 300, the customer's working days, and other factors.
[0046] The determined visit schedule column records the visit schedule for each location formulated by the visit schedule formulation device 100. The visit schedule for each location 300 is formulated by the visit schedule formulation device 100 so as to satisfy the visit requirements of each location 300. The visit schedule formulation device 100 formulates the visit schedule for each location 300 so as to suppress the variation in the number of locations visited each day and to localize the visit range 920 when the worker visits each location 300.
[0047] The information on the visit spot ID, location, and visit requirements is registered in the visit spot management table 600 by a user operating the visit schedule planning device 100 using a user interface (third user interface) such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface). At this time, the visit requirements are associated with the location information of each point 300 and are selected or input by the user from a list of visit requirements registered in the visit schedule management table 610 shown in FIG. 6.
[0048] Meanwhile, the determined visiting schedule is registered in the visiting point management table 600 by the visiting schedule development device 100.
[0049] The visit point management table 600 may be stored in the visit schedule planning device 100, or may be stored in another computer (not shown) that is communicably connected to the visit schedule planning device 100.
[0050] <Visit schedule management table> The visit schedule management table 610 is shown in Fig. 6. The visit schedule management table 610 stores, for each visit requirement defined for each location 300, one or more visit schedules that have the same visit frequency within the visit cycle defined by the visit requirement but different visit timings.
[0051] The visit schedule planning device 100 selects a visit schedule to be assigned to each location 300 from the visit schedules stored in the visit schedule management table 610.
[0052] As shown in FIG. 6, the visit schedule management table 610 has a "visit requirement" column, a "No." column, and a "visit schedule" column.
[0053] In the visit requirement column, visit requirements are entered. In the example shown in Fig. 6, "once a weekday" and "twice a weekday" are entered.
[0054] It is also possible to add a new visit requirement that is not registered in the visit schedule management table 610. In this case, the user operating the visit schedule planning device 100 inputs the new visit requirement by inputting information indicating the visit cycle and information indicating the visit frequency (e.g., "six times a month") using a user interface (first user interface) such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface). Alternatively, the visit schedule planning device 100 may store in advance various samples of visit requirements (cycles such as "weekly" or "monthly" and frequencies such as "daily" or "two days"), and the user may register the new visit requirement by selecting the desired visit requirement from these samples.
[0055] The "No." column contains identification information for one or more visit schedules that satisfy the visit requirement. In the example shown in Fig. 6, five visit schedules, No. 1 to No. 5, are shown as meeting the visit requirement of "one weekday."
[0056] The "Visit Schedule" field records one or more specific visit schedules that meet the visit requirements. For example, in the example shown in Figure 6, the visit schedule specified by No. 1 for "One weekday" indicates that the location 300 is visited every Monday.
[0057] It is also possible to add a new visit schedule that is not registered in the visit schedule management table 610. In this case, the user operating the visit schedule formulation device 100 uses a user interface (second user interface) such as the input device 150, the recording medium reading device 170, the communication device 130, or an API to input one or more visit schedules that have the same visit frequency within a visit cycle defined by the visit requirements of each location 300 but different visit timings.
[0058] For example, the visit schedule development device 100 displays a calendar (not shown) for the visit cycle (such as one week or one month) specified by the visit requirements on the second user interface, and accepts the input of information specifying the visit timing (for example, by clicking with the mouse on the position corresponding to the visit date), thereby accepting the input of a new visit schedule. At this time, the user may not register all visit schedules that match the visit requirements, in accordance with the customer's business requirements, etc. For example, in the case of "four weekdays" in FIG. 6, a visit schedule with four consecutive visit days (for example, visits on the four days of Monday, Tuesday, Wednesday, and Thursday every week) is not registered. Of course, it is also possible to add a visit schedule with four consecutive visit days depending on subsequent changes in business requirements. Furthermore, it is also possible to delete a visit schedule that has already been registered. This embodiment makes it possible to input and change visit schedules that flexibly meet the customer's business requirements.
[0059] Note that the visit schedule development device 100 may be configured such that, when accepting registration of a new visit requirement, it simultaneously accepts (through the same user interface) registration of one or more visit schedules that satisfy this visit requirement.
[0060] The visit schedule management table 610 may be stored in the visit schedule development device 100, or may be stored in another computer (not shown) that is communicably connected to the visit schedule development device 100.
[0061] <Functional configuration of the visit schedule formulation device> Next, the functional configuration of the visit schedule development device 100 will be described with reference to the functional configuration diagram shown in FIG.
[0062] As described above, the visit schedule development device 100 realizes various functions as the visit schedule development device 100 by reading the visit schedule development device control program 700 and various data stored in the storage device 140 into the memory 120 and executing or processing them by the CPU 110.
[0063] Specifically, the visit schedule planning device 100 has the functions of a location information storage unit 101, a visit schedule storage unit 102, an allocation pattern generation unit 103, and a visit schedule planning unit 104.
[0064] The location information storage unit 101 stores location information of each location 300. In this embodiment, the location information storage unit 101 is embodied as a visited location management table 600.
[0065] The visit schedule storage unit 102 stores one or more visit schedules that have the same visit frequency but different visit timing within the visit cycle defined by the visit requirement for each location 300, for each visit requirement defined for the location 300. In this embodiment, the visit schedule storage unit 102 is embodied as a visit location management table 600 and a visit schedule management table 610.
[0066] The allocation pattern generation unit 103 generates a plurality of allocation patterns for allocating visiting schedules that meet the visiting requirements of each location 300 to each location 300 .
[0067] For example, the allocation pattern generation unit 103 generates a first allocation pattern by assigning to each location 300 any visiting schedule that meets the visiting requirements of each location 300, and then generates a second allocation pattern by replacing the visiting schedule of a specific location 300 selected from each location 300 with another visiting schedule that meets the visiting requirements of the specific location 300.By repeating this process while changing the specific location 300 and using this second allocation pattern as a new first allocation pattern, multiple allocation patterns are generated.
[0068] This process will be described using an example in which a plurality of allocation patterns are generated for five locations, namely, locations A to E. The visit requirement for point A is "twice a weekday" The visit requirement for point B is "once a weekday" The visit requirement for point C is "once a month" The visit requirement for point D is "twice a month" The visit requirement for point E is "5 times on weekdays" Let us assume that:
[0069] Then, the allocation pattern generation unit 103 first generates a first allocation pattern. Specifically, the allocation pattern generation unit 103 references the visit point management table 600 and the visit schedule management table 610, and generates the first allocation pattern by selecting a visit schedule that satisfies the visit requirements of each point 300 in a predetermined manner (for example, randomly).
[0070] For example, for the visit requirement for point A, "twice on weekdays," five different visit schedules, No. 1 to No. 5, are registered, as shown in FIG. 6, so the allocation pattern generation unit 103 randomly selects, for example, "4" from among 1 to 5.
[0071] Furthermore, for the visit requirement of point B (once a weekday), five different visit schedules, No. 1 to No. 5, are registered, so the allocation pattern generation unit 103 randomly selects, for example, "3" from 1 to 5.
[0072] For the visit requirement (once a month) of point C, 28 different visit schedules No. 1 to No. 28 are registered, so the allocation pattern generation unit 103 randomly selects, for example, "8" from among 1 to 28.
[0073] For the visit requirement of point D (twice a month), 14 different visit schedules No. 1 to No. 14 are registered, so the allocation pattern generation unit 103 randomly selects, for example, "9" from among 1 to 14.
[0074] For the visit requirement for point E (five times on weekdays), only one visit schedule, No. 1, is registered, so the allocation pattern generation unit 103 selects "1".
[0075] In other words, the first allocation pattern is "No. 4 twice a weekday" for point A, "No. 3 once a weekday" for point B, "No. 8 once a month" for point C, "No. 9 twice a month" for point D, and "No. 1 five times a weekday" for point E.
[0076] For convenience of explanation, such a first allocation pattern will be described as vector X1=(4, 3, 8, 9, 1).
[0077] Then, the allocation pattern generating unit 103 generates a second allocation pattern based on this first allocation pattern.
[0078] The second allocation pattern is generated by replacing the visiting schedule of the predetermined location 300 selected from among the locations A to E with another visiting schedule that meets the visiting requirements of the predetermined location 300.
[0079] The predetermined point 300 is a point selected from each point 300 by the allocation pattern generation unit 103, and the allocation pattern generation unit 103 selects each point 300 as the predetermined point 300 with a predetermined probability (for example, 5%). For example, point A is selected as the predetermined point 300 with a probability of 5%. Points B to E are also selected as the predetermined point 300 with a probability of 5% each.
[0080] The selection of the predetermined locations 300 may be performed by randomly selecting a predetermined number or a predetermined ratio of locations from all locations 300. In this case, the number of predetermined locations 300 when the allocation pattern generation unit 103 generates a new allocation pattern will be constant each time.
[0081] Furthermore, the probability of selecting each location 300 as the predetermined location 300 may be changed for each location 300 .
[0082] For a location 300 selected as a predetermined location 300, the allocation pattern generation unit 103 selects another visiting schedule that satisfies the visiting requirements of the predetermined location 300 in a predetermined manner (for example, randomly) and replaces the previous visiting schedule. On the other hand, for a location 300 that is not selected as a predetermined location 300, the allocation pattern generation unit 103 retains the visiting schedule of the first allocation pattern as is.
[0083] As a specific example, a case where points B, D, and E are selected as the predetermined points 300 will be described.
[0084] In this case, the visit schedule for point A is maintained, so it becomes "4" for "twice on weekdays."
[0085] For point B, the allocation pattern generation unit 103 again randomly selects a visiting schedule of "once a weekday," and selects, for example, "2."
[0086] For point C, the visit schedule is maintained, so the value becomes "8" for "once a month."
[0087] For point D, the allocation pattern generation unit 103 again randomly selects a visiting schedule of "twice a month," and selects, for example, "10."
[0088] For point E, the allocation pattern generation unit 103 again randomly selects the visiting schedule of "five weekdays" and selects "1" (since there is only one visiting schedule that meets the requirement of five weekdays, the same visiting schedule is selected).
[0089] The second allocation pattern thus generated is the vector X2=(4, 2, 8, 10, 1).
[0090] Thereafter, by repeating the same process, the allocation pattern generating unit 103 generates a plurality of allocation patterns (X1, X2, X3, . . . ).
[0091] Then, in order to find the optimal allocation pattern from among the multiple allocation patterns generated by the allocation pattern generation unit 103, an evaluation is performed on each allocation pattern using a search algorithm. The search algorithm may be a hill climbing method, a simulated annealing method, a genetic algorithm, or a tabu search. In this embodiment, the hill climbing method or the simulated annealing method is used. The evaluation of each allocation pattern is performed by the visiting schedule formulation unit 104 using a first index value and a second index value, which will be described later.
[0092] The visit schedule formulation unit 104 formulates a visit schedule for each location 300 by selecting one allocation pattern from the multiple allocation patterns based on the results of calculating a first index value indicating the degree of variation in the number of visited locations at each visit timing from the first to the final visit, and a second index value indicating the degree of size of the visited range 920 at each visit timing determined from the location information of each location 300, for each of the multiple allocation patterns.
[0093] The timing of the final visit is the timing of a predetermined number of visits counting from the first visit, and can be determined arbitrarily in order to calculate the first index value and the second index value. However, it is preferable to determine the predetermined number of visits so that it is a multiple (such as the least common multiple) of the visit cycle of each point 300. For example, as shown in the example of FIG. 6, if each point 300 is visited in one cycle per day and the least common multiple of the visit cycles of each point 300 (7 days, 14 days, 28 days) is 28 days, it is preferable to set the 28th day as the final visit. Alternatively, the visit cycle of each point 300 may be determined so that the visit cycle of each point 300 is a divisor of the predetermined number of visits.
[0094] In any case, by defining the period from the first visit timing to the final visit timing as a unit of the visit cycle defined for each location 300, when evaluating each allocation pattern using the first index value and the second index value, it is possible to eliminate locations 300 that reach the final visit in the middle of the visit cycle, making it possible to fairly evaluate each allocation pattern and search for a more optimal allocation pattern.
[0095] The following will specifically explain how the visiting schedule formulation unit 104 selects one allocation pattern from among a plurality of allocation patterns.
[0096] The visiting schedule formulation unit 104 calculates a score shown in the following (Equation 1) for each allocation pattern created by the allocation pattern generation unit 103, and selects the allocation pattern with the smallest score value. Score = 1st index value + a × 2nd index value (a is a positive weighting coefficient) ... (Equation 1)
[0097] Here, the first index value is calculated by the following (Equation 2). First index value = Σ((number of visited locations on day i - target number of visited locations per day) ÷ target number of visited locations per day) 2 …(Formula 2)
[0098] The first index value is calculated as the sum from the first day to the last day of a predetermined period (the same applies to the first visit to the last visit of a predetermined number of visits), and is an index for equalizing the number of visited locations each time.
[0099] The target number of visit points per day is the total number of visit points (total number of visit points per day within a predetermined period (e.g., 28 days)) divided by the predetermined period. In other words, it is the average number of visit points per day.
[0100] For example, the visit schedule formulation unit 104 calculates the average number of visit points per visit timing by dividing the total number of visit points from the first visit timing to the final visit timing by the number of visit timings from the first visit timing to the final visit timing, and calculates the first index value based on the difference between the average number of visit points and the number of visit points at each visit timing.
[0101] The predetermined period is, for example, 28 days (4 weeks). In this case, i takes values from 1 to 28.
[0102] The smaller the first index value, the more uniform the daily workload, and the more consistent the daily workload relative to the target number of visits per day. The first index value is normalized by calculating it as a fraction with the target number of visits per day as the denominator.
[0103] The first index value will be explained in more detail below.
[0104] As mentioned above, each location 300 has its own visit requirements, and each location 300 is assigned a visit schedule to meet these visit requirements. The vector X represents the visit schedule assignment pattern. i And the vector X i The number of elements is the number of locations 300 (here, 5 locations), and the number of each element indicates which visit schedule it is for each visit requirement listed in the visit schedule management table 610 in Figure 6 (the number in the No. column).
[0105] Therefore, the visit schedule formulation unit 104 calculates the vector X i By referring to the visit schedule management table 610, the number of locations visited for each day from the 1st to the 28th day can be tallied.
[0106] An example of aggregation when X1 = (4, 3, 8, 9, 1) is shown below. Since point A is "4" in "twice a weekday," Mondays and Thursdays are the visit dates, referring to the visit schedule management table 610 in Figure 6. Therefore, the visit schedule formulation unit 104 calculates the visit dates to point A as the 1st, 4th, 8th, 11th, 15th, 18th, 22nd, and 25th days (note that the 1st day is assumed to be Monday, and the same applies below).
[0107] Since point B has a "3" for "once a weekday," the visiting date is Wednesday, referring to the visiting schedule management table 610 in Fig. 6. Therefore, the visiting schedule formulation unit 104 calculates the visiting dates to point B as the 3rd, 10th, 17th, and 24th days.
[0108] Since point C is "once a month" and "8," the eighth day is determined to be the visit date by referring to the visit schedule management table 610 in Fig. 6. Therefore, the visit schedule formulation unit 104 calculates the visit date to point C as the eighth day.
[0109] Since point D is "9" for "twice a month," the 9th and 23rd days are the visit dates, referring to the visit schedule management table 610 in Fig. 6. Therefore, the visit schedule formulation unit 104 calculates the visit dates to point D as the 9th and 23rd days.
[0110] Since point E is "1" of "5 times on weekdays," the visit dates are Monday through Friday, referring to the visit schedule management table 610 in Fig. 6. Therefore, the visit schedule formulation unit 104 calculates the visit dates to point E as the 1st, 2nd, 3rd, 4th, 5th, 8th, 9th, ... and 26th days.
[0111] The visit schedule formulation unit 104 can calculate the number of visit locations for each day from the first day to the last day (28th day) when the allocation pattern is vector X1 = (4, 3, 8, 9, 1) by aggregating the above calculation results by day (by visit timing).
[0112] The visiting schedule formulation unit 104 then calculates the first index value using (Equation 2). Here, as described above, the target number of visiting points per day is the average number of visiting points. Therefore, if the allocation pattern is such that the number of visiting points on all days from the 1st to the 28th day is equal to the average number of visiting points, the first index value will be "0."
[0113] The average number of visited points is the same for all allocation patterns. This is because the visit requirements for each point 300 are the same for all allocation patterns, and visit schedules that satisfy the same visit requirements all have the same visit cycle and visit frequency, resulting in the same total number of visited points over a specified period (28 days). For example, considering one point in Figure 6 with a visit requirement of "once a weekday," no matter which visit schedule from No. 1 to No. 5 is selected, the number of visits to this point over 28 days will be four, so the average number of visited points will be constant at 4 / 28.
[0114] Therefore, by comparing the first index values for various allocation patterns calculated according to (Equation 2), it is possible to compare the degree of variation in the number of visited points for each allocation pattern.
[0115] Furthermore, in (Formula 2), when the first index value and the second index value are added together in (Formula 1), the first index value and the second index value are divided by the target number of visited locations in order to normalize and make the magnitudes of these values consistent. Also, the difference between the number of visited locations and the target number of visited locations is always a positive value, and the calculated value for each day is squared in order to increase the penalty if the number of visited locations deviates significantly from the target number of visited locations.
[0116] Therefore, the larger the first index value, the more days there are on which the number of visited points deviates greatly from the target number of visited points, indicating unevenness in the amount of work.
[0117] Next, the visit schedule formulating unit 104 calculates the second index value using the following (Equation 3). Second index value = Σ ( ((maximum latitude of the visited point on day i - minimum latitude of the visited point on day i) × (Maximum longitude of visited points on day i - Minimum longitude of visited points on day i) ÷ ((Maximum latitude of all points - Minimum latitude of all points) × (Maximum longitude of all points - Minimum longitude of all points) 2 …(Formula 3)
[0118] The second index value is calculated as the sum from the first day to the last day of the predetermined period (the same applies to the first visit to the last visit of the predetermined number of visits), and is an index for localizing the visit range 920 for each visit.
[0119] The second index value is calculated by defining the visiting range 920 as the smallest rectangular area surrounded by four sides parallel to the east-west or north-south direction that includes all of the daily visiting points 300, and then calculating the area of this visiting range 920 as the product of the east-west width (difference in latitude) and the north-south width (difference in longitude) of this visiting range 920, and then normalizing it by the total area of the specified area 900.
[0120] In other words, the visit schedule formulation unit 104 calculates the second index value by considering the size of the rectangular area surrounded by the maximum latitude, minimum latitude, maximum longitude, and minimum longitude of the visit point 300 at a certain visit timing as the size of the visit range at that visit timing.
[0121] The smaller the second index value, the smaller the area visited per day 920 is, indicating better work efficiency.
[0122] A calculation example for vector X1 = (4, 3, 8, 9, 1) is shown below.
[0123] Since point A is "4" for "twice a weekday," the visit dates are Monday and Thursday. Therefore, the visit schedule formulation unit 104 calculates the visit dates for point A as 1, 4, 8, 11, 15, 18, 22, and 25 (it is assumed that the 1st day is Monday).
[0124] Since point B has a "3" for "once a weekday," the visit day is Wednesday. Therefore, the visit schedule formulation unit 104 calculates the visit days to point B as the 3rd, 10th, 17th, and 24th days.
[0125] Since the visit date for point C is "once a month" and the number "8", the visit date is the 8th day. Therefore, the visit schedule formulation unit 104 calculates the visit date for point C as the 8th day.
[0126] Since point D is "9" for "twice a month," the visit dates are the 9th and 23rd. Therefore, the visit schedule formulation unit 104 calculates the visit dates to point D as the 9th and 23rd.
[0127] Since point E is "1" of "5 times on weekdays," the visit dates are Monday to Friday. Therefore, the visit schedule formulation unit 104 calculates the visit dates to point E as the 1st, 2nd, 3rd, 4th, 5th, 8th, 9th, . . . 26th days.
[0128] The visiting schedule formulation unit 104 then aggregates the above calculation results by day, thereby determining the visiting locations 300 for each day from the first day to the last day (the 28th day) when the allocation pattern is expressed by the vector X1=(4, 3, 8, 9, 1).
[0129] The visiting schedule development unit 104 then refers to the visiting point management table 600 to determine the maximum latitude, minimum latitude, maximum longitude, and minimum longitude of the visiting points 300 for each day.
[0130] Similarly, the visiting schedule development unit 104 refers to the visiting point management table 600 to find the maximum latitude, minimum latitude, maximum longitude, and minimum longitude of all the points 300 .
[0131] Then, the visit schedule formulating unit 104 calculates the second index value using (Equation 3).
[0132] In addition, in order to further emphasize the degree of localization of the daily visiting range 920, the second index value is calculated by squaring the ratio of the size of the visited area 920 to the size of the predetermined region 900 and summing up the ratio values for each day for 28 days. In other words, the narrower the visiting range 920 for each day, the smaller the second index value.
[0133] In this embodiment, assuming use in mid-latitude regions, the size of the visiting range is calculated simply from the latitudes and longitudes of the four sides of the rectangular area. However, the size may be calculated more precisely from the length of the rectangular area in the north-south direction and the length of the rectangular area in the east-west direction.
[0134] ==Processing flow== Next, the flow of processing by the visit schedule planning device 100 according to this embodiment will be described with reference to the flowcharts shown in FIGS.
[0135] First, in FIG. 8, the visit schedule formulation device 100 accepts input of visit requirements for each location 300 (S1000). For example, the visit requirements for each location 300, locations A to M, shown in FIG. 1, are accepted. The visit requirements can be input by selecting them from the visit requirements registered in the visit schedule management table 610 shown in FIG. 6. Alternatively, when inputting a new visit requirement that is not registered in the visit schedule management table 610, the new visit requirement can be registered using the method described above.
[0136] The visit schedule development device 100 then stores the visit requirements for each of the locations 300 in the visit location management table 600 in the storage device 140 .
[0137] Next, the visit schedule development device 100 references the visit point management table 600 and the visit schedule management table 610, and generates a plurality of allocation patterns for allocating visit schedules that meet the visit requirements of each point 300 to each point 300 (S1010).
[0138] The visit schedule development device 100 then calculates a first index value and a second index value for each allocation pattern, and based on the results, selects one allocation pattern from among the multiple allocation patterns, thereby developing a visit schedule for each location 300 (S1020).The visit schedule development device 100 then stores the visit schedule for each location 300 in the determined visit schedule column of the visit location management table 600.
[0139] As a search algorithm for searching for an optimal allocation pattern, for example, a hill-climbing method, a simulated annealing method, a genetic algorithm, a tabu search, or the like can be used.
[0140] Note that the flowchart shown in FIG. 8 describes that the visiting schedule development device 100 performs a process of generating a plurality of allocation patterns in S1010, and then performs a process of calculating a first index value and a second index value for these allocation patterns and selecting an optimal allocation pattern in S1020; however, the processes of S1010 and S1020 do not necessarily have to be performed separately, and the visiting schedule development device 100 may calculate a first index value and a second index value each time a new allocation pattern is generated, and sequentially search for an optimal allocation pattern.
[0141] FIG. 9 shows a flowchart for searching for an optimal allocation pattern using the hill-climbing method without separating the processes of S1010 and S1020, and FIG. 10 shows a flowchart for using the simulated annealing method.
[0142] First, with reference to FIG. 9, the flow of processing when searching for an optimal allocation pattern by the hill-climbing method (hereinafter referred to as allocation pattern search processing S1200) will be described.
[0143] First, the visit schedule formulation device 100 generates a first allocation pattern (S1211). As an example in this embodiment, the visit schedule formulation device 100 generates the first allocation pattern by allocating to each location 300 a visit schedule that is arbitrarily (for example, randomly) selected from visit schedules that satisfy the visit requirements of each location 300. The visit schedule formulation device 100 also sets the first allocation pattern as a tentative solution.
[0144] Next, the visit schedule planning device 100 calculates a first index value and a second index value for this first allocation pattern (S1212), and obtains a score for the first allocation pattern from these calculation results (S1213).
[0145] The visit schedule planning device 100 then generates a second allocation pattern based on the first allocation pattern (S1214). At this time, the visit schedule planning device 100 generates the second allocation pattern by changing the visit schedule of the predetermined location 300 selected from each location 300 to another visit schedule that satisfies the visit requirements of the predetermined location 300.
[0146] Next, the visit schedule generation device 100 calculates the first index value and the second index value for this second allocation pattern (S1215), and obtains the score of the second allocation pattern from these calculation results (S1216).
[0147] The visit schedule development device 100 then determines whether the score of the second allocation pattern is smaller than the score of the first allocation pattern (S1217). If the score of the second allocation pattern is smaller than the score of the first allocation pattern (S1217: YES), the visit schedule development device 100 resets the second allocation pattern as a tentative solution (S1218). Thereafter, the process proceeds to S1219. On the other hand, if the score of the second allocation pattern is not smaller than the score of the first allocation pattern (S1217: NO), the process proceeds to S1219.
[0148] In S1219, the visit schedule planning device 100 determines whether the score of the tentative solution is equal to or less than a preset threshold. If the score of the tentative solution is equal to or less than the preset threshold (S1219: YES), the visit schedule planning device 100 executes S1221. If the score of the tentative solution is not equal to or less than the preset threshold (S1219: NO), the visit schedule planning device 100 sets the second allocation pattern as the first allocation pattern (S1220), returns to S1214, and continues processing.
[0149] In S1221, the visiting schedule development device 100 sets the tentative solution as the search result of the allocation pattern, and stores the visiting schedule of each location 300 in the visiting location management table 600. The visiting schedule development device 100 also outputs the search result of the allocation pattern to the output device 160 as appropriate.
[0150] 10 is a flowchart illustrating the process (hereinafter referred to as allocation pattern search process S1300) performed by the visiting schedule formulation device 100 when searching for an allocation pattern by the simulated annealing method. The allocation pattern search process S1300 will be described below with reference to FIG.
[0151] First, the visit schedule planning device 100 sets an initial value of the temperature T (S1311).
[0152] Next, the visit schedule formulation device 100 generates a first allocation pattern (S1312). As an example in this embodiment, the visit schedule formulation device 100 generates the first allocation pattern by allocating to each location 300 a visit schedule that is arbitrarily (for example, randomly) selected from visit schedules that satisfy the visit requirements of each location 300. The visit schedule formulation device 100 also sets the first allocation pattern as a tentative solution.
[0153] The visit schedule development device 100 calculates a first index value and a second index value for this first allocation pattern (S1313), and finds a score for the first allocation pattern based on these calculation results (S1314).
[0154] The visit schedule planning device 100 then generates a second allocation pattern based on the first allocation pattern (S1315). At this time, the visit schedule planning device 100 generates the second allocation pattern by changing the visit schedule of the predetermined location 300 selected from among the locations 300 to another visit schedule that satisfies the visit requirements of the predetermined location 300.
[0155] Next, the visit schedule planning device 100 calculates the first index value and the second index value for the second allocation pattern (S1316), and finds the score of the second allocation pattern based on these calculation results (S1317).
[0156] The visiting schedule planning device 100 then determines whether to accept the second allocation pattern (S1318). In this determination, the visiting schedule planning device 100 generally accepts the second allocation pattern if the score of the second allocation pattern is smaller than the score of the first allocation pattern. However, even if the score of the second allocation pattern is not smaller than the score of the first allocation pattern (i.e., even if it is a deterioration), the visiting schedule planning device 100 accepts the second allocation pattern with a probability that depends on the temperature T. Note that, for example, the Metropolis criterion is used as the probability. This makes it less likely to fall into a local optimum solution. If the visiting schedule planning device 100 determines to accept the second allocation pattern (S1318: Accept), it resets the second allocation pattern as a tentative solution (S1319) and proceeds to S1320. On the other hand, if it determines not to accept the second allocation pattern (S1318: Not Accept), the visiting schedule planning device 100 proceeds to S1320.
[0157] In S1320, the visit schedule planning device 100 determines whether or not to lower the temperature T. For example, the visit schedule planning device 100 determines to lower the temperature T when the loop processing of S1315 to S1320 has been repeated a preset number of times or more. Note that by increasing the number of repetitions, it is possible to improve the possibility of obtaining a true optimal solution for the allocation pattern. Conversely, by decreasing the number of repetitions, it is possible to shorten the time required for the search processing for the allocation pattern.
[0158] When the visiting schedule generation device 100 determines that the temperature T should be lowered (S1320: YES), the visiting schedule generation device 100 lowers the temperature T (S1321) and proceeds to S1322. For example, in the case of exponential annealing, the visiting schedule generation device 100 t+1 =γ T t (where γ is a coefficient that determines the cooling rate). On the other hand, if the visit schedule planning device 100 determines that the temperature T will not be lowered (S1320: NO), it sets the second allocation pattern to the first allocation pattern (S1324) and returns to S1315 to continue the process.
[0159] In S1322, the visit schedule planning device 100 determines whether the score of the tentative solution is equal to or less than a preset threshold. If the score of the tentative solution is equal to or less than the preset threshold (S1322: YES), the visit schedule planning device 100 executes S1323. If the score of the tentative solution is not equal to or less than the preset threshold (S1322: NO), the visit schedule planning device 100 sets the second allocation pattern as the first allocation pattern (S1324), and returns to S1315 to continue the processing.
[0160] In S1323, the visiting schedule development device 100 sets the tentative solution as the search result of the allocation pattern, and stores the visiting schedule of each location 300 in the visiting location management table 600. The visiting schedule development device 100 also outputs the search result of the allocation pattern to the output device 160 as appropriate.
[0161] As explained above, according to the visit schedule creation device 100 and the control method and program for the visit schedule creation device 100 of this embodiment, when visiting multiple locations 300 according to a visit schedule defined for each location 300, it is possible to create a visit schedule in which the number of locations visited each time is as uniform as possible and the visiting range 920 is as narrow as possible.
[0162] Second Embodiment In the first embodiment, the visiting range 920 for each visit was defined as a rectangular area surrounded by four boundaries: a boundary line passing east-west through the point 300 with the greatest latitude among the visiting points 300 at the timing of each visit; a boundary line passing east-west through the point 300 with the smallest latitude; a boundary line passing north-south through the point 300 with the greatest longitude; and a boundary line passing north-south through the point 300 with the smallest longitude; and the second index value was calculated based on the size of the visiting range 920 for each visit.
[0163] In contrast, in the second embodiment, as shown in Figure 14, a specified area 900 is divided in advance into multiple small areas 910 (nine in the example shown in Figure 14), and the second index value is calculated based on the number of small areas 910 to which the visited location 300 belongs at each visit timing (the number of small areas 910 that include one or more visited locations 300).
[0164] In this way, the uneven distribution of the visited points 300 can be evaluated in units of small regions 910, so that a stronger uneven distribution of the visited range 920 can be realized.
[0165] For this reason, in the second embodiment, as shown in FIG. 14, identifiers such as "1-1" to "3-3" are assigned to the small regions 910.
[0166] 15, the visited point management table 600 also stores the identifier of the small area 910 to which each point 300 belongs. In other words, the visited point management table 600 includes, as part of the location information of each point 300, information indicating to which small area 910 the point belongs, out of the plurality of small areas 910 obtained by dividing the predetermined area 900.
[0167] Therefore, the visit schedule development device 100 can easily identify which small area 910 each visit location 300 belongs to at each visit timing.
[0168] The calculation formula for the second index value in the second embodiment is, for example, the following (Formula 4). Second index value = Σ ((number of small areas to which the visited point on the i-th day belongs) ÷ (number of all small areas)) 2 …(Formula 4)
[0169] That is, in the second embodiment, the visit schedule formulation unit 104 calculates the second index value by regarding the number of small areas 910 to which one or more visit points 300 belong at a certain visit timing as the size of the visit range 920 at this visit timing.
[0170] In the second embodiment, the second index value is also calculated as the sum from the first day to the last day of the specified period (the 28th day in this embodiment), or from the first visit to the last visit of the specified number of visits, and is an index for localizing the range of each visit.
[0171] The smaller the second index value, the smaller the area visited per day 920 is, which indicates better work efficiency.
[0172] In this way, the uneven distribution of the visited points 300 can be evaluated in units of small regions 910, so that a stronger uneven distribution of the visited range 920 can be realized.
[0173] The above-described embodiment is intended to facilitate understanding of the present invention, and is not intended to limit the present invention. The present invention may be modified or improved without departing from the spirit thereof, and equivalents thereof are also included in the present invention.
[0174] For example, in the above embodiment, the case where kerosene is replenished at each point 300 has been described as an example, but it is also possible to replenish products in vending machines installed at each point 300 .
[0175] In addition, in the above embodiment, a method for calculating the first index value was shown with the aim of standardizing the number of visited locations at each visit timing, but it is also possible to standardize the amount of kerosene replenished each time (the amount of kerosene loaded into a vehicle such as a truck when a worker leaves base 310).
[0176] In this case, based on past performance data regarding the amount of kerosene refilled each time at each location 300, the average refill amount per visit at each location 300 and the average total refill amount per cycle from when the worker leaves the base 310 until when he returns are calculated and stored in the visited location management table 600, etc., so that the total average refill amount at each visited location 300 at each visit timing is made as uniform as possible.
[0177] In this case, the first index value is, for example, as shown in the following (Equation 5). First index value = Σ((total of average replenishment amount at each visit point on day i - average total replenishment amount per cycle) ÷ average total replenishment amount per cycle) 2 …(Formula 5)
[0178] The total average replenishment amount for each visited point 300 on the i-th day can be calculated by summing up the average replenishment amount per visit to each visited point 300, if the visited points 300 on that day are known.
[0179] Even when using (Equation 5), the first index value is calculated as the sum from the first day to the last day of the specified period (the 28th day in this embodiment), or from the first time to the last of the specified number of times, and is an index for standardizing the amount of kerosene refilled each time.
[0180] In addition, the supplies that workers deliver to each location 300 are not limited to kerosene and vending machine products, but may also be gas, various materials and products consumed by machines, factories, stores, etc., and even water consumed in agricultural water tanks. [Explanation of symbols]
[0181] 100 Visiting schedule formulation device 101 Location information storage unit 102 Visit schedule memory unit 103 Allocation pattern generation unit 104 Visit Schedule Planning Department 110 CPU 120 memory 130 Communication equipment 140 Storage device 150 Input Device 160 Output Device 170 Recording medium reader 300 points 310 locations 500 Network 600 Visited Location Management Table 610 Visit Schedule Management Table 700 Visit schedule formulation device control program 800 Recording Media 900 designated area 910 Small Areas 920 Visit Range
Claims
1. A visit schedule creation device that creates a visit schedule for visiting a plurality of locations while satisfying visit requirements related to visit cycles and visit frequencies set for each location, a location information storage unit that stores location information of each of the points; a visit schedule storage unit that stores, for each of the visit requirements defined for each of the locations, one or more visit schedules that have the same visit frequency within a visit cycle defined by the visit requirements but different visit timings; an allocation pattern generation unit that generates a plurality of allocation patterns when allocating a visiting schedule that meets the visiting requirements of each of the locations to each of the locations; a visit schedule formulation unit that formulates a visit schedule for each of the locations by selecting one allocation pattern from among a plurality of the allocation patterns based on the results of calculating a first index value that indicates the degree of variation in the number of visited locations at each visit timing from the first visit to the final visit, and a second index value that indicates the degree of breadth of the visited range at each visit timing determined from the location information of each of the locations, for each of the allocation patterns; A visit schedule formulation device comprising:
2. The visit schedule creation device according to claim 1, The allocation pattern generation unit generates a first allocation pattern by assigning to each of the locations any visiting schedule that meets the visiting requirements of the locations, and then generates a second allocation pattern by replacing the visiting schedule of a specified location selected from among the locations with another visiting schedule that meets the visiting requirements of the specified location, and repeats this process while changing the specified location with the second allocation pattern as the new first allocation pattern, thereby generating the multiple allocation patterns.
3. The visit schedule creation device according to claim 2, The allocation pattern generation unit selects each of the locations as the predetermined location with a predetermined probability each time the process is performed.
4. The visit schedule creation device according to claim 1, The visit schedule formulation unit A visit schedule formulation device that calculates the average number of visit points per visit timing by dividing the total number of visit points from the first visit timing to the final visit timing by the number of visit timings from the first visit timing to the final visit timing, and calculates the first index value based on the difference between the average number of visit points and the number of visit points at each visit timing.
5. The visit schedule creation device according to claim 1, The location information of each of the points stored in the location information storage unit includes information indicating the latitude and longitude of each of the points, The visit schedule formulation unit A visit schedule planning device that calculates the second index value by regarding the size of a rectangular area surrounded by the maximum latitude, minimum latitude, maximum longitude, and minimum longitude of the visit point at the visit timing as the size of the visit range at the visit timing.
6. The visit schedule creation device according to claim 1, the location information of each of the points stored in the location information storage unit includes information indicating to which small area the point belongs, among the small areas obtained by dividing a predetermined area surrounding all of the points; The visit schedule planning unit calculates the second index value by regarding the number of small areas to which one or more visit points belong at the visit timing as the size of the visit range at the visit timing.
7. The visit schedule creation device according to claim 1, a first user interface that accepts input of the visit requirements by inputting or selecting information representing the visit cycle and visit frequency; A visit schedule formulation device comprising:
8. The visit schedule creation device according to claim 1, a second user interface that accepts input of one or more visit schedules with the same number of visits within a visit cycle defined by the visit requirements but different visit timings, for the visit requirements; A visit schedule formulation device comprising:
9. The visit schedule creation device according to claim 1, a third user interface that accepts input or selection of visit requirements defined for each of the locations in association with the respective locations; A visit schedule formulation device comprising:
10. The visit schedule creation device according to claim 1, The period from the first visit to the final visit is determined in units of a visit cycle determined for each of the locations. Visit schedule planning device.
11. A control method for a visit schedule formulation device that formulates a visit schedule for visiting a plurality of locations while satisfying visit requirements related to visit cycles and visit frequencies set for each location, comprising: The visit schedule planning device, storing the location information of each of the points; For each of the visit requirements defined for each of the locations, one or more visit schedules are stored, each having the same visit frequency within a visit cycle defined by the visit requirements but different visit timings; generating a plurality of allocation patterns for allocating visit schedules that meet the visit requirements of each of the locations to each of the locations; A control method for a visit schedule formulation device which formulates a visit schedule for each of the locations by selecting one allocation pattern from among a plurality of the allocation patterns based on the results of calculating, for each of the allocation patterns, a first index value indicating the degree of variation in the number of visited locations at each visit timing from the first to the final visit, and a second index value indicating the degree of breadth of the visited range at each visit timing determined from the location information of each of the locations.
12. A program for causing a computer to formulate a visiting schedule for visiting a plurality of locations while satisfying visiting requirements related to visiting cycles and visiting frequencies set for each location, The computer, a step of storing location information of each of the locations; a step of storing, for each of the visit requirements defined for each of the locations, one or more visit schedules having the same visit frequency within a visit cycle defined by the visit requirements but different visit timings; generating a plurality of allocation patterns for allocating a visit schedule that satisfies the visit requirements of each of the locations to each of the locations; a step of formulating a visiting schedule for each of the locations by selecting one of the allocation patterns from among the plurality of allocation patterns based on the results of calculating a first index value indicating the degree of variation in the number of visited locations at each visiting timing from the first to the final visiting, and a second index value indicating the degree of breadth of the visiting range at each visiting timing determined from the location information of each of the locations; A program that executes the following.
Citation Information
Patent Citations
Delivery scheduling device
JP1994176040A
Delivery planning system
JP1998254964A
Gas cooking stove
JP2002221325A
Area dividing method
JP2004110341A
Circulation route generation device, circulation route generation method and program
JP2022018834A