Visiting spot allocation device and control method and program for visiting spot allocation device

JP2025033736APending Publication Date: 2025-03-13KII CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023139672
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-13

AI Technical Summary

Benefits of technology

【0010】 所定地域内の複数の地点を複数の担当者で分担して訪問する場合の各担当者への訪問地点の割り当てを、業務効率を低下させないように行うことが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025033736000001_ABST
    Figure 2025033736000001_ABST
Patent Text Reader

Abstract

To carry out allotment of visiting spots to respective persons charge when visiting by sharing a plurality of spots within a prescribed area by a plurality of persons in charge in the prescribed area without deteriorating work efficiency.SOLUTION: A visit spot allotment device carrying out allotment of visit spots to respective persons in charge when visiting by sharing a plurality of visit spots in a prescribed area by a plurality of persons in charge includes: a visit spot in charge storage unit for storing visit spots in charge allotted to each person in charge beforehand to a first number of persons in charge for visiting the allotted plurality of spots; a visiting person specifying unit for specifying the visitor when a second number of persons in charge visit a plurality of spots in the prescribed area; and a visiting spot allotment unit for allotting visit spots to each visitor by selecting one allotted candidate from a plurality of allotted candidates based on a result of calculating an evaluation value expressing the degree of difference between visiting points and allotted points of each visitor to each of a plurality of allotted candidates allotted to the visiting point to each of a second number of visitors.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a visit point allocation device, a control method for the visit point allocation device, and a program. [Background technology]

[0002] In some cases, such as when multiple maintenance staff visit vending machines in a given area, multiple maintenance staff may share the responsibilities of visiting multiple locations.

[0003] In this case, it is necessary to assign visiting points to each person in charge, and a technique for performing such assignment is known, for example, as disclosed in Patent Document 1. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2004-127038 A Summary of the Invention [Problem to be solved by the invention]

[0005] In many cases, a fixed number of locations are assigned to each person in advance, and an individual system is adopted in which each person visits the locations assigned to them. However, in the case of an individual system, if a person is absent due to sudden illness, another person who is not familiar with the location or the surrounding road conditions of the person in charge, or a manager who does not usually visit the location, must take his / her place, which may reduce work efficiency. In addition, in the case of an individual system, it is difficult to change the number of people in charge depending on the increase or decrease in the number of locations to be visited.

[0006] For this reason, rather than an individual system where each person is assigned a location in advance, a team system is sometimes adopted where each person's destination is flexibly decided according to the situation at the time. With a team system, even if the number of people in charge suddenly decreases, the remaining people can simply divide up the destinations to visit. However, when a team system is adopted, each person does not have a location in the first place, and each person often visits unfamiliar areas, which can still reduce work efficiency.

[0007] The present invention has been made in consideration of the above problems, and provides a visit location allocation device, a control method and a program for the visit location allocation device that are capable of allocating visit locations to each person in a specified area when multiple people are assigned to visit multiple locations within the area, without reducing work efficiency. [Means for solving the problem]

[0008] A visiting point allocation device according to one embodiment of the present invention is a visiting point allocation device that allocates visiting points to each of a plurality of staff members when the plurality of locations within a specified area are shared among the plurality of staff members, and includes: a assigned point memory unit that stores, for each staff member, assigned points that have been assigned in advance to a first number of staff members who are responsible for sharing and visiting the plurality of locations; a visitor identification unit that identifies visitors when the plurality of locations within the specified area are visited by a second number of staff members; and a visiting point allocation unit that allocates visiting points to each of the second number of visitors by selecting one assignment candidate from among the multiple assignment candidates based on the result of calculating an evaluation value that represents the degree of difference between the visiting points of each visitor and the assigned point for each of the multiple assignment candidates.

[0009] In addition, the problems and solutions disclosed in this application will be made clear by the description in the section of the preferred embodiment of the invention and the descriptions in the drawings. Effect of the Invention

[0010] When multiple personnel are to visit multiple locations within a given area in a shared manner, it is possible to allocate the locations to each personnel without reducing work efficiency. [Brief description of the drawings]

[0011] [Figure 1] This is a diagram showing multiple points scattered within a given area. This diagram uses OpenStreetMap and the following copyrighted work with some modifications: List of public fire hydrants, Kawasaki City, Creative Commons License Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ) [Diagram 2] FIG. 2 is a diagram illustrating a hardware configuration of a visit point allocation device. [Diagram 3] FIG. 4 illustrates a memory device of the visiting point allocation device. [Figure 4] FIG. 13 is a diagram showing a location information management table. [Diagram 5] FIG. 13 is a diagram showing a covered location management table. [Figure 6] FIG. 13 is a diagram showing a current day covered location management table. [Figure 7] This is a diagram showing a small area. This diagram uses OpenStreetMap and the following copyrighted work with some modifications: List of public fire hydrants, Kawasaki City, Creative Commons License Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ) [Figure 8] FIG. 13 is a diagram showing a penalty information map management table. [Figure 9] FIG. 2 is a diagram illustrating a functional configuration of a visit point allocation device. [Figure 10] This is a diagram showing the visiting point allocation candidates. This diagram uses OpenStreetMap and the following copyrighted work with modifications: List of fire hydrants (public facilities), Kawasaki City, Creative Commons License Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ) [Figure 11] FIG. 13 is a diagram showing a penalty information map. [Figure 12] This is a diagram to explain the calculation of the evaluation value. This diagram uses OpenStreetMap and has been modified from the following work: List of fire hydrants (public facilities), Kawasaki City, Creative Commons License Attribution 2.1 (http: / / creativecommons.org / licenses / by / 2.1 / jp / ) [Figure 13] FIG. 11 is a diagram for explaining calculation of an evaluation value. [Figure 14] 10 is a flowchart illustrating a process flow of a visit point allocation device. [Figure 15] FIG. 13 is a diagram showing a penalty information map. [Figure 16] FIG. 13 is a diagram for explaining an initial individual. [Figure 17] FIG. 13 is a diagram for explaining a crossover process. [Figure 18] FIG. 13 is a diagram for explaining a mutation process. [Figure 19] FIG. 11 is a diagram for explaining calculation of an evaluation value. [Figure 20] FIG. 11 is a diagram for explaining calculation of an evaluation value. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] 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 an embodiment with reference to the accompanying drawings. ===First embodiment=== ==Point== 1 shows a plurality of points 300 scattered within a predetermined area 900. These points 300 are locations to which, for example, kerosene, gas, beverages in vending machines, etc. are delivered.

[0013] The predetermined area 900 is an area that is defined so as to surround all the points 300. In the example shown in Fig. 1, the predetermined area 900 is a rectangular area surrounded by boundaries along the east-west or north-south direction, but it may be an area defined by administrative divisions such as cities, wards, towns, and villages.

[0014] The predetermined area 900 is divided into a number of small areas 910 by boundaries along latitude or longitude, as shown in Fig. 7. In this embodiment, the predetermined area 900 is divided into 7 rectangular small areas 910 in the north-south direction and 10 in the east-west direction, for a total of 70 small areas 910. Identification information such as 1-1, 1-2, etc. is assigned to each small area 910.

[0015] Returning to Fig. 1, in this embodiment, the multiple locations 300 within the predetermined area 900 are visited by five people designated as AAA, BBB, CCC, DDD, and EEE. In this embodiment, a team system is adopted, and each person is assigned a location 300 in advance as shown in Fig. 1.

[0016] Each person in charge visits a destination (hereinafter, also referred to as a visited location 300) selected from these locations 300 every day. Each visited location 300 may be determined according to a visiting schedule determined for each location 300 (for example, a certain location 300 is visited every Monday and Thursday), or may be determined according to the necessity of visiting each location 300 (for example, a location 300 where the remaining amount of kerosene, gas, beverages, etc. falls below a certain amount).

[0017] In this way, the five staff members visit the visiting locations 300 selected from the locations 300 assigned to them in advance every day. However, if two staff members are suddenly absent due to sudden illness or other reasons, it is necessary for other staff members to visit the locations 300 assigned to these two staff members instead.

[0018] In such a case, the visiting point allocation device 100 described below allocates visiting points 300 to the remaining three staff members. At that time, the visiting point allocation device 100 allocates visiting points 300 to the three staff members who will be performing visiting tasks on that day so that they are as close as possible to their original assigned points 300. In this way, the visiting point allocation device 100 can allocate visiting points 300 to each staff member without reducing work efficiency.

[0019] Even if all five people can visit the sites, if the number of sites visited by a certain visitor on a day is less than that of the other visitors (if there is a certain degree of imbalance), it is effective to use the visit site allocation device 100 to reallocate the visit sites 300 of each visitor, and it becomes possible to efficiently visit multiple sites 300. For example, in the example shown in Fig. 1, if the number of sites visited by person in charge AAA on a certain day is less than the number of sites visited by the other people, person in charge AAA can also visit some of the sites 300 of neighboring people (BBB and CCC) and shift the sites 300 visited by each person in charge overall, thereby balancing the number of sites visited by each person in charge.

[0020] In this way, by using the visiting point allocation device 100, it is possible to adopt a team system while taking advantage of the advantages of the individual system, and it becomes possible to flexibly change the visiting destinations according to the situation of the day, based on the assigned points 300 of each person in charge.

[0021] In this embodiment, a person who actually visits the multiple locations 300 is described as a "visitor." The number of visitors may be less than, more than, or even equal to the number of people who are scheduled to visit the multiple locations 300 in advance (also referred to as the first number). If the number of visitors on that day is less than the first number, the person who will not visit is described as a "cancelled visitor." If the number of visitors on that day is more than the first number, the person who has newly joined the visiting members is described as an "additional person."

[0022] Moreover, the locations 300 that are assigned to each person in advance as places to visit are written as assigned locations 300, and the locations 300 that each person actually visits are written as visited locations 300.

[0023] The details will be explained below. == Visit Point Assignment Device == First, the visit point allocation device 100 will be described.

[0024] 2 shows the hardware configuration of the visiting point allocation device 100. The visiting point allocation device 100 is an information processing device such as a computer comprising 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.

[0025] The storage device 140 stores various programs, such as the visiting point allocation device control program 700 executed by the CPU 110, and data.

[0026] The visiting point allocation 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 implementing various functions of the visiting point allocation device 100.

[0027] Here, the storage device 140 is a non-transient non-volatile storage device such as a hard disk, a solid state drive (SSD), or a flash memory.

[0028] As shown in FIG. 3, the storage device 140 stores a visiting point allocation device control program 700, a position information management table 600, a responsible point management table 610, a current day responsible point management table 615, and a penalty information map management table 620.

[0029] Returning to FIG. 2, the recording medium reading device 170 reads the visiting point allocation device control program 700 and data recorded on a recording medium 800 such as a CD, a DVD, or an SD card, and stores them in the storage device 140 .

[0030] The communication device 130 transmits and receives various data and the visiting point allocation device control program 700 to and from other computers (not shown) installed at each of the above-mentioned points 300 or other points, via the network 500. For example, the above-mentioned visiting point allocation device control program 700 and data can be stored in another computer, and the visiting point allocation device 100 can download the visiting point allocation device control program 700 and data from this computer. Alternatively, the communication device 130 can communicate with a mobile terminal such as a smartphone or laptop (not shown) carried by a person in charge of visiting each point, and transmit and receive various information.

[0031] The network 500 is any of various information and communication networks such as the Internet, a LAN (Local Area Network), or a telephone network.

[0032] The input device 150 is a device such as various buttons, switches, a mouse, a keyboard, a microphone, etc. that accepts commands and data input by the user, and functions as an input user interface.

[0033] 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. <Location information management table> 4 shows the location information management table 600 stored in the storage device 140. The location information management table 600 is a table that stores, in association with each other, a location ID that uniquely identifies each location 300, location information that identifies the location of each location 300, and information that identifies which of the small areas 910 that are obtained by dividing a predetermined area 900, each location 300 belongs to. Information regarding all of the locations 300 in the predetermined area 900 is recorded in the location information management table 600.

[0034] In the example shown in FIG. 4, the location of each point 300 is specified by latitude and longitude as an example, but it may be specified by an address.

[0035] Each piece of information recorded in the location information management table 600 is registered by a user operating the visiting point allocation device 100 by inputting the information into the visiting point allocation device 100 using a user interface such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface).

[0036] The location information management table 600 may be stored in the visit point allocation device 100, or may be stored in another computer (not shown) that is communicatively connected to the visit point allocation device 100. <Location Management Table> 5 shows the responsible location management table 610. The responsible location management table 610 is a table that stores the responsible locations 300 assigned in advance to each person in charge (in this embodiment, five people: AAA, BBB, CCC, DDD, and EEE) who visits each location 300 within the specified area 900. The responsible location management table 610 records information about all the responsible locations 300 assigned to each person in charge.

[0037] Each piece of information stored in the responsible point management table 610 is registered by a user operating the visiting point allocation device 100 by inputting the information into the visiting point allocation device 100 using a user interface such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface).

[0038] The assigned point management table 610 may be stored in the visiting point allocation device 100, or may be stored in another computer (not shown) that is communicatively connected to the visiting point allocation device 100. <Today's location management table> The current day responsible point management table 615 is shown in Fig. 6. The current day responsible point management table 615 is a table that stores, for each person in charge, the responsible points 300 to be visited on the day, extracted from all the responsible points 300 assigned to each person in charge. In other words, the current day responsible point management table 615 extracts the points 300 to be visited on the day for each person in charge from the responsible points 300 for each person in charge recorded in the responsible point management table 610 shown in Fig. 5.

[0039] For example, in the case of an operation in which the daily visit destinations are decided according to a predetermined visiting schedule for each point 300, the visit point assignment device 100 refers to the visiting schedule for that day to identify the visit destinations of each person in charge for that day, and these are recorded in the current day assigned point management table 615. Alternatively, in the case of an operation in which the daily visit destinations are decided depending on the necessity of visiting each point 300, the visit point assignment device 100 or the manager calculates the necessity of visiting each point 300 for that day, and the visit points 300 decided depending on the result are recorded in the current day assigned point management table 615.

[0040] In addition, when there is a person who will not visit on the day (a person who cancels the visit), such as person AAA and person DDD in Figure 6, information indicating that a visitor for that day has not been decided is recorded for the location 300 under the responsibility of the person who canceled the visit (in the example shown in Figure 6, the location 300 under their responsibility is written in parentheses).

[0041] Each piece of information stored in the day's responsible point management table 615 is generated and updated by the visiting point allocation device 100 based on information in the location information management table 600, the responsible point management table 610, etc., and is registered by a user, such as an administrator, who operates the visiting point allocation device 100 by inputting the information into the visiting point allocation device 100 using a user interface such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface).

[0042] The current day assigned location management table 615 may be stored in the visit location allocation device 100, or may be stored in another computer (not shown) that is communicatively connected to the visit location allocation device 100. <Penalty information map management table> The penalty information map management table 620 is shown in Fig. 8. The penalty information map management table 620 is a table that stores a penalty information map 621 created for each person in charge.

[0043] The penalty information map 621 is information that stores penalty information that is given to each small area 910 according to the distance from the small area 910 to which the assigned point 300 of each person in charge belongs on that day.

[0044] For example, in the penalty information map 621 of person in charge BBB shown in FIG. 8, the small area 910 with penalty information "0" is the small area 910 to which person in charge BBB's responsible location 300 for that day belongs. In addition, the small areas 910 with penalty information "1" to "10" are assigned larger numerical values ​​the farther they are from the small area 910 including BBB's responsible location 300 (the small area 910 with penalty information "0"). In addition, any numerical value may be assigned to small areas 910 that do not include any person in charge's responsible location 300, but in this embodiment, "-1" is assigned.

[0045] In addition, the penalty information indicating the distance from the small area 910 in which the player's responsible point 300 is located is normalized so that the penalty information assigned to the small area 910 farthest from the small area 910 in which the player's responsible point 300 is located is "10."

[0046] In addition, since the locations 300 visited may vary from day to day, the small areas 910 to which the penalty information "0" is assigned may vary from day to day. Similarly, the small areas 910 that are not visited by any of the personnel on that day are assigned the penalty information "-1", but the small areas 910 to which the penalty information "-1" is assigned may also vary from day to day.

[0047] Each piece of information (penalty information map 621) stored in the penalty information map management table 620 is generated and updated by the visited point allocation device 100 based on information from the position information management table 600, the responsible point management table 610, the current day responsible point management table 615, etc.

[0048] For example, if two people, AAA and DDD, decide not to visit their assigned location 300 due to sudden illness or adjustments in the number of people on the day, and three people (visitors), BBB, CCC, and EEE, end up visiting multiple locations 300, the visit location assignment device 100 updates the penalty information map 621 of BBB, CCC, and EEE as shown in Figures 11(A), (B), and (C).

[0049] In these penalty information maps 621, a "0" is assigned to each small area 910 to which the visitor's assigned location 300 belongs and to each small area 910 to which the canceled visitor's assigned location 300 belongs, and each of the other small areas 910 is assigned a number (normalized between "1" and "10") corresponding to the distance from the small area 910 to which the visitor's assigned location belongs, or "-1".

[0050] For example, in the case of the penalty information map 621 of EEE shown in Fig. 11(A), "0" is assigned to the small area 910 to which EEE's responsible point 300 belongs and to which AAA and DDD (visit cancellers)' responsible points 300 belong, and a value according to the distance from the small area 910 to which EEE's responsible point 300 belongs is assigned to the other small areas 910 (the penalty information assigned to the small area 910 farthest from the small area 910 including EEE's responsible point 300 is normalized to "10"). Also, "-1" is assigned to the small area 910 that does not include the responsible point 300 of any person in charge.

[0051] It should be noted that, instead of "0", a value smaller than the numerical value corresponding to the distance from the small area 910 to which the visitor's responsible point 300 belongs may be assigned (for example, a value half the numerical value corresponding to the distance described above, or a value obtained by subtracting half the maximum value) to the small area 910 to which the visitor's responsible point 300 belongs.

[0052] Furthermore, the penalty information map management table 620 may be stored in the visiting point allocation device 100, or may be stored in another computer (not shown) that is communicatively connected to the visiting point allocation device 100. <Functional configuration of the visit point allocation device> Next, the functional configuration of the visit point allocation device 100 will be described with reference to the functional configuration diagram shown in FIG.

[0053] As described above, the visiting point allocation device 100 realizes various functions as the visiting point allocation device 100 by reading the visiting point allocation 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.

[0054] Specifically, the visited point allocation device 100 has the functions of a responsible point storage unit 101, a visitor identification unit 102, a visited point allocation unit 104, a position information storage unit 105, a small area information storage unit 106, and a penalty information map storage unit 107. <Location Memory Unit> The responsible location storage unit 101 stores, for each responsible person, the responsible locations 300 that are assigned in advance to a first number of responsible persons (five people in this embodiment) who are to share and visit a plurality of locations 300. In this embodiment, this is embodied as a current day responsible location management table 615 that stores, for each responsible person, the responsible locations 300 that are to be visited on the day that are assigned in advance to the five responsible persons AAA, BBB, CCC, DDD, and EEE. <Visitor identification section> The visitor identification unit 102 identifies visitors when a second number of staff members visit multiple locations 300. For example, three staff members BBB, CCC, and EEE are identified as visitors. The second number is the number of visitors who visit multiple locations 300 on the same day, and as described above, the second number may be more than, less than, or the same as the first number.

[0055] At this time, the visitor identification unit 102 updates the day's responsible point management table 615 and updates the penalty information map 621 for each identified visitor. For example, as shown in Fig. 6, the visitor identification unit 102 records information indicating that a visitor for that day is undecided for the responsible points 300 for the day of the person in charge AAA and DDD. As shown in Fig. 11, the visitor identification unit 102 assigns a "0" to each small area 910 to which the responsible point 300 of the visitor belongs, as well as to each small area 910 to which the responsible point 300 of the visitor who canceled the visit belongs, and then assigns a numerical value to the other small areas 910 according to the distance from the small area 910 to which the responsible point of the visitor belongs. In addition, the visitor identification unit 102 assigns a "-1" to small areas 910 that do not include the responsible point 300 of any person in charge.

[0056] Alternatively, if the number of visitors (second number of people) increases beyond the number of the original staff members (first number of people), the visitor identification unit 102 generates a penalty information map 621 for the added staff members and assigns "0" to each small area. Also, "-1" is assigned to small areas 910 that do not include the responsible points 300 of any staff members. <Visit Point Allocation Division> The visiting point allocation unit 104 allocates the visiting point 300 to each visitor by selecting one allocation candidate from among the multiple allocation candidates based on the result of calculating an evaluation value representing the degree of difference between the visiting points 300 of each visitor and the responsible point 300 for each of the multiple allocation candidates that allocate the visiting points 300 to each of the second number of visitors.

[0057] For example, the visiting point allocation unit 104 associates each visiting point 300 with a visitor to be allocated to each visiting point 300 using a plurality of allocation patterns, generates the above-mentioned plurality of allocation candidates by performing a process of changing the association for each allocation pattern, and assigns a visiting point 300 to each visitor by selecting one allocation candidate from the plurality of allocation candidates based on the result of calculating the above-mentioned evaluation value for each of the plurality of allocation candidates.

[0058] The method by which the visiting point allocation unit 104 generates allocation candidates is not particularly limited, but for example, allocation candidates can be generated using a clustering method such as the k-means method or a genetic algorithm. Here, an example will be described in which allocation candidates are generated using the k-means method.

[0059] In the k-means method, the visiting point allocation unit 104 performs association between a plurality of points 300 to be visited and visitors who are to visit each of these points 300 using a plurality of allocation patterns (initial patterns). The visiting point allocation unit 104 performs association of the initial patterns, for example, randomly.

[0060] The visited point allocation unit 104 then executes a process of expressing the multiple points 300 as points on a two-dimensional coordinate plane (or points on a map) for each allocation pattern, and then changes the above-mentioned correspondence. In other words, after calculating the center of gravity of the assigned points 300 for each person in charge, the process of changing the allocation destination of each point 300 to the closest center of gravity (change to the center of gravity of another person in charge) is repeated until the center of gravity does not change. In this way, the points 300 assigned to each person in charge are clustered so that they are regionally cohesive. In this way, multiple allocation candidates are generated. Figures 10(a)(b)(c)(d) show four types of allocation candidates generated by clustering using the k-means method with different initial values ​​(initial patterns).

[0061] By using a clustering method such as the k-means method, the visitor's locations 300 can be associated with each other so that they are geographically cohesive, making it possible to generate allocation candidates that shorten the travel distance of each visitor, thereby improving business efficiency.

[0062] Thereafter, the visiting point allocation unit 104 calculates an evaluation value representing the degree of difference between each visitor's visiting point 300 and the original responsible point 300 for each of the allocation candidates, and based on the result, selects one allocation candidate from among the multiple allocation candidates, thereby allocating a visiting point to each visitor.

[0063] For example, the visiting point allocation unit 104 calculates the distance between the center of gravity of the visiting points 300 of each person in charge and the center of gravity of the point 300 for which the person in charge is responsible, calculates the sum of these distances for all persons in charge as an evaluation value, and selects the allocation candidate with the smallest evaluation value from among the multiple allocation candidates, thereby allocating visiting points 300 to each visitor.

[0064] In this manner, each person in charge can be assigned a visiting point 300 such that the visiting point 300 is as close as possible to the original assigned point 300 of each visitor.

[0065] Alternatively, the visiting point allocation unit 104 may select one allocation candidate by evaluating each allocation candidate using the penalty information map 621 of each visitor.

[0066] In this case, the visited point allocation unit 104 adds up, for each visitor, the penalty information assigned to the small area 910 to which each visited point 300 assigned to that visitor belongs, calculates the sum of the total for all visitors as an evaluation value, and assigns visited points 300 to each visitor by selecting from among the multiple allocation candidates the allocation candidate which provides the smallest evaluation value (or the allocation candidate which provides the largest evaluation value when evaluating as a "score information map" in which the maximum and minimum values ​​of the penalty information map 621 are reversed).

[0067] 13, if a visitor has three visited points 300, namely points A, B, and C, the sum of the penalty information for the small areas 910 to which the visited points 300 belong is 6 (0+2+4). The visited point allocation unit 104 adds up this sum for all visitors to calculate the evaluation score.

[0068] Figure 12 shows how this calculation is performed for three visitors, BBB, CCC, and EEE. Looking at the example in Figure 12, the sum of the penalty information for BBB is almost 0, but the sum of the penalty information for both CCC and EEE is a larger value than that of BBB. Therefore, in the example shown in Figure 12, the sum of the penalty information (evaluation value) for these three visitors is a large value.

[0069] The visiting point allocation unit 104 performs such calculations for all allocation candidates and selects the allocation candidate whose evaluation value has the smallest penalty (or the largest score). The allocation candidate selected in this way is, for example, the one shown in FIG. 10(D).

[0070] In this way, the visiting point allocation device 100 according to this embodiment can evaluate a sufficient number of allocation candidates generated by the visiting point allocation unit 104, and can allocate visiting points 300 to each visitor so as to be as close as possible to the original responsible point 300. Also, by setting the penalty information of the small area 910 to which the responsible point 300 of the person on vacation (the person who canceled the visit) belongs to "0", it is possible to perform the best allocation that effectively covers the person who canceled the visit. Even if a certain person encroaches on and visits the responsible point 300 of another person, the visiting point 300 is selected so that the increase in the penalty information is suppressed, so it is possible to allocate a place close to the original responsible point 300 as the visiting point 300. <Position information storage section> The position information storage unit 105 stores the position information of each of the multiple points 30. In this embodiment, the position information storage unit 105 is embodied as the position information management table 600 described above. <Small area information storage section> The small area information storage unit 106 stores information indicating to which small area 910 each of the plurality of points 300 belongs among the plurality of small areas 910 obtained by dividing the predetermined area 900. In this embodiment, the small area information storage unit 106 is embodied as a location information management table 600. <Penalty information map storage unit> The penalty information map storage unit 107 stores a penalty information map 621 that records, for each visitor, the penalty information assigned to each small area 910 according to the distance from the small area 910 to which the visitor's responsible point 300 belongs. In this embodiment, the penalty information map storage unit 107 is embodied as a penalty information map management table 620. ==Process flow== Next, the flow of processing by the visit point allocation device 100 will be described with reference to the flowchart shown in FIG.

[0071] The visiting point allocation device 100 performs a process of identifying the visiting destinations for the day in advance (S1000). The visiting point allocation device 100 identifies the visiting destinations for the day for each person in charge according to the contents of the visiting schedule for each point 300 and the necessity of visiting each point 300.

[0072] Then, the visit point allocation device 100 identifies visitors for the day who will visit the multiple points 300 (S1010). The visitors for the day may be all members (persons in charge) of the team (the same number of people), or may be more or less than the number of members.

[0073] If all members are capable of visiting and all locations 300 are the target, each member only needs to visit the locations 300 assigned to him / her in advance (individual system), and the visiting location allocation device 100 ends the process without newly allocating visiting locations 300.

[0074] On the other hand, when the number of visitors (second number of people) is less or more than the number of members (first number of people), or when the destinations are not all of the locations 300 even if all members can visit, the visiting location allocation device 100 updates the penalty information map 621 for each visitor.

[0075] Specifically, when the number of visitors (second number of people) is less than the number of members (first number of people), the visit point allocation device 100 assigns "0" to each small area 910 to which the visitor's responsible point 300 for that day belongs, as well as to each small area 910 to which the person who canceled the visit's responsible point 300 for that day belongs, and assigns a value to the other small areas 910 according to the distance from the small area 910 to which the visitor's responsible point 300 belongs. Also, "-1" is assigned to small areas 910 that do not include the responsible point 300 for that day of any person in charge.

[0076] On the other hand, if the number of visitors (second number of people) is greater than the number of members (first number of people), the visiting point allocation device 100 generates a penalty information map 621 for the additional person in charge and assigns "0" to each small area 910. Also, "-1" is assigned to small areas 910 that do not include the assigned points 300 of any person in charge on that day.

[0077] In this case, the penalty information map 621 for the first number of members is left unchanged. In other words, a "0" is assigned to the small area 910 to which the original member's assigned location 300 for that day belongs, and a value according to the distance from the small area 910 to which the member's assigned location 300 for that day belongs is assigned to the other small areas 910. Also, a "-1" is assigned to the small areas 910 that do not include the assigned location 300 for that day of any of the persons in charge.

[0078] Even if the number of visitors (second number of people) is the same as the number of members (first number of people), in an operation in which the locations 300 visited change depending on the day, the visited location allocation device 100 assigns "0" to the small area 910 to which the location 300 for which each member is responsible for that day belongs, and assigns a numerical value to the other small areas 910 according to the distance from the small area 910 to which the location 300 for which that member is responsible for that day belongs. Also, "-1" is assigned to small areas 910 that do not include the location 300 for which any person in charge is responsible for that day.

[0079] Then, the visiting point allocation device 100 generates a plurality of allocation candidates when allocating the visiting points 300 to each of the second number of members (visitors) who can visit on the day (S1020).

[0080] For example, the visit point allocation device 100 generates allocation candidates by performing clustering such as the k-means method.

[0081] Then, the visiting point allocation device 100 calculates an evaluation value representing the degree of difference between each visitor's visiting point 300 and the responsible point 300 for each of the allocation candidates, and selects one allocation candidate from among the multiple allocation candidates based on the result, thereby allocating a visiting point 300 to each visitor (S1030).

[0082] For example, the visiting point allocation device 100 adds up, for each visitor, the penalty information assigned to the small area 910 to which each visiting point 300 assigned to that visitor belongs, calculates the sum of the total for all visitors as an evaluation value, and assigns visiting points 300 to each visitor by selecting the allocation candidate with the smallest evaluation value from among the multiple allocation candidates.

[0083] In this manner, it is possible to assign visiting points 300 to each person in charge so that the visiting points 300 are as close as possible to the original responsible point 300 of each visitor. This makes it possible to assign visiting points 300 to each person in charge when multiple people are to visit multiple points 300 in a predetermined area 900 in a shared manner without reducing work efficiency. ===Second embodiment=== Next, a second embodiment of the present invention will be described. In the first embodiment, after applying the clustering algorithm multiple times, the result of the person in charge close to the original area is selected from the multiple clustering results that appear due to random numbers, but in the second embodiment, while applying the clustering algorithm, an evaluation value that adjusts the clustering result to be close to the original area is used to output the clustering result assigned to the person in charge close to the original area in one go. In the second embodiment, the visiting points 300 are assigned using a genetic algorithm as an example. Hereinafter, the situation when the visiting point assignment device 100 assigns the visiting points 300 using a genetic algorithm will be described in detail, while appropriately omitting the explanation that overlaps with the first embodiment. In this embodiment, a case will be described in which three visitors identified as "1", "2", and "3" share the responsibilities of visiting multiple points 300 in a predetermined area 900.

[0084] When the visiting points 300 are allocated using a genetic algorithm, the functions of the penalty information map storage unit 107 (penalty information map management table 620) and the visiting point allocation unit 104 are changed as follows.

[0085] First, the penalty information map storage unit 107 (penalty information map management table 620) stores a penalty information map 400 in addition to a penalty information map 621. An example of the penalty information map 400 is shown in FIG.

[0086] The penalty information map 400 lists, for a small area 910 (referred to as a visited small area 910) in which any one of a number of visited locations 300 is located, the identification information of visitors who will visit the locations 300 within that small area 910, and for small areas 910 that do not include a visited location 300, information indicating this (e.g., "-1") is listed.

[0087] 15, a small area 910 marked with "-1" indicates that the small area 910 does not have any visited locations 300. Also, small areas 910 marked with "1," "2," and "3" indicate that the locations 300 within the small area 910 are assigned as visited locations to visitors identified by the identification numbers "1," "2," and "3," respectively.

[0088] That is, in this embodiment, the visiting points 300 of each visitor are assigned to small regions 910 .

[0089] 15 corresponds to an "individual" in a genetic algorithm. The visit point allocation device 100 generates multiple types of such penalty information maps 400 (initial individuals), and then repeatedly performs the processes of "crossover," "mutation," and "evaluation" in a genetic algorithm on these (initial individuals), leaving behind penalty information maps 400 that provide more optimal evaluation values ​​as offspring, as will be described in detail later.

[0090] Next, the visiting point allocation unit 104 will be described.

[0091] The visiting point allocation unit 104 repeatedly performs a process of generating a plurality of new allocation candidates based on the results of calculating an evaluation value representing the degree of difference between each visitor's visiting point 300 and the responsible point 300 for each of a plurality of allocation candidates that correspond to each visiting point 300 and the visitor to be allocated to each visiting point 300, and assigns a visiting point 300 to each visitor by selecting one allocation candidate from the plurality of allocation candidates based on the result of calculating the above-mentioned evaluation value for each of the plurality of allocation candidates generated as a result.

[0092] Specifically, the visiting point allocation unit 104 associates the visiting small area 910, which is a small area 910 including at least one of the multiple points 300, with the visitors to be allocated to the points 300 in the visiting small area 910, using a plurality of allocation patterns. The visiting point allocation unit 104 then generates a plurality of allocation candidates by performing "crossover" and "mutation" processes in a genetic algorithm on these plurality of allocation patterns, and generates a plurality of new allocation candidates based on the results of calculating an evaluation value for each of the allocation candidates that indicates the degree of difference between the visiting points 300 of each visitor and the responsible point 300 (the "evaluation" process in the genetic algorithm).

[0093] The visiting point allocation unit 104 then repeats the above process to advance the generation change, and after a predetermined number of repetitions, generates a plurality of allocation candidates.

[0094] Thereafter, the visiting point allocation unit 104 allocates visiting points 300 to each visitor by selecting one best allocation candidate from the multiple allocation candidates based on the results of calculating the evaluation value for each of the multiple allocation candidates.

[0095] As described above, in this embodiment, the visiting points 300 of each visitor are assigned to small regions 910 .

[0096] The present invention will be described in more detail below with reference to the drawings.

[0097] First, the visit point allocation device 100 generates a number of initial individuals. In each visit target small area 910 (hereinafter referred to as cell 910) in the initial individuals, three workers are assigned randomly selected values. This is created for the number of initial individuals (for example, 30 individuals).

[0098] Figure 16 shows two initial individuals (penalty information map 400) as examples. As shown in Figure 16, the classification results of the initial individuals are based on random allocation, so at this stage, the small areas 910 that three people are responsible for visiting are in a jumbled state.

[0099] Next, the visiting point allocation device 100 performs "crossover." In other words, the visiting point allocation device 100 randomly selects two parent individuals from the multiple generated initial individuals, and performs an operation to generate child individuals that inherit the characteristics of the parent individuals.

[0100] Generally, one-point crossover, two-point crossover, etc. are proposed as methods, but in this embodiment, a random number is used to determine which of the two parent individuals to inherit for each cell 910.

[0101] 17, parent A cells 910 are indicated by numbers in circles, and parent B cells 910 are indicated by numbers in squares, but the inheritance source for each child cell 910 is determined by a random number for each cell 910. Child A and child B are generated with complementary patterns.

[0102] For example, the second row from the top of child A inherits the values ​​of cells 910 in the corresponding positions of parent A, parent B, parent B, parent A, and parent A, in that order from the left.

[0103] This operation is repeated multiple times for any two parents to generate a sufficient number of children.

[0104] Then, the visiting point assignment device 100 executes "mutation." In other words, the visiting point assignment device 100 randomly changes the value of the cell 910 with a certain probability for the child individuals generated by the crossover.

[0105] In the example shown in FIG. 18, the third cell 910 from the top and the fifth cell 910 from the left, which are randomly selected from among the cells 910 of child A, are changed to another random worker (2 → 3).

[0106] Next, the visiting point allocation device 100 evaluates the adaptability to the environment of the individuals (allocation candidates) generated by "crossover" and "mutation."

[0107] The evaluation value here is expressed by the following formula. Evaluation value = α × 1st index value + β × 2nd index value + γ × 3rd index value (where α, β, and γ are constants greater than or equal to 0, and α+β+γ≠0) ... (Equation 1) In formula 1, the first index value represents the degree of difference between each visitor's visited points 300 and the responsible point 300. The second index value represents the degree of uniformity in the number of visited points for each visitor. The third index value represents the density of the visited points 300 for each visitor.

[0108] As shown below, the evaluation values ​​are designed so that smaller values ​​represent more desirable states.

[0109] First, the second index value will be explained.

[0110] The second index value is an evaluation value that takes a smaller value as the number of visited points becomes more uniform among the visitors, and is calculated, for example, using the following formula. Second index value = Σ(number of locations for visitor i - average number of locations) 2 …(Formula 2) A calculation example is shown in Figure 19.

[0111] By counting the number of locations 300 belonging to the cell 910 for each visitor, the number of locations each visitor visits on that day can be determined.

[0112] 19, if the number of locations corresponding to each cell 910 is tallied, the results show that visitor 1 visited 5 locations, visitor 2 visited 3 locations, and visitor 3 visited 4 locations. The average is 4 locations per person.

[0113] This results in the second index value = (5-4) 2 +(3-4) 2 +(4-4) 2 =1+1+0=2.

[0114] If the number of locations varies among visitors, the second index value will be large, so by using the second index value, the amount of work done by each visitor can be made uniform.

[0115] Next, the third index value will be described.

[0116] The third index value is an evaluation value that takes a smaller value as the cells 910 assigned to the same visitor are closer together.

[0117] The center of gravity of the assigned cell 910 for each visitor is calculated from the genetically expressed matrix (individual), and the sum of the squares of the distances from the center of gravity to each assigned cell 910 is added up for all visitors to obtain the third index value.

[0118] An example calculation is shown in Figure 20.

[0119] First, cut out the matrix for each visitor.

[0120] FIG. 20 shows the cut-out state of visitor 2.

[0121] If the coordinates of cell 910 are defined as shown in FIG. 20 (x-axis, y-axis), the coordinates (x, y) of each cell 910 assigned to visitor 2 can be expressed as (0, 1), (1, 3), and (3, 1).

[0122] The center of gravity can be calculated by averaging these three coordinates, which is (1.333, 1.667).

[0123] Furthermore, by calculating the distance between the calculated center of gravity and each cell 910 using Pythagoras' theorem and finding the sum of the squares, the component for visitor 2 can be calculated as 7.333, as shown in FIG. 20.

[0124] This is calculated in the same way for Visitor 1 to Visitor 3, and the total value for all visitors is the third index value.

[0125] The smaller the third index value, the closer the cells 910 are to the center of gravity. By using the third index value, the visiting points 300 of each visitor can be made to be local points 300 that are regionally cohesive, so that the travel distance of each visitor can be shortened.

[0126] Next, the first index value will be described.

[0127] The first index value becomes smaller as the visiting point 300 assigned to the visitor is closer to the original assigned point 300 of the visitor.

[0128] The assigned location 300 of each visitor can be known from the genes of the individual. Then, by performing a calculation similar to that shown in Fig. 12 for each visitor, the degree of difference between the visited location 300 assigned to the visitor and the original assigned location 300 is calculated, and the sum of the differences is set as the first index value.

[0129] The sum of these first index value to third index value is the evaluation value of the individual.

[0130] A smaller evaluation value indicates that the number of locations is uniform, is concentrated in a small area, and is assigned close to the original assigned location 300 at the same time.

[0131] After calculating the evaluation values ​​for all individuals (allocation candidates) generated by crossover and mutation, the visiting point allocation device 100 leaves a predetermined number of individuals (for example, the same number as the initial number of individuals (30 individuals)) to be passed on to the next generation in order of smallest evaluation value.

[0132] Individuals with poor evaluation values ​​are selected in this generation. In principle, the individuals in the parent generation die, but it is possible to leave only one best parent individual in the next generation.

[0133] The visiting point assignment device 100 sets the remaining individuals as parents of the next generation and repeats the steps of crossover, mutation, evaluation, and selection again.

[0134] The visiting point allocation device 100 generates a plurality of allocation candidates by repeating these processes a predetermined number of times over a sufficient number of generations.

[0135] The visiting point allocation device 100 then calculates the first index value, the second index value, and the third index value for each of these multiple allocation candidates to find an evaluation value, and selects the best allocation candidate from the multiple allocation candidates based on the calculation result of this evaluation value, thereby allocating visiting points 300 to each visitor. In other words, the allocation of the cell 910 represented by the best surviving individual is determined as the allocation to the desired person in charge.

[0136] When using the k-means method described in the first embodiment, the compatibility between the visited location 300 and the original responsible location 300 is evaluated based on the clustering results. However, when using the genetic algorithm described in the second embodiment, the compatibility can be evaluated and calculated for multiple allocation candidates generated during the genetic algorithm processing, so that the visited location 300 can be allocated efficiently.

[0137] The visiting point allocation device 100, the control method for the visiting point allocation device 100, and the program according to this embodiment have been described above, but according to this embodiment, visiting points 300 can be assigned to each person in charge so that the visiting points 300 are as close as possible to each visitor's original assigned point 300. This makes it possible to assign visiting points 300 to each person in charge when multiple people are assigned to visit multiple points 300 within a predetermined area 900 without reducing work efficiency.

[0138] The above-described embodiment is for the purpose of facilitating 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 of the present invention, and equivalents thereof are also included in the present invention.

[0139] For example, in the first embodiment, after applying the clustering algorithm multiple times, the result in which the person in charge is closest to the original area of ​​responsibility is selected from the multiple clustering results that appear due to random numbers, but the first embodiment can also be realized using a genetic algorithm. In that case, the evaluation value explained in the second embodiment is calculated without using the first index value, and multiple clustering results are obtained by repeating this multiple times, and then each clustering result is evaluated by the method explained in the first embodiment.

[0140] In the second embodiment, the clustering result assigned to the person in charge close to the original area of ​​responsibility is output in one go using the first index value that adjusts the area to be closer to the original area of ​​responsibility during application of the clustering algorithm, but the first index value can also be used in other methods than the genetic algorithm, such as simulated annealing or hill climbing. In that case, the penalty information map 400 shown in Fig. 15 is used as a provisional solution, and candidates are created one after another by changing parts of it, and a result close to the original area of ​​responsibility can be obtained while controlling the quality of the candidates with the first index value.

[0141] In the above embodiment, the location 300 to be visited changes depending on the day, but all the locations 300 in the predetermined area 900 may be visited every day. In either case, the same point is that multiple personnel share the responsibility of visiting multiple locations 300 in the predetermined area 900.

[0142] In this case, the responsible point storage unit 101 corresponds to a responsible point management table 610 that stores all the responsible points 300 assigned in advance to the five responsible persons AAA, BBB, CCC, DDD, and EEE for each responsible person. [Explanation of symbols]

[0143] 100 Visit point allocation device 101 Location memory unit 102 Visitor Identification Department 104 Visiting Point Allocation Department 105 Location information storage unit 106 Small Area Information Storage Unit 107 Penalty information map storage unit 110 CPU 120 Memory 130 Communication Equipment 140 Storage device 150 Input Device 160 Output Device 170 Recording medium reader 300 points 400 Penalty Information Map 500 Network 600 Location Information Management Table 610 Location Management Table 615 Location management table for the day 620 Penalty Information Map Management Table 621 Penalty Information Map 700 Visit point allocation device control program 800 Recording media 900 designated area 910 Small Area

Claims

1. A visiting point allocation device that allocates visiting points to each person in a case where a plurality of people are assigned to visit a plurality of points in a predetermined area, comprising: a location storage unit that stores, for each of the first number of personnel, locations that are assigned in advance to the first number of personnel who are to visit the plurality of locations in a shared manner; a visitor identification unit that identifies visitors when a second number of personnel visit a plurality of locations within the predetermined area; a visiting spot allocation unit that allocates visiting spots to each of the second number of visitors by selecting one allocation candidate from among the plurality of allocation candidates based on a result of calculating an evaluation value representing a degree of difference between the visiting spots of each visitor and a responsible spot for the visitor, for each of the plurality of allocation candidates that have been allocated visiting spots to each of the second number of visitors; A visiting point allocation device comprising:

2. 2. The visiting point allocation device according to claim 1, The visiting point allocation unit, a plurality of allocation patterns are used to associate each visiting point with a visitor to be assigned to each visiting point, and a process for changing the association for each of the allocation patterns is performed to generate the plurality of allocation candidates, and based on a result of calculating the evaluation value for each of the plurality of allocation candidates, one allocation candidate is selected from the plurality of allocation candidates, thereby assigning the visiting point to each of the visitors. Visit point allocation device.

3. 2. The visiting point allocation device according to claim 1, a small area information storage unit that stores information indicating to which small area each of the plurality of points belongs among a plurality of small areas obtained by dividing the predetermined area; a penalty information map storage unit that stores, for each visitor, a penalty information map that records penalty information that is assigned to each small area according to the distance from the small area to which the visitor's assigned point belongs; Equipped with The visiting point allocation unit, add up, for each visitor, the penalty information assigned to the small area to which each of the visit points assigned to that visitor belongs, calculate the sum of the above totals for all visitors as the evaluation value, and assign the visit points to each of the visitors by selecting, from among the multiple allocation candidates, an allocation candidate that provides the minimum or maximum evaluation value; Visit point allocation device.

4. 4. The visiting point allocation device according to claim 3, The small regions are formed by dividing the predetermined region into a plurality of regions by boundaries along latitude or longitude. Visit point allocation device.

5. 4. The visiting point allocation device according to claim 3, The second number of visitors is composed of the first number of personnel, excluding those who cancel their visit and do not visit their assigned location; In the penalty information map for each visitor, 0 is assigned to each small area to which the visitor's assigned point belongs, a value smaller than the numerical value corresponding to the distance from the small area to which the visitor's assigned point belongs is assigned to each small area to which the visitor's assigned point belongs, and a numerical value corresponding to the distance from the small area to which the visitor's assigned point belongs is assigned to the other small areas. Visit point allocation device.

6. 4. The visiting point allocation device according to claim 3, The second number of visitors is composed of the first number of personnel and an additional person in addition to the first number of personnel, The penalty information map for the first number of people is configured such that 0 is assigned to the small area to which the person in charge of the location belongs, and a value corresponding to a distance from the small area to which the person in charge of the location belongs is assigned to the other small areas, The penalty information map of the additional person in charge is assigned a value of 0 to each small area. Visit point allocation device.

7. 2. The visiting point allocation device according to claim 1, The visiting point allocation unit, repeating a process of generating a plurality of new allocation candidates based on the results of calculating the evaluation value for each of a plurality of allocation candidates that correspond to each visiting point and a visitor to be allocated to each visiting point, and selecting one allocation candidate from the plurality of allocation candidates based on the results of calculating the evaluation value for each of the plurality of allocation candidates thus generated, thereby allocating the visiting points to each of the visitors; Visit point allocation device.

8. 2. The visiting point allocation device according to claim 1, A visiting point allocation device including an interface for acquiring the responsible points for each person in charge stored in the responsible point storage unit.

9. A control method for a visiting point allocation device, comprising: storing, for each of a first number of staff members who are to visit a plurality of points in a predetermined area in a shared manner, points that have been assigned in advance to the first number of staff members; and allocating visiting points to each of the staff members when a second number of staff members are to visit the plurality of points in the predetermined area in a shared manner, The visiting point allocation device, Identifying the second number of contact visitors; assigning visiting points to each of the visitors by selecting one of the multiple allocation candidates based on a result of calculating an evaluation value representing a degree of difference between the visiting points of each visitor and the assigned point for each of the multiple allocation candidates that have been assigned to each of the second number of visitors; A method for controlling a visiting point allocation device.

10. a computer that stores locations assigned in advance to a first number of personnel who are to visit a plurality of locations in a predetermined area in a shared manner, and that assigns locations to each of the personnel when a second number of personnel are to visit the plurality of locations in the predetermined area in a shared manner; identifying said second number of personnel visitors; a step of allocating visiting points to each of the second number of visitors by selecting one of the plurality of allocation candidates based on a result of calculating an evaluation value representing a degree of difference between the visiting points of each visitor and the assigned point for each of the plurality of allocation candidates that have been allocated to each of the second number of visitors; A program for executing the above.

Citation Information

Patent Citations

  • Area division system

    JP2004127038A