[go: up one dir, main page]

JP7480956B2 - Route generation device, route generation method, and program - Google Patents

Route generation device, route generation method, and program Download PDF

Info

Publication number
JP7480956B2
JP7480956B2 JP2020122217A JP2020122217A JP7480956B2 JP 7480956 B2 JP7480956 B2 JP 7480956B2 JP 2020122217 A JP2020122217 A JP 2020122217A JP 2020122217 A JP2020122217 A JP 2020122217A JP 7480956 B2 JP7480956 B2 JP 7480956B2
Authority
JP
Japan
Prior art keywords
route
tour
cycle
point
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020122217A
Other languages
Japanese (ja)
Other versions
JP2022018834A (en
Inventor
英昭 岸本
Original Assignee
Kii株式会社
Kii株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kii株式会社, Kii株式会社 filed Critical Kii株式会社
Priority to JP2020122217A priority Critical patent/JP7480956B2/en
Publication of JP2022018834A publication Critical patent/JP2022018834A/en
Application granted granted Critical
Publication of JP7480956B2 publication Critical patent/JP7480956B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、巡回経路生成装置、巡回経路生成方法及びプログラムに関する。 The present invention relates to a route generation device, a route generation method, and a program.

複数の地点を巡回する場合の最適な巡回経路は、例えば巡回セールスマン問題を解くことにより求めることができる(例えば特許文献1参照)。 The optimal route for visiting multiple locations can be found, for example, by solving the traveling salesman problem (see, for example, Patent Document 1).

特開2008-293262号公報JP 2008-293262 A

一方、灯油を配達するために各地の顧客を巡回する場合などのように、毎回すべての顧客を巡回するのではなく、灯油の残量が少なくなってきた顧客を選んで巡回すれば良い場合がある。このような場合、1回の巡回で訪問する顧客の数が少なくなり、灯油の配達を行う作業員の作業時間を減らすことができる。 On the other hand, when making rounds to customers in various locations to deliver kerosene, it may be better to select customers who are running low on kerosene rather than visiting every customer every time. In such cases, the number of customers visited in each round is reduced, and the working hours of the workers delivering the kerosene can be reduced.

しかしながら、配達の作業時間を減らし続けていると、いずれ、灯油が枯渇する顧客が発生するため、灯油を配達しなければならない顧客の数が一気に増加する時が来て、長時間の残業が必要になることになる。 However, if delivery hours continue to be reduced, eventually some customers will run out of kerosene, and the number of customers to whom kerosene must be delivered will suddenly increase, requiring long hours of overtime.

本発明はこのような課題を鑑みてなされたものであり、複数の地点から選出される少なくとも一部の地点に対する巡回を、地点の組み合わせを変えながら複数サイクル行うことにより、複数の地点に物資の補給を行う際の巡回経路を生成する際に、巡回を行う作業員の作業時間の短縮と平準化が両立可能な巡回経路を生成することができる巡回経路生成装置、巡回経路生成方法及びプログラムを提供する。 The present invention has been made in consideration of these problems, and provides a route generation device, route generation method, and program that can generate a route for supplying materials to multiple locations by performing multiple cycles of visiting at least some locations selected from multiple locations while changing the combination of locations, thereby generating a route for supplying materials to multiple locations that can both reduce and level the work time of workers performing the route.

本発明の一実施形態に係る巡回経路生成装置は、複数の地点から選出される少なくとも一部の地点に対する巡回を前記地点の組み合わせを変えながら複数サイクル行うことにより前記複数の地点に物資の補給を行う際の巡回経路を生成する巡回経路生成装置であって、前記地点毎の物資の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を記憶する必要度記憶部と、巡回のサイクル毎に、前記複数の地点の中から巡回の必要度がより高い地点が巡回地点として選出される度合いを表す第1指標値と、前記巡回地点を巡回する巡回経路の経路長を表す第2指標値と、前記巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出し、前記第1指標値、前記第2指標値、及び前記第3指標値に基づいて前記複数の地点から巡回地点を選出して巡回経路を生成する巡回経路生成処理を行う巡回経路生成部と、を備え、前記巡回経路生成部は、いずれかのサイクルにおいて、巡回所要時間が所定の目標時間を超過する時間が第1所定時間以上となる巡回経路が生成された場合には、当該サイクルである時間超過サイクルにおいて巡回地点として選出された所定地点が、当該時間超過サイクルにおいて巡回地点として選出されにくくなるように前記必要度記憶部に記憶されている必要度を補正した後、再度、前記巡回経路生成処理を行う。 A route generation device according to one embodiment of the present invention is a route generation device that generates a route for resupplying a plurality of locations by performing multiple cycles of visiting at least some locations selected from a plurality of locations while changing the combination of the locations, and includes a necessity memory unit that stores the degree of necessity of visiting each location in each cycle of a tour from the first to the final tour, which is calculated based on a stock forecast of materials for each location, a first index value that indicates the degree to which a location with a higher degree of necessity of visiting is selected as a tour location from among the plurality of locations for each tour cycle, a second index value that indicates the route length of the tour route that visits the tour locations, a tour time required for the tour route, and a predetermined and a third index value representing the difference between the target time and the first index value, and a route generation unit that performs a route generation process to select a route point from the plurality of points based on the first index value, the second index value, and the third index value to generate a route. When a route is generated in which the time required for a tour exceeds a predetermined target time by more than a first predetermined time in any cycle, the route generation unit corrects the degree of necessity stored in the degree of necessity storage unit so that the predetermined point selected as a route point in the time exceeding cycle is less likely to be selected as a route point in the time exceeding cycle, and then performs the route generation process again.

その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。 Other problems and solutions disclosed in this application will be made clear through the description in the section on the embodiment of the invention and the drawings, etc.

複数の地点から選出される少なくとも一部の地点に対する巡回を、地点の組み合わせを変えながら複数サイクル行うことにより、複数の地点に物資の補給を行う際の巡回経路を生成する際に、巡回を行う作業員の作業時間の短縮と平準化が両立可能な巡回経路を生成することができる。 By performing multiple cycles of patrolling at least some of the locations selected from a plurality of locations while changing the combination of locations, it is possible to generate a patrol route for resupplying multiple locations that can both reduce and level out the work time of workers performing the patrol.

地域900内に複数の地点300が点在する様子を示す図である。9 is a diagram showing a state in which a plurality of points 300 are scattered within an area 900. FIG. 巡回経路生成装置が複数日の巡回経路を生成する様子を示す図である。FIG. 1 is a diagram showing how a route generation device generates routes for multiple days. 巡回経路生成装置のハードウェア構成を示す図である。FIG. 2 is a diagram illustrating a hardware configuration of the route generation device. 巡回経路生成装置の記憶装置を示す図である。FIG. 4 is a diagram illustrating a storage device of the travel route generation device. 訪問地点管理テーブルを示す図である。FIG. 13 is a diagram showing a visiting point management table. 必要度管理テーブルを示す図である。FIG. 13 illustrates a necessity management table. 作業予定管理テーブルを示す図である。FIG. 13 illustrates a work schedule management table. 作業時間調整テーブルを示す図である。FIG. 13 is a diagram showing a work time adjustment table. エリア管理テーブルを示す図である。FIG. 13 illustrates an area management table. 巡回経路生成装置の機能構成を示す図である。FIG. 2 is a diagram illustrating a functional configuration of a route generation device. 巡回経路を説明するための図である。FIG. 13 is a diagram for explaining a tour route. 巡回経路生成方法の処理の流れを説明するためのフローチャートである。10 is a flowchart illustrating a process flow of a route generation method. 山登り法を説明するためのフローチャートである。13 is a flowchart for explaining the hill-climbing method. シミュレーテッドアニーリング法を説明するためのフローチャートである。1 is a flowchart for explaining a simulated annealing method. スコアの補正(正のスコアバイアスによる補正)を説明するための図である。FIG. 13 is a diagram for explaining score correction (correction using a positive score bias). スコアの補正(負のスコアバイアスによる補正)を説明するための図である。FIG. 13 is a diagram for explaining score correction (correction using a negative score bias). 地域900の分割を説明するための図である。FIG. 9 is a diagram for explaining the division of an area 900. 作業予定管理テーブルを示す図である。FIG. 13 illustrates a work schedule management table. 巡回経路生成方法の処理の流れを説明するためのフローチャートである。10 is a flowchart illustrating a process flow of a route generation method. 目標時間の更新処理を説明するための図である。FIG. 11 is a diagram for explaining a target time update process.

本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。以下、本発明を実施形態に即して添付図面を参照しつつ説明する。 At least the following points become clear from the description in this specification and the attached drawings. The present invention will be described below in accordance with an embodiment with reference to the attached drawings.

==概要==
図1に、地域900内に複数の地点300(18か所)が点在する様子を示す。本発明の実施形態に係る巡回経路生成装置100は、これらの複数の地点300から選出される少なくとも一部の地点300に対する巡回を、地点300の組み合わせを変えながら複数サイクル行うことにより、複数の地点300に灯油などの物資の補給を行う際の巡回経路を生成する。
==Overview==
1 shows a state in which a plurality of points 300 (18 locations) are scattered within an area 900. The route generation device 100 according to the embodiment of the present invention performs multiple cycles of visiting at least some of the points 300 selected from the plurality of points 300 while changing the combination of the points 300, thereby generating a route for resupplying the plurality of points 300 with commodities such as kerosene.

各地点300にはそれぞれ灯油のタンク(不図示)が設置されており、日々、各地点300を在所とする顧客によって灯油が消費されている。 A kerosene tank (not shown) is installed at each location 300, and kerosene is consumed daily by customers located at each location 300.

灯油は、随時、各地点300を巡回する作業員によって補充される。作業員は、巡回経路生成装置100によって生成された巡回経路に従って、拠点(図1で星印で示されている)を出発し、指定された地点300を巡回しながら各地点300のタンクに灯油を補充して拠点に戻ってくる。作業員は、拠点を出発してから戻ってくるまでを1サイクルとして巡回を行う。本実施形態では、作業員は1日あたり1サイクルの巡回を行うが、1日で複数サイクルの巡回を行う態様でもよい。あるいは、巡回を行わない日があってもよい。 Kerosene is replenished from time to time by workers who make the rounds of each point 300. The workers leave the base (indicated by a star in FIG. 1) according to the route generated by the route generating device 100, and while making the rounds to the designated points 300, they replenish the tanks at each point 300 with kerosene and return to the base. The workers make one round, with one cycle being from leaving the base to returning. In this embodiment, the workers make one round per day, but multiple rounds per day may also be possible. Alternatively, there may be days when they do not make a round.

灯油は、毎回すべての地点300に補充されなければならない訳ではなく、タンク内の在庫量(残量)が少なくなってきた地点300に選択的に補充されればよい。そのため、巡回経路生成装置100は、各地点300の灯油の在庫量と、巡回に要する移動距離と、巡回に要する作業時間と、を考慮して、最適な巡回経路を生成する。ただし、目先の巡回経路の最適化のみに着目して巡回経路を生成してしまうと、後のサイクルで、巡回しなければならない地点300の数が増加し、作業員の大幅な残業が必要になるなどの支障が生ずる可能性もある。 Kerosene does not have to be replenished at all points 300 every time, but can be selectively replenished at points 300 where the stock (remaining amount) in the tank is low. Therefore, the route generating device 100 generates an optimal route by taking into consideration the stock of kerosene at each point 300, the travel distance required for the tour, and the work time required for the tour. However, if the route is generated by focusing only on optimizing the immediate route, the number of points 300 that need to be patrolled in later cycles may increase, resulting in problems such as the need for significant overtime work by workers.

そのため、本実施形態に係る巡回経路生成装置100は、巡回経路の生成対象になっている直近のサイクルのみで最適な巡回経路を生成するのではなく、そのサイクルに後続する複数サイクルの巡回経路をそれぞれ生成し、それらのサイクル(初回から最終回までのサイクル)における作業時間が平準化され、かつ、短縮化されるように調整を行った上で、再度、初回から最終回までの巡回経路を生成する。巡回経路生成装置100は、この工程を所定回数(本実施形態では5回)繰り返したのち、求めるべき初回(1日目)の巡回経路を生成して出力する。 Therefore, the tour route generation device 100 according to this embodiment does not generate an optimal tour route only for the most recent cycle for which the tour route is being generated, but instead generates tour routes for each of the multiple cycles that follow that cycle, adjusts the work time in those cycles (from the first to the final cycle) to be leveled and shortened, and then generates a tour route from the first to the final cycles again. The tour route generation device 100 repeats this process a predetermined number of times (five times in this embodiment), and then generates and outputs the tour route for the first time (first day) that is to be obtained.

なお、2日目から最終日(本実施形態では7日目)までのサイクルで計算した巡回経路は、初回の巡回経路を平準化するための試行であるため破棄される。そのため、例えば、1日目から7日目までの巡回経路を計算して求めた1日目の巡回経路に沿って実際に巡回業務を行った後、翌日に2日目のサイクルに相当する巡回経路が必要になった場合は、最新の灯油の在庫予測状況を取り入れた新しい7日間のサイクルで(初日の2日目から8日目に相当するサイクルで)もう一度巡回経路を計算する。このように、巡回経路生成装置100は、常に一定の期間先までの状況を考慮した1日分の巡回経路を計算する。 The route calculated for the cycle from the second day to the last day (the seventh day in this embodiment) is discarded because it is an attempt to level out the initial route. Therefore, for example, after actually performing patrol work along the route for the first day obtained by calculating the route for the first day from the first day to the seventh day, if a route equivalent to the cycle for the second day is required the next day, the route is calculated again for a new seven-day cycle (a cycle equivalent to the second day from the first day to the eighth day) that incorporates the latest predicted inventory status of kerosene. In this way, the route generation device 100 calculates a route for one day that always takes into account the situation up to a certain period of time ahead.

図2には、巡回経路生成装置100が、1日目から7日目までの各サイクルにおける巡回経路を生成する様子が示されている。また図11には、各サイクルの作業時間が短縮化及び平準化されるように調整した上で生成された1日目の巡回経路が示されている。 Figure 2 shows how the route generation device 100 generates routes for each cycle from the first day to the seventh day. Figure 11 shows the route for the first day that was generated after adjustments were made to shorten and level out the work time for each cycle.

このような態様により、巡回を行う作業員の労働時間の短縮と平準化が両立可能な巡回経路を生成することが可能となる。 In this manner, it is possible to generate a route that can both reduce and equalize the working hours of the workers performing the patrol.

なお、地域900内の地点300(図1の例では18か所)の巡回は、一人の作業員が行う態様でも良いし、地域900を複数(例えば3つ)の小地域910に分割し、小地域910毎に異なる作業員が巡回を担当する態様でも良い(図17参照)。 The patrol of the locations 300 (18 locations in the example of Figure 1) within the area 900 may be performed by one worker, or the area 900 may be divided into multiple (e.g., three) small areas 910, with a different worker in charge of patrolling each small area 910 (see Figure 17).

なお、図1、図11及び図17には、星印で示される作業員の拠点に巡回経路生成装置100が設置される様子が示されているが、巡回経路生成装置100の設置場所は、拠点でなくてもよいし、地域900の外部でもよい。 Note that, although Figures 1, 11, and 17 show the route generation device 100 being installed at the base of the worker indicated by a star, the location where the route generation device 100 is installed does not have to be the base, and may be outside the area 900.

==巡回経路生成装置==
次に、巡回経路生成装置100について説明する。
==Circulation Route Generation Device==
Next, the route generation device 100 will be described.

巡回経路生成装置100のハードウェア構成を図3に示す。巡回経路生成装置100は、CPU(Central Processing Unit)110、メモリ120、通信装置130、記憶装置140、入力装置150、出力装置160、及び記録媒体読取装置170を備えて構成されるコンピュータである。 The hardware configuration of the route generation device 100 is shown in FIG. 3. The route generation device 100 is a computer that includes 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.

記憶装置140は、CPU110によって実行される巡回経路生成装置制御プログラム700等の各種のプログラムやデータを格納する。 The storage device 140 stores various programs and data, such as the route generation device control program 700 executed by the CPU 110.

記憶装置140に記憶されている巡回経路生成装置制御プログラム700や各種のデータがメモリ120に読み出されてCPU110によって実行あるいは処理されることにより、巡回経路生成装置100の各種機能が実現される。 The various functions of the route generation device 100 are realized by reading the route generation 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.

ここで、記憶装置140は例えばハードディスクやSSD(Solid State Drive)、フラッシュメモリ等の不揮発性の記憶装置である。 Here, the storage device 140 is, for example, a non-volatile storage device such as a hard disk, SSD (Solid State Drive), or flash memory.

記憶装置140には、図4に示すように巡回経路生成装置制御プログラム700、訪問地点管理テーブル600、必要度管理テーブル610、作業予定管理テーブル620、作業時間調整テーブル630及びエリア管理テーブル640が記憶されている。 As shown in FIG. 4, the storage device 140 stores a route generation device control program 700, a visiting location management table 600, a necessity management table 610, a work schedule management table 620, a work time adjustment table 630, and an area management table 640.

記録媒体読取装置170は、CDやDVD、SDカード等の記録媒体800に記録された巡回経路生成装置制御プログラム700やデータを読み取り、記憶装置140に格納する。 The recording medium reading device 170 reads the travel route generating 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.

通信装置130は、ネットワーク500を介して、上記各地点300やその他の地点に設けられる不図示の他のコンピュータと、各種データや巡回経路生成装置制御プログラム700の授受を行うインタフェースである。例えば他のコンピュータに上述した巡回経路生成装置制御プログラム700やデータを格納しておき、巡回経路生成装置100がこのコンピュータから巡回経路生成装置制御プログラム700やデータを取得するようにすることができる。あるいは通信装置130は、作業員が携帯する不図示のスマートフォンやノートパソコン等の携帯端末と通信を行い、種々の情報の授受を行うことも可能である。 The communication device 130 is an interface that transmits and receives various data and the route generating device control program 700 via the network 500 with other computers (not shown) installed at each of the above-mentioned points 300 or other points. For example, the route generating device control program 700 and data described above can be stored in another computer, and the route generating device 100 can obtain the route generating 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 worker to transmit and receive various information.

なおネットワーク500はインターネットやLAN(Local Area Network)、電話網等の各種の情報通信網である。 The network 500 may be any of a variety of information and communication networks, such as the Internet, a LAN (Local Area Network), or a telephone network.

入力装置150は、ユーザによるコマンドやデータの入力を受け付ける各種ボタンやスイッチ、マウス、キーボードなどの装置であり、入力ユーザインタフェースとして機能する。 The input device 150 is a device such as various buttons, switches, a mouse, or a keyboard that accepts commands and data input by the user, and functions as an input user interface.

また出力装置160は、例えばディスプレイなどの表示装置、スピーカなどの装置であり、出力ユーザインタフェースとして機能する。 The output device 160 is, for example, a display device such as a display, a speaker, or other device, and functions as an output user interface.

<訪問地点管理テーブル>
記憶装置140に記憶される訪問地点管理テーブル600を図5に示す。訪問地点管理テーブル600は、各地点300を一意に特定するための訪問地点IDと、各地点300の場所を示す情報とを対応付けて記憶したテーブルである。
<Visiting Point Management Table>
5 shows a 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 and information indicating the location of each point 300 in association with each other.

図5に示す例では、各地点300の場所は一例として緯度及び経度で特定されているが、住所で特定される態様でもよい。 In the example shown in FIG. 5, the location of each point 300 is identified by latitude and longitude as an example, but it may also be identified by address.

<必要度管理テーブル>
必要度管理テーブル610を図6に示す。必要度管理テーブル610は、初回から最終回まで(本実施形態では1日目から7日目まで)の巡回の各サイクルにおける各地点300の巡回の必要度(スコア)を記憶するテーブルである。図6には、地点Aに関するテーブルが示されている。スコアは、その地点300への巡回を行った方が好ましいほど大きな値になり、各地点300の灯油の在庫予測を元に、後述する巡回経路生成部102によって算出及び補正される。スコアは、例えばタンク容量に対する灯油の残量の比率から算出される。
<Necessity Management Table>
The necessity management table 610 is shown in Fig. 6. The necessity management table 610 is a table that stores the necessity (score) of visiting each point 300 in each cycle of visiting from the first to the last (from the first to the seventh day in this embodiment). Fig. 6 shows a table related to point A. The score is larger the more preferable it is to visit that point 300, and is calculated and corrected by the visiting route generation unit 102 (described later) based on the stock forecast of kerosene at each point 300. The score is calculated, for example, from the ratio of the remaining amount of kerosene to the tank capacity.

またスコアは、所定の地点300を巡回地点として選出されやすくしたり、あるいは巡回されにくくしたりするために、巡回経路生成部102によって適宜補正される。スコアの補正は、必要度管理テーブル610に記憶されているスコアに、スコアバイアスと呼ばれる補正値を加算あるいは減算することにより行われる。スコアに加算されるスコアバイアスを正のスコアバイアス、スコアから減算されるスコアバイアスを負のスコアバイアスという。このため、スコアに正のスコアバイアスが加算される場合は、その地点300の巡回の必要度が上がり、巡回経路生成装置100はその地点300を巡回地点として選出しやすくなる。反対に、スコアから負のスコアバイアスが減算される場合は、その地点300の巡回の必要度が下がり、巡回経路生成装置100はその地点300を巡回地点として選出しにくくなる。 The score is also appropriately corrected by the tour route generation unit 102 to make a specific location 300 more likely to be selected as a tour location or less likely to be toured. The score is corrected by adding or subtracting a correction value called a score bias to the score stored in the necessity management table 610. A score bias added to a score is called a positive score bias, and a score bias subtracted from a score is called a negative score bias. For this reason, when a positive score bias is added to a score, the necessity of touring the location 300 increases, making it easier for the tour route generation device 100 to select the location 300 as a tour location. Conversely, when a negative score bias is subtracted from a score, the necessity of touring the location 300 decreases, making it harder for the tour route generation device 100 to select the location 300 as a tour location.

各地点300の灯油の在庫予測は、後述する在庫予測部107によって行われる。在庫予測部107は、例えば各地点300から、通信装置130を介して、灯油の日々の消費量や、タンク内の灯油の残量を随時収集しており、季節や時間帯、曜日、天候等による灯油の消費動向の変化や、各顧客のタンクの容量などを考慮しながら、各顧客の灯油の日々の在庫量の予測値を算出する。また在庫予測部107は、作業員によって灯油の補充が行われると、その地点300の灯油の在庫量(残量)を最大値(タンクの容量)に戻す。また在庫予測には、各地点300への灯油の補充が、1日目から7日目までの各サイクルで行われる場合と行われない場合の全ての態様を仮定した場合の予測が含まれている。 The inventory forecast of kerosene at each point 300 is performed by the inventory forecasting unit 107, which will be described later. The inventory forecasting unit 107 collects, for example, daily consumption of kerosene and remaining amount of kerosene in the tank from each point 300 at any time via the communication device 130, and calculates a forecast value of the daily inventory of kerosene for each customer, taking into account changes in kerosene consumption trends due to seasons, time periods, days of the week, weather, etc., and the capacity of each customer's tank. In addition, when kerosene is refilled by a worker, the inventory forecasting unit 107 returns the inventory amount (remaining amount) of kerosene at that point 300 to the maximum value (tank capacity). In addition, the inventory forecast includes forecasts assuming all possible cases in which kerosene refilling at each point 300 is performed in each cycle from the 1st to the 7th day and all possible cases in which it is not performed.

必要度管理テーブル610には、1日目から7日目までの各「対象日」について、「給油実績」「地点の状態」「給油量」「スコア」の各情報が記録されている。 The necessity management table 610 records information on "fueling record," "location condition," "amount of fuel refueled," and "score" for each "target date" from the first to the seventh day.

「給油実績」欄は、対象日より前のサイクルでの給油実績の有無の態様を示すための欄である。「給油実績」の欄は、さらに「1日目」から「6日目」までの各欄を有しており、例えば巡回の1日目に灯油の補充がなされた態様の場合には「1日目」に〇印が記載され、1日目に灯油の補充がなされなかった態様の場合には「1日目」に×印が記載される。 The "Fueling Record" column is a column for indicating whether or not refueling has occurred in the cycle prior to the target day. The "Fueling Record" column further includes columns for "Day 1" through "Day 6." For example, if kerosene was refilled on the first day of a tour, a circle is entered in "Day 1," and if kerosene was not refilled on the first day, a cross is entered in "Day 1."

「地点の状態」欄は、その地点300に対する巡回の必要性を、「巡回必須」「巡回任意」「巡回不要」の3段階で表した情報が記録される。「巡回必須」は、その地点300は、必ず巡回しなければならない状態であることを表す。「巡回任意」は、その地点300は、巡回してもしなくても良い状態であることを表す。「巡回不要」は、その地点300は、巡回対象外とされる状態であることを表す。「巡回必須」「巡回任意」「巡回不要」の各状態は、後述する地点分類部105によって、スコアあるいは灯油の残量から特定される。 The "Location Status" column records information on the necessity of patrolling the location 300, expressed in three levels: "Patrol Required," "Optional Patrol," and "No Patrol Required." "Patrol Required" indicates that the location 300 must be patrolled. "Optional Patrol" indicates that the location 300 may or may not be patrolled. "No Patrol Required" indicates that the location 300 is not subject to patrol. Each of the states, "Patrol Required," "Optional Patrol," and "No Patrol Required," is identified by the location classification unit 105, described below, from the score or the remaining amount of kerosene.

「給油量」欄は、その地点300に補充可能な灯油の量を表す。給油量は、灯油のタンク容量と残量との差から算出可能である。給油量がより多い地点300を巡回するほど、巡回の効率は向上する。 The "Fuel Amount" column indicates the amount of kerosene that can be replenished at that point 300. The amount of fuel that can be replenished can be calculated from the difference between the kerosene tank capacity and the remaining amount. The more points 300 with a larger amount of fuel are visited, the more efficient the patrol will be.

「スコア」欄は、巡回の必要度が記録される。本実施形態では、地点300の状態が「巡回任意」の場合に、その地点300にどの程度巡回した方が良いのかを示すために、スコアが記録されているが、「巡回必須」や「巡回不要」の状態でもスコアを記録してもよい。 The "Score" column records the degree of necessity for patrolling. In this embodiment, when the state of the location 300 is "optional patrol," the score is recorded to indicate the degree to which patrolling the location 300 is desirable, but the score may also be recorded when the state is "required patrol" or "unnecessary patrol."

図6に示す例で必要度管理テーブル610の記載内容を説明すると、地点Aは、1日目は、スコア=4で「巡回任意」の状態であり、90リットルの灯油を給油可能である。この場合、地点Aは、1日目の巡回経路が生成される際に、巡回地点として選出されるかもしれないし、選出されないかもしれない。 To explain the contents of the necessity management table 610 using the example shown in Figure 6, on the first day, point A has a score of 4 and is in an "optional patrol" state, and 90 liters of kerosene can be filled up. In this case, point A may or may not be selected as a patrol point when the patrol route for the first day is generated.

また2日目は、もし1日目に灯油の補給が行われなかった場合には、スコア=6に上がり、「巡回任意」の状態であり、220リットルの灯油を給油可能である。一方、1日目に灯油の補給が行われた場合には、2日目は「巡回不要」の状態になり、48リットルの灯油を給油可能である。「巡回不要」の場合、地点Aは巡回地点の選出対象にならない。 Also, on the second day, if kerosene was not replenished on the first day, the score would rise to 6, the state would be "optional patrol," and 220 liters of kerosene could be refueled. On the other hand, if kerosene was refueled on the first day, the state would be "no patrol required" on the second day, and 48 liters of kerosene could be refueled. If "no patrol required," point A would not be selected as a patrol point.

3日目は、もし1日目と2日目のいずれの日にも灯油の補給が行われなかった場合には、「巡回必須」の状態になり、320リットルの灯油を給油可能である。この場合、地点Aは、3日目の巡回経路において必ず巡回地点として選出される。一方、1日目に灯油の補給が行われた場合には、2日目に続き「巡回不要」の状態であり、84リットルの灯油を給油可能である。この場合、地点Aは、3日目の巡回経路において巡回地点として選出されることはない。また、2日目に灯油の補給が行われた場合には、「巡回不要」の状態となり、30リットルの灯油を給油可能である。この場合も、地点Aは、3日目の巡回経路において巡回地点として選出されることはない。なお、2日目に灯油の補給が行われた場合には、1日目に補充が行われたかどうかに関係なく、同じ状態となる。図6ではこれを「- 〇」としてまとめて表現している。同様の理由により、4日目の必要度の状態は「× × ×」「〇 × ×」「- 〇 ×」「- - 〇」の4通りで表現できる。 On the third day, if kerosene is not replenished on either the first or second day, the state will be "patrol required" and 320 liters of kerosene can be refueled. In this case, point A will always be selected as a patrol point on the patrol route on the third day. On the other hand, if kerosene is replenished on the first day, the state will be "patrol not required" as on the second day, and 84 liters of kerosene can be refueled. In this case, point A will not be selected as a patrol point on the patrol route on the third day. Also, if kerosene is replenished on the second day, the state will be "patrol not required" and 30 liters of kerosene can be refueled. In this case, point A will not be selected as a patrol point on the patrol route on the third day. Note that if kerosene is replenished on the second day, the state will be the same regardless of whether replenishment was performed on the first day. In Figure 6, this is collectively represented as "- 〇". For the same reason, the necessity state on the fourth day can be expressed in four ways: "× × ×", "〇 × ×", "- 〇 ×", and "- - 〇".

<作業予定管理テーブル>
作業予定管理テーブル620を図7に示す。作業予定管理テーブル620には、灯油の補充を行う作業員の、巡回の初回から最終回までの各サイクル(本実施形態では1日目から7日目)での作業予定時間、すなわち巡回を行う作業員の作業開始予定時刻及び作業終了予定時刻が記載された作業スケジュール情報が記録されている。
<Work Schedule Management Table>
The work schedule management table 620 is shown in Fig. 7. The work schedule management table 620 records work schedule information that describes the planned work times of the workers who replenish kerosene for each cycle from the first patrol to the last patrol (the first to seventh days in this embodiment), that is, the planned work start times and planned work end times of the workers who perform the patrol.

なお図7には作業員が一人の場合の例を示しているが、作業員が複数の場合は、図18に示すように、各作業員の作業予定が記録される。 Note that Figure 7 shows an example in which there is one worker, but if there are multiple workers, the work schedule for each worker is recorded as shown in Figure 18.

この作業予定時間は、後述する作業時間調整テーブル630に記載されている調整時間と合わせ、巡回経路生成装置100が巡回経路を生成する際の作業時間の目標となる。つまり巡回経路生成装置100は、作業予定管理テーブル620に記録されている作業予定時間と、作業時間調整テーブル630に記載されている調整時間と、の合計時間に作業時間がなるべく近づくように巡回経路を生成する。もちろん、調整時間が0の場合は、巡回経路生成装置100は、作業予定管理テーブル620に記録されている作業予定時間を目標時間として巡回経路を生成する。 This planned work time, together with the adjustment time recorded in the work time adjustment table 630 described below, becomes the target work time when the circular route generation device 100 generates a circular route. In other words, the circular route generation device 100 generates a circular route so that the work time is as close as possible to the total time of the planned work time recorded in the work schedule management table 620 and the adjustment time recorded in the work time adjustment table 630. Of course, if the adjustment time is 0, the circular route generation device 100 generates a circular route with the planned work time recorded in the work schedule management table 620 as the target time.

また作業予定管理テーブル620には、各日の天候等に応じて、作業効率を記録するようにしてもよい。作業効率は、作業員が単位時間あたりに移動可能な移動距離を表し、晴天あるいは曇天の日を1.0として定めたものである。そのため、巡回経路が同じでも、作業効率が0.5の日(例えば雨天あるいは荒天の日)は、作業効率が1.0の日にくらべて作業時間は2倍必要になる。 The work schedule management table 620 may also record work efficiency according to the weather and other factors for each day. Work efficiency represents the distance a worker can travel per unit of time, and is defined as 1.0 for sunny or cloudy days. Therefore, even if the patrol route is the same, on a day when the work efficiency is 0.5 (for example, a rainy or stormy day), twice as much work time is required as on a day when the work efficiency is 1.0.

なおこの作業予定及び作業効率の各値は、事前に入力装置150や記録媒体読取装置170あるいは通信装置130、API(Application Programming Interface)等のインタフェースを通じて巡回経路生成装置100に入力される。 The work schedule and work efficiency values are input in advance to the route generation device 100 via an interface such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface).

<作業時間調整テーブル>
作業時間調整テーブル630を図8に示す。作業時間調整テーブル630には、巡回経路生成装置100が巡回経路を生成する際の目標時間と、作業予定管理テーブル620に記録されている作業予定時間との差分に相当する時間が記録される。
<Work time adjustment table>
The work time adjustment table 630 is shown in Fig. 8. The work time adjustment table 630 records a time corresponding to the difference between a target time when the route generation device 100 generates a route and the scheduled work time recorded in the work schedule management table 620.

つまり、巡回経路生成装置100は、原則として作業予定管理テーブル620に記載されている作業予定時間とのずれがなるべく小さくなるように巡回経路を生成するが、複数サイクルの(1日目から7日目までの)巡回経路の作業時間を調整した結果、日によっては残業を行った方が全体として効率的であると判断できる場合や、早めに作業を切り上げて作業時間を短縮した方が効率的であると判断できる場合などが生じる。 In other words, the route generation device 100 generates a route so that, in principle, the deviation from the planned work times listed in the work schedule management table 620 is as small as possible, but as a result of adjusting the work times of the route over multiple cycles (from the first day to the seventh day), there may be cases where it is determined that working overtime would be more efficient overall, or that it would be more efficient to finish work early and shorten the work time.

そのような場合、巡回経路生成装置100は、作業時間調整テーブル630の調整時間を更新する。例えば30分の残業を行った方が良い場合は、+0.5と記載する。 In such a case, the route generation device 100 updates the adjustment time in the work time adjustment table 630. For example, if it would be better to work 30 minutes of overtime, it would be entered as +0.5.

このようにして巡回経路生成装置100は、巡回の各サイクルの目標時間を調整して巡回経路を再計算する。 In this way, the tour route generation device 100 adjusts the target time for each tour cycle and recalculates the tour route.

図8に示す例では、1日目に+0.5と記載されているため、1日目は作業時間の目標時間を30分延長することを意味する。また5日目には-1.0と記載されているため、5日目は作業時間の目標時間を60分短縮することを意味する。 In the example shown in Figure 8, +0.5 is written on the first day, which means that the target work time on the first day will be extended by 30 minutes. Also, -1.0 is written on the fifth day, which means that the target work time on the fifth day will be shortened by 60 minutes.

作業時間調整テーブル630の内容は、後述する巡回経路生成装置100が各サイクルの巡回経路を生成する際に適宜生成及び更新される。 The contents of the work time adjustment table 630 are generated and updated as appropriate when the route generation device 100, described below, generates a route for each cycle.

<エリア管理テーブル>
エリア管理テーブル640を図9に示す。エリア管理テーブル640は、全体の地域900を分割してなる各小地域910の識別情報であるエリアIDと、各小地域910内の地点300の識別情報である地点IDと、を対応付けて記憶したテーブルである。
<Area management table>
9 shows the area management table 640. The area management table 640 is a table that stores area IDs, which are identification information for each small area 910 obtained by dividing the entire area 900, and point IDs, which are identification information for points 300 within each small area 910, in association with each other.

図9に示す例では、全体の地域900が3つの小地域910(エリア0、エリア1、エリア2)に分割されており、各小地域910には、それぞれ6つの地点300が含まれていることが示されている。その様子を図17に示す。 In the example shown in FIG. 9, the entire area 900 is divided into three small areas 910 (area 0, area 1, and area 2), and each small area 910 includes six locations 300. This is shown in FIG. 17.

この場合、3人の作業員がそれぞれ6つの地点300を分担して巡回することになる。そして巡回経路生成装置100は、小地域910毎に巡回経路を生成する。 In this case, three workers will each be responsible for visiting six locations 300. The route generation device 100 then generates a route for each small area 910.

なお、地域900を分割しない場合には、地域900の全体を1つの小地域910として管理すれば良い。 If the area 900 is not divided, the entire area 900 can be managed as one small area 910.

<巡回経路生成装置の機能構成>
次に、巡回経路生成装置100の機能構成について、図10に示す機能構成図を参照しながら説明する。
<Functional configuration of the route generation device>
Next, the functional configuration of the route generation device 100 will be described with reference to the functional configuration diagram shown in FIG.

上述したように、巡回経路生成装置100は、記憶装置140に記憶されている巡回経路生成装置制御プログラム700や各種のデータがメモリ120に読み出されてCPU110によって実行あるいは処理されることにより、巡回経路生成装置100としての各種機能を実現する。 As described above, the route generation device 100 realizes various functions as the route generation device 100 by reading the route generation 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.

具体的には、巡回経路生成装置100は、必要度記憶部101、巡回経路生成部102、巡回遅延可能地点選出部103、目標時間記憶部104、地点分類部105、地域分割部106、在庫予測部107の各機能を有する。 Specifically, the tour route generation device 100 has the functions of a necessity memory unit 101, a tour route generation unit 102, a tour delay possible point selection unit 103, a target time memory unit 104, a point classification unit 105, a region division unit 106, and an inventory forecasting unit 107.

在庫予測部107は、例えば各地点300から、通信装置130を介して、灯油の日々の消費量や、タンク内の灯油の残量を随時収集しており、季節や時間帯、曜日、天候等による灯油の消費動向の変化や、各顧客のタンクの容量などを考慮しながら、各顧客の灯油の日々の在庫量の予測値を算出する。また在庫予測部107は、灯油の補充が行われると、その地点300の灯油の在庫量(残量)を最大値(タンクの容量)に戻す。 The inventory prediction unit 107 collects, for example, daily kerosene consumption and remaining amount of kerosene in the tank from each point 300 at any time via the communication device 130, and calculates a predicted value of each customer's daily kerosene inventory amount while taking into account changes in kerosene consumption trends due to season, time of day, day of the week, weather, etc., and the capacity of each customer's tank. In addition, when kerosene is refilled, the inventory prediction unit 107 returns the kerosene inventory amount (remaining amount) at that point 300 to the maximum value (tank capacity).

あるいは、在庫予測部107は、通信装置130を使って現在の在庫量を取得せず、過去の消費実績の動向と前回の訪問日から、灯油の消費量の予測を行って日々の在庫量の予測値を算出してもよい。 Alternatively, the inventory prediction unit 107 may not use the communication device 130 to obtain the current inventory amount, but may instead predict the amount of kerosene consumed based on past consumption trends and the date of the previous visit, and calculate a predicted value for the daily inventory amount.

なお、巡回経路生成装置100は在庫予測部107を備えない構成でもよい。この場合、在庫予測部107の機能は不図示の他のコンピュータが有し、巡回経路生成装置100は、このコンピュータから在庫予測の結果を取得するために構築されたAPIを用いて、通信装置130を介して日々の各地点300の灯油の在庫予測を取得する。 The route generating device 100 may be configured not to include the inventory forecasting unit 107. In this case, the functionality of the inventory forecasting unit 107 is provided by another computer (not shown), and the route generating device 100 obtains daily inventory forecasts for kerosene at each point 300 via the communication device 130 using an API constructed to obtain the results of the inventory forecast from this computer.

あるいは、不図示の他のコンピュータが、各地点の灯油の在庫予測を元に、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を示す情報を算出し、この情報を元に必要度管理テーブル610に記録される各情報を求めるようにしてもよい。この場合、巡回経路生成装置100は、このコンピュータから必要度管理テーブル610に記録される各情報を取得するために構築されたAPIを用いて、通信装置130を介して上記各情報を取得し、必要度管理テーブル610に記録する。 Alternatively, another computer (not shown) may calculate information indicating the necessity of patrolling each point in each cycle of patrol from the first to the final patrol based on the kerosene inventory forecast for each point, and obtain each piece of information to be recorded in the necessity management table 610 based on this information. In this case, the tour route generation device 100 uses an API constructed to obtain each piece of information to be recorded in the necessity management table 610 from this computer, obtains each piece of information via the communication device 130, and records it in the necessity management table 610.

必要度記憶部101は、地点300毎の灯油の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点300の巡回の必要度(スコア)を記憶する。本実施形態では、必要度記憶部101は、必要度管理テーブル610として具現化されている。 The necessity storage unit 101 stores the necessity (score) of patrols of each location 300 in each cycle of patrols from the first to the final one, which is calculated based on the kerosene inventory forecast for each location 300. In this embodiment, the necessity storage unit 101 is embodied as a necessity management table 610.

巡回遅延可能地点選出部103は、詳細は後述するが、地点300毎の物資の在庫予測を元に、後述する時間超過サイクルに先行する先行サイクルにおいて物資の補給を行わなくても支障がないと見込まれる巡回遅延可能地点を、複数の地点300の中から選出する。 The tour delay possible point selection unit 103, which will be described in detail later, selects from among the multiple points 300 a tour delay possible point where it is expected that there will be no problems even if supplies are not replenished in the preceding cycle preceding the time overrun cycle described below, based on the inventory forecast of materials for each point 300.

目標時間記憶部104は、初回から最終回までの巡回の各サイクルにおける目標時間を記憶する。本実施形態では、目標時間記憶部104は、作業予定管理テーブル620と作業時間調整テーブル630により具現化される。つまり、各サイクルの目標時間は、作業予定管理テーブル620に記憶されている作業予定時間と、作業時間調整テーブル630に記憶されている調整時間との合計である。例えば作業予定時間が8時間で、調整時間が+1.0時間である場合は、目標時間は9時間となる。 The target time memory unit 104 stores the target time for each cycle of the tour from the first to the final one. In this embodiment, the target time memory unit 104 is embodied by the work schedule management table 620 and the work time adjustment table 630. In other words, the target time for each cycle is the sum of the planned work time stored in the work schedule management table 620 and the adjustment time stored in the work time adjustment table 630. For example, if the planned work time is 8 hours and the adjustment time is +1.0 hour, the target time is 9 hours.

地点分類部105は、地点300毎の物資の在庫予測を元に、巡回のサイクルごとに、地域900内の複数の地点300を、必ず巡回地点として選出されるべき巡回必須地点と、必ずしも巡回地点として選出されなくて良い巡回任意地点と、に分類する。 The location classification unit 105 classifies the multiple locations 300 in the area 900 for each patrol cycle based on the inventory forecast of materials for each location 300 into required patrol locations that must be selected as patrol locations and optional patrol locations that do not necessarily have to be selected as patrol locations.

なお本実施形態では、地点分類部105は、地域900内の複数の地点300を、巡回必須地点と、巡回任意地点と、巡回地点として選出されない巡回不要地点と、に分類する。 In this embodiment, the location classification unit 105 classifies the multiple locations 300 in the area 900 into locations that must be visited, locations that are optional for visiting, and locations that do not need to be visited and are not selected as locations for visiting.

例えば地点分類部105は、灯油の残量がタンク容量に対して20%以下である地点300を巡回必須地点に分類し、灯油の残量がタンク容量に対して60%以上である地点300を巡回不要地点に分類し、巡回必須地点でも巡回不要地点でもない地点を巡回任意地点に分類する。 For example, the location classification unit 105 classifies a location 300 where the remaining amount of kerosene is 20% or less of the tank capacity as a required patrol location, classifies a location 300 where the remaining amount of kerosene is 60% or more of the tank capacity as a non-required patrol location, and classifies a location that is neither a required patrol location nor a non-required patrol location as an optional patrol location.

地域分割部106は、複数の地点300を含む地域900を複数の小地域910に分割する。例えば地域分割部106は、地域900内の各所に点在する複数の地点300を、訪問地点管理テーブル600に記憶されているこれらの地点300の位置情報と、その日に巡回を行う作業員の人数を元に、k平均法等のクラスタリング手法を用いて、地域的にまとまりを持った複数のグループに分類し、各グループ内の地点300が各小地域910に含まれるように、地域900の区割りを行う。k平均法等のクラスタリング手法は公知の技術であるので、説明は省略する。地域分割部106が地域900を3つの小地域910に分割した様子を図17に示す。 The area division unit 106 divides an area 900 including a plurality of points 300 into a plurality of small areas 910. For example, the area division unit 106 classifies the plurality of points 300 scattered throughout the area 900 into a plurality of groups that are regionally cohesive, using a clustering method such as the k-means method, based on the location information of these points 300 stored in the visited point management table 600 and the number of workers patrolling that day, and divides the area 900 so that the points 300 in each group are included in each small area 910. Clustering methods such as the k-means method are well-known techniques, so a description thereof will be omitted. FIG. 17 shows the area 900 divided by the area division unit 106 into three small areas 910.

巡回経路生成部102は、対象とするサイクル(本実施形態では1日目)の巡回経路を生成する。ただし巡回経路生成部102は、単にそのサイクルの巡回経路を生成するのではなく、後続する複数サイクルの巡回経路も生成して、各サイクルでの作業時間が短縮化及び平準化されるように調整を行った上で、対象とするサイクルの巡回経路を生成する。本実施形態では、巡回経路生成部102は、1日目から7日目までの巡回の各サイクルにおける巡回経路を順に生成して、作業時間が平準化されつつ、短縮化されるように調整を行った上で、再度、初回から最終回までの巡回経路を生成する。巡回経路生成部102は、この工程を所定回数(本実施形態では5回)繰り返したのち、1日目の巡回経路を生成する。 The circular route generating unit 102 generates a circular route for the target cycle (the first day in this embodiment). However, the circular route generating unit 102 does not simply generate a circular route for that cycle, but also generates circular routes for the subsequent cycles, adjusts the work time for each cycle to be shortened and leveled, and then generates a circular route for the target cycle. In this embodiment, the circular route generating unit 102 generates a circular route for each cycle from the first day to the seventh day in order, adjusts the work time to be shortened while leveling it out, and then generates a circular route from the first to the final cycle again. The circular route generating unit 102 repeats this process a predetermined number of times (five times in this embodiment) and then generates a circular route for the first day.

なお、上記のサイクル数(7サイクル)や所定回数(5回)は、入力装置150や記録媒体読取装置170あるいは通信装置130、API(Application Programming Interface)等のインタフェースを通じて、設定及び変更が可能に構成されている。 The number of cycles (7 cycles) and the predetermined number of times (5 times) can be set and changed through an interface such as the input device 150, the recording medium reading device 170, the communication device 130, or an API (Application Programming Interface).

巡回経路生成部102は、各サイクルの巡回経路を、所定の経路探索アルゴリズムを用いることで生成する。経路探索アルゴリズムは、山登り法やシミュレーテッドアニーリング法、遺伝的アルゴリズム、タブーサーチなどである。本実施形態では、山登り法またはシミュレーテッドアニーリング法を用いる。 The tour route generation unit 102 generates the tour route for each cycle by using a predetermined route search algorithm. The route search algorithm may be a hill climbing method, a simulated annealing method, a genetic algorithm, a tabu search, or the like. In this embodiment, the hill climbing method or the simulated annealing method is used.

巡回経路生成部102は、巡回経路を生成する際には、巡回経路となりうる複数の候補(候補経路)を生成し、これらの候補の中から最善の候補を巡回経路として選出する。 When generating a circular route, the circular route generation unit 102 generates multiple candidates (candidate routes) that can become circular routes, and selects the best candidate from these candidates as the circular route.

巡回経路生成部102は、候補を生成する際には、全ての巡回必須地点を経路に含み、巡回不要地点を含まないように候補経路を生成する。 When generating candidates, the tour route generation unit 102 generates candidate routes that include all required tour points on the route and do not include any unnecessary tour points.

具体的には、巡回経路生成部102は、まず、巡回不要地点を除いた全ての地点300に対して、これらの地点300を所定の順序で(例えばランダムな順序に)並べることにより巡回経路の候補経路(第1候補)を生成する。 Specifically, the tour route generation unit 102 first generates candidate routes (first candidates) for the tour route by arranging all points 300, excluding points that do not need to be toured, in a predetermined order (e.g., random order).

もちろん、第1候補には、全ての巡回任意地点が含まれていなくても良い。この場合は、巡回経路生成部102は、巡回不要地点を除いた地点300の中から、少なくとも全ての巡回必須地点を含むように(巡回任意地点は、0個以上が含まれていれば良い。巡回任意地点は例えばランダムに選ぶ)複数の地点300を選択した上で、これらの地点300を所定の順序(例えばランダム)で並べることにより巡回経路の第1候補を生成する。 Of course, the first candidate does not have to include all of the optional tour points. In this case, the tour route generation unit 102 selects multiple points 300 from the points 300 excluding the points not required to be toured so as to include at least all of the required tour points (it is sufficient that there are zero or more optional tour points. The optional tour points are selected, for example, randomly), and then generates the first candidate for the tour route by arranging these points 300 in a predetermined order (for example, randomly).

その後巡回経路生成部102は、以下の第1処理か、第2処理か、第3処理のいずれかをランダムに選択しながら繰り返し実行することで、複数の候補経路を順次生成する。 Then, the circular route generation unit 102 randomly selects one of the following first, second, or third processes and repeatedly executes them to sequentially generate multiple candidate routes.

第1処理は、上記第1候補に含まれる地点300の中から選択(例えばランダムに選択)した2つの地点300の順序を入れ替えることにより第2候補を生成する。 The first process generates a second candidate by switching the order of two locations 300 selected (e.g., randomly selected) from the locations 300 included in the first candidate.

第2処理は、上記第1候補に含まれる巡回任意地点から選択(例えばランダムに選択)した地点300を第1候補の巡回経路から削除することにより第2候補を生成する。 The second process generates a second candidate by deleting a point 300 selected (e.g., randomly selected) from the arbitrary tour points included in the first candidate from the tour route of the first candidate.

第3処理は、上記第1候補に含まれない巡回任意地点から選択(例えばランダムに選択)した地点300を第1候補の巡回経路に組み込むことにより第2候補を生成する。 The third process generates a second candidate by incorporating a point 300 selected (e.g., randomly selected) from any patrol points not included in the first candidate into the patrol route of the first candidate.

なおこの際に、巡回経路生成部102は、新たに地点300を経路に追加することによる経路長の増加量が最小となるようにこの地点300を追加する。たとえば第1候補が「拠点→A→C→D→E→拠点」である場合に、この経路内に「B」を追加して第2候補を生成する場合、A、C、D、Eの前後の任意の位置に挿入可能であるが、それぞれ距離の和「(拠点→Bの距離)+(B→Aの距離)」「(A→B の距離)+(B→C の距離)」「(C→B の距離)+(B→D の距離)」「(D→B の距離)+(B→E の距離)」「(E→B の距離)+(B→拠点の距離)」が最小となる位置に挿入する。 At this time, the tour route generating unit 102 adds the new point 300 to the route so that the increase in route length due to adding this point 300 to the route is minimized. For example, if the first candidate is "base → A → C → D → E → base" and "B" is added to this route to generate the second candidate, it can be inserted at any position before or after A, C, D, or E, but it is inserted at a position where the sum of the distances "(distance from base to B) + (distance from B to A)", "(distance from A to B) + (distance from B to C)", "(distance from C to B) + (distance from B to D)", "(distance from D to B) + (distance from B to E)", or "(distance from E to B) + (distance from B to base)" is minimized.

その後、巡回経路生成部102は、上記各処理で生成された第2候補を第1候補として再び第1~第3処理のいずれかをランダムに選択しながら、新たに第2候補を生成する処理を繰り返し実行する。 Then, the circular route generation unit 102 randomly selects one of the first to third processes again, using the second candidate generated in each of the above processes as the first candidate, and repeatedly executes the process of generating a new second candidate.

このような態様により、巡回不要地点を含まず、かつ、巡回必須地点を必ず含むように、巡回する地点300の数が様々な候補経路を生成することが可能となる。 This aspect makes it possible to generate candidate routes with a variety of numbers of points 300 to visit, so as to exclude points that do not need to be visited and to always include points that must be visited.

巡回経路生成部102は、これらの各候補経路に対して、巡回の必要度(スコア)がより高い地点が巡回地点として選出される度合いを表す第1指標値と、巡回地点を巡回する巡回経路の経路長を表す第2指標値と、巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出して、これら第1指標値、第2指標値、第3指標値に基づいて、複数の地点300から巡回地点を選出して巡回経路を生成する。 For each of these candidate routes, the tour route generation unit 102 calculates a first index value indicating the degree to which a point with a higher degree of necessity (score) for patrolling is selected as a tour point, a second index value indicating the route length of the tour route that patrols the tour points, and a third index value indicating the difference between the time required for the tour of the tour route and a predetermined target time, and generates a tour route by selecting tour points from the multiple points 300 based on the first index value, second index value, and third index value.

具体的には、巡回経路生成部102は、各候補経路について下記の式(1)に示すコストを算出し、コストの値が最小となる候補経路を巡回経路として選出する。 Specifically, the circular route generation unit 102 calculates the cost shown in the following formula (1) for each candidate route, and selects the candidate route with the smallest cost value as the circular route.

コスト=a×第1指標値+b×第2指標値+c×第3指標値
(aは負の重み係数、bは正の重み係数、cは正の重み係数) …(1)
ここで、第1指標値は、下記の式(2)により算出される。
Cost = a × first index value + b × second index value + c × third index value (a is a negative weighting coefficient, b is a positive weighting coefficient, and c is a positive weighting coefficient) ... (1)
Here, the first index value is calculated by the following formula (2).

第1指標値=Σ経路内の各地点におけるスコア …(2)
第1指標値は候補経路内の地点300のスコアを合計した値であるので、第1指標値が大きいほど、負の重み係数aとの積は小さくなり、巡回経路として選ばれやすくなる。つまり、候補経路内にスコアのより大きな地点300がより多く含まれているほど、巡回経路として選ばれやすくなる。
First index value = score at each point along the Σ route … (2)
Since the first index value is a value obtained by adding up the scores of the points 300 in the candidate route, the larger the first index value, the smaller the product with the negative weight coefficient a, and the more likely the route is to be selected as a tour route. In other words, the more points 300 with higher scores are included in a candidate route, the more likely the route is to be selected as a tour route.

例えば、1日目の巡回経路を求める場合に、1つの候補経路が地点A、B、Cを訪問するものである場合、巡回経路生成部102は、必要度管理テーブル610を参照して、地点A、B、Cのそれぞれの1日目のスコアを読み出し、それらのスコアを合計することで、第1指標値を求める。 For example, when determining a tour route for the first day, if one candidate route visits points A, B, and C, the tour route generation unit 102 refers to the necessity management table 610, reads out the scores for the first day for each of points A, B, and C, and calculates the first index value by summing up these scores.

また例えば、2日目の巡回経路を求める場合には、巡回経路生成部102は、必要度管理テーブル610を参照して、経路候補内の地点が1日目の巡回経路に含まれるか否か(1日目で訪問済みであるか否か)に応じて、各地点のそれぞれの該当する2日目のスコアを読み出し、それらのスコアを合計することで、第1指標値を求める。 For example, when determining a tour route for the second day, the tour route generation unit 102 refers to the necessity management table 610, and depending on whether or not a point in the route candidate is included in the tour route for the first day (whether or not it has already been visited on the first day), reads out the corresponding score for the second day for each point, and calculates the first index value by summing up these scores.

次に巡回経路生成部102は、以下の式(3)を用いて第2指標値を算出する。 Next, the travel route generation unit 102 calculates the second index value using the following formula (3).

第2指標値=Σ経路上で隣り合う2つの地点間の距離 …(3)
第2指標値は、候補経路の経路長(総移動距離)を示す。2つの地点300間の距離は、訪問地点管理テーブル600に記載されている各地点300位置情報から求めることができる。あるいは不図示の地図データを利用して、各地点300間の道路に沿った距離を求めるようにしても良い。第2指標値が大きい程、コストは増大するため、巡回地点として選ばれにくくなる。
Second index value = Σ distance between two adjacent points on the route ... (3)
The second index value indicates the route length (total travel distance) of the candidate route. The distance between two points 300 can be calculated from the location information of each point 300 stored in the visited point management table 600. Alternatively, map data (not shown) may be used to calculate the distance along the road between each point 300. The larger the second index value, the higher the cost, and therefore the less likely the point is to be selected as a tour point.

また第2指標値は、候補経路の経路長そのものとする他、経路長に関する値であれば他の値でも良い。経路長に関する値としては、例えば、作業員の移動速度を用いて移動距離を移動時間に換算することで、候補経路を巡回するために要する巡回時間とすることができる。この場合、作業員の移動速度は、例えば、過去に地点300を巡回した際の巡回経路の経路長と、その巡回経路を作業員が巡回した時に要した時間を利用して計算するか、移動速度に相当する所定の固定値を用いればよい。 The second index value may be the route length of the candidate route itself, or may be any other value related to the route length. For example, the value related to the route length may be the patrol time required to patrol the candidate route by converting the travel distance into travel time using the worker's travel speed. In this case, the worker's travel speed may be calculated using, for example, the route length of the patrol route taken when patrolling point 300 in the past and the time required for the worker to patrol that patrol route, or a predetermined fixed value equivalent to the travel speed may be used.

次に巡回経路生成部102は、以下の式(4A)又は式(4B)を用いて第3指標値を算出する。 Next, the travel route generation unit 102 calculates the third index value using the following formula (4A) or formula (4B).

第3指標値=(巡回所要時間-目標時間)×候補経路に含まれる巡回任意地点の数
(巡回所要時間>目標時間の場合) …(式4A)
第3指標値=(目標時間-巡回所要時間)×候補経路に含まれない巡回任意地点の数
(巡回所要時間≦目標時間の場合) …(式4B)
なお(式4A)は、巡回所要時間>目標時間の場合に用いられる第3指標値の算出式であり、例えば作業員が勤務終了時刻に拠点に戻ってくるように目標時間が定められている場合は、作業員に残業が発生する場合の算出式である。
Third index value = (required time for round trip - target time) x number of optional round trip points included in the candidate route
(When the required time for the tour is greater than the target time) ... (Formula 4A)
Third index value = (target time - required time for tour) x number of optional tour points not included in the candidate route
(When the required tour time is less than or equal to the target time) ... (Formula 4B)
Note that (Equation 4A) is a calculation formula for the third index value used when the patrol time is greater than the target time, and is a calculation formula for when a worker has to work overtime, for example, when the target time is set so that the worker returns to the base at the end of his/her shift.

また(式4B)は、巡回所要時間≦目標時間の場合に用いられる第3指標値の算出式である。 Furthermore, (Formula 4B) is the calculation formula for the third index value used when the required tour time is less than or equal to the target time.

第3指標値を算出するにあたって、巡回経路生成部102は、作業員が各地点300を巡回して戻ってくるまでの巡回所要時間をシミュレーションする。 When calculating the third index value, the tour route generation unit 102 simulates the time it takes for a worker to visit each location 300 and return.

この巡回所要時間は、各候補経路において、隣り合う地点300間の距離と、作業員の移動速度と、を用いて算出される隣り合う地点300間の移動時間と、各地点300での作業時間と、を経路全体で積算した値を、作業予定管理テーブル620に記録されている作業効率で割ることにより算出することができる。作業員の移動速度や作業時間は、例えば過去の経験から求めた所定値とすればよい。 This patrol time can be calculated by multiplying the travel time between adjacent points 300, calculated using the distance between the adjacent points 300 and the worker's movement speed, and the work time at each point 300 for each candidate route, by the work efficiency recorded in the work schedule management table 620. The worker's movement speed and work time may be set to predetermined values obtained from past experience, for example.

ここで第3指標値について補足すると、例えば、残業が発生するにも関わらず巡回任意地点を巡回している場合は、この巡回任意地点を巡回しないようにすることにより、巡回所要時間を短くできるはずであるから、それを第3指標値によるペナルティとしてコストに加算する。コストへの影響の大きさを係数cで調整している。これにより、残業が発生する場合は、巡回任意地点が少ない候補経路の方がよい経路と認識されて残りやすくなる。 To elaborate on the third index value, for example, if an optional patrol point is visited even though overtime would occur, the time required for the patrol should be shortened by not visiting this optional patrol point, so this is added to the cost as a penalty due to the third index value. The magnitude of the impact on the cost is adjusted using coefficient c. As a result, when overtime occurs, candidate routes with fewer optional patrol points are recognized as better routes and are more likely to remain.

逆に、巡回作業が目標時間よりも早く終わるにもかかわらず、巡回していない巡回任意地点が残っている場合は、これらの巡回任意地点を巡回することで作業時間を増やせるはずであるから、巡回していない巡回任意地点の数に比例したペナルティとしてコストに加算する。 Conversely, if the patrol work is completed earlier than the target time but there are still unpatrolled optional patrol points remaining, the work time should be increased by patrolling these optional patrol points, so a penalty proportional to the number of unpatrolled optional patrol points is added to the cost.

ただし、第3指標値は、以下の式(5A)、式(5B)を用いて算出しても良い。 However, the third index value may also be calculated using the following formula (5A) and formula (5B).

第3指標値=巡回所要時間-目標時間(巡回所要時間>目標時間の場合)…(5A)
第3指標値=目標時間-巡回所要時間(巡回所要時間≦目標時間の場合)…(5B)
これらの式であっても、第3指標値は、巡回に要する時間が目標時間とずれている場合には、時間差に比例して大きくなるから、式(1)のコストを増大させることになる。
Third index value = tour time required - target time (if tour time required > target time)... (5A)
Third index value = target time - tour time (if tour time ≦ target time)... (5B)
Even with these formulas, if the time required for the tour deviates from the target time, the third index value increases in proportion to the time difference, which increases the cost of formula (1).

あるいは、巡回所要時間≦目標時間の場合に式(4B)や式(5B)に代えて、第3指標値=所定値(例えば0や1等の固定値)としてもよい。この場合は、目標時間よりも短時間で巡回が終了するような候補経路であっても式(1)のコストをほとんど増加させないため、早めに巡回が終了するような経路が選択されやすくなるため、作業員の業務軽減を図ることが可能となる。あるいは、巡回する地点の数が少ないにもかかわらず目標時間が長すぎるような場合に、巡回所要時間を目標時間に近づけるために無理に遠回りをするような巡回経路が生成されないようにすることが可能となる。 Alternatively, when the patrol time is less than or equal to the target time, instead of using formula (4B) or formula (5B), the third index value may be set to a predetermined value (for example, a fixed value such as 0 or 1). In this case, even if a candidate route completes the patrol in a shorter time than the target time, the cost of formula (1) is hardly increased, so a route that completes the patrol early is more likely to be selected, thereby reducing the workload of workers. Alternatively, when the target time is too long despite the number of points to be patrolled being small, it is possible to prevent the generation of a patrol route that takes an unreasonably long detour in order to bring the patrol time closer to the target time.

このようにして、巡回経路生成部102は、1日目から7日目までの巡回の各サイクルにおける巡回経路を順に生成する巡回経路生成処理を実行する。 In this way, the tour route generation unit 102 executes a tour route generation process that generates tour routes for each cycle of the tour from the first day to the seventh day in sequence.

続いて、巡回経路生成部102は、これらの各サイクルにおける作業時間が平準化され、かつ、短縮化されるように調整を行う。 Then, the route generation unit 102 makes adjustments so that the work time in each of these cycles is equalized and shortened.

つまり、上記の巡回経路生成処理により生成される各サイクルの巡回経路は、いずれも第3指標値が考慮されて生成されているため、原則として巡回所要時間は目標時間にほぼ近くなる。しかしながら、灯油が枯渇寸前の巡回必須地点が一気に増加したような場合には、いくら第3指標値を考慮して巡回任意地点を巡回経路から除外し、巡回経路を巡回必須地点のみで構成したとしても、巡回所要時間が目標時間を大幅に超過することもある。 In other words, the routes for each cycle generated by the above route generation process are all generated taking into account the third index value, so in principle the time required for the tour will be close to the target time. However, if the number of required tour points suddenly increases due to kerosene running low, the time required for the tour may significantly exceed the target time, even if the optional tour points are excluded from the route and the route is composed of only required tour points while taking into account the third index value.

このような場合、巡回経路生成部102は、以下のa)~d)に示すような処理を行うことで、各巡回経路の巡回所要時間が平準化及び短縮化されるように、巡回経路を構成する巡回地点の調整を行う。 In such a case, the route generation unit 102 performs the processes shown in a) to d) below to adjust the route points that make up the route so that the travel time for each route is averaged and shortened.

a)正のスコアバイアスによる調整(補正値の加算によるスコアの補正)
b)負のスコアバイアスによる調整(補正値の減算によるスコアの補正)
c)目標時間の増加による調整
d)目標時間の減少による調整
これらのうちa)及びb)は、スコアを補正することにより巡回地点を調整するものであり、巡回経路生成部102は、いずれかのサイクルにおいて、巡回所要時間が所定の目標時間を超過する時間が第1所定時間以上(例えば30分以上)となる巡回経路が生成された場合には、当該サイクルである時間超過サイクルにおいて巡回地点として選出された所定地点が、当該時間超過サイクルにおいて巡回地点として選出されにくくなるように、必要度管理テーブル610に記憶されているスコアを補正する。
a) Adjustment for positive score bias (correction of the score by adding a correction value)
b) Adjustment for negative score bias (correction of the score by subtracting a correction value)
c) Adjustment by increasing the target time d) Adjustment by decreasing the target time Of these, a) and b) adjust the patrol points by correcting the score, and when a patrol route is generated in any cycle in which the time required for patrol exceeds the specified target time by a first specified time or more (for example, 30 minutes or more), the patrol route generation unit 102 corrects the score stored in the necessity management table 610 so that the specified point selected as a patrol point in the time exceeding cycle in question is less likely to be selected as a patrol point in the time exceeding cycle in question.

具体的には、巡回経路生成部102は、巡回所要時間が目標時間に対して30分以上超過するサイクル(例えば5日目)があった場合には、5日目の巡回経路に含まれる上記所定地点300(たとえば地点A)が5日目の巡回地点として選出されにくくなるように、必要度管理テーブル610に記憶されているスコアを補正する。このようにスコアを補正することで、次回の巡回経路生成処理において生成される5日目の巡回経路において地点Aが巡回地点に含まれないようにできれば、巡回地点の数が減少するので、5日目の巡回所要時間を短縮できる。またその結果、各サイクルの巡回所要時間を平準化することができる。 Specifically, when there is a cycle (e.g., the fifth day) in which the required tour time exceeds the target time by 30 minutes or more, the tour route generation unit 102 corrects the score stored in the necessity management table 610 so that the above-mentioned specified point 300 (e.g., point A) included in the tour route on the fifth day is less likely to be selected as a tour point on the fifth day. By correcting the score in this way, if point A can be prevented from being included as a tour point in the tour route on the fifth day generated in the next tour route generation process, the number of tour points will decrease, and the tour time on the fifth day can be shortened. As a result, the tour time for each cycle can be averaged out.

a)正のスコアバイアスによる調整
この場合、巡回経路生成部102は、残業発生日(5日目)に訪問した巡回必須地点(地点A)を、それより前のサイクルに訪問させることを目指して、この巡回必須地点の必要度(スコア)を補正する。
a) Adjustment using positive score bias In this case, the tour route generation unit 102 corrects the necessity (score) of the mandatory tour location (location A) visited on the day when overtime occurs (the fifth day) with the aim of having this location visited in an earlier cycle.

具体的には、巡回経路生成部102は、時間超過サイクル(5日目)に先行する先行サイクル(4日目以前)における上記所定地点(地点A)の必要度を第1所定値(正のスコアバイアス)だけ増加させるように補正して、この所定地点が先行サイクルにおいて巡回地点として選出されやくなるようにすることで、この所定地点が時間超過サイクル(5日目)において巡回地点として選出されにくくなるようにする。 Specifically, the tour route generation unit 102 corrects the necessity of the above-mentioned specified point (point A) in the preceding cycle (before the fourth day) that precedes the time exceeding cycle (the fifth day) by increasing it by a first specified value (positive score bias), making this specified point more likely to be selected as a tour point in the preceding cycle, and therefore making this specified point less likely to be selected as a tour point in the time exceeding cycle (the fifth day).

例えば巡回経路生成部102は、先行サイクルにおける複数の地点300の必要度の中の最大値を第1所定値(正のスコアバイアス)として、この第1所定値を先行サイクルにおける所定地点の必要度に加算することにより、上記所定地点の必要度を増加させるように補正するとよい。 For example, the route generating unit 102 may take the maximum value among the degrees of necessity of the multiple locations 300 in the previous cycle as a first predetermined value (positive score bias) and add this first predetermined value to the degree of necessity of the specified location in the previous cycle, thereby correcting the degree of necessity of the specified location to be increased.

図15を参照しながら説明すると、3日目サイクルが時間超過サイクルであるとした場合に、この時間超過サイクルにおいて巡回地点として選出されている地点2と地点5(巡回地点は、図15において網掛けされている。)を、先行サイクル(2日目サイクル)において巡回地点として選出されやすくするために、2日目サイクルにおける地点2のスコア2に5(第1所定値)を加えて7に更新し、地点5のスコア4にも同様に5(第1所定値)を加えて9に更新する。なお、この時のスコアの増分である5(第1所定値)は、2日目サイクルにおける各地点のスコアの最大値(地点3のスコア5)である。第1所定値は、必要度管理テーブル610を参照することにより取得することができる。このような態様により、時間超過サイクルにおける巡回地点を、先行サイクルにおいて巡回地点として選出されやすくし、その結果、時間超過サイクルにおいて巡回地点として選出されにくくすることが可能になる。図15に示す例では、地点5の2日目サイクルにおけるスコア(必要度)が上昇(4→9)することにより、地点5を2日目サイクルにおいて巡回地点として選出させることができるようになっている。 With reference to FIG. 15, if the third day cycle is a time exceeding cycle, in order to make it easier for points 2 and 5 (the patrol points are shaded in FIG. 15) selected as patrol points in this time exceeding cycle to be selected as patrol points in the preceding cycle (second day cycle), the score 2 of point 2 in the second day cycle is updated to 7 by adding 5 (first predetermined value), and the score 4 of point 5 is also updated to 9 by adding 5 (first predetermined value). Note that the increment in score at this time, 5 (first predetermined value), is the maximum score of each point in the second day cycle (point 3's score 5). The first predetermined value can be obtained by referring to the necessity management table 610. In this manner, it is possible to make it easier for patrol points in the time exceeding cycle to be selected as patrol points in the preceding cycle, and as a result, it is possible to make it harder for them to be selected as patrol points in the time exceeding cycle. In the example shown in FIG. 15, the score (necessity) of location 5 in the second day cycle increases (from 4 to 9), allowing location 5 to be selected as a patrol location in the second day cycle.

またさらに、時間超過サイクルにおいて巡回地点として選出されている地点2と地点5を、先行サイクル(1日目サイクル)において巡回地点として選出されやすくするために、1日目サイクルにおける地点2のスコア1に7(第1所定値)を加えて8に更新し、地点5のスコア2にも同様に7(第1所定値)を加えて9に更新してもよい。この時のスコアの増分である7(第1所定値)は、1日目サイクルにおける各地点のスコアの最大値(地点1のスコア10)に係数0.67を乗じた値である。このような態様によっても、時間超過サイクルにおける巡回地点を、先行サイクルにおいて巡回地点として選出されやすくし、時間超過サイクルにおいて巡回地点として選出されにくくすることが可能になる。 Furthermore, to make points 2 and 5 selected as patrol points in the time exceeding cycle more likely to be selected as patrol points in the preceding cycle (first day cycle), the score 1 of point 2 in the first day cycle may be updated to 8 by adding 7 (first predetermined value), and the score 2 of point 5 may also be updated to 9 by adding 7 (first predetermined value). The score increment of 7 (first predetermined value) in this case is the maximum score of each point in the first day cycle (point 1's score of 10) multiplied by a coefficient of 0.67. This type of embodiment also makes it possible to make patrol points in the time exceeding cycle more likely to be selected as patrol points in the preceding cycle and less likely to be selected as patrol points in the time exceeding cycle.

なお、2日目サイクルでは当該サイクル内の最高スコアを第1所定値とし、1日目サイクルでは当該サイクル内の最高スコアに係数0.67を乗じた値を第1所定値とし、時間超過サイクルに近い先行サイクルほどスコアの増加の程度が大きくなるようにしているが、このような態様により、時間超過サイクルで巡回させたくない所定地点を、時間超過サイクルにより近い先行サイクルで巡回地点として選出されるように誘導できる。これにより、その所定地点への灯油の補給タイミングを遅らせて、灯油の補給量を増大させ、灯油補充の作業効率を向上させることが可能となる。 In the second day cycle, the highest score in that cycle is set as the first predetermined value, and in the first day cycle, the highest score in that cycle multiplied by a coefficient of 0.67 is set as the first predetermined value, so that the degree of increase in score increases the closer the preceding cycle is to the time-exceeded cycle. With this configuration, it is possible to induce a specified point that is not to be patrolled in the time-exceeded cycle to be selected as a patrol point in a preceding cycle that is closer to the time-exceeded cycle. This makes it possible to delay the timing of replenishment of kerosene to that specified point, increase the amount of kerosene replenished, and improve the work efficiency of kerosene replenishment.

なお、第1所定値は、適宜定めた固定値であってもよい。これにより、スコアの更新処理を簡便にし、巡回経路生成装置100の処理負荷の軽減を図ることができる。 The first predetermined value may be a fixed value that is appropriately determined. This simplifies the score update process and reduces the processing load on the travel route generation device 100.

b)負のスコアバイアスによる調整
この場合、巡回経路生成部102は、巡回遅延可能地点選出部103によって選出された巡回遅延可能地点(先行サイクルにおいて灯油の補給を行わなくても支障がないと見込まれる地点)の先行サイクルにおける必要度を第2所定値(負のスコアバイアス)だけ減少させることで、この巡回遅延可能地点が先行サイクルにおいて巡回地点として選出されにくくなるようにし、所定地点(上述した地点A)が先行サイクルにおいて相対的に巡回地点として選出されやくなるようにすることで、この所定地点が時間超過サイクルにおいて巡回地点として選出されにくくなるようにする。
b) Adjustment using negative score bias In this case, the circular route generation unit 102 reduces the necessity in the preceding cycle of the circular delay possible point (a point where it is expected that there will be no problem if kerosene is not replenished in the preceding cycle) selected by the circular delay possible point selection unit 103 by a second predetermined value (negative score bias), making this circular delay possible point less likely to be selected as a circular point in the preceding cycle, and making the specified point (point A mentioned above) relatively more likely to be selected as a circular point in the preceding cycle, making this specified point less likely to be selected as a circular point in the time exceeding cycle.

図16を参照しながら説明すると、2日目サイクルが時間超過サイクルである場合(巡回地点は、図16において網掛けされている。)、先行サイクルは1日目サイクルになる。また巡回遅延可能地点選出部103は、先行サイクル(1日目サイクル)において地点3と地点4は、残業が発生している2日目サイクルまでに訪問する必要がなく(巡回必須とならないため)、時間超過解消後に訪問してよいため、巡回遅延可能地点であると認定している。この場合、巡回経路生成部102は、1日目サイクルにおける地点3のスコア7から3.5(第2所定値)を引いて(スコアを1/2倍している)3.5に更新し、地点4のスコア2から1(第2所定値)を引いて(スコアを1/2倍している)1に更新する。なお、この時のスコアの減少分は、1日目サイクルにおけるスコアの1/2となる値である。 Explaining with reference to FIG. 16, if the second day cycle is a time-overrun cycle (the patrol points are shaded in FIG. 16), the preceding cycle becomes the first day cycle. The patrol delay possible point selection unit 103 also recognizes points 3 and 4 as possible patrol points in the preceding cycle (first day cycle) because there is no need to visit points 3 and 4 before the second day cycle when overtime occurs (because patrol is not mandatory) and they can be visited after the time-overrun is resolved. In this case, the patrol route generation unit 102 subtracts 3.5 (second predetermined value) from the score of point 3 in the first day cycle (7) (multiplying the score by 1/2) to update it to 3.5, and subtracts 1 (second predetermined value) from the score of point 4 in the first day cycle (multiplying the score by 1/2) to update it to 1. Note that the score reduction at this time is a value that is 1/2 of the score in the first day cycle.

この結果、元々先行サイクル(1日目サイクル)で巡回地点として選ばれていた地点3が、地点4と共に巡回地点として選ばれなくなり、その代わり、時間超過サイクル(2日目サイクル)において巡回地点として選ばれていた地点5の先行サイクル(1日目サイクル)での必要度が相対的に上がり、先行サイクルの巡回地点として選ばれるようになった結果、時間超過サイクルにおける巡回地点を3か所(地点2と地点5と地点6)から2か所(地点2と地点6)に減少させることができている。 As a result, point 3, which was originally selected as a patrol point in the preceding cycle (first day cycle), is no longer selected as a patrol point along with point 4. Instead, point 5, which was selected as a patrol point in the time-exceeding cycle (second day cycle), became relatively more necessary in the preceding cycle (first day cycle) and was selected as a patrol point for the preceding cycle. As a result, the number of patrol points in the time-exceeding cycle was reduced from three (points 2, 5, and 6) to two (points 2 and 6).

このような態様により、先行サイクルにおける巡回遅延可能地点が巡回地点として選出されにくくなるようにし、所定地点が先行サイクルにおいて相対的に巡回地点として選出されやくなるようにすることで、この所定地点が時間超過サイクルにおいて巡回地点として選出されにくくすることができる。 By using this method, it becomes difficult for a point in the preceding cycle where a tour delay is possible to be selected as a tour point, and it becomes relatively easy for a specific point to be selected as a tour point in the preceding cycle, so that it becomes difficult for this specific point to be selected as a tour point in the time-exceeding cycle.

c)目標時間の増加による調整
また巡回経路生成部102は、上記の所定地点が時間超過サイクルにおいて巡回地点として選出されにくくなるようにするために必要度を補正し得る地点が所定数以下(例えば30%に相当する数以下)である場合のように、上記a)b)に記載した巡回地点の調整だけでは作業時間の超過を吸収しきれない(平準化が困難)場合には、後述する目標時間記憶部104に記憶されている、時間超過サイクルを含む連続する所定個数のサイクルにおける巡回の目標時間をそれぞれ第1目標時間だけ増加させるようにしてもよい。
c) Adjustment by increasing the target time Furthermore, when the number of points whose necessity can be corrected so that the above-mentioned specified points are less likely to be selected as patrol points in the time exceeding cycle is less than a specified number (for example, less than a number equivalent to 30%), and the excess working time cannot be absorbed (leveling out is difficult), the patrol route generation unit 102 may increase, by the first target time, each of the target times for patrol in a specified number of consecutive cycles including the time exceeding cycle, which are stored in the target time memory unit 104 described later.

なお、目標時間の増加による調整は、前回の調整で、初回サイクルから最終回サイクルまでの各巡回経路に対して、上記a)、b)による調整を実行して必要度の補正を実施したにもかかわらず、今回の調整ではそれ以上必要度を補正できない状況にある場合に行われる調整である。 Note that adjustments due to an increase in the target time are made when, in the previous adjustment, the adjustments a) and b) above were performed to correct the degree of necessity for each route from the first cycle to the final cycle, but the current adjustment is unable to correct the degree of necessity any further.

これは、必要度を補正しうる地点の数が所定数以下となった場合は、もはや、必要度の補正によって作業時間を平準化する余地が少ないため、複数サイクルにわたって目標時間を増加させることで(つまり残業を増やすことで)作業時間の平準化を図るものである。 This is because when the number of points where the degree of necessity can be adjusted falls below a certain number, there is little room left to level out work hours by adjusting the degree of necessity, so the system aims to level out work hours by increasing the target time over multiple cycles (i.e., by increasing overtime).

例えば、巡回経路生成部102は、時間超過サイクルの目標時間が9時間であるところ、巡回所要時間が10時間となった場合に、時間超過サイクルと、その1サイクル前の先行サイクルにおける目標時間をそれぞれ0.5時間ずつ増加させる。このような態様によっても、作業時間の平準化を図ることが可能である。 For example, if the target time for the overtime cycle is 9 hours and the required tour time is 10 hours, the tour route generation unit 102 increases the target time for the overtime cycle and the preceding cycle by 0.5 hours each. This type of configuration also makes it possible to level out work hours.

なお目標時間は、上述したように、作業予定管理テーブル620に記憶されている作業予定時間と、作業時間調整テーブル630に記憶されている調整時間との合計である。例えば作業予定時間が8時間で、調整時間が+1.0時間である場合は、目標時間は9時間である。そして上記の第1目標時間は、例えば巡回所要時間と目標時間との差を、上記所定個数(目標時間を補正するサイクルの数)で割った値にする。つまり上述したように、時間超過サイクルの目標時間が9時間であるところ、巡回所要時間が10時間となった場合に、時間超過サイクルと、その1サイクル前の先行サイクルにおける目標時間をそれぞれ0.5時間ずつ増加させる。 As described above, the target time is the sum of the planned work time stored in the work schedule management table 620 and the adjusted time stored in the work time adjustment table 630. For example, if the planned work time is 8 hours and the adjusted time is +1.0 hour, the target time is 9 hours. The first target time is, for example, the difference between the patrol time and the target time divided by the above-mentioned specified number (the number of cycles for which the target time is to be corrected). In other words, as described above, if the target time for the time-overrun cycle is 9 hours and the patrol time is 10 hours, the target times for the time-overrun cycle and the preceding cycle one cycle before that are each increased by 0.5 hours.

また作業員が複数の場合は、第1目標時間は、巡回所要時間と目標時間との差を全作業員で合計した時間を、目標時間を補正する各サイクルの作業員の延べ人数で割った値となる。例えば図20に示す例で説明すると、巡回所要時間と目標時間との差の合計が10時間であった場合、1日目サイクル、2日目サイクル、3日目サイクルの3サイクルにおける作業員の延べ人数は5人であるので、第1目標時間は2時間(10時間÷5人)となる。 If there are multiple workers, the first target time is calculated by adding up the difference between the patrol time and the target time for all workers, divided by the total number of workers in each cycle for which the target time is being corrected. For example, in the example shown in Figure 20, if the total difference between the patrol time and the target time is 10 hours, the total number of workers in the three cycles of the first day cycle, the second day cycle, and the third day cycle is 5, so the first target time is 2 hours (10 hours ÷ 5 people).

d)目標時間の減少による調整
また巡回経路生成部102は、いずれかのサイクルにおいて、巡回所要時間が目標時間を超過する時間が第1所定時間(例えば30分)よりも短い第2所定時間(例えば10分)以下となる巡回経路が生成され、かつ、当該サイクルである軽負荷サイクルにおける巡回地点のうち、巡回必須地点及び必要度の補正が既になされている巡回任意地点が占める割合が第3所定値以下(例えば30%以下)である場合、すなわち巡回所要時間に余裕がある場合には、後述する目標時間記憶部104に記憶されている、当該軽負荷サイクルにおける巡回の目標時間を第2目標時間(例えば20分)だけ減少させた後、再度、巡回経路生成処理を行うようにしてもよい。
d) Adjustment by reducing the target time Furthermore, when a circular route is generated in any cycle such that the time required for the tour exceeds the target time by a second predetermined time (e.g., 10 minutes) or less that is shorter than a first predetermined time (e.g., 30 minutes), and the proportion of required tour points and optional tour points for which the degree of necessity has already been corrected among the tour points in the light-load cycle in question is a third predetermined value or less (e.g., 30% or less), i.e., when there is some leeway in the time required for the tour, the circular route generation unit 102 may reduce the target time for the tour in that light-load cycle, which is stored in the target time memory unit 104 described below, by the second target time (e.g., 20 minutes), and then perform the circular route generation process again.

このような態様により、巡回所要時間の短縮化を図ることが可能となる。 This approach makes it possible to reduce the time required for a tour.

なお、1つの巡回経路に含まれる巡回地点のうち、巡回必須地点及び必要度の補正が既になされている巡回任意地点が占める割合を調整不可能率という。調整不可能率は、下記の式(6)のように表される。 The ratio of required tour points and optional tour points whose necessity has already been corrected among the tour points included in one tour route is called the non-adjustable rate. The non-adjustable rate is expressed by the following formula (6).

調整不可能率=(巡回必須地点数+スコア補正済みの巡回任意地点数)/(巡回経路上の地点数) …(6)
調整不可能率は、巡回経路の性質を表す指標値である。例えば、巡回経路上の地点がすべて巡回必須地点である場合には、調整不可能率は1となり、この巡回経路上の地点のスコアを補正して他のサイクルで巡回させるように誘導することはできない。逆に、巡回経路上の地点がすべて巡回任意地点であり、また、いずれの地点もいまだスコアの補正がなされていない場合には、調整不可能率は0となり、この巡回経路上のいずれの地点も、スコアを補正して他のサイクルで巡回させるように誘導することができる。
Unadjustable rate = (number of required patrol points + number of optional patrol points after score correction) / (number of points on the patrol route) ... (6)
The rate of non-adjustment is an index value that represents the nature of the tour route. For example, if all the points on the tour route are required tour points, the rate of non-adjustment is 1, and the scores of the points on this tour route cannot be corrected to guide them to tour in another cycle. Conversely, if all the points on the tour route are optional tour points, and the scores of all the points have not yet been corrected, the rate of non-adjustment is 0, and the scores of all the points on this tour route can be corrected to guide them to tour in another cycle.

巡回経路生成部102は、軽負荷サイクルの調整不可能率が30%以下(第3所定値以下)の場合は、この軽負荷サイクルの目標時間を減少させることで、巡回経路上の巡回地点を削減する。このような態様により、巡回所要時間の短縮化を図ることが可能となる。 When the rate of adjustment failure of the light load cycle is 30% or less (a third predetermined value or less), the tour route generation unit 102 reduces the target time of this light load cycle, thereby reducing the number of tour points on the tour route. In this manner, it is possible to shorten the time required for the tour.

以上述べたようにして、巡回経路生成部102は、巡回経路生成処理により生成した初回のサイクル(1日目)から最終回のサイクル(7日目)までの巡回経路に対してスコアや目標時間を調整する調整処理を実行して、再度、巡回経路生成処理を実行して、初回から最終回までの各サイクルの巡回経路を再度生成する。 As described above, the tour route generation unit 102 executes an adjustment process to adjust the scores and target times for the tour routes generated by the tour route generation process from the first cycle (first day) to the final cycle (seventh day), and then executes the tour route generation process again to regenerate the tour routes for each cycle from the first to the final cycle.

巡回経路生成部102は、このような巡回経路生成処理と調整処理を所定回数(本実施形態では5回)繰り返す。 The route generation unit 102 repeats this route generation process and adjustment process a predetermined number of times (five times in this embodiment).

そしてその後、巡回経路生成部102は、巡回の初回のサイクルに対して、再度、第1指標値と、第2指標値と、第3指標値と、を算出し、第1指標値、第2指標値、及び第3指標値に基づいて、複数の地点300から巡回地点を選出して巡回経路を生成する。このようにして生成された巡回経路の例を図11に示す。 Then, the tour route generation unit 102 again calculates the first index value, the second index value, and the third index value for the first cycle of the tour, and generates a tour route by selecting tour points from the multiple points 300 based on the first index value, the second index value, and the third index value. An example of a tour route generated in this way is shown in FIG. 11.

このような態様により、直近だけでなく、その後の一定期間にわたって、巡回を行う作業員の作業時間が短縮化及び平準化された最適な巡回経路を生成することが可能となる。 This approach makes it possible to generate optimal patrol routes that shorten and standardize the work time of workers performing the patrol, not only for the immediate future but also for a certain period of time thereafter.

==処理の流れ==
次に、本実施形態に係る巡回経路生成装置100による処理の流れを、図12~図14に示すフローチャートを参照しながら説明する。
==Process flow==
Next, the flow of processing by the route generation device 100 according to this embodiment will be described with reference to the flowcharts shown in FIGS.

図12において、巡回経路生成装置100は、地域900内の各地点300の1日目から7日目までの各サイクルの灯油の在庫予測の結果を取得する(S1000)。上述したように灯油の在庫予測は、在庫予測部107あるいは不図示の他のコンピュータによって実行される。またこの在庫予測には、各地点300への灯油の補充が、1日目から7日目までの各サイクルで行われる場合と行われない場合の全ての態様についての予測が含まれている。 In FIG. 12, the route generating device 100 obtains the results of the kerosene inventory forecast for each cycle from the first day to the seventh day at each point 300 in the area 900 (S1000). As described above, the kerosene inventory forecast is executed by the inventory forecasting unit 107 or another computer (not shown). This inventory forecast also includes predictions for all cases in which kerosene replenishment at each point 300 is performed and is not performed in each cycle from the first day to the seventh day.

そして巡回経路生成装置100は、各地点300の在庫予測に基づいて、各地点300の状態や給油量、スコアを計算し、必要度管理テーブル610を作成する(S1010)。 Then, the route generation device 100 calculates the status, fuel supply amount, and score of each point 300 based on the inventory forecast for each point 300, and creates a necessity management table 610 (S1010).

巡回経路生成装置100は、変数i、jを1に初期化した上で(S1020、S1030)、j日目(jサイクル目)の巡回経路を生成する(S1040)。つまり、巡回経路生成装置100は、jサイクル目の巡回について、複数の地点300の中から巡回の必要度がより高い地点が巡回地点として選出される度合いを表す第1指標値と、巡回地点を巡回する巡回経路の経路長を表す第2指標値と、巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出し、第1指標値、第2指標値、及び第3指標値に基づいて、複数の地点300から巡回地点を選出して巡回経路を生成する。巡回経路の生成は、山登り法あるいはシミュレーテッドアニーリング法により行われるが、詳細は、図13、図14を参照しながら後述する。 The traveling route generating device 100 initializes variables i and j to 1 (S1020, S1030), and then generates a traveling route for the jth day (jth cycle) (S1040). That is, the traveling route generating device 100 calculates a first index value representing the degree to which a point with a higher degree of necessity for visiting is selected as a traveling point from among the multiple points 300 for the jth cycle of visiting, a second index value representing the path length of the traveling route visiting the traveling points, and a third index value representing the difference between the time required for visiting the traveling route and a predetermined target time, and generates a traveling route by selecting a traveling point from the multiple points 300 based on the first index value, the second index value, and the third index value. The traveling route is generated by a hill climbing method or a simulated annealing method, and details will be described later with reference to FIG. 13 and FIG. 14.

その後、巡回経路生成装置100は、j=7(7日目)であるかを判定し(S1050)、Noである場合はjに1を加算して(S1060)、j日目の巡回経路の生成を行う(S1040)。このようにして巡回経路生成装置100は、初回から最終回までの巡回経路を生成する巡回経路生成処理を実行する。 Then, the traveling route generating device 100 determines whether j=7 (7th day) (S1050), and if No, adds 1 to j (S1060), and generates a traveling route for the jth day (S1040). In this way, the traveling route generating device 100 executes a traveling route generation process that generates traveling routes from the first to the final time.

一方、j=7となった場合は、巡回経路生成装置100は、1日目から7日目までの各巡回経路を比較し、各日の巡回作業時間を短縮化及び平準化するために、必要度管理テーブル610のスコアあるいは、作業時間調整テーブル630の調整時間を調整する(S1070)。 On the other hand, when j=7, the tour route generation device 100 compares each tour route from the first day to the seventh day, and adjusts the score in the necessity management table 610 or the adjustment time in the work time adjustment table 630 in order to shorten and level out the tour work time for each day (S1070).

具体的には、巡回経路生成装置100は、各日の残業時間(すなわち巡回所要時間から目標時間を引いた時間)を下記のように評価することによりスコアあるいは調整時間の調整を行う。 Specifically, the route generation device 100 adjusts the score or adjustment time by evaluating the overtime hours for each day (i.e., the time required for the tour minus the target time) as follows:

巡回経路生成装置100は、残業時間が第2所定時間以下(例えば10分以下)の場合で、経路上の調整不可能率が第3所定値以下(例えば30%以下)の場合は、その日の目標時間を第2目標時間(例えば20分)だけ短縮する。具体的には、作業時間調整テーブル630の調整時間を第2目標時間だけ減少させる。 When the overtime hours are equal to or less than a second predetermined time (e.g., 10 minutes or less) and the rate of unadjustable hours on the route is equal to or less than a third predetermined value (e.g., 30% or less), the route generation device 100 shortens the target time for that day by the second target time (e.g., 20 minutes). Specifically, the adjustment time in the work time adjustment table 630 is reduced by the second target time.

また巡回経路生成装置100は、残業時間が第2所定時間(例えば10分)を超え第1所定時間(例えば30分)未満の場合は、特に調整を行わない。 Furthermore, the route generation device 100 does not make any adjustments if the overtime hours exceed the second predetermined time (e.g., 10 minutes) and are less than the first predetermined time (e.g., 30 minutes).

また巡回経路生成装置100は、残業時間が第1所定時間(例えば30分)以上の場合は、まず、前日までに作業時間調整テーブル630に負の調整時間が記録されていれば、0にクリアする。また巡回経路生成装置100は、巡回経路上の巡回必須地点(所定地点)の前日のスコアを第1所定値だけ増加させるように補正する。さらに巡回経路生成装置100は、前日の巡回遅延可能地点のスコアを第2所定値だけ減少させるように補正する。ただし、巡回経路生成装置100は、スコアを増加あるいは減少し得る地点が所定数以下(例えば30%以下)である場合には、残業時間を当日以前の各日に分散させる。つまり、作業時間調整テーブル630に記録されている当日とそれより前の各日の調整時間を、残業時間を分散させる日数で割った時間(第1目標時間)ずつ増加させる(なお上述したように、この処理はiが2以上の場合にのみ実行される)。 In addition, when the overtime is equal to or longer than a first predetermined time (e.g., 30 minutes), the route generating device 100 first clears to 0 any negative adjustment time recorded in the work time adjustment table 630 by the previous day. The route generating device 100 also corrects the score of the previous day of the essential points (predetermined points) on the route so as to increase it by a first predetermined value. Furthermore, the route generating device 100 corrects the score of the points on the previous day where the route can be delayed by a second predetermined value. However, if the number of points where the score can be increased or decreased is equal to or less than a predetermined number (e.g., 30% or less), the route generating device 100 distributes the overtime to each day before the current day. In other words, the route generating device 100 increases the adjustment time recorded in the work time adjustment table 630 for the current day and each day before by the time (first target time) divided by the number of days to distribute the overtime (note that, as described above, this process is executed only when i is 2 or more).

その後、巡回経路生成装置100は、i=5(5回目)であるかを判定し(S1080)、Noである場合はiに1を加算して(S1090)、S1030に戻る。このようにして巡回経路生成装置100は、巡回経路生成処理を所定回数(5回)繰り返す。 Then, the traveling route generating device 100 determines whether i=5 (fifth time) (S1080), and if No, adds 1 to i (S1090) and returns to S1030. In this way, the traveling route generating device 100 repeats the traveling route generation process a predetermined number of times (five times).

一方、i=5となった場合は、巡回経路生成装置100は、1日目の巡回のサイクルに対して、再度、S1040と同様に、山登り法あるいはシミュレーテッドアニーリング法によって巡回経路を生成する(S1100)。 On the other hand, when i=5, the tour route generation device 100 generates a tour route for the first day's tour cycle again using the hill climbing method or the simulated annealing method, as in S1040 (S1100).

このような態様により、1日目だけでなくその後の一定期間にわたって、巡回を行う作業員の作業時間が短縮化及び平準化された最適な巡回経路を生成することが可能となる。 This approach makes it possible to generate optimal patrol routes that shorten and standardize the work time of patrolling workers, not just on the first day but for a certain period of time thereafter.

続いて、図13を参照しながら、山登り法によって巡回経路を生成する場合の処理(以下、経路探索処理S1200と称する。)の流れを説明する。 Next, with reference to FIG. 13, we will explain the flow of the process for generating a circular route using the hill-climbing method (hereinafter referred to as route search process S1200).

まず巡回経路生成装置100は、巡回対象の各地点300を、巡回必須地点と巡回任意地点と巡回不要地点に分類しておく。そして巡回経路生成装置100は、現在経路の初期値を生成する(S1211)。本実施形態では一例として、巡回経路生成装置100は、巡回不要地点を除く全ての地点300(全ての巡回必須地点及び全ての巡回任意地点)が経路に含まれるようにし、順序はランダムに設定することで現在経路の初期値を生成する。また巡回経路生成装置100は、この現在経路を現在経路情報として記録するとともに、巡回経路の暫定解として設定しておく。 First, the traveling route generation device 100 classifies each point 300 to be patrolled into a required point, an optional point, and a point not required to be patrolled. The traveling route generation device 100 then generates an initial value for the current route (S1211). As an example in this embodiment, the traveling route generation device 100 generates the initial value for the current route by including all points 300 (all required points and all optional points) except for the points not required to be patrolled in the route, and setting the order randomly. The traveling route generation device 100 also records this current route as current route information and sets it as a tentative solution for the traveling route.

続いて巡回経路生成装置100は、現在経路について、第1指標値から第3指標値を算出し(S1212)、これらの算出結果から現在経路のコストを求める(S1213)。 Next, the travel route generation device 100 calculates the third index value from the first index value for the current route (S1212), and determines the cost of the current route from these calculation results (S1213).

そして巡回経路生成装置100は、現在経路に基づき次経路を生成する(S1214)。このとき巡回経路生成装置100は、上述した第1処理、第2処理、あるいは第3処理のいずれかをランダムに選んで実行することにより、次経路を生成する。また巡回経路生成装置100は、この次経路を次経路情報として記録しておく。 Then, the traveling route generating device 100 generates a next route based on the current route (S1214). At this time, the traveling route generating device 100 generates the next route by randomly selecting and executing one of the first process, the second process, or the third process described above. The traveling route generating device 100 also records this next route as next route information.

次に巡回経路生成装置100は、次経路について第1指標値から第3指標値を算出し(S1215)、これらの算出結果から次経路のコストを求める(S1216)。 Next, the travel route generation device 100 calculates the third index value from the first index value for the next route (S1215), and determines the cost of the next route from these calculation results (S1216).

そして巡回経路生成装置100は、次経路のコストが現在経路のコストよりも小さいか否かを判定する(S1217)。次経路のコストが現在経路のコストよりも小さい場合(S1217:YES)、巡回経路生成装置100は、次経路を暫定解として設定し直す(S1218)。その後、処理はS1219に進む。一方、次経路のコストが現在経路のコストよりも小さくない場合(S1217:NO)、処理はS1219に進む。 Then, the traveling route generation device 100 determines whether the cost of the next route is less than the cost of the current route (S1217). If the cost of the next route is less than the cost of the current route (S1217: YES), the traveling route generation device 100 resets the next route as a tentative solution (S1218). Then, the process proceeds to S1219. On the other hand, if the cost of the next route is not less than the cost of the current route (S1217: NO), the process proceeds to S1219.

S1219では、巡回経路生成装置100は、暫定解のコストが予め設定された閾値以下であるか否かを判定する。暫定解のコストが予め設定された閾値以下である場合(S1219:YES)、巡回経路生成装置100はS1220を実行する。暫定解のコストが予め設定された閾値以下でない場合(S1219:NO)、巡回経路生成装置100は、次経路を現在経路とし、次経路情報を現在経路情報に転記した上で、S1214に戻って処理を続ける。 In S1219, the traveling route generation device 100 determines whether the cost of the tentative solution is equal to or less than a preset threshold. If the cost of the tentative solution is equal to or less than the preset threshold (S1219: YES), the traveling route generation device 100 executes S1220. If the cost of the tentative solution is not equal to or less than the preset threshold (S1219: NO), the traveling route generation device 100 sets the next route as the current route, transcribes the next route information into the current route information, and then returns to S1214 to continue processing.

S1220では、巡回経路生成装置100は、暫定解を経路探索結果として記憶する。尚、巡回経路生成装置100は、経路探索結果を出力装置160に適宜出力する。 In S1220, the traveling route generation device 100 stores the tentative solution as a route search result. The traveling route generation device 100 outputs the route search result to the output device 160 as appropriate.

図14は、シミュレーテッドアニーリング法により巡回経路生成装置100が巡回経路を探索する際に行う処理(以下、経路探索処理S1300と称する。)を説明するフローチャートである。以下、図14を参照しながら経路探索処理S1300について説明する。 Figure 14 is a flowchart explaining the process (hereinafter referred to as route search process S1300) performed by the travel route generation device 100 when searching for a travel route using the simulated annealing method. The route search process S1300 will be explained below with reference to Figure 14.

まず巡回経路生成装置100は、温度Tの初期値を設定する(S1311)。 First, the travel route generation device 100 sets an initial value for temperature T (S1311).

続いて巡回経路生成装置100は、巡回対象の各地点300を、巡回必須地点と巡回任意地点と巡回不要地点に分類する。そして巡回経路生成装置100は、現在経路の初期値を生成する(S1312)。このとき巡回経路生成装置100は、一例として、巡回不要地点を除く全ての地点300(全ての巡回必須地点及び全ての巡回任意地点)が経路に含まれるようにし、順序はランダムに設定することにより、現在経路の初期値を生成する。また巡回経路生成装置100は、この現在経路を現在経路情報として記録するとともに、巡回経路の暫定解として設定しておく。 Then, the traveling route generation device 100 classifies each point 300 to be visited into a required point, an optional point, and a point not required to be visited. The traveling route generation device 100 then generates an initial value for the current route (S1312). At this time, as an example, the traveling route generation device 100 generates the initial value for the current route by including all points 300 (all required points and all optional points) except for the points not required to be visited in the route, and setting the order randomly. The traveling route generation device 100 also records this current route as current route information, and sets it as a tentative solution for the traveling route.

巡回経路生成装置100は、現在経路について第1指標値から第3指標値を算出し(S1313)、これらの算出結果に基づき、現在経路のコストを求める(S1314)。 The travel route generation device 100 calculates the first index value to the third index value for the current route (S1313), and finds the cost of the current route based on these calculation results (S1314).

そして巡回経路生成装置100は、現在経路に基づき次経路を生成する(S1315)。このとき巡回経路生成装置100は、上述した第1処理、第2処理、あるいは第3処理のいずれかをランダムに選んで実行することにより、次経路を生成する。また巡回経路生成装置100は、この次経路を次経路情報として記録しておく。 Then, the traveling route generating device 100 generates a next route based on the current route (S1315). At this time, the traveling route generating device 100 randomly selects and executes one of the first process, the second process, or the third process described above to generate the next route. The traveling route generating device 100 also records this next route as next route information.

続いて、巡回経路生成装置100は、次経路について第1指標値から第3指標値を算出し(S1316)、これらの算出結果に基づき、次経路のコストを求める(S1317)。 Next, the travel route generation device 100 calculates the first index value to the third index value for the next route (S1316), and finds the cost of the next route based on these calculation results (S1317).

そして巡回経路生成装置100は、次経路を受理するか否かを判定する(S1318)。上記判定に際し、巡回経路生成装置100は、原則として次経路のコストが現在経路のコストよりも小さい場合に次経路を受理するが、次経路のコストが現在経路のコストより小さくない場合でも(即ち改悪となる場合でも)、温度Tに依存する確率で次経路を受理する。尚、上記の確率としては、例えば、メトロポリス基準が用いられる。このようにすることで、局所最適解に陥りにくくすることができる。巡回経路生成装置100は、次経路を受理すると判定した場合(S1318:受理)、次経路を暫定解として設定し直した上で(S1319)、S1320に処理を進める。一方、次経路を受理しないと判定した場合(S1318:不受理)、巡回経路生成装置100は処理をS1320に進める。 Then, the traveling route generating device 100 judges whether or not to accept the next route (S1318). In the above judgment, the traveling route generating device 100 accepts the next route if the cost of the next route is smaller than the cost of the current route in principle, but even if the cost of the next route is not smaller than the cost of the current route (i.e., even if it is a deterioration), the next route is accepted with a probability that depends on the temperature T. Note that, for example, the Metropolis criterion is used as the above probability. In this way, it is possible to make it difficult to fall into a local optimum solution. If the traveling route generating device 100 judges that the next route is accepted (S1318: Accept), it resets the next route as a tentative solution (S1319) and proceeds to the process of S1320. On the other hand, if it is judged that the next route is not accepted (S1318: Not Accepted), the traveling route generating device 100 proceeds to the process of S1320.

S1320では、巡回経路生成装置100は、温度Tを下げるか否かを判定する。巡回経路生成装置100は、例えば、S1315~S1320のループ処理を予め設定された回数以上繰り返された場合に温度Tを下げると判定する。なお、この繰り返し回数を増やすことにより、巡回経路の真の最適解が得られる可能性を向上することができる。逆に、繰り返し回数を減らすことにより、巡回経路の生成処理に要する時間を短縮できる。 In S1320, the traveling route generation device 100 determines whether or not to lower the temperature T. For example, the traveling route generation device 100 determines to lower the temperature T when the loop process 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 traveling route. Conversely, by decreasing the number of repetitions, it is possible to shorten the time required for the traveling route generation process.

そのため、例えば、図12のS1040において巡回経路を生成する場合には、繰り返し回数を少なめにして処理時間の短縮を図り、図12のS1100において巡回経路を生成する場合には、繰り返し回数を増やし、より最適な巡回経路を生成するようにするとよい。 Therefore, for example, when generating a circular route in S1040 of FIG. 12, the number of repetitions can be reduced to shorten the processing time, and when generating a circular route in S1100 of FIG. 12, the number of repetitions can be increased to generate a more optimal circular route.

巡回経路生成装置100は、温度Tを下げると判定した場合に(S1320:YES)、温度Tを下げ(S1321)、処理をS1322に進める。例えば、指数型アニーリングの場合、巡回経路生成装置100は、Tt+1=γ・Ttとする(但しγは冷却速度を決定する係数)。一方、巡回経路生成装置100は、温度Tを下げないと判定した場合(S1320:NO)、次経路を現在経路とし、次経路情報を現在経路情報に転記した上で、S1315に戻って処理を続ける。 When the traveling route generation device 100 determines that the temperature T should be lowered (S1320: YES), the traveling route generation device 100 lowers the temperature T (S1321) and proceeds to the process of S1322. For example, in the case of exponential annealing, the traveling route generation device 100 sets T t+1 = γ·T t (where γ is a coefficient that determines the cooling rate). On the other hand, when the traveling route generation device 100 determines that the temperature T should not be lowered (S1320: NO), the traveling route generation device 100 sets the next route as the current route, transcribes the next route information into the current route information, and returns to S1315 to continue the process.

S1322では、巡回経路生成装置100は、暫定解のコストが予め設定された閾値以下であるか否かを判定する。暫定解のコストが予め設定された閾値以下である場合(S1322:YES)、巡回経路生成装置100はS1323を実行する。暫定解のコストが予め設定された閾値以下でない場合(S1322:NO)、巡回経路生成装置100は、次経路を現在経路とし、次経路情報を現在経路情報に転記した上で、S1315に戻って処理を続ける。 In S1322, the traveling route generation device 100 determines whether the cost of the tentative solution is equal to or less than a preset threshold. If the cost of the tentative solution is equal to or less than the preset threshold (S1322: YES), the traveling route generation device 100 executes S1323. If the cost of the tentative solution is not equal to or less than the preset threshold (S1322: NO), the traveling route generation device 100 sets the next route as the current route, transcribes the next route information into the current route information, and then returns to S1315 to continue processing.

S1323では、巡回経路生成装置100は、暫定解を経路探索結果として記憶する。尚、巡回経路生成装置100は、経路探索結果を出力装置160に適宜出力する。 In S1323, the traveling route generation device 100 stores the tentative solution as a route search result. The traveling route generation device 100 outputs the route search result to the output device 160 as appropriate.

==他の実施形態==
次に、地域900を複数の小地域910に分割し、各小地域910をそれぞれ異なる作業員が巡回する場合について説明する。
==Other embodiments==
Next, a case will be described in which an area 900 is divided into a plurality of small areas 910 and different workers patrol each of the small areas 910.

地域900が一例として3つの小地域910に分割されている様子を図17に示す。またこの時のエリア管理テーブル640を図9に示す。 Figure 17 shows an example of an area 900 divided into three small areas 910. Figure 9 shows the area management table 640 in this case.

さらに複数の作業員の作業予定を記録する作業予定管理テーブル620を図18に示す。図18に示すように、灯油の配達を行う作業員の人数は日によって異なる。そのため、巡回経路生成装置100は、地域900を、その日に作業できる作業員の数の小地域910に分割する。 Figure 18 shows a work schedule management table 620 that records the work schedules of multiple workers. As shown in Figure 18, the number of workers delivering kerosene varies from day to day. Therefore, the route generation device 100 divides the area 900 into small areas 910 according to the number of workers available to work on that day.

地域900の分割は、地域分割部106によって行われる。地域分割部106は、地域900内の各所に点在する地点300を、訪問地点管理テーブル600に記憶されている地点300の位置情報と、その日の作業員の人数を元に、k平均法等のクラスタリング手法を用いて、地域的にまとまりを持った複数のグループに分類し、各グループ内の地点300が各小地域910に含まれるように、地域900の区割りを行う。k平均法等のクラスタリング手法は公知の技術であるので、説明は省略する。 The area 900 is divided by the area division unit 106. The area division unit 106 classifies the points 300 scattered throughout the area 900 into multiple groups that are regionally cohesive, using a clustering method such as the k-means method based on the location information of the points 300 stored in the visited point management table 600 and the number of workers on that day, and divides the area 900 so that the points 300 in each group are included in each small area 910. Clustering methods such as the k-means method are well-known techniques, so a description thereof will be omitted.

そして巡回経路生成装置100は、初回(例えば1日目)から最終回(例えば7日目)までの各サイクルの巡回経路を、小地域910毎にそれぞれ生成する。 Then, the travel route generation device 100 generates a travel route for each cycle from the first (e.g., the first day) to the final (e.g., the seventh day) for each small area 910.

図19に、巡回経路生成装置100が複数の小地域910に巡回経路を生成する場合の処理の流れを示すフローチャートを示す。 Figure 19 shows a flowchart illustrating the process flow when the travel route generation device 100 generates travel routes for multiple small areas 910.

まず巡回経路生成装置100は、変数kを1に初期化した上で(S2000)、k日目(kサイクル目)の小地域910を決定する(S2010)。つまり巡回経路生成装置100は、地域900を、その日の作業員の人数に応じた数の小地域910に分割する。 First, the travel route generation device 100 initializes a variable k to 1 (S2000), and then determines the small area 910 for the kth day (kth cycle) (S2010). In other words, the travel route generation device 100 divides the area 900 into the number of small areas 910 according to the number of workers on that day.

その後、巡回経路生成装置100は、k=7(7回目)であるかを判定し(S2020)、Noである場合はkに1を加算して(S2030)、S2010に戻る。このようにして巡回経路生成装置100は、初回から最終回までのサイクル毎に、地域900を小地域910に分割する。 Then, the traveling route generation device 100 determines whether k=7 (seventh time) (S2020), and if No, adds 1 to k (S2030) and returns to S2010. In this way, the traveling route generation device 100 divides the area 900 into small areas 910 for each cycle from the first to the final cycle.

一方、k=7となった場合は、巡回経路生成装置100は、図12に示した巡回経路の生成処理を開始する。なお、この巡回経路の生成処理は小地域910毎に行われる。 On the other hand, when k=7, the travel route generation device 100 starts the process of generating a travel route shown in FIG. 12. Note that this process of generating a travel route is performed for each small area 910.

このようにして、巡回経路生成装置100は、作業員が複数の場合であっても、各作業員の作業時間が短縮化及び平準化されるように最適な巡回経路を生成することが可能となる。このようにして生成された巡回経路の例を図17に示す。 In this way, the route generation device 100 can generate an optimal route so that the work time of each worker is shortened and equalized, even when there are multiple workers. An example of a route generated in this way is shown in Figure 17.

以上説明したように、本実施形態に係る巡回経路生成装置100及び巡回経路生成方法及びプログラムによれば、複数の地点300から選出される少なくとも一部の地点300に対する巡回を、地点の組み合わせを変えながら複数サイクル行うことにより、複数の地点300に物資の補給を行う際の巡回経路を生成する際に、巡回を行う作業員の作業時間の短縮と平準化が両立可能な巡回経路を生成することが可能となる。 As described above, according to the route generation device 100 and route generation method and program of this embodiment, by performing multiple cycles of visiting at least some of the locations 300 selected from the multiple locations 300 while changing the combination of locations, it is possible to generate a route for generating a route for resupplying the multiple locations 300 that can both reduce and level the work time of workers performing the route.

なお上述した実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。 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 its spirit, and equivalents are also included in the present invention.

例えば、作業員が各地点300に配達する物資は灯油に限らず、例えば機械や工場、店舗、自動販売機で消費される様々な材料や商品、さらには農業用給水タンクで消費される水などでもよい。農業用給水タンクに対する巡回経路を生成する場合は、巡回経路生成装置100は、例えば各農業用給水タンクから残水量を収集するようにすればよい。 For example, the supplies that workers deliver to each point 300 are not limited to kerosene, but may be various materials and products consumed by machines, factories, stores, and vending machines, or even water consumed in agricultural water tanks. When generating a route for agricultural water tanks, the route generation device 100 may, for example, collect the amount of remaining water from each agricultural water tank.

100 巡回経路生成装置
101 必要度記憶部
102 巡回経路生成部
103 巡回遅延可能地点選出部
104 目標時間記憶部
105 地点分類部
106 地域分割部
110 CPU
120 メモリ
130 通信装置
140 記憶装置
150 入力装置
160 出力装置
170 記録媒体読取装置
300 地点
500 ネットワーク
600 訪問地点管理テーブル
610 必要度管理テーブル
620 作業予定管理テーブル
630 作業時間調整テーブル
640 エリア管理テーブル
700 巡回経路生成装置制御プログラム
800 記録媒体
900 地域
910 小地域
REFERENCE SIGNS LIST 100 Tour route generation device 101 Necessity level storage unit 102 Tour route generation unit 103 Tour delay possible point selection unit 104 Target time storage unit 105 Point classification unit 106 Area division unit 110 CPU
120 Memory 130 Communication device 140 Storage device 150 Input device 160 Output device 170 Recording medium reader 300 Location 500 Network 600 Visiting location management table 610 Necessity management table 620 Work schedule management table 630 Work time adjustment table 640 Area management table 700 Tour route generation device control program 800 Recording medium 900 Area 910 Small area

Claims (15)

複数の地点から選出される少なくとも一部の地点に対する巡回を前記地点の組み合わせを変えながら複数サイクル行うことにより前記複数の地点に物資の補給を行う際の巡回経路を生成する巡回経路生成装置であって、
前記地点毎の物資の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を記憶する必要度記憶部と、
巡回のサイクル毎に、前記複数の地点の中から巡回の必要度がより高い地点が巡回地点として選出される度合いを表す第1指標値と、前記巡回地点を巡回する巡回経路の経路長を表す第2指標値と、前記巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出し、前記第1指標値、前記第2指標値、及び前記第3指標値に基づいて前記複数の地点から巡回地点を選出して巡回経路を生成する巡回経路生成処理を行う巡回経路生成部と、
を備え、
前記巡回経路生成部は、
いずれかのサイクルにおいて、巡回所要時間が所定の目標時間を超過する時間が第1所定時間以上となる巡回経路が生成された場合には、当該サイクルである時間超過サイクルにおいて巡回地点として選出された所定地点が、当該時間超過サイクルにおいて巡回地点として選出されにくくなるように前記必要度記憶部に記憶されている必要度を補正した後、再度、前記巡回経路生成処理を行う、巡回経路生成装置。
A route generating device that generates a route for resupplying a plurality of points by performing a plurality of cycles of visiting at least some of the points selected from the plurality of points while changing a combination of the points,
a necessity storage unit that stores a necessity of visiting each point in each cycle of the tour from the first to the final tour, the necessity being calculated based on the inventory forecast of the material for each point;
a circular route generating unit that performs a circular route generation process that calculates, for each circular cycle, a first index value that indicates the degree to which a location having a higher degree of necessity for visiting is selected as a circular route from among the plurality of locations, a second index value that indicates a route length of a circular route that visits the circular locations, and a third index value that indicates a difference between a required time for visiting the circular route and a predetermined target time, and that selects a circular route from the plurality of locations based on the first index value, the second index value, and the third index value to generate a circular route;
Equipped with
The tour route generation unit,
When a circular route is generated in any cycle in which the time required for the tour exceeds a predetermined target time by a first predetermined time or more, the circular route generation device corrects the degree of necessity stored in the necessity memory unit so that the predetermined point selected as a tour point in the time exceeding cycle is less likely to be selected as a tour point in the time exceeding cycle, and then performs the circular route generation process again.
請求項1に記載の巡回経路生成装置であって、
前記巡回経路生成部は、
前記時間超過サイクルに先行する先行サイクルにおける前記所定地点の必要度を第1所定値だけ増加させるように補正して、前記所定地点が前記先行サイクルにおいて巡回地点として選出されやくなるようにすることで、前記所定地点が前記時間超過サイクルにおいて巡回地点として選出されにくくなるようにする、巡回経路生成装置。
The travel route generation device according to claim 1,
The tour route generation unit,
A tour route generation device that corrects the necessity of the specified point in a preceding cycle preceding the time exceeding cycle by increasing it by a first specified value, making the specified point more likely to be selected as a tour point in the preceding cycle, thereby making the specified point less likely to be selected as a tour point in the time exceeding cycle.
請求項2に記載の巡回経路生成装置であって、
前記巡回経路生成部は、
前記先行サイクルにおける前記複数の地点の必要度の中の最大値を前記第1所定値として、前記第1所定値を前記先行サイクルにおける前記所定地点の必要度に加算することにより、前記所定地点の必要度を補正する、巡回経路生成装置。
The travel route generation device according to claim 2,
The tour route generation unit,
a first predetermined value being a maximum value among the degrees of necessity of the plurality of points in the previous cycle, and the first predetermined value being added to the degree of necessity of the specified point in the previous cycle, thereby correcting the degree of necessity of the specified point.
請求項1~3のいずれかに記載の巡回経路生成装置であって、
前記地点毎の物資の在庫予測を元に、前記時間超過サイクルに先行する先行サイクルにおいて物資の補給を行わなくても支障がないと見込まれる巡回遅延可能地点を、前記複数の地点の中から選出する巡回遅延可能地点選出部と、
を備え、
前記巡回経路生成部は、
前記巡回遅延可能地点の前記先行サイクルにおける必要度を第2所定値だけ減少させるように補正することで、前記巡回遅延可能地点が前記先行サイクルにおいて巡回地点として選出されにくくし、前記所定地点が前記先行サイクルにおいて相対的に巡回地点として選出されやくなるようにすることで、前記所定地点が前記時間超過サイクルにおいて巡回地点として選出されにくくなるようにする、巡回経路生成装置。
The route generation device according to any one of claims 1 to 3,
a tour delay possible point selection unit that selects, from the plurality of points, a tour delay possible point at which it is expected that no problems will occur even if the supply of the material is not performed in a preceding cycle preceding the time overrun cycle, based on an inventory forecast of the material for each of the points;
Equipped with
The tour route generation unit,
A circular route generation device that corrects the necessity of the circular delay possible point in the preceding cycle to reduce it by a second predetermined value, making the circular delay possible point less likely to be selected as a circular point in the preceding cycle, and making the predetermined point relatively more likely to be selected as a circular point in the preceding cycle, making the predetermined point less likely to be selected as a circular point in the time exceeding cycle.
請求項1~4のいずれかに記載の巡回経路生成装置であって、
初回から最終回までの各サイクルにおける巡回の目標時間を記憶する目標時間記憶部と、を備え、
前記巡回経路生成部は、
前記所定地点が前記時間超過サイクルにおいて巡回地点として選出されにくくなるようにするために必要度を補正し得る地点が所定数以下である場合には、前記目標時間記憶部に記憶されている、前記時間超過サイクルを含む連続する所定個数のサイクルにおける巡回の目標時間をそれぞれ第1目標時間だけ増加させるように補正した後、再度、前記巡回経路生成処理を行う、巡回経路生成装置。
The route generation device according to any one of claims 1 to 4,
A target time storage unit stores a target time for each cycle from the first to the final cycle,
The tour route generation unit,
When the number of points whose necessity can be corrected to make the specified point less likely to be selected as a patrol point in the time exceeding cycle is equal to or less than a specified number, the target times for patrol in a specified number of consecutive cycles including the time exceeding cycle, which are stored in the target time memory unit, are corrected so as to be increased by a first target time, and then the patrol route generation process is performed again.
請求項1~5のいずれかに記載の巡回経路生成装置であって、
初回から最終回までの各サイクルにおける巡回の目標時間を記憶する目標時間記憶部と、
前記地点毎の物資の在庫予測を元に、巡回のサイクルごとに、前記複数の地点を、必ず巡回地点として選出されるべき巡回必須地点と、必ずしも巡回地点として選出されなくて良い巡回任意地点と、に分類する地点分類部と、
を備え、
前記巡回経路生成部は、
いずれかのサイクルにおいて、巡回所要時間が目標時間を超過する時間が前記第1所定時間よりも短い第2所定時間以下となる巡回経路が生成され、かつ、当該サイクルである軽負荷サイクルにおける巡回地点のうち、巡回必須地点及び必要度の補正が既になされている巡回任意地点が占める割合が第3所定値以下である場合には、前記目標時間記憶部に記憶されている、当該軽負荷サイクルにおける巡回の目標時間を第2目標時間だけ減少させた後、再度、前記巡回経路生成処理を行う、巡回経路生成装置。
The route generation device according to any one of claims 1 to 5,
a target time storage unit that stores a target time for each cycle from the first to the final cycle;
a location classification unit that classifies the plurality of locations into required patrol locations that must be selected as patrol locations and optional patrol locations that do not necessarily have to be selected as patrol locations for each patrol cycle based on an inventory forecast of materials for each location;
Equipped with
The tour route generation unit,
When a circular route is generated in any cycle such that the time required for traveling exceeds the target time by a second predetermined time or less that is shorter than the first predetermined time, and the proportion of required traveling points and optional traveling points for which the degree of necessity has already been corrected among the traveling points in the light-load cycle that is the cycle is equal to or less than a third predetermined value, the circular route generation device reduces the target time for traveling in the light-load cycle that is stored in the target time memory unit by the second target time, and then performs the circular route generation process again.
請求項1~6のいずれかに記載の巡回経路生成装置であって、
前記複数の地点を含む地域を複数の小地域に分割する地域分割部と、
を備え、
前記巡回経路生成部は、前記小地域ごとに、前記小地域内の複数の地点を、初回から最終回までの複数の前記サイクルで巡回する際の巡回経路を生成する、巡回経路生成装置。
The route generation device according to any one of claims 1 to 6,
a region dividing unit for dividing a region including the plurality of points into a plurality of small regions;
Equipped with
The travel route generation unit generates, for each of the small regions, a travel route for visiting a plurality of points within the small regions in a plurality of cycles from a first cycle to a final cycle.
請求項1~7のいずれかに記載の巡回経路生成装置であって、
前記巡回経路生成部は、
前記巡回経路生成処理を所定回数繰り返した後、巡回の初回のサイクルに対して、再度、前記第1指標値と、前記第2指標値と、前記第3指標値と、を算出し、前記第1指標値、前記第2指標値、及び前記第3指標値に基づいて、前記複数の地点から巡回地点を選出して巡回経路を生成する、巡回経路生成装置。
The route generation device according to any one of claims 1 to 7,
The tour route generation unit,
a circular route generation device that, after repeating the circular route generation process a predetermined number of times, again calculates the first index value, the second index value, and the third index value for a first cycle of the tour, and selects a circular point from the multiple points based on the first index value, the second index value, and the third index value to generate a circular route.
請求項8記載の巡回経路生成装置であって、
前記巡回経路生成部が前記巡回経路生成処理を繰り返す前記所定回数を示す情報を取得するインタフェースを備える、巡回経路生成装置。
The route generation device according to claim 8,
a route generating device including an interface for acquiring information indicating the predetermined number of times that the route generating unit repeats the route generating process.
請求項1~9のいずれかに記載の巡回経路生成装置であって、
初回から最終回までの各サイクルにおける巡回の目標時間を示す情報を取得するインタフェースを備える、巡回経路生成装置。
The route generation device according to any one of claims 1 to 9,
A tour route generation device that includes an interface for acquiring information indicating a target time for each tour in each cycle from the first to the final cycle.
請求項10に記載の巡回経路生成装置であって、
前記目標時間を示す情報は、巡回を行う作業員の作業開始予定時刻及び作業終了予定時刻が記載された作業スケジュール情報である、巡回経路生成装置。
The travel route generation device according to claim 10,
The information indicating the target time is work schedule information that describes the scheduled work start time and scheduled work end time of the worker who will be patrolling.
請求項1~11のいずれかに記載の巡回経路生成装置であって、
前記巡回経路生成部が巡回経路を生成する初回から最終回までの巡回のサイクル数を示す情報を取得するインタフェースを備える、巡回経路生成装置。
The route generation device according to any one of claims 1 to 11,
The traveling route generating device includes an interface for acquiring information indicating the number of cycles of traveling from the first time to the final time for which the traveling route generating unit generates the traveling route.
請求項1~12のいずれかに記載の巡回経路生成装置であって、
前記地点毎の物資の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を示す情報を取得するインタフェースを備える、巡回経路生成装置。
The route generation device according to any one of claims 1 to 12,
A route generation device having an interface for acquiring information indicating the degree of necessity of visiting each location in each cycle of the tour from the first to the final tour, the information being calculated based on a stock forecast of materials for each location.
複数の地点から選出される少なくとも一部の地点に対する巡回を前記地点の組み合わせを変えながら複数サイクル行うことにより前記複数の地点に物資の補給を行う際の巡回経路を生成するコンピュータによる巡回経路生成方法であって、
前記コンピュータが、
前記地点毎の物資の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を記憶し、
巡回のサイクル毎に、前記複数の地点の中から巡回の必要度がより高い地点が巡回地点として選出される度合いを表す第1指標値と、前記巡回地点を巡回する巡回経路の経路長を表す第2指標値と、前記巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出し、前記第1指標値、前記第2指標値、及び前記第3指標値に基づいて前記複数の地点から巡回地点を選出して巡回経路を生成する巡回経路生成処理を行い、
いずれかのサイクルにおいて、巡回所要時間が所定の目標時間を超過する時間が第1所定時間以上となる巡回経路が生成された場合には、当該サイクルである時間超過サイクルにおいて巡回地点として選出された所定地点が、当該時間超過サイクルにおいて巡回地点として選出されにくくなるように前記必要度を補正した後、再度、前記巡回経路生成処理を行う、巡回経路生成方法。
A route generation method by a computer for generating a route for resupplying a plurality of points by performing a plurality of cycles of visiting at least some of the points selected from the plurality of points while changing a combination of the points, the method comprising:
The computer,
storing the degree of necessity of patrol of each point in each cycle of patrol from the first to the final patrol, the degree being calculated based on the inventory forecast of the material for each point;
calculating, for each cycle of a tour, a first index value representing the likelihood that a point having a higher degree of necessity for visiting from among the plurality of points will be selected as a tour point, a second index value representing the length of a tour route that tours the tour points, and a third index value representing the difference between a required time for traveling on the tour route and a predetermined target time, and performing a tour route generation process that selects tour points from the plurality of points based on the first index value, the second index value, and the third index value to generate a tour route;
In the case where a circular route is generated in any cycle in which the time required for the tour exceeds a predetermined target time by a first predetermined time or more, the circular route generation method corrects the degree of necessity so that the predetermined point selected as a tour point in the time exceeding cycle is less likely to be selected as a tour point in the time exceeding cycle, and then performs the circular route generation process again.
複数の地点から選出される少なくとも一部の地点に対する巡回を前記地点の組み合わせを変えながら複数サイクル行うことにより前記複数の地点に物資の補給を行う際の巡回経路を生成するコンピュータに、
前記地点毎の物資の在庫予測を元に算出される、初回から最終回までの巡回の各サイクルにおける各地点の巡回の必要度を記憶する手順と、
巡回のサイクル毎に、前記複数の地点の中から巡回の必要度がより高い地点が巡回地点として選出される度合いを表す第1指標値と、前記巡回地点を巡回する巡回経路の経路長を表す第2指標値と、前記巡回経路の巡回所要時間と所定の目標時間との差を表す第3指標値と、を算出し、前記第1指標値、前記第2指標値、及び前記第3指標値に基づいて前記複数の地点から巡回地点を選出して巡回経路を生成する巡回経路生成処理を行う手順と、
いずれかのサイクルにおいて、巡回所要時間が所定の目標時間を超過する時間が第1所定時間以上となる巡回経路が生成された場合には、当該サイクルである時間超過サイクルにおいて巡回地点として選出された所定地点が、当該時間超過サイクルにおいて巡回地点として選出されにくくなるように前記必要度を補正した後、再度、前記巡回経路生成処理を行う手順と、
を実行させるためのプログラム。
a computer that generates a route for resupplying a plurality of points by performing a plurality of cycles of visiting at least some of the points selected from the plurality of points while changing the combination of the points;
a step of storing a degree of necessity of patrol of each point in each cycle of patrol from the first to the final patrol, the degree being calculated based on the inventory forecast of the material for each point;
a step of calculating, for each cycle of a tour, a first index value representing the likelihood that a point having a higher degree of necessity for visiting from among the plurality of points will be selected as a tour point, a second index value representing the length of a tour route that tours the tour points, and a third index value representing the difference between a required time for travelling on the tour route and a predetermined target time, and performing a tour route generation process of selecting tour points from the plurality of points and generating a tour route based on the first index value, the second index value, and the third index value;
a step of performing the circular route generation process again after correcting the degree of necessity so that the predetermined point selected as a circular route in the time exceeding cycle is less likely to be selected as a circular route in the time exceeding cycle in question, when a circular route is generated in which the time required for the circular route exceeds a predetermined target time by a first predetermined time or more in any cycle;
A program for executing.
JP2020122217A 2020-07-16 2020-07-16 Route generation device, route generation method, and program Active JP7480956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020122217A JP7480956B2 (en) 2020-07-16 2020-07-16 Route generation device, route generation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020122217A JP7480956B2 (en) 2020-07-16 2020-07-16 Route generation device, route generation method, and program

Publications (2)

Publication Number Publication Date
JP2022018834A JP2022018834A (en) 2022-01-27
JP7480956B2 true JP7480956B2 (en) 2024-05-10

Family

ID=80203457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020122217A Active JP7480956B2 (en) 2020-07-16 2020-07-16 Route generation device, route generation method, and program

Country Status (1)

Country Link
JP (1) JP7480956B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7748070B2 (en) * 2022-12-06 2025-10-02 Kii株式会社 Visit schedule creation device, visit schedule creation device control method and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070930A (en) 2002-06-10 2004-03-04 Japan Tobacco Inc System and method for making charging plan
JP2004210416A (en) 2002-12-26 2004-07-29 Japan Tobacco Inc Course preparation system and course preparation method
JP2005034805A (en) 2003-07-18 2005-02-10 Kurita Water Ind Ltd Hydrothermal reactor
EP2242011A1 (en) 2009-04-15 2010-10-20 Universita' Degli Studi Di Genova Method for managing the distribution of products or goods.
JP2019096100A (en) 2017-11-24 2019-06-20 Kii株式会社 Patrol route generating device, patrol route generation method, and program
US20190325376A1 (en) 2016-03-11 2019-10-24 Route4Me, Inc. Constraint-based complex dynamic route sequencing for multi-vehicle fleets
JP2020016944A (en) 2018-07-23 2020-01-30 Kii株式会社 Tour route generation device, tour route generation method, and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070930A (en) 2002-06-10 2004-03-04 Japan Tobacco Inc System and method for making charging plan
JP2004210416A (en) 2002-12-26 2004-07-29 Japan Tobacco Inc Course preparation system and course preparation method
JP2005034805A (en) 2003-07-18 2005-02-10 Kurita Water Ind Ltd Hydrothermal reactor
EP2242011A1 (en) 2009-04-15 2010-10-20 Universita' Degli Studi Di Genova Method for managing the distribution of products or goods.
US20190325376A1 (en) 2016-03-11 2019-10-24 Route4Me, Inc. Constraint-based complex dynamic route sequencing for multi-vehicle fleets
JP2019096100A (en) 2017-11-24 2019-06-20 Kii株式会社 Patrol route generating device, patrol route generation method, and program
JP2020016944A (en) 2018-07-23 2020-01-30 Kii株式会社 Tour route generation device, tour route generation method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
久保幹雄, 田村明久, 松井知己(編集),応用数理計画ハンドブック(普及版),普及版第1刷,日本,株式会社朝倉書店,2012年05月25日,1050~1051, 1060~1062ページ,ISBN978-4-254-27021-1
村上 賢哉,VMIによる自動販売機補充配送シミュレーション,富士時報,富士電機株式会社,2001年06月10日,第74巻, 第6号,353~389ページ,ISSN 0367-3332

Also Published As

Publication number Publication date
JP2022018834A (en) 2022-01-27

Similar Documents

Publication Publication Date Title
Vazquez-Canteli et al. MARLISA: Multi-agent reinforcement learning with iterative sequential action selection for load shaping of grid-interactive connected buildings
CN109993428B (en) Resource allocation method and device
CN109986993B (en) System and method for dynamically configuring energy between interchangeable energy storage device stations
US9310785B2 (en) Apparatus and a method for controlling power supply and demand
JP2019145087A (en) System and method for predicting requirement to exchangeable energy storage device
WO2019083528A1 (en) Proactive vehicle positioning determinations
CN112378415B (en) Scheduling planning method, device and equipment for tools and appliances
Groot et al. Hierarchical game theory for system-optimal control: Applications of reverse Stackelberg games in regulating marketing channels and traffic routing
JP2005102364A (en) Distributed energy community control system, central controller, distributed controller, and control method thereof
JPH0922435A (en) System and method for control of number of units of parts instock
EP1294071A2 (en) Electric power demand adjusting system
CN103794053A (en) Vague predicting method and system for city short-distance logistics simple target delivering time
JP7480956B2 (en) Route generation device, route generation method, and program
CN112819413A (en) Distribution improvement algorithm suitable for instant logistics
KR20230102560A (en) Apparatus and method for operating of energy storage system
JP2019096100A (en) Patrol route generating device, patrol route generation method, and program
Rancourt et al. Multicriteria Optimization of A Long‐Haul Routing and Scheduling Problem
CN110503225B (en) A method for dispatching and delivering orders
CN113743862A (en) Product target inventory determination method and system based on product classification
Federgruen et al. Multilocation combined pricing and inventory control
WO2020249215A1 (en) System and method for vehicle relocation
CN117236544A (en) Logistics route planning method and system for unmanned securicar
Azin et al. An incentivized scheme for electric vehicle charging demand management
JP2023177653A (en) Visiting plan creation device, method for controlling visiting plan creation device, and program
JP7308073B2 (en) Logistics management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240417

R150 Certificate of patent or registration of utility model

Ref document number: 7480956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150