JP4055987B2 - Route adjustment device - Google Patents
Route adjustment device Download PDFInfo
- Publication number
- JP4055987B2 JP4055987B2 JP2002217512A JP2002217512A JP4055987B2 JP 4055987 B2 JP4055987 B2 JP 4055987B2 JP 2002217512 A JP2002217512 A JP 2002217512A JP 2002217512 A JP2002217512 A JP 2002217512A JP 4055987 B2 JP4055987 B2 JP 4055987B2
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- route
- unit
- point
- affiliation
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Traffic Control Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、経路調整装置に関し、より詳細には、始点から複数の地点を巡る経路が複数存する系において、各経路の負荷(例えば、距離、時間、費用、稼動率等)の大小を少なくしたり負荷を低減して経路を調整する経路調整装置に関する。
【0002】
【従来の技術】
複数の場所を複数の移動体によって巡回することは、多くの場合が存在する。例えば、宅配便業者において、1日に配達する必要がある複数の地点(具体的には、企業や家庭等)を複数の移動体(具体的には、担当者が乗車したトラック等)により巡る場合や、郵便を複数地点(具体的には、企業や家庭等)に複数の移動体(具体的には、担当者が乗車した自転車や自動二輪車等)により配達する場合等が挙げられる。
このような複数の場所を複数の移動体によって巡回する場合、負荷(例えば、距離、時間、費用、稼動率等)ができるだけ小さくなるようにすることは無論のことであるが、各移動体それぞれの負荷ができる限り同じ程度になるようにすることが好ましい場合(例えば、宅配便業者において移動体同士間で、配達時間に大きな隔たりがあれば、移動体間に不公平感が生じうる。)が多い。
【0003】
このような複数の場所を複数の移動体によって巡回する場合の、負荷を小さくしたり、各移動体間の負荷の差を小さくするような経路を決定することは、これまでの経験や勘にたよって人が行ったり、コンピュータを用いた計算によって行われてきた。
【0004】
【発明が解決しようとする課題】
しかしながら、経験や勘にたよって人が行う方法は、得られる結果がそれを行う人の経験や勘によって大きく影響されることや、たとえ同じ人であっても日時を異にすれば異なる結果が得られるといった問題があった。
一方、コンピュータを用いた計算においては、全ての場合計算を行うような方法では、実際の系に適用しようとすると膨大な計算を要し長い時間を必要とするので実用的でなかった。
【0005】
そこで、本発明では、複数の場所を複数の移動体によって巡回する場合に負荷を小さくしたり各移動体間の負荷の差を小さくするような経路を、実用的に決定することができる装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
(第1本装置)
まず、本発明の第1の経路調整装置(以下、「第1本装置」という。)について説明する。
第1本装置は、始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける経路データ受付手段と、該経路データ受付手段により受け付けられる複数の経路データのうち、負荷が最も軽い経路とは異なる経路である開始経路と、該開始経路よりも負荷が軽い経路である完了経路と、を決定する開始完了決定手段と、該経路データ受付手段により受け付けられる複数の経路データの一経路に含まれる地点である選択点と、該選択点と所定の関係を有する他の経路と、を選択すると共に、該一経路から該他の経路へ該選択点を移動させるものであり、初回には該開始経路を該一経路として選択し、次回以降は前回以前の該他の経路又は該開始経路を該一経路として該選択と該移動との動作を繰り返す所属変更手段と、該他の経路が該完了経路と一致するか否か判断する完了判断手段と、を備え、該所属変更手段が、該完了判断手段が一致すると判断するまで繰り返し動作するものである、経路調整装置である。
【0007】
こうすることで経路データ受付手段が、始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける。ここで「経路」とは、複数の地点を巡る順序を示すものをいう。
そして、開始完了決定手段が、経路データ受付手段により受け付けられる複数の経路データのうち、負荷が最も軽い経路とは異なる経路である開始経路と、該開始経路よりも負荷が軽い経路である完了経路と、を決定する。ここで「負荷」とは、経路に従って複数の地点を巡る際に必要な時間、経路に従って複数の地点を巡る際の移動距離、そして経路に従って複数の地点を巡る際に必要な費用等のように、経路に従って複数の地点を巡る際に生じる負担すべき事項をいう。このようにすることで開始完了決定手段が、開始経路と、それよりも負荷が小さい完了経路を決定する。
【0008】
所属変更手段は、経路データ受付手段により受け付けられる複数の経路データの一経路に含まれる地点である選択点と、該選択点と所定の関係を有する他の経路と、を選択すると共に、該一経路から該他の経路へ該選択点を移動させる(該一経路に含まれていた選択点を、該一経路から除き、該他の経路へ含めることをいう。即ち、該一経路に属していた該選択点を、該一経路への所属を解き、該他の経路へ所属させることをいう。)ものであり、初回には該開始経路を該一経路として選択し、次回以降は前回以前の該他の経路又は該開始経路を該一経路として該選択と該移動との動作を繰り返す。
そして、完了判断手段は、該他の経路が該完了経路と一致するか否か判断し、完了判断手段が一致すると判断すると、所属変更手段は、該選択と該移動との動作を繰り返すことを中止する(即ち、完了判断手段が一致すると判断するまで、所属変更手段は、該選択と該移動との動作を繰り返す。)。
【0009】
こうすることで所属変更手段の動作の初回(1回目)において、負荷が重い開始経路を該一経路とし、該開始経路に含まれる地点である選択点を、該選択点と所定の関係を有する他の経路へ移動させる。
所属変更手段の動作の2回目においては、初回(1回目)の該他の経路又は該開始経路を2回目の該一経路とする。2回目の該一経路(即ち、初回(1回目)の該他の経路又は該開始経路)に含まれる地点である選択点を、該選択点と所定の関係を有する他の経路へ移動させる。
以下、該他の経路が該完了経路と一致するまで、このような動作(一経路から他の経路へ選択点を移動させる動作)を繰り返すので、負荷が重い開始経路に含まれる地点が減少すると共に、負荷が軽い完了経路に含まれる地点が増加し、各経路間の負荷の差を小さくすることができる。このため第1本装置は、複数の場所を複数の移動体によって巡回する場合に各移動体間の負荷の差を小さくするような経路を決定することができる。
なお、一経路から他の経路へ選択点を移動させることは、上述したように、一経路に含まれていた選択点を、一経路から除き、他の経路へ含めることをいう。即ち、一経路に属していた選択点を、一経路への所属を解き、他の経路へ所属させることをいう。
【0010】
第1本装置においては、前記開始経路が、前記経路データ受付手段により受け付けられる複数の経路データのうち負荷が最も重い経路であり、そして前記完了経路が、該複数の経路データのうち負荷が最も軽い経路であってもよい。
こうすることで複数の経路データのうち負荷が最も重い経路たる開始経路に含まれる地点が減少すると共に、負荷が最も軽い経路たる完了経路に含まれる地点が増加するので、効率的に各経路間の負荷の差を減少させることができる。
【0011】
第1本装置においては、前記所属変更手段が、前記前回以前の他の経路又は前記開始経路に含まれる地点のうち前記完了経路への帰属度が最も高い地点を前記選択点として選択するものであってもよい。
ここで「帰属度」とは、ファジークラスタリングにおける帰属度をいい、具体的には、それぞれの経路に属する地点を各グループとして各々の地点が各グループにどの程度帰属するかを示した数字である。なお、ファジークラスタリングの処理方法は公知の技術であり、例えば、特開平05−274293号に詳細に記載されている(ファジークラスタリングの方法の一つであるファジイc−means法を参考文献を含めて詳述している。これにより各クラスタへの帰属度が計算される。)ので、ここでは説明を省略する。
こうすることで前記前回以前の他の経路又は前記開始経路に属する地点のうち完了経路への帰属度が最も高い地点が他の経路に移動するので、適した位置に存する地点を移動させることができる。
【0012】
第1本装置においては、前記所属変更手段が、前記前回以前の他の経路又は前記開始経路以外の経路へ前記選択点が示す帰属度のうち最も高い帰属度を示す経路を前記他の経路として選択するものであってもよい。
こうすることで前記前回以前の他の経路又は前記開始経路以外の経路へ選択点が示す帰属度のうち最も高い帰属度を示す経路を前記他の経路として選択するので、選択点が他の経路にうまく所属することができる(即ち、選択点に対しかけはなれた位置に存する経路が他の経路とされることで選択点が所属するのが無理な状態を生じることを、高い帰属度を示す経路を前記他の経路とすることで防止しうる。)。
【0013】
第1本装置においては、前記所属変更手段によって前記選択点が加除され、含まれる地点に変更が生じた経路に所属する地点を巡る順番を決定し経路を形成する経路形成手段を、さらに備えるもの(以下、「経路形成手段所有第1本装置」という。)であってもよい。
選択点が加除されると、含まれる地点に変更が生じ、これまでの経路をそのまま用いることが困難になる。このため選択点が加除され含まれる地点に変更が生じた経路に所属する地点については、経路形成手段によって、それら地点を巡る順番を再び決定し経路を形成するようにしてもよい。
【0014】
経路形成手段所有第1本装置においては、前記経路形成手段によって形成された経路を含む経路データを前記経路データ受付手段が受け付けさらに経路調整するもの(以下、「繰り返し第1本装置」という。)であってもよい。
こうすることで経路が、第1本装置によって複数回経路調整されるので、各経路間の負荷の差を一層うまく減少させることができる。
【0015】
繰り返し第1本装置においては、前記経路形成手段によって形成された経路における経路毎の負荷のばらつきが所定範囲に収まるまで、繰り返し経路調整するものであってもよい。
こうすることで経路毎の負荷のばらつきが所望の所定範囲に収まるまで、経路が第1本装置によって繰り返し経路調整されるので、各経路間の負荷の差を所望の程度までうまく減少させることができる。
【0016】
繰り返し第1本装置においては、前記経路形成手段によって形成された経路における経路毎の負荷のばらつきを示すデータである均等化データを形成する均等化データ形成手段と、該均等化データを記憶する均等化データ記憶手段と、該均等化データ形成手段によって形成された直近の均等化データが、該均等化データ記憶手段に記憶された過去の均等化データに比して、改善されているか否か判断する改善判断手段と、をさらに備え、該改善判断手段が改善されていると判断した場合、前記経路形成手段によって形成された経路に係る経路データを前記経路データ受付手段が受け付けさらに経路調節するもの(以下、「均等化データ使用第1本装置」という。)であってもよい。
こうすることで繰り返し第1本装置によって経路を複数回経路調整する際、経路毎の負荷のばらつきの低減が進行している状況(即ち、今後、ばらつきの低減の可能性があると考えられる状況)では繰り返し経路調整されるので各経路間の負荷の差をうまく減少させることができる。また、繰り返し第1本装置によって経路を複数回経路調整する際、経路毎の負荷のばらつきの低減がそれ以上進まなくなると(飽和すると)、経路調整の繰り返しが中止されるので、繰り返し第1本装置が無駄な処理をすることを防止することができる。
【0017】
繰り返し第1本装置においては、前記所属変更手段が行う前記選択点の所属変更処理の履歴を記憶する履歴記憶手段と、直近の選択点の所属変更処理と同一の履歴を該履歴記憶手段が記憶しているか否か判断する収束判断部と、を、さらに備え、該収束判断部が、直近の選択点の所属変更処理と同一の履歴を該履歴記憶手段が記憶していると判断しない場合、前記経路形成手段によって形成された経路に係る経路データを前記経路データ受付手段が受け付けさらに経路調節するものであってもよい。
こうすることで繰り返し第1本装置によって経路を複数回経路調整する際、直近の選択点の所属変更処理と同一の履歴が存しないときは、経路毎の負荷のばらつきを低減する動作がまだ飽和していない(即ち、動作がまだ振動していない)ものと判断し、さらに繰り返し経路調整されるので各経路間の負荷の差をうまく減少させることができる。また、直近の選択点の所属変更処理と同一の履歴が存するときは、経路毎の負荷のばらつきを低減する動作が飽和したもの(即ち、動作が振動しているもの)と判断し、経路調整の繰り返しが中止されるので、繰り返し第1本装置が無駄な処理をすることを防止することができる。
【0018】
均等化データ使用第1本装置においては、前記所属変更手段が行う前記選択点の所属変更処理の履歴を記憶する履歴記憶手段と、前記改善判断手段が、直近の均等化データが改善されていると判断しない場合、直近の均等化データに係る選択点の所属変更処理と同一の履歴を該履歴記憶手段が記憶しているか否か判断する収束判断部と、を、さらに備え、該収束判断部が、直近の均等化データに係る選択点の所属変更処理と同一の履歴を該履歴記憶手段が記憶していると判断しない場合、前記経路形成手段によって形成された経路に係る経路データを前記経路データ受付手段が受け付けさらに経路調節するものであってもよい。
こうすることで均等化データ使用第1本装置において、改善判断手段が、直近の均等化データが改善されていると判断しない場合であっても、直近の選択点の所属変更処理と同一の履歴が存しないときは、経路毎の負荷のばらつきを低減する動作がまだ飽和していない(即ち、動作がまだ振動していない)ものと判断し、さらに繰り返し経路調整されるので各経路間の負荷の差を一層うまく減少させることができる。
【0019】
(第2本装置)
次いで、本発明の第2の経路調整装置(以下、「第2本装置」という。)について説明する。
第2本装置は、始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける経路データ受付手段と、該経路データ受付手段により受け付けられる複数の経路データに含まれる各地点を、該地点が含まれていない経路に所属させた際に生じる全経路の負荷の変化を評価する全体負荷評価手段と、該全体負荷評価手段により評価される負荷の変化が、地点の所属が変更される前に比して負荷が低減されることを示す場合における所属が変更される地点と、該所属が変更される地点が所属が変更される前に所属している経路である前所属経路と、該所属が変更される地点が所属が変更される先の経路である後所属経路と、を関連付けられたものを変更候補データとして記憶する負荷変化記憶手段と、該負荷変化記憶手段に記憶された該変更候補データのうち所定の条件に合致するものを抽出する抽出手段と、を備えるものである、経路調整装置である。
【0020】
こうすることで、経路データ受付手段が、始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける。
そして、全体負荷評価手段が、経路データ受付手段により受け付けられる複数の経路データに含まれる各地点を、該地点が含まれていない経路に所属させた際に生じる全経路の負荷の変化を評価する。
なお、ここに「経路」及び「負荷」は、前述の第1本装置において説明したのと同様である。
そして、負荷変化記憶手段は、全体負荷評価手段により評価される負荷の変化が、地点の所属が変更される前に比して負荷が低減されることを示す場合における所属が変更される地点と、該所属が変更される地点が所属が変更される前に所属している経路である前所属経路と、該所属が変更される地点が所属が変更される先の経路である後所属経路と、を関連付けられたものを変更候補データとして記憶する。
最後に、抽出手段が、負荷変化記憶手段に記憶された変更候補データのうち所定の条件に合致するものを抽出する。
【0021】
このため地点を該地点が含まれていない経路に所属させた際に生じる負荷の変化が全体負荷評価手段によって得られ、この負荷の変化が、地点の所属が変更される前に比して負荷が低減されることを示すものであれば変更候補データが負荷変化記憶手段に記憶される。そして、抽出手段が、負荷変化記憶手段に記憶された変更候補データのうち所定の条件に合致するものを抽出するので、経路データ受付手段が受け付けた経路データに比して、負荷が低減される変更候補データを得ることができる。
即ち、第2本装置は、複数の場所を複数の移動体によって巡回する場合に負荷を小さくするような経路を決定する装置である。
【0022】
第2本装置においては、前記変更候補データが、全経路の負荷の総和が、地点の所属が変更される前に比してどの程度低減されるかを示す低減度合いをさらに関連付けられた状態で記憶されており、前記所定の条件が、該低減度合いが最大であるという条件であってもよい。
こうすることで抽出手段が、負荷変化記憶手段に記憶された変更候補データのうち、全経路の負荷の総和が、地点の所属が変更される前に比してどの程度低減されるかを示す低減度合いが最大のものを抽出するので、最も負荷を低減することができる変更候補データを得ることができる。
【0023】
第2本装置においては、前記抽出手段によって抽出された前記変更候補データに従って経路を形成する経路形成手段を、さらに備えるもの(以下、「経路形成手段所有第2本装置」という。)であってもよい。
変更候補データは地点の所属を変更することを示すので、この変更を行うと経路に含まれる地点に変更が生じ、これまでの経路をそのまま用いることが困難になる。このため変更候補データに従って経路形成手段により再び経路を形成するようにしてもよい。
【0024】
経路形成手段所有第2本装置においては、前記経路形成手段によって形成された経路を含む経路データを前記経路データ受付手段が受け付けさらに経路調整するもの(以下、「繰り返し第2本装置」という。)であってもよい。
こうすることで経路が、経路形成手段所有第2本装置によって複数回経路調整されるので、負荷を一層うまく減少させることができる。
【0025】
繰り返し第2本装置においては、前記抽出手段により抽出された変更候補データの履歴を記憶する変更候補履歴記憶手段をさらに備え、前記抽出手段が、前記負荷変化記憶手段に記憶された変更候補データのうち、該変更候補履歴記憶手段に記憶された履歴と同一のものを除いた変更履歴データから抽出するもの(以下、「重複履歴排除第2本装置」という。)であってもよい。
こうすることで、変更候補履歴記憶手段が、抽出手段により以前に抽出された変更候補データの履歴を記憶しており、抽出手段が、負荷変化記憶手段に記憶された変更候補データのうち、変更候補履歴記憶手段に記憶された以前の履歴と同一のものを除いた変更履歴データから抽出するので、抽出手段により以前に抽出されたものを重複して抽出手段が抽出することを防止することができる。
【0026】
重複履歴排除第2本装置においては、前記抽出手段が変更履歴データを抽出することができなくなるまで、前記経路形成手段によって形成された経路を含む経路データを前記経路データ受付手段が受け付けさらに経路調整するものであってもよい。
こうすることで負荷を低減することができる変更候補データをもれなく検討することができる。
【0027】
(第3本装置)
さらに、本発明は経路形成装置も提供する。本発明の経路形成装置(以下、「第3本装置」という。)について説明する。
第3本装置は、複数の地点の位置データを受け付け、該複数の地点全部を巡る全体の負荷を算出する全体負荷算出手段と、該複数の地点の一部を巡る移動体それぞれが受け持ち可能な負荷の量である負荷許容量を受け付け、全体負荷算出手段により評価された該全体の負荷と該負荷許容量とから該移動体の数を所定の方法により決定する移動体数決定手段と、該複数の地点を該移動体の数だけ分割する地点分割手段と、該移動体それぞれの出発位置を示す出発位置情報を受け付ける移動体出発位置情報受付手段と、該地点分割手段により分割された地点のそれぞれのグループに対し所定の位置関係を有する該出発位置情報に係る該移動体を割り当てる移動体割当手段と、該移動体割当手段により割当られた移動体の出発位置を始点とし、該移動体に対応する該グループに属する全ての地点を巡る各グループ毎の経路を作成する各グループ原始経路形成手段と、を備えてなる、経路形成装置である。
【0028】
ここにいう「負荷」は、前述の第1本装置において説明したのと同様である。このような第3本装置を用いれば、全体負荷算出手段が、複数の地点の位置データを受け付け、該複数の地点全部を巡る全体の負荷を算出する。
そして、移動体数決定手段が、これら複数の地点の一部を巡る移動体それぞれが受け持ち可能な負荷の量である負荷許容量を受け付ける。さらに、移動体数決定手段が、全体負荷算出手段により評価された該全体の負荷と、該受け付けた該負荷許容量と、から移動体の数を所定の方法により決定する。
さらに、地点分割手段が、これら複数の地点を移動体の数(移動体数決定手段が決定したもの)だけ分割する。
移動体出発位置情報受付手段が、移動体それぞれの出発位置を示す出発位置情報を受け付ける。
そして、移動体割当手段が、地点分割手段により分割された地点のそれぞれのグループに対し所定の位置関係を有する出発位置情報に係る移動体を割り当てる。
最後に、各グループ原始経路形成手段が、移動体割当手段により割当られた移動体の出発位置を始点とし、移動体に対応するグループに属する全ての地点を巡る各グループ毎の経路を作成する。
【0029】
従って、巡るべき複数の地点の位置データと、これら複数の地点の一部を巡る移動体それぞれが受け持ち可能な負荷許容量と、移動体それぞれの出発位置と、を受け付けることで、第3本装置は、必要な移動体の数に応じて複数の地点をグループに分割し、各グループに移動体を割り当て、そして各グループ毎に該グループに割り当てられた移動体の出発位置を始点とする、該グループに属する全ての地点を巡る経路を作成する。
このため第3本装置は、複数の場所を複数の移動体によって巡回する場合、各移動体がどの場所を受け持ち、さらに各移動体がどのようにこれら受け持ち場所を巡るかを決定することができる。
【0030】
第3本装置においては、前記各グループ原始経路形成手段によって形成された各グループ毎の経路に関する負荷を全てのグループに関して合計した第1総量と、前記移動体数決定手段によって受け付けられ、各グループに割当られた移動体それぞれの負荷許容量を合計した第2総量と、を比較し、第2総量が第1総量以上であるか否か判断する総量判断手段と、該総量判断手段が、第2総量が第1総量以上であると判断しない場合、移動体の数を増加させる移動体増加手段と、を、さらに備え、前記地点分割手段は該増加された移動体の数に応じて複数の地点を分割し、前記移動体割当手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループに移動体を割り当て、そして前記各グループ原始経路形成手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループ毎の経路を作成するものであってもよい。
【0031】
こうすることで、総量判断手段が、各グループに割当られた移動体それぞれの負荷許容量を合計した第2総量が、各グループ原始経路形成手段によって形成された各グループ毎の経路に関する負荷を全てのグループに関して合計した第1総量以上であるかを判断する。これは受け持つ移動体全ての負荷許容量(能力)が、各グループの経路に関する負荷の総量以上でなければ実行不可能であることによる。
従って、移動体増加手段は、総量判断手段が、第2総量が第1総量以上であると判断しない場合、移動体の数を増加させる。そして、増加した移動体の数によって地点分割手段が複数の地点を分割し、移動体割当手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループに移動体を割り当て、そして各グループ原始経路形成手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループ毎の経路を作成する(即ち、移動体の数を増加させ、その増加した移動体の数によって地点分割手段と移動体割当手段と各グループ原始経路形成手段とが動作する。)。
これにより第3本装置により形成される経路が、一層確実に実行可能なものになる。
【0032】
第3本装置は、それ自身単独で使用できることは言うに及ばないが、第1本装置又は第2本装置と組み合わせて使用されることもできる。この場合、第3本装置が形成した移動体の出発位置を始点とする各グループ毎の経路を、第1本装置又は第2本装置の経路データ受付手段が経路データとして受け付けるようにすればよい。かかるように構成すれば、複数の場所を複数の移動体によって巡回する場合、各移動体がどの場所を受け持ち、さらに各移動体がどのようにこれら受け持ち場所を巡るかについて第3本装置が形成した経路を、うまく調整することができる(第1本装置と組み合わせば各経路間の負荷の差を減少させることができ、第2本装置と組み合わせば負荷を低減することができる。)。
【0033】
また、第1本装置及び第2本装置も、いずれかを単独で使用できることは言うに及ばないが、第1本装置と第2本装置とを組み合わせて使用することもできる。これら両者を組み合わせる前後は問わないが(即ち、第1本装置によって得られた結果を第2本装置によって調整する場合と、第2本装置によって得られた結果を第1本装置によって調整する場合と、のいずれでもよい。)、前に位置するものは経路データを後に位置するものに引き渡す必要があるので、前に位置するものは経路形成手段を備える必要がある。
即ち、経路形成手段所有第1本装置の経路形成手段によって形成された経路を、第2本装置の経路データ受付手段が経路データとして受け付けさらに経路調整するように構成してもよい。さらに、かかる場合、第3本装置が形成した移動体の出発位置を始点とする各グループ毎の経路を、経路形成手段所有第1本装置の経路データ受付手段が経路データとして受け付けるように構成してもよい。
逆に、経路形成手段所有第2本装置の経路形成手段によって形成された経路を、第1本装置の経路データ受付手段が経路データとして受け付けさらに経路調整するように構成してもよい。さらに、かかる場合、第3本装置が形成した移動体の出発位置を始点とする各グループ毎の経路を、経路形成手段所有第2本装置の経路データ受付手段が経路データとして受け付けるように構成してもよい。
このように第1本装置と第2本装置とを組み合わせることで、各経路間の負荷の差を減少させることと負荷を低減することとを一度に行うことができる。
【0034】
第1本装置と第2本装置と第3本装置とのいずれも、所定のプログラムをコンピュータに実行させることで実現させることができ、さらに、かかるプログラムはコンピュータ読みとり可能な記憶媒体に記録することができる。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。しかしながら、これらによって本発明は何ら制限されるものではない。
【0036】
図1は、一実施形態の本発明の経路探索装置(本装置)11のハードウエア構成を示す概略ブロック図である。図1を参照して、一実施形態の本装置11のハードウエア構成について説明する。ここでは本装置11は、複数の配達点を複数の配達車両によって巡る際、それぞれの配達車両(移動体)がどの配達点(地点)を受け持ち、その受け持つ配達点をそれぞれの車両がどのように巡回するかの巡回経路を探索し決定する装置であり、上述の第1本装置、第2本装置及び第3本装置を含んで構成されている。
本実施形態では、本装置11は、プログラムを内蔵させたコンピュータによって構成されており、本装置11にはハードディスク19が接続されている。
本装置11は、演算処理を行うCPU11a、CPU11aの作業領域等となるRAM11b、制御プログラム等を記録するROM11c、ハードディスク19と情報のやり取りを行うためのインターフェイス11dと、を有する。なお、図1には図示していないがこれ以外にも、本装置11へデータを入力するためのキーボード、本装置11から情報を表示するためのディスプレイ、そして本装置11から情報を印刷するためのプリンタ等がインターフェイス11dを介して本装置11に接続されている。また、ここでは前記プログラム等はROM11cに記憶されているが、ハードディスク19に記憶するようにしてよいことは言うまでもない。
【0037】
図2に、図1のハードウエアと主としてROM11cに記録されるプログラムにより実現される本装置11の大まかな基本構成を示す概略機能ブロック図を示す。図2を参照して、本装置11の基本構成について説明する。
本装置11は、機能的には、本装置11の初期情報を記憶している初期情報データベース21と、クラスタ分割部31と、仮巡回路形成部41と、所属調整部51と、稼動率調整部61と、ランダム挿入部71と、N−opt部73と、巡回時間算出部75と、初期情報記憶部91と、車両数記憶部93と、クラスタ属性値記憶部95と、経路記憶部97と、履歴記憶部98と、所要時間記憶部99と、を備えている。
【0038】
初期情報データベース21は、ハードディスク19の記憶領域の一部を用いて構成されており、既に、図3に示すようなデータが記憶されている。即ち、図3(a)に示された配達点(本発明にいう地点)の座標(地点の位置データ)と、図3(b)に示されたデポ(移動体たる配達車両が出発し帰着する地点であり、出発位置や始点となりうる。)の座標(出発位置情報)と、図3(c)に示された制約条件(負荷許容量)と、が初期情報データベース21に既に記憶されている。図3(a)及び(b)に示された配達点とデポとの座標はいずれも地表面に設定された直交座標たるXY座標によって示されており、例えば、番号3の配達点の位置は(X,Y)=(401,841)によって示されており、番号2のデポの位置は(X,Y)=(4227,2259)によって示されている。そして、図3(c)に示された制約条件は、ここでは配達車両それぞれの一日に移動可能な最大の移動距離(ここでは本発明にいう「負荷」として移動距離を用いている。)を該XY座標系における座標値として示しており、具体的には、ここでは配達車両0〜3の4台のいずれも10000(座標)に定められている(なお、図3(c)に示された配達車両の車両番号0〜3はそれぞれ図3(b)のデポの番号0〜3に対応している。例えば、デポ3から出発する配達車両は車両3である。)。
【0039】
図4は、クラスタ分割部31の詳細機能ブロック図である。図4を参照して、クラスタ分割部31の詳細構成について説明する。
クラスタ分割部31は、機能的には、ファイル読み出し部33とテーブル初期化部35とクラスタ数計算部37とを有してなる。
まず、ファイル読み出し部33が起動すると(図示していないが、本装置11に接続された前記キーボード等から所定の起動信号が入力されるとファイル読み出し部33が起動する。)、ファイル読み出し部33は初期情報データベース21にアクセスして配達点の座標(複数の地点の位置データ)を読み込み(図3(a)に示したものであり、配達点の番号0〜47それぞれに対応して(X,Y)の座標を読み込む)、さらにファイル読み出し部33は該読み込んだ配達点の座標を初期情報記憶部91に書き込み記憶させる。次いで、ファイル読み出し部33は初期情報データベース21にアクセスしてデポの座標(移動体たる配達車両それぞれの出発位置を示す出発位置情報)を読み込み(図3(b)に示したものであり、デポの番号0〜3それぞれに対応して(X,Y)の座標を読み込む)、さらにファイル読み出し部33は該読み込んだデポの座標を初期情報記憶部91に書き込み記憶させる。さらに、ファイル読み出し部33は初期情報データベース21にアクセスして制約条件(移動体たる配達車両それぞれが受け持ち可能な負荷の量である負荷許容量)を読み込み(図3(c)に示したものであり、車両の番号0〜3それぞれに対応して制約条件(ここでは全て10000であるが、それぞれの車両に応じて異なる値が設定されることもある。)を読み込む)、さらにファイル読み出し部33は該読み込んだ制約条件を初期情報記憶部91に書き込み記憶させる。以上のようにして、初期情報データベース21が記憶していた配達点の座標(図3(a))、デポの座標(図3(b))、そして制約条件(図3(c))の全てが、そっくり初期情報記憶部91にコピーされる。なお、初期情報記憶部91は、図1にて前述のRAM11bの記憶領域の一部を用いて構成される。
その後、ファイル読み出し部33は、テーブル初期化部35に起動信号を発する。
【0040】
ファイル読み出し部33から該起動信号を受信したテーブル初期化部35は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、配達点0〜47とデポ0〜3との合計52の場所それぞれ(起点)から自ら(起点)を除く51の場所(終点)までの距離を算出し、それら算出された距離を図5に示すような2次元のテーブルとしてまとめる(なお、図5では、図示を容易にすること等のために、テーブル中に書き込まれるべき距離データの記載を省略している。)。なお、ここで行われる距離の算出は、起点の位置と終点の位置との直線距離を算出する(即ち、起点座標(x1,y1)と終点座標(x2,y2)とすると、((x1−x2)2+(y1−y2)2)0.5により計算される。)が、配達点及びデポが存する場所の地図情報をテーブル初期化部35が予め有しておき、テーブル初期化部35が該地図情報を用いて実際の道路に沿った最短距離(地図情報を用いて実際の道路に沿った2点間の距離を計算することは、車載ナビゲーションシステム等において既に広く行われているので、ここでは説明を省略する。)を計算するようにしてよいことは言うまでもない。
さらに、テーブル初期化部35は、図5に示すような該まとめた2次元のテーブル(以下、「距離テーブル」という。)を所要時間記憶部99に書き込み記憶させる。
その後、テーブル初期化部35は、クラスタ数計算部37に起動信号を発する。
【0041】
テーブル初期化部35から該起動信号を受信したクラスタ数計算部37は、起動信号をランダム挿入部71に送信する。
クラスタ数計算部37から該起動信号を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a):複数の地点の位置データ)を読み出し取得すると共に、所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得する。そして、ランダム挿入部71は、これら読み出し取得した配達点の座標と距離テーブルとを用いてランダム挿入法によって巡回路(即ち、全ての配達点を巡回する順番。具体的には、巡回する順番に従って配達点の番号を並べたもの)を作成し、その巡回路をクラスタ数計算部37へ送信する。なお、ランダム挿入法とは、複数の地点を巡回するための巡回路を作成する標準的な公知の方法である。また、ここではランダム挿入法によって巡回路を作成しているが、これに限定されるものではなく、巡回路を何らかの方法によって形成するものであればいかなるものを用いてもよく、ランダム挿入法以外のものの一例を挙げれば、最遠挿入法、凸包、空間充填曲線法、バケット法、Karpの分割算法等を例示することができる。
【0042】
ランダム挿入部71から巡回路を受信したクラスタ数計算部37は、該受信した巡回路をN−opt部73に送信する。
クラスタ数計算部37から該受信した巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))と距離テーブルとを用いて、該受信した巡回路にN−opt法(処理時間を考慮すれば2−opt法又は3−opt法としてもよく、ここでは2−opt法を用いる。)を適用して該受信した巡回路を改善する。このときN−opt法を実行する際の起点の配達点は、クラスタ数計算部37から受信した該巡回路の最初の配達点とする。なお、N−opt法とは、巡回路の局所的な最適化を行う方法であり、経由地(ここでは配達点)の対象を任意の数Nで実行できるようにしたものの総称をいう(例えば、「http://www.daisy.ai.kyutech.ac.jp/~sin/demos/TSP/」参照。このN−opt法の中で最も簡単なものが2−opt法である。この「2」は巡回する順序を交換する都市の数である。)。また、ここではN−opt法によって巡回路を改善しているが、これに限定されるものではなく、何らかの巡回路があるときに、それをより優れたものに改善する(例えば、巡回路を巡る際のコストを下げること等)ものであればいかなるものを用いてもよく、2−opt法や3−opt法等のN−opt法以外のものの一例を挙げれば、LinとKernighamの算法の改善法を例示することができる。
N−opt部73は、N−opt法を適用して改善した巡回路(配達点を巡回する順番)をクラスタ数計算部37に送信する。
このようにしてN−opt部73からクラスタ数計算部37が受信した該改善した巡回路の一例(巡回路を座標中に図示したもの)を図6に示した。図6では、N−opt法を実行する際の起点の配達点を点Aとして示し、巡回方向を矢印Bによって示した。なお、図6の結果は、図3(a)に示した配達点の座標を用いて得られた結果である。
【0043】
N−opt部73から前記改善した巡回路(以下、「改善巡回路」という。)を受信したクラスタ数計算部37は、改善巡回路を巡回時間算出部75に送信する。
改善巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、改善巡回路の全距離(複数の地点全部を巡る全体の負荷)を距離テーブルを用いて算出する。この算出された改善巡回路の全距離は、巡回時間算出部75からクラスタ数計算部37へ送信される。なお、図6に示した改善巡回路の全距離は35587と算出される。
以上説明したように、クラスタ数計算部37とランダム挿入部71とN−opt部73と巡回時間算出部75とによって、複数の地点の位置データを受け付け、該複数の地点全部を巡る全体の負荷を算出する(第3本装置の)全体負荷算出手段が構成されている。
【0044】
改善巡回路の全距離を巡回時間算出部75から受信したクラスタ数計算部37は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c):移動体たる配達車両それぞれが受け持ち可能な負荷の量である負荷許容量であり、具体的には、配達車両それぞれの一日に移動可能な最大の移動距離)を読み出し取得し、各配達車両の制約条件の相加平均値を算出する(ここでは車両0〜3の4台とも10000であるので相加平均値は10000(4×10000/4)となる。)。
次いで、クラスタ数計算部37は、巡回時間算出部75から受信した改善巡回路の全距離を該相加平均値によって除し(全距離/該相加平均値)、得られた商の小数部分を切り上げて車両台数とする(例えば、商が3.0002であれば車両台数を4とし、商が5(割り切れた場合)であれば車両台数を5とする。)。なお、ここでは改善巡回路の全距離は35587であり、各配達車両の制約条件の相加平均値は10000であるので、(全距離/相加平均値)の商は3.5587となり小数部分を切り上げて車両台数4となった。
そして、クラスタ数計算部37は、得られた車両台数を車両数記憶部93へ送信し車両数記憶部93に記憶させる。
以上説明したように、クラスタ数計算部37によって、複数の地点(配達点)の一部を巡る移動体(配達車両)それぞれが受け持ち可能な負荷の量である負荷許容量(制約条件たる図3(c))を受け付け、(第3本装置の)全体負荷算出手段により評価された該全体の負荷と該負荷許容量とから該移動体の数を所定の方法により決定する(第3本装置の)移動体数決定手段が構成されている。
最後に、クラスタ数計算部37は、仮巡回路形成部41(後述のファジークラスタリング計算部43)に起動信号を発する。
【0045】
図7は、仮巡回路形成部41の詳細機能ブロック図である。図7を参照して、仮巡回路形成部41の詳細構成について説明する。
仮巡回路形成部41は、機能的には、ファジークラスタリング計算部43と初期巡回路作成部45とを有してなる。
まず、クラスタ数計算部37から前記起動信号を受信したファジークラスタリング計算部43は、車両数記憶部93にアクセスして車両数記憶部93が記憶している車両台数(ここでは4)を読み出し取得する。そして、ファジークラスタリング計算部43は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得する。さらに、ファジークラスタリング計算部43は、読み出し取得した車両台数(ここでは4)をクラスタ数として、各配達点の各クラスタへの帰属度を計算する。なお、このファジークラスタリングの処理方法は公知の技術であり、例えば、特開平05−274293号に詳細に記載されている(ファジークラスタリングの方法の一つであるファジイc−means法を参考文献を含めて詳述している。これにより各クラスタへの帰属度が計算される。)のでここでは説明を省略する。このようにして計算された各配達点(配達点0〜47)の各クラスタ(クラスタ0〜3)への帰属度を図8に示す。例えば、番号10の配達点の帰属度は、クラスタ0には0.49、クラスタ1には0.03、クラスタ2には0.38、クラスタ3には0.1であることが分かる。
そして、ファジークラスタリング計算部43は、計算した各配達点の各クラスタへの帰属度(図8)をクラスタ属性値記憶部95に送信しクラスタ属性値記憶部95に記憶させる。
最後に、ファジークラスタリング計算部43は、計算した各配達点の各クラスタへの帰属度(図8)を初期巡回路作成部45へ送信する。
【0046】
各配達点の各クラスタへの帰属度(図8)をファジークラスタリング計算部43から受信した初期巡回路作成部45は、配達点それぞれについて最も帰属度が高いクラスタ(即ち、グループ)に属すると判断し、全ての配達点がいずれのクラスタ(グループ)に属するかを決定する。この配達点の所属クラスタの決定の方法を図9に示した。即ち、初期巡回路作成部45は、各配達点(配達点0〜47)それぞれについてクラスタ0、クラスタ1、クラスタ2、クラスタ3への帰属度を比較し、最も帰属度が大きなクラスタに属すると決定する。例えば、番号10の配達点の帰属度は、クラスタ0には0.49、クラスタ1には0.03、クラスタ2には0.38、クラスタ3には0.1であるので、番号10の配達点は、最大の帰属度0.49を与えるクラスタ0に属すると決定されている。この決定を全ての配達点0〜47について実施し、図9に示すような結果を得る。そして、初期巡回路作成部45は、図10に示すような各クラスタに所属する配達点の番号を各クラスタ毎に記載した配達点番号リストを作成し、その配達点番号リストを経路記憶部97に送信し経路記憶部97に記憶させる。
以上説明したように、ファジークラスタリング計算部43と初期巡回路作成部45とによって、複数の地点(配達点)を該移動体の数((第3本装置の)移動体数決定手段によって決定された数)だけ分割する(第3本装置の)地点分割手段が構成されている。
【0047】
次いで、初期巡回路作成部45は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得すると共に、自らが作成した前述の配達点番号リストと該読み出し取得した配達点の座標とを用いて各クラスタの重心位置(X,Y)を求める。この重心位置の求め方は、各クラスタに属する各配達点が全て同じ質量を有するとして算出する。
さらに、初期巡回路作成部45は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶しているデポの座標(図3(b):移動体たる配達車両それぞれの出発位置を示す出発位置情報)を読み出し取得すると共に、先に求めた各クラスタの重心に最も近いデポを選択することで各クラスタにデポを割り当てる。そして、初期巡回路作成部45は、経路記憶部97にアクセスし経路記憶部97が記憶している配達点番号リストの各クラスタに割り当てたデポを図11に示すように書き込む。なお、ここでは各クラスタの重心に最も近いデポを選択することで各クラスタにデポを割り当てるようにしたが、これに限定されるものではなく、例えば、各クラスタに属する配達点との距離が小さいデポをそのクラスタに割り当てるようにしてもよい。
以上説明したように、初期巡回路作成部45によって、移動体(配達車両)それぞれの出発位置を示す出発位置情報(図3(b))を受け付ける(第3本装置の)移動体出発位置情報受付手段が構成されている。そして、初期巡回路作成部45によって、(第3本装置の)地点分割手段により分割された地点(配達点)のそれぞれのグループ(クラスタ)に対し所定の位置関係(ここでは各クラスタの重心に最も近い位置関係)を有する出発位置情報に係る移動体(配達車両)を割り当てる(第3本装置の)移動体割当手段が構成されている。
その後、初期巡回路作成部45は、既に自らが有している配達点番号リスト(割り当てデポが記載された図11に示すもの)をランダム挿入部71に送信する。
【0048】
配達点番号リストを初期巡回路作成部45から受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得すると共に、所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得する。そして、ランダム挿入部71は、これら読み出し取得した配達点の座標、デポの座標及び距離テーブルとを用いて、受信した配達点番号リストの各クラスタ毎に該クラスタに割り当てられたデポ(移動体割当手段により割当られた移動体の出発位置)を始点として該クラスタに属する全ての配達点を巡回する巡回路(以下、「クラスタ別初期巡回路」という。)を前述のランダム挿入法によって作成し、クラスタ別初期巡回路を初期巡回路作成部45に送信する。
クラスタ別初期巡回路を受信した初期巡回路作成部45は、クラスタ別初期巡回路をN−opt部73に送信する。
初期巡回路作成部45からクラスタ別初期巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、クラスタ別初期巡回路に前述のN−opt法を(各クラスタ毎に)適用してクラスタ別初期巡回路を改善し、改善されたクラスタ別初期巡回路(以下、「改善クラスタ別初期巡回路」という。)を初期巡回路作成部45へ送信する。
以上説明したように、ランダム挿入部71とN−opt部73とによって(ランダム挿入部71からN−opt部73へのクラスタ別初期巡回路の受け渡しを考慮すると初期巡回路作成部45も含む。)、移動体割当手段により割当られた移動体(配達車両)の出発位置(デポ)を始点とし、それぞれの移動体(配達車両)に対応するグループ(クラスタ)に属する全ての地点を巡る各グループ(クラスタ)毎の経路(改善クラスタ別初期巡回路)を作成する(第3本装置の)各グループ原始経路形成手段が構成されている。
改善クラスタ別初期巡回路を受信した初期巡回路作成部45は、経路記憶部97にアクセスし経路記憶部97が記憶している配達点番号リストの所属配達点の配達点番号の記載順序を改善クラスタ別初期巡回路に従った順序に書き換える(これにより経路記憶部97が記憶している配達点番号リストの所属配達点の記載の順序が改善クラスタ別初期巡回路を示すことになる。)。このようにして得られた改善クラスタ別初期巡回路を図12に示した。図12中、■(黒く塗りつぶした略正方形)がそれぞれのデポを示している。なお、図12中、クラスタ0〜3それぞれを「No.0」〜「No.3」によって示し、巡回方向は時計回り方向である。
【0049】
その後、初期巡回路作成部45は改善クラスタ別初期巡回路を巡回時間算出部75へ送信する。改善クラスタ別初期巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、改善クラスタ別初期巡回路に示される各クラスタ毎の巡回距離を距離テーブルから算出する。この算出された各クラスタ毎の巡回距離は、巡回時間算出部75から初期巡回路作成部45へ送信される。なお、図12に示す改善クラスタ別初期巡回路に応じた各クラスタ毎の巡回距離は、クラスタ0が10241であり、クラスタ1が9509であり、クラスタ2が11375であり、クラスタ3が4647であった。
改善クラスタ別初期巡回路に応じた各クラスタ毎の巡回距離を受信した初期巡回路作成部45は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c):負荷許容量)のうち改善クラスタ別初期巡回路に使用されているデポに対応する車両の制約条件を読み出し取得し、該読み出し取得した制約条件(配達車両それぞれの一日に移動可能な最大の移動距離)の合計値(第2総量)を算出する(ここではデポ0〜3の全てが使用されており、それに対応する車両0〜3の4台とも10000であるので合計値は40000となる。)と共に、該受信した各クラスタ毎の巡回距離の合計(第1総量)を算出する(ここでは前述のように10241+9509+11375+4647=35772となる。)。そして、初期巡回路作成部45は、制約条件の合計値(第2総量。ここでは40000)が巡回距離の合計値(第1総量。ここでは35772)以上か否か判断し、そうであればこの改善クラスタ別初期巡回路は妥当と判断し、所属調整部51(経路制御部52)へ起動信号を発する。そして制約条件の合計値が巡回距離の合計値以上でなければ、初期巡回路作成部45は、この改善クラスタ別初期巡回路は妥当と判断せず、ファジークラスタリング計算部43に車両台数に1を加える信号を発した後、クラスタ数計算部37からファジークラスタリング計算部43に発せられる前記起動信号と同じ信号を送信する(即ち、これにより1増加した車両台数によって上述した仮巡回路形成部41の動作が繰り返される。)。
以上説明したように、初期巡回路作成部45によって、各グループ原始経路形成手段によって形成された各グループ(クラスタ)毎の経路(改善クラスタ別初期巡回路)に関する負荷(巡回距離)を全てのグループ(クラスタ)に関して合計した第1総量と、移動体数決定手段によって受け付けられ、各グループ(クラスタ)に割当られた移動体(配達車両)それぞれの負荷許容量(制約条件)を合計した第2総量と、を比較し、第2総量が第1総量以上であるか否か判断する(第3本装置の)総量判断手段が構成されている。そして、総量判断手段たる初期巡回路作成部45が第2総量が第1総量以上であると判断しない場合、移動体の数を増加させる(第3本装置の)移動体増加手段が、初期巡回路作成部45によって構成されている。地点分割手段は該増加された移動体の数に応じて複数の地点を分割し、移動体割当手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループに移動体を割り当て、そして各グループ原始経路形成手段は、該増加された移動体の数に応じて分割された地点のそれぞれのグループ毎の経路を作成する。
【0050】
図13は、所属調整部51の動作を説明するための詳細な機能ブロック図である。図13を参照して、所属調整部51の詳細構成について説明する。
所属調整部51は、機能的には、経路制御部52と所属変更処理部53と履歴チェック部54と都市所属変更処理部55と所属変更結果設定部56とを有してなる。
まず、初期巡回路作成部45から前記起動信号を受信した経路制御部52は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))を読み出し取得し(後述の稼動率の算出に用いる。)、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、さらに経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路(始点と、複数の地点を巡る経路と、を含んでなる複数の経路データ)を読み出し取得する。
次いで、経路制御部52は、これら読み出し取得した距離テーブル及び改善クラスタ別初期巡回路を用いて改善クラスタ別初期巡回路における各クラスタ毎の巡回距離を算出する。
そして、経路制御部52は、各配達車両毎の稼動率を算出する。稼動率は、上記のように算出された各クラスタ毎の巡回距離を、該クラスタを担当する配達車両の制約条件(図3(c)、ここでは全て10000)によって除した商として定義される。
さらに、経路制御部52は、各配達車両毎の稼動率の平均値(算術)を求め、それを用いて均等化係数を算出する。均等化係数は、それぞれの配達車両について、(該配達車両の稼動率−稼動率の平均値)の絶対値(即ち、|(各配達車両の稼動率)−(稼動率の平均値)|)を求め、全ての配達車両について求めた該絶対値を合計して合計値を求め、配達車両の数によって該合計値を除すことによって算出される(即ち、均等化係数=Σ(|(各配達車両の稼動率)−(稼動率の平均値)|)/(配達車両の数)として算出される。)。
最後に、経路制御部52は、上記のようにして算出した各配達車両毎の稼動率及び均等化係数を、所属変更処理部53へ送信する。
【0051】
各配達車両毎の稼動率及び均等化係数を経路制御部52から受信した所属変更処理部53は、該受信した均等化係数が、自ら(所属変更処理部53)が記憶している均等化係数よりも小さいか(後述するように、所属変更処理部53は、これまでの最小の均等化係数を記憶するようになっているので、該受信した均等化係数が、これまでの最小の均等化係数よりも小さいかどうかを判断することになる。)、又は自ら(所属変更処理部53)が均等化係数を記憶していないかを判断し、そのいずれかであると判断した場合には、該受信した均等化係数を上書きして記憶した後(即ち、所属変更処理部53は、それまでに経路制御部52から受信した均等化係数のうち最小のものを記憶することになる。)、経路制御部52から受信した各配達車両毎の稼動率を都市所属変更処理部55へ送信する。一方、所属変更処理部53が、該受信した均等化係数が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかのいずれでもないと判断した場合(即ち、所属変更処理部53が均等化係数を記憶しており、かつ該受信した均等化係数が、該記憶している均等化係数以上である場合)には履歴チェック部54に起動信号を発する。
【0052】
各配達車両毎の稼動率を所属変更処理部53から受信した都市所属変更処理部55は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、クラスタ属性値記憶部95にアクセスしクラスタ属性値記憶部95が記憶している各配達点の各クラスタへの帰属度(図8)を読み出し取得し、そして経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路(始点(デポ)と、複数の地点(配達点)を巡る経路と、を含んでなる複数の経路データ)を読み出し取得する。即ち、ここでは都市所属変更処理部55によって、始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける(第1本装置の)経路データ受付手段が構成されている。
次いで、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も高い稼動率を与える配達車両が担当するクラスタを、提供元のクラスタとして記憶すると共に、クラスタのリスト(都市所属変更処理部55自身が有する記憶領域)にも記憶する。さらに、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も低い稼動率を与える配達車両が担当するクラスタを、提供先のクラスタとして記憶する。このように、都市所属変更処理部55によって、(第1本装置の)経路データ受付手段により受け付けられる複数の経路データのうち、負荷が最も軽い経路とは異なる経路である開始経路(ここでは負荷が最も重い経路である、提供元のクラスタの経路)と、該開始経路よりも負荷が軽い経路である完了経路(ここでは負荷が最も軽い経路である、提供先のクラスタの経路)と、を決定する(第1本装置の)開始完了決定手段が構成されている。なお、ここでは負荷を稼動率によって評価している。
【0053】
その後、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタの経路に属する配達点(上述のように読み出し取得した改善クラスタ別初期巡回路(図11)から得られる。)のうち、提供先のクラスタへの帰属度が最も高い配達点を選択する(各配達点の帰属度は、上述のように読み出し取得した各配達点の各クラスタへの帰属度(図8)を用いることで得られる。以下、選択された配達点を「選択点」という。)。なお、クラスタのリストに複数のクラスタが記憶されている場合では、複数のクラスタに属する全ての配達点から選択点を選択する(例えば、クラスタ50、クラスタ63、クラスタ78の3つのクラスタがクラスタのリストに記憶されている場合では、クラスタ50に属する配達点と、クラスタ63に属する配達点と、クラスタ78に属する配達点と、の全ての配達点から1の選択点を選択する。)。
例えば、クラスタのリストに記憶されたクラスタがクラスタ2であり、提供先のクラスタが3であれば、図11及び図8を参照して(図9も同様の結果を示している。)、クラスタのリストに記憶されたクラスタ2に属する配達点のうち、提供先のクラスタ3への帰属度が最も高い配達点46を選択点として選択する(配達点46はクラスタ3への帰属度0.16を与え、これはクラスタ2に属する配達点の中で最も高いクラスタ3への帰属度である。)。
そして、都市所属変更処理部55は、選択点が所属しているクラスタを所属元クラスタとする。上述の例では、選択点たる配達点46はクラスタ2に所属しているので、クラスタ2を所属元クラスタとする。
次に、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ以外のクラスタ(クラスタのリストに複数のクラスタが記憶されている場合には、その複数のクラスタのいずれでもないクラスタ)へ選択点が示す帰属度のうち最も高い帰属度を示すクラスタを所属変更先クラスタとして選択し記憶する。例えば、上述の例では、クラスタのリストに記憶されたクラスタは2であるのでそのクラスタ以外のクラスタはクラスタ0,1,3であり、クラスタ0,1,3へ選択点46が示す帰属度はそれぞれ0.3、0.05、0.16であるので(図8参照)、最も高い帰属度0.3を示すクラスタ0を所属変更先クラスタとして選択し記憶する。
【0054】
その後、都市所属変更処理部55は、自らが有する改善クラスタ別初期巡回路(経路記憶部97から読み出した図11に示すようなもの)の中の所属元クラスタの経路に属している選択点を削除する。例えば、上述の例であれば、改善クラスタ別初期巡回路の中の所属元クラスタであるクラスタ2に属している配達点は配達点4、12、13、20、・・・・38、40、46、47であるので、選択点たる配達点46を削除し、クラスタ2に属する配達点を配達点4、12、13、20、・・・・38、40、47とする。
さらに、都市所属変更処理部55は、選択点を削除した自らが有する改善クラスタ別初期巡回路の中の所属変更先クラスタの経路に選択点を加える。例えば、上述の例であれば、改善クラスタ別初期巡回路の中の所属変更先クラスタ0に属している配達点は配達点0、2、7、8・・・・32、37、39、45であるので、選択点たる配達点46を加え、クラスタ0に属する配達点を配達点0、2、7、8・・・・32、37、39、45、46とする(選択点を加える位置はいずれにしてもよい。)。
最後に、都市所属変更処理部55は、上述のように所属元クラスタから選択点が削除され所属変更先クラスタに選択点が加えられた自らが有する改善クラスタ別初期巡回路(以下、「選択点加除巡回路」という。)をランダム挿入部71に送信する。
【0055】
選択点加除巡回路を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、選択点加除巡回路に従って各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(以下、「ランダム挿入選択点加除巡回路」という。)を前述のランダム挿入法によって作成し、ランダム挿入選択点加除巡回路を都市所属変更処理部55に送信する。
ランダム挿入選択点加除巡回路をランダム挿入部71から受信した都市所属変更処理部55は、経路記憶部97にランダム挿入選択点加除巡回路を上書きし記憶させる。
【0056】
そして、都市所属変更処理部55は、ランダム挿入選択点加除巡回路を巡回時間算出部75に送信する。
都市所属変更処理部55からランダム挿入選択点加除巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、ランダム挿入選択点加除巡回路の各クラスタ毎の距離を距離テーブルから算出する。この算出されたランダム挿入選択点加除巡回路に従った各クラスタ毎の距離は、巡回時間算出部75から都市所属変更処理部55へ送信される。
そして、都市所属変更処理部55が履歴記憶部98に選択点の加除処理に関する履歴を書き込み記憶させる(履歴は上書きではなく追加的に書き込み記憶される。)。なお、選択点の加除処理に関する履歴は、提供元のクラスタ、提供先のクラスタ、所属元クラスタ、所属変更先クラスタ、選択点たる配達点、各配達車両の稼動率の各項目を含んでいる。なお、図14には、履歴記憶部98に書き込まれて記憶されたこの履歴の一例を示している(図14においては、理解及び説明を容易にするため、作業番号及び図番号を付記している。)。図14の詳細については後述する。
【0057】
その後、都市所属変更処理部55は、所属変更先クラスタと提供先のクラスタとが一致するか否かを判断し、一致すると判断しない場合、このときの所属変更先クラスタを前述のクラスタのリストに記憶し(即ち、このときの所属変更先クラスタがクラスタのリストに追加され、次の処理の所属元クラスタとして選択される候補になる。)、その後、再び、都市所属変更処理部55は、選択点、所属元クラスタ、所属変更先クラスタを新たに選択し、上述の処理を行う。一方、都市所属変更処理部55は、所属変更先クラスタと提供先のクラスタとが一致すると判断する場合、ランダム挿入選択点加除巡回路のうちクラスタのリストに含まれている(1又は2以上の)クラスタと提供先のクラスタとの複数のクラスタの巡回路を経路記憶部97(ランダム挿入選択点加除巡回路を記憶している。)からそれぞれ読み出し取得し、該それぞれ取得された巡回路をN−opt部73に送信する。
都市所属変更処理部55から複数のクラスタに関する巡回路(ランダム挿入選択点加除巡回路の一部)を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、それぞれの巡回路に前述のN−opt法を(各クラスタ毎に)適用して改善し、改善された巡回路(ランダム挿入選択点加除巡回路の一部)(以下、「改善一部ランダム挿入選択点加除巡回路」という。)を都市所属変更処理部55へ送信する。
そして、改善一部ランダム挿入選択点加除巡回路を受信した都市所属変更処理部55は、経路記憶部97にアクセスし経路記憶部97が記憶しているランダム挿入選択点加除巡回路のうち改善一部ランダム挿入選択点加除巡回路に該当する部分を書き換える。
その後、都市所属変更処理部55は、経路制御部52に起動信号(初期巡回路作成部45から経路制御部52へ発せられる起動信号と同じ。)を発し、それを受信した経路制御部52は、初期巡回路作成部45から起動信号を受信したときと同様の前述の動作を行う。
【0058】
以上説明したように、都市所属変更処理部55によって、(第1本装置の)経路データ受付手段により受け付けられる複数の経路データの一経路(所属元クラスタの経路)に含まれる地点(配達点)である選択点と、該選択点と所定の関係(クラスタのリストに記憶されたクラスタ以外のクラスタへ選択点が示す帰属度のうち最も高い帰属度を示す関係)を有する他の経路(所属変更先クラスタの経路)と、を選択すると共に、該一経路から該他の経路へ該選択点を移動させる(一経路に含まれていた選択点を、一経路から除き、他の経路へ含める。即ち、一経路に属していた選択点を、一経路への所属を解き、他の経路へ所属させる。)ものであり、初回には開始経路を該一経路として選択し、次回以降は前回以前の該他の経路又は開始経路を該一経路として該選択と該移動との動作を繰り返す(第1本装置の)所属変更手段が構成されている。そして、都市所属変更処理部55によって、該他の経路(所属変更先クラスタの経路)が該完了経路(提供先のクラスタの経路)と一致するか否か判断する(第1本装置の)完了判断手段が構成されている。さらに、(第1本装置の)所属変更手段が、(第1本装置の)完了判断手段が一致すると判断するまで繰り返し動作する。
また、ここでは(第1本装置の)所属変更手段たる都市所属変更処理部55は、前記前回以前の該他の経路又は開始経路(クラスタのリストに記憶されたクラスタの経路)に含まれる地点のうち前記完了経路(提供先のクラスタの経路)への帰属度が最も高い地点を前記選択点として選択する。
さらに、(第1本装置の)所属変更手段たる都市所属変更処理部55は、前記前回以前の該他の経路又は開始経路(クラスタのリストに記憶されたクラスタの経路)以外の経路へ前記選択点が示す帰属度のうち最も高い帰属度を示す経路を前記他の経路(所属変更先クラスタの経路)として選択する。
そして、ここではランダム挿入部71によって、(第1本装置の)所属変更手段によって前記選択点が加除され、含まれる地点に変更が生じた経路に所属する地点を巡る順番を決定し経路を形成する(第1本装置の)経路形成手段が構成されている。
また、(第1本装置の)経路形成手段たるランダム挿入部71によって形成された経路を含む経路データを、(第1本装置の)経路データ受付手段たる都市所属変更処理部55が受け付けさらに経路調整する。
さらに、(第1本装置の)経路形成手段たるランダム挿入部71によって形成された経路における経路毎の負荷のばらつきを示すデータである均等化データたる均等化係数を形成(算出)する(第1本装置の)均等化データ形成手段を経路制御部52が構成している。そして、所属変更処理部53が、均等化データたる均等化係数を記憶する(第1本装置の)均等化データ記憶手段を構成している(所属変更処理部53は、これまでの最小の均等化係数を記憶する。)。さらに、所属変更処理部53によって、(第1本装置の)均等化データ形成手段によって形成された直近の均等化データ(均等化係数)が、(第1本装置の)均等化データ記憶手段に記憶された過去の均等化データ(均等化係数)に比して、改善されているか否か(ここでは小さくなっているか否か)判断する(第1本装置の)改善判断手段が構成されている。そして(第1本装置の)改善判断手段たる所属変更処理部53が、改善されていると判断した場合、(第1本装置の)経路形成手段(ランダム挿入部71)によって形成された経路に係る経路データを(第1本装置の)経路データ受付手段(都市所属変更処理部55)が受け付けさらに経路調節する。
【0059】
一方、前述のように、各配達車両毎の稼動率及び均等化係数を経路制御部52から受信した所属変更処理部53が、該受信した均等化係数が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかを判断し、そのいずれでもないと判断した場合(即ち、所属変更処理部53が均等化係数を記憶しており、かつ該受信した均等化係数が、該記憶している均等化係数以上である場合)には履歴チェック部54に起動信号を発するが、該起動信号を受信した履歴チェック部54は、履歴記憶部98にアクセスして履歴記憶部98が記憶している前記選択点の加除処理に関する履歴を読み込み取得する。そして、履歴チェック部54は、該読み込み取得した前記選択点の加除処理に関する履歴のうち直近の履歴(例えば、図14に示したものであれば、作業番号19にて示された「提供元」(提供元のクラスタ:クラスタ3)、「提供先」(提供先のクラスタ:クラスタ2)、「所属元」(所属元クラスタ:クラスタ3)、「所属変更先」(所属変更先クラスタ:クラスタ2)、「配達点番号」(選択点たる配達点:配達点46)によるもの。以下、「直近履歴」という。)と、直近履歴以外の履歴(例えば、図14に示したものであれば、作業番号1〜18に示されるそれぞれのもの。以下、「その他履歴」という。)と、を比較し、直近履歴と同一のものがその他履歴に存するか否かを判断する。履歴チェック部54が、直近履歴と同一のものがその他履歴に存すると判断した場合、履歴チェック部54は所属変更結果設定部56に起動信号を送信する。履歴チェック部54が、直近履歴と同一のものがその他履歴に存すると判断しない場合、履歴チェック部54は、所属変更処理部53に各配達車両毎の稼動率(所属変更処理部53が経路制御部52から受信したもの)を都市所属変更処理部55へ送信することを命令する信号を発する。即ち、この後は、各配達車両毎の稼動率及び均等化係数を経路制御部52から受信した所属変更処理部53が、該受信した均等化係数が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかを判断しそのいずれかであると判断した場合に行われる処理と、該受信した均等化係数を上書きして記憶することを除いて同様の処理が行われる。
【0060】
即ち、ここでは履歴記憶部98が、(第1本装置の)所属変更手段が行う前記選択点の所属変更処理の履歴を記憶する(第1本装置の)履歴記憶手段を構成している。そして、履歴チェック部54によって、直近の選択点の所属変更処理と同一の履歴を(第1本装置の)履歴記憶手段が記憶しているか否か(直近履歴と同一のものがその他履歴に存するか否か)判断する(第1本装置の)収束判断部が構成されている(なお、ここでは(第1本装置の)改善判断手段が、直近の均等化データが改善されていると判断しない場合、収束判断部たる履歴チェック部54が、直近履歴と同一のものがその他履歴に存するか否かを判断するようにされている。)。さらに、収束判断部たる履歴チェック部54が、直近の選択点の所属変更処理(直近の均等化データに係る選択点の所属変更処理)と同一の履歴を(第1本装置の)履歴記憶手段が記憶していると判断しない場合、(第1本装置の)経路形成手段によって形成された経路に係る経路データを(第1本装置の)経路データ受付手段が受け付けさらに経路調節する。
【0061】
上述のように、履歴チェック部54が直近履歴と同一のものがその他履歴に存すると判断し、履歴チェック部54が発した起動信号を受信した所属変更結果設定部56は、履歴記憶部98にアクセスして履歴記憶部98が記憶している前記選択点の加除処理に関する履歴を読み込み取得し、その各履歴に含まれる各配達車両の稼動率を用いて各履歴の均等化係数を計算する。次いで、所属変更結果設定部56は、それら各履歴毎に計算した均等化係数のうち最も小さい値を与える巡回路を選択し、該選択した巡回路を経路記憶部97に送信し経路記憶部97に記憶させる。
その後、所属変更結果設定部56は、稼動率調整部61(稼動率調整制御部63)に起動信号を発する。
【0062】
図15は、稼動率調整部61の動作を説明するための詳細な機能ブロック図である。図15を参照して、稼動率調整部61の詳細構成について説明する。
稼動率調整部61は、機能的には、稼動率調整制御部63と変更試行部65と結果出力部67とを有してなる。
まず、所属変更結果設定部56から前記起動信号を受信した稼動率調整制御部63((第2本装置の)経路データ受付手段)は、自らが記憶する後述の組み合わせ履歴リストに記憶されている内容を削除する(組み合わせ履歴リストに何も記憶されていなければ削除不要である)。
次いで、稼動率調整制御部63は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))を読み出し取得し(後述の稼動率の算出に用いる。)、さらに経路記憶部97にアクセスし経路記憶部97が記憶している巡回路(所属変更結果設定部56が、最も小さい均等化係数を与える巡回路として選択したもの)を読み出し取得する。
そして、稼動率調整制御部63は、この読み出し取得した巡回路を巡回時間算出部75に送信する。
【0063】
稼動率調整制御部63から前記巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、前記巡回路の各クラスタ毎の巡回距離を距離テーブルから算出する。この算出された前記巡回路に従った各クラスタ毎の巡回距離は、巡回時間算出部75から稼動率調整制御部63へ送信される。
前記巡回路に従った各クラスタ毎の巡回距離を巡回時間算出部75から受信した稼動率調整制御部63は、その受信した各クラスタ毎の巡回距離と、初期情報記憶部91から読み出し取得した制約条件(図3(c))と、を用いて各クラスタ毎の稼動率を算出する(なお、稼動率は、前述のように、各クラスタ毎の巡回距離を、該クラスタを担当する配達車両の制約条件(図3(c)、ここでは全て10000)によって除した商である。)。
次いで、稼動率調整制御部63は、上記にて算出した各クラスタ毎の稼動率の大きい順番を決し、その大きい順番にクラスタ番号を並べる(例えば、各クラスタ毎の稼動率が、クラスタ3>クラスタ0>クラスタ2>クラスタ1であれば、「3、0、2、1」とする。)。この並べたクラスタ番号(例えば、「3、0、2、1」)を「整列クラスタ番号」という。
【0064】
その後、稼動率調整制御部63は、自らが記憶する後述の候補リストに記憶されている内容を削除する(候補リストに何も記憶されていなければ削除不要である)。
次いで、稼動率調整制御部63は、整列クラスタ番号の先頭に位置するクラスタ番号(整列クラスタ番号が「3、0、2、1」であるときは「3」)によって示されるクラスタ(ここではクラスタ3)を稼動率調整提供元クラスタとして選ぶ。
さらに、稼動率調整制御部63は、稼動率調整提供元クラスタに属する配達点のいずれかを変更候補配達点pとして選択する。なお、後述するように稼動率調整提供元クラスタに属する配達点それぞれを変更候補配達点pとして以下の処理を行い稼動率調整提供元クラスタに属する配達点全てが変更候補配達点pになるまで処理を行う。具体的には、ここでは稼動率調整提供元クラスタの巡回路の最初に位置する配達点を最初の変更候補配達点pとしてまず選択し、その後巡回路の順番に配達点を選択してゆき、巡回路の最後の配達点まで選択し処理を行う。
【0065】
そして、稼動率調整制御部63は、全てのクラスタから1のクラスタを稼動率調整提供先クラスタとして選択する。ここではクラスタ番号の最も小さいもの、即ち、クラスタ0を最初に選択する。なお、後述するように、存在するクラスタそれぞれを稼動率調整提供先クラスタとして以下の処理を行い存在するクラスタ全てが稼動率調整提供先クラスタとして処理されるまで処理を行う。具体的には、ここではクラスタ番号の最も小さいもの(ここではクラスタ0)を最初に稼動率調整提供先クラスタとしてまず選択し、その後、クラスタ番号の順番に稼動率調整提供先クラスタを選択してゆき(クラスタ1、クラスタ2、・・)、存するクラスタのうち最大のクラスタ番号のクラスタ(ここではクラスタ3)まで選択し処理を行う。
【0066】
その後、稼動率調整制御部63は、稼動率調整提供元クラスタと稼動率調整提供先クラスタとが一致しているか否かを判断し、両クラスタが一致していると判断した場合には稼動率調整制御部63は稼動率調整提供先クラスタとして次のクラスタを選択する(なお、全てのクラスタが稼動率調整提供先クラスタとして既に選択されており、他のクラスタが稼動率調整提供先クラスタとして選択できない場合には、変更候補配達点pとして次の配達点を選択する。)。
稼動率調整制御部63が、稼動率調整提供元クラスタと稼動率調整提供先クラスタとが一致していないと判断した場合、稼動率調整制御部63は、経路記憶部97から読み出し取得した巡回路を変更試行部65に送信する。
【0067】
稼動率調整制御部63から巡回路を受信した変更試行部65は、変更候補配達点pを稼動率調整提供元クラスタ(の経路)から稼動率調整提供先クラスタ(の経路)へ所属を変更した際の巡回距離差を算出する(なお、変更試行部65は所要時間記憶部99が記憶している距離テーブルを読み出し取得し、巡回距離差を算出する。)。この巡回距離差の算出方法について図16を用いて説明する。図16(a)が変更候補配達点pの所属を変更する前を示し、図16(b)が変更候補配達点pの所属を変更した後を示している。そして図16中では稼動率調整提供元クラスタ(の経路)をクラスタ(イ)(の経路)として示し、稼動率調整提供先クラスタ(の経路)をクラスタ(ロ)(の経路)として示し、点a、点b、点c、点dは配達点を示している。この図16の例では、(a)から(b)のように変更候補配達点pの所属がクラスタ(イ)からクラスタ(ロ)に移ることで、巡回距離差は、((ap+bp−ab)−(cp+dp−cd))として計算される。
以上説明したように、稼動率調整制御部63と変更試行部65とによって、(第2本装置の)経路データ受付手段(稼動率調整制御部63)により受け付けられる複数の経路データに含まれる各地点(配達点)を、該地点(配達点)が含まれていない経路(稼動率調整提供先クラスタの経路)に所属させた際に生じる全経路の負荷(距離)の変化(巡回距離差)を評価する(第2本装置の)全体負荷評価手段が構成されている。
【0068】
この巡回距離差が正の値か否かを変更試行部65が判断し(巡回距離差が正の値であれば、変更候補配達点pを稼動率調整提供元クラスタから稼動率調整提供先クラスタへ所属を変更する方が巡回距離が短くなることを示す。)、巡回距離差が正の値と判断した場合、そのときの稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離差のデータを関係付けた情報(変更候補データ)を変更試行部65は稼動率調整制御部63に送信する。
稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離差のデータを関係付けた情報を変更試行部65から受信した稼動率調整制御部63は、該関係付けた情報を候補リストとして記憶する(上書きではなく追加的に記憶する。)。なおこのとき候補リストへの記憶は、該関係付けた情報に含まれる巡回距離差が大きいものから順番に記憶される。即ち、(第2本装置の)全体負荷評価手段により評価される負荷(距離)の変化が、地点(配達点)の所属が変更される前に比して負荷が低減される(距離が短くなる)ことを示す場合における所属が変更される地点(配達点)と、該所属が変更される地点(配達点)が所属が変更される前に所属している経路である前所属経路たる稼動率調整提供元クラスタと、該所属が変更される地点が所属が変更される先の経路である後所属経路たる稼動率調整提供先クラスタと、を関連付けられたものを変更候補データとして記憶する(第2本装置の)負荷変化記憶手段が、稼動率調整制御部63の候補リストによって構成されている。さらにここでは、変更候補データが、全経路の負荷(距離)の総和が、地点(配達点)の所属が変更される前に比してどの程度低減されるかを示す低減度合いたる巡回距離差のデータをさらに関連付けられた状態で記憶されている。
巡回距離差が正の値と変更試行部65が判断しない場合には変更試行部65が稼動率調整制御部63に稼動率調整提供先クラスタとして次のクラスタを選択することを命令する信号を発する。
【0069】
次のクラスタを選択することを命令する信号を受信するか又は前記関係付けた情報を候補リストとして記憶した後、稼動率調整制御部63は稼動率調整提供先クラスタとして次のクラスタを選択する(なお、全てのクラスタが稼動率調整提供先クラスタとして既に選択されており、他のクラスタが稼動率調整提供先クラスタとして選択できない場合には、変更候補配達点pとして次の配達点を選択する。)。その後、上記した処理のうち稼動率調整制御部63が、稼動率調整提供元クラスタと稼動率調整提供先クラスタとが一致しているか否かを判断する動作から繰り返す。
【0070】
上述のように、全てのクラスタが稼動率調整提供先クラスタとして選択され、上記の処理が行われると(全てのクラスタが稼動率調整提供先クラスタとして既に選択されており、他のクラスタが稼動率調整提供先クラスタとして選択できない場合)、稼動率調整制御部63は、稼動率調整提供元クラスタの次の配達点(変更候補配達点pとして既に選択されている配達点を除いた配達点のうち巡回路内で先頭に位置する配達点)を次の変更候補配達点pとして選び、上記した処理のうち稼動率調整制御部63が稼動率調整提供先クラスタを選択する動作から繰り返す。
このようにして稼動率調整制御部63が、稼動率調整提供元クラスタの配達点を変更候補配達点pとして順次選び、上記した処理のうち稼動率調整制御部63が稼動率調整提供先クラスタを選択する動作から繰り返すことで、稼動率調整提供元クラスタの配達点の全てが変更候補配達点pとして選ばれて該動作が行われることによって、もはや変更候補配達点pとして未だ選択されていない配達点が稼動率調整提供元クラスタに存しないと稼動率調整制御部63が判断すると、稼動率調整制御部63は、次のクラスタ(整列クラスタ番号の中で、稼動率調整提供元クラスタとして選ばれているクラスタの次のクラスタ)を稼動率調整提供元クラスタとして選ぶ。その後、稼動率調整制御部63は、上記した動作のうち、稼動率調整提供元クラスタに属する配達点のいずれかを変更候補配達点pとして選択する動作以降を繰り返す。
【0071】
そして同様に、稼動率調整制御部63が、クラスタを稼動率調整提供元クラスタとして順次選び、上記した処理のうち稼動率調整制御部63が稼動率調整提供元クラスタに属する配達点のいずれかを変更候補配達点pとして選択する動作以降を繰り返すことで、クラスタの全てが稼動率調整提供元クラスタとして選ばれて該動作が行われることによって、もはや稼動率調整提供元クラスタとして未だ選択されていないクラスタが存しないと稼動率調整制御部63が判断すると、稼動率調整制御部63は、以下述べる候補チェックを行う。
【0072】
候補チェックは、稼動率調整制御部63が有する候補リスト(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離差のデータを関係付けた情報(以下、「候補」という。)が、該巡回距離差が大きいものから順番に記憶されている。)に記憶される候補と、稼動率調整制御部63が有し後述するようにこれまで行った所属変更の履歴を記憶している履歴リストに記憶された所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が記憶されている。)と、を稼動率調整制御部63が見比べ、各候補が含む稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点と同じ稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点を含む所属変更履歴が存在すれば稼動率調整制御部63が候補リストからその候補を削除し、存在しなければ次の候補をチェックする。候補リスト中に未チェックの候補がなくなるまで候補のチェックを行い、その後、稼動率調整制御部63が候補リスト中に候補が残っているか否か判断し、残っていればその残っている候補のうち先頭に位置する候補を抽出しその候補に従って配達点が属するクラスタを変更する(即ち、先頭の候補に示された変更候補配達点pたる配達点を、稼動率調整提供元クラスタから稼動率調整提供先クラスタへ所属を変更する。具体的には、稼動率調整制御部63は、経路記憶部97から読み出した巡回路の中の稼動率調整提供元クラスタから変更候補配達点pを除き、稼動率調整提供先クラスタに変更候補配達点pを加える。)。稼動率調整制御部63が、候補リスト中に候補が残っていると判断しない場合、稼動率調整制御部63は結果出力部67へ巡回路(経路記憶部97から読み出し取得した巡回路)と履歴リストとを送信する。
従って、ここでは稼動率調整制御部63によって、(第2本装置の)負荷変化記憶手段に記憶された変更候補データのうち所定の条件に合致するものを抽出する(第2本装置の)抽出手段が構成されている。なお、ここでは前述のように、変更候補データが、全経路の負荷(距離)の総和が、地点(配達点)の所属が変更される前に比してどの程度低減されるかを示す低減度合いたる巡回距離差のデータをさらに関連付けられた状態で記憶されており、(第2本装置の)抽出手段が抽出する際の前記所定の条件が、該低減度合いが最大であるという条件である。さらに、ここでは(第2本装置の)抽出手段により抽出された変更候補データの履歴を記憶する(第2本装置の)変更候補履歴記憶手段が、稼動率調整制御部63が有する(第2本装置の)履歴リストによって構成されており、かつ(第2本装置の)抽出手段が、(第2本装置の)負荷変化記憶手段(稼動率調整制御部63の候補リスト)に記憶された変更候補データのうち、(第2本装置の)変更候補履歴記憶手段に記憶された履歴と同一のものを除いた変更履歴データから抽出する。
【0073】
稼動率調整制御部63が、上述のように、候補リスト中に候補が残っていると判断し、残っている候補のうち先頭に位置する候補に従って配達点が属するクラスタを変更した後、稼動率調整提供元クラスタと稼動率調整提供先クラスタとのそれぞれに含まれる配達点(変更候補配達点pたる配達点が、前者は除かれ後者は加入されている。)をランダム挿入部71に送信する。
該両方クラスタそれぞれに含まれる配達点を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、該両方の巡回路に従って両クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路を前述のランダム挿入法によって作成し、稼動率調整制御部63に送信する。
【0074】
ランダム挿入部71から巡回路を受信した稼動率調整制御部63は、該受信した巡回路をN−opt部73に送信する。
稼動率調整制御部63からその巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、その巡回路(稼動率調整提供元クラスタと稼動率調整提供先クラスタとに関する両方の巡回路)に前述のN−opt法を(各クラスタ毎に)適用してその巡回路を改善し、改善された巡回路を稼動率調整制御部63へ送信する。
以上説明したように、ここではランダム挿入部71とN−opt部73とによって、(第2本装置の)抽出手段によって抽出された変更候補データに従って経路を形成する(第2本装置の)経路形成手段が構成されている。
改善された巡回路をN−opt部73から受信した稼動率調整制御部63は、該改善された巡回路を巡回時間算出部75に送信する。
稼動率調整制御部63から該改善された巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、該改善された巡回路の各クラスタ毎の巡回距離を距離テーブルから算出する。この算出された各クラスタ毎の巡回距離は、巡回時間算出部75から稼動率調整制御部63へ送信される。
【0075】
クラスタ毎の巡回距離を巡回時間算出部75から受信した稼動率調整制御部63は、全てのクラスタそれぞれの巡回距離と、初期情報記憶部91から読み出し取得した制約条件(図3(c))と、を用いて各クラスタ毎の稼動率を算出する。さらに、稼動率調整制御部63は、これら算出した各クラスタの稼動率を用いて均等化係数を算出する。
その後、稼動率調整制御部63は、自らが有する履歴リストに所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が記憶される。)を書き込み記憶させると共に、巡回路(上述のように、N−opt部73から受信した改善された巡回路)を経路記憶部97へ書き込み、そして稼動率調整部61の処理を始めから行う(具体的には、稼動率調整制御部63が、自らの履歴リストに記憶されている内容を削除する。)。
このように(第2本装置の)経路形成手段によって形成された経路を含む経路データを、(第2本装置の)経路データ受付手段が受け付けさらに経路調整する。なお、ここでは(第2本装置の)抽出手段が変更履歴データを抽出することができなくなるまで、(第2本装置の)経路形成手段によって形成された経路を含む経路データを(第2本装置の)経路データ受付手段が受け付けさらに経路調整する。
【0076】
上述のように、稼動率調整制御部63が候補のチェックを行い、候補リスト中に候補が残っていると判断しない場合に稼動率調整制御部63が発した巡回路と履歴リストとを受信した結果出力部67は、受信した履歴リスト中の所属変更履歴のうち稼動率全てが1以下であって巡回距離が最小のものを抽出し、該抽出された所属変更履歴に対応する巡回路を最終決定巡回路として所定の方法(印刷やディスプレイへの表示等)にて出力する。
なお、結果出力部67が最終決定巡回路を得る方法は、次の(1)〜(4)のようにして行われる。即ち、まず、(1)結果出力部67は、稼動率調整制御部63から受信した履歴リストに含まれる所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が含まれる。)のうち、稼動率全てが1以下であって巡回距離が最小のもの(以下、「目的所属変更履歴」という。)を抽出する。次いで、(2)結果出力部67は、稼動率調整制御部63から受信した履歴リストと、稼動率調整制御部63から受信した巡回路と、を用いて、目的所属変更履歴に該当する各クラスタに属する配達点のリストを作成する。具体的には、稼動率調整制御部63から受信した巡回路は、稼動率調整制御部63から受信した履歴リストの直近の所属変更がなされた後の状態を示しているので、直近の履歴リストから順に目的所属変更履歴までの所属変更履歴が示す所属変更を逆に行うことで、目的所属変更履歴に該当する各クラスタに属する配達点のリスト(具体的には、各クラスタ毎に属する配達点の番号が列記されたもの)を作成する。そして、(3)上記(2)にて得られた目的所属変更履歴に該当する各クラスタに属する配達点のリストを、結果出力部67がランダム挿入部71に送信し、これまでと同様、ランダム挿入部71に該配達点のリストに従った巡回路を作成させる(該配達点のリストに従って、各クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路をランダム挿入法によって作成する。)。ランダム挿入部71は、作成した巡回路を結果出力部67へ送信する。最後に、(4)ランダム挿入部71から巡回路を受信した結果出力部67は、該受信した巡回路をN−opt部73に送信し、これまでと同様、N−opt部73にその巡回路にN−opt法を(各クラスタ毎に)適用してその巡回路を改善させる。N−opt部73は、改善された巡回路を結果出力部67へ送信する。
【0077】
次いで、本装置11の動作について説明する。
図17は、本装置11のクラスタ分割部31の動作を示すフローチャートである。図17を参照して、本装置11のクラスタ分割部31の動作について説明する。
まず、起動信号等によって起動されたファイル読み出し部33は、初期情報データベース21にアクセスして配達点の座標(図3(a))を読み込み、さらにファイル読み出し部33は該読み込んだ配達点の座標を初期情報記憶部91に書き込み記憶させる(s301)。次いで、ファイル読み出し部33は初期情報データベース21にアクセスしてデポの座標(図3(b))を読み込み、さらにファイル読み出し部33は該読み込んだデポの座標を初期情報記憶部91に書き込み記憶させる(s302)。そして、ファイル読み出し部33は初期情報データベース21にアクセスして制約条件(図3(c))を読み込み、さらにファイル読み出し部33は該読み込んだ制約条件を初期情報記憶部91に書き込み記憶させる(s303)。
その後、ファイル読み出し部33は、テーブル初期化部35に起動信号を発する(s304)。
【0078】
ファイル読み出し部33からs304にて発せられた該起動信号を受信したテーブル初期化部35は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し(s305)、s305にて読み出し取得した配達点の座標(図3(a))とデポの座標(図3(b))とを用いて配達点0〜47とデポ0〜3との合計52の場所それぞれ(起点)から自ら(起点)を除く51の場所(終点)までの距離を算出しそれら算出された距離を図5に示すような2次元の距離テーブルとしてまとめる(s306)。
さらに、テーブル初期化部35は、図5に示すようなs306にて作成した2次元の距離テーブルを所要時間記憶部99に書き込み記憶させる(s307)。その後、テーブル初期化部35は、クラスタ数計算部37に起動信号を発する(s308)。
【0079】
テーブル初期化部35からs308において発せられた該起動信号を受信したクラスタ数計算部37は、ランダム挿入部71にランダム挿入を命令する起動信号をランダム挿入部71に送信する(s309)。
s309にて送信された起動信号を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得すると共に、所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得する。そして、ランダム挿入部71は、これら読み出し取得した配達点の座標と距離テーブルとを用いてランダム挿入法によって巡回路(即ち、全ての配達点を巡回する順番。具体的には、巡回する順番に従って配達点の番号を並べたもの)を作成し、その巡回路をクラスタ数計算部37へ送信する(s310)。
【0080】
s310にてランダム挿入部71によって作成された巡回路を受信したクラスタ数計算部37は、該巡回路をN−opt部73に送信する(s311)。
クラスタ数計算部37からs311にて送信された該巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))と距離テーブルとを用いて、該受信した巡回路にN−opt法(ここでは2−opt法)を適用して該受信した巡回路を改善し、該改善された改善巡回路(配達点を巡回する順番)をクラスタ数計算部37に送信する(s312)。
N−opt部73からs312により送信された改善巡回路を受信したクラスタ数計算部37は、改善巡回路を巡回時間算出部75に送信する(s313)。s313にて送信された改善巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、改善巡回路の全距離を距離テーブルから算出し、この算出された改善巡回路の全距離をクラスタ数計算部37へ送信する(s314)。
【0081】
s314にて送信された改善巡回路の全距離を巡回時間算出部75から受信したクラスタ数計算部37は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))を読み出し取得し、該読み出し取得した制約条件を用いて車両台数を算出する(s315)。なお、車両台数の算出は、前述のように、巡回時間算出部75から受信した改善巡回路の全距離(s314にて巡回時間算出部75から送信されたもの)を、各配達車両の制約条件の相加平均値によって除した商の小数部分を切り上げることによって行われる。
そして、クラスタ数計算部37は、s315にて算出された車両台数を車両数記憶部93へ送信し車両数記憶部93に記憶させる(s316)。
その後、クラスタ数計算部37は、仮巡回路形成部41(後述のファジークラスタリング計算部43)に起動信号を発する(s317。なお、s317の後、後述のs401へ行く。)。
【0082】
図18及び図19は、本装置11の仮巡回路形成部41の動作を示すフローチャートである。図18及び図19を参照して、本装置11の仮巡回路形成部41の動作について説明する。
まず、図18を参照する。クラスタ数計算部37からs317にて発せられた前記起動信号を受信したファジークラスタリング計算部43は、車両数記憶部93にアクセスして車両数記憶部93が記憶している車両台数(ここでは4)を読み出し取得すると共に、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得する(s401)。そして、ファジークラスタリング計算部43は、s401にて読み出し取得した車両台数(ここでは4)をクラスタ数として、各配達点の各クラスタへの帰属度を計算する(s402)。なお、このファジークラスタリングの処理方法は、前述のように公知の技術であり、例えば、特開平05−274293号に詳細に記載されている。
そして、ファジークラスタリング計算部43は、s402にて計算した各配達点の各クラスタへの帰属度(図8)をクラスタ属性値記憶部95に送信しクラスタ属性値記憶部95に記憶させると共に、s402にて計算した各配達点の各クラスタへの帰属度(図8)を初期巡回路作成部45へ送信する(s403)。
【0083】
s403にてファジークラスタリング計算部43から送信された各配達点の各クラスタへの帰属度(図8)を受信した初期巡回路作成部45は、配達点それぞれについて最も帰属度が高いクラスタに属すると判断し、全ての配達点がいずれのクラスタに属するかを決定する(s404)。そして、初期巡回路作成部45は、図10に示すような各クラスタに所属する配達点の番号を各クラスタ毎に記載した配達点番号リストを作成し、その配達点番号リストを経路記憶部97に送信し経路記憶部97に記憶させる(s405)。
【0084】
次いで、初期巡回路作成部45は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))を読み出し取得すると共に、自らが作成した前述の配達点番号リストと該読み出し取得した配達点の座標とを用いて各クラスタの重心位置(X,Y)を求める(s406)。
さらに、初期巡回路作成部45は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶しているデポの座標(図3(b))を読み出し取得すると共に、先に求めた各クラスタの重心に最も近いデポを選択することで各クラスタにデポを割り当てる(s407)。その後、初期巡回路作成部45は、経路記憶部97にアクセスし経路記憶部97が記憶している配達点番号リストの各クラスタに割り当てたデポを図11に示すように書き込む(s408)。
その後、初期巡回路作成部45は、既に自らが有している配達点番号リスト(割り当てデポが記載された図11に示すもの)をランダム挿入部71に送信する(s409)。
【0085】
初期巡回路作成部45からs409にて送信された配達点番号リストを受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得すると共に、所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得する。そして、ランダム挿入部71は、これら読み出し取得した配達点の座標、デポの座標及び距離テーブルとを用いて、該受信した配達点番号リストの各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(クラスタ別初期巡回路)を前述のランダム挿入法によって作成し、クラスタ別初期巡回路を初期巡回路作成部45に送信する(s410)。
s410にてランダム挿入部71から送信されたクラスタ別初期巡回路を受信した初期巡回路作成部45は、クラスタ別初期巡回路をN−opt部73に送信する(s411)。
s411にて初期巡回路作成部45から送信されたクラスタ別初期巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、クラスタ別初期巡回路に前述のN−opt法を(各クラスタ毎に)適用してクラスタ別初期巡回路を改善し、改善されたクラスタ別初期巡回路(改善クラスタ別初期巡回路)を初期巡回路作成部45へ送信する(s412)。
s412により送信された改善クラスタ別初期巡回路を受信した初期巡回路作成部45は、経路記憶部97にアクセスし経路記憶部97が記憶している配達点番号リストの所属配達点の配達点番号の記載順序を改善クラスタ別初期巡回路に従った順序に書き換える(s413)(以上、図18)。
【0086】
次いで、図19に移る。s413の後、初期巡回路作成部45は改善クラスタ別初期巡回路を巡回時間算出部75へ送信する(s414)。s414にて送信された改善クラスタ別初期巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、改善クラスタ別初期巡回路に示される各クラスタ毎の巡回距離を距離テーブルから算出すると共に、この算出した各クラスタ毎の巡回距離を初期巡回路作成部45へ送信する(s415)。
s415にて送信された、改善クラスタ別初期巡回路に応じた各クラスタ毎の巡回距離を受信した初期巡回路作成部45は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))のうち改善クラスタ別初期巡回路に使用されているデポに対応する車両の制約条件を読み出し取得し、該読み出し取得した制約条件(配達車両それぞれの一日に移動可能な最大の移動距離)の合計値を算出する(s416)。そして、初期巡回路作成部45は、該受信した各クラスタ毎の巡回距離の合計を算出する(s417)。その後、初期巡回路作成部45は、制約条件の合計値が巡回距離の合計値以上か否か判断し(s418)、そうであれば(YES)この改善クラスタ別初期巡回路は妥当と判断し、所属調整部51へ起動信号を発する(s419。なお、s419の後、後述のs501へ行く。)。s418にて制約条件の合計値が巡回距離の合計値以上でなければ(NO)、初期巡回路作成部45は、この改善クラスタ別初期巡回路は妥当と判断せず、ファジークラスタリング計算部43に車両台数に1を加える信号(車両増加信号)を発する(s420)。s420の後、初期巡回路作成部45は、クラスタ数計算部37からファジークラスタリング計算部43に発せられる前記起動信号と同じ信号を送信する(s421)。s421の後、再びs402に戻る(即ち、前回のs402以降の処理に用いた車両台数よりも1増加した車両台数によってs402以降の処理が行われる。)。
【0087】
図20〜図22は、本装置11の所属調整部51の動作を示すフローチャートである。図20〜図22を参照して、本装置11の所属調整部51の動作について説明する。
まず、図20を参照する。初期巡回路作成部45からs419にて発せられた前記起動信号を受信した経路制御部52は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))を読み出し取得し(後述の稼動率の算出に用いる。)、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、さらに経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路を読み出し取得する(s501)。
次いで、経路制御部52は、これら読み出し取得した距離テーブル及び改善クラスタ別初期巡回路を用いて改善クラスタ別初期巡回路における各クラスタ毎の巡回距離を算出する(s502)。
そして、経路制御部52は、各配達車両毎の稼動率を算出する(s503)。稼動率は、上記のように、各クラスタ毎の巡回距離を、該クラスタを担当する配達車両の制約条件(図3(c)、ここでは全て10000)によって除した商として算出される。
さらに、経路制御部52は、各配達車両毎の稼動率の平均値(算術)を求め、それを用いて均等化係数を算出する(s504)。均等化係数は、前述のように、それぞれの配達車両について、(該配達車両の稼動率−稼動率の平均値)の絶対値(即ち、|(各配達車両の稼動率)−(稼動率の平均値)|)を求め、全ての配達車両について求めた該絶対値を合計して合計値を求め、配達車両の数によって該合計値を除すことによって算出される(即ち、均等化係数=Σ(|(各配達車両の稼動率)−(稼動率の平均値)|)/(配達車両の数)として算出される。)。
最後に、経路制御部52は、上記のようにして算出した各配達車両毎の稼動率及び均等化係数を、所属変更処理部53へ送信する(s505)。
【0088】
経路制御部52からs505にて送信された各配達車両毎の稼動率及び均等化係数を受信した所属変更処理部53は、該受信した均等化係数が、自ら(所属変更処理部53)が記憶している均等化係数よりも小さいか、又は自ら(所属変更処理部53)が均等化係数を記憶していないかを判断し(s506)、そのいずれかであると判断した場合(YES)には、該受信した均等化係数を上書きして記憶した(s507)後(即ち、所属変更処理部53は、それまでに経路制御部52から受信した均等化係数のうち最小のものを記憶することになる。)、経路制御部52から受信した各配達車両毎の稼動率を都市所属変更処理部55へ送信する(s550)。一方、所属変更処理部53が、s506にて該受信した均等化係数が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかのいずれでもないと判断した場合(NO)(即ち、所属変更処理部53が均等化係数を記憶しており、かつ該受信した均等化係数が、該記憶している均等化係数以上である場合)には履歴チェック部54に起動信号を発する(s551)。
【0089】
s550にて所属変更処理部53から送信された各配達車両毎の稼動率を受信した都市所属変更処理部55は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、クラスタ属性値記憶部95にアクセスしクラスタ属性値記憶部95が記憶している各配達点の各クラスタへの帰属度(図8)を読み出し取得し、そして経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路を読み出し取得する(s508)。
次いで、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も高い稼動率を与える配達車両が担当するクラスタを、提供元のクラスタとして記憶すると共に、クラスタのリスト(都市所属変更処理部55自身が有する記憶領域)にも記憶する(s509)。さらに、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も低い稼動率を与える配達車両が担当するクラスタを、提供先のクラスタとして記憶する(s510)。
【0090】
その後、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタに属する配達点(上述のように読み出し取得した改善クラスタ別初期巡回路(図11)から得られる。)のうち、提供先のクラスタへの帰属度が最も高い配達点(選択点)を選択する(s511)(各配達点の帰属度は、上述のように読み出し取得した各配達点の各クラスタへの帰属度(図8)を用いることで得られる。)。なお、クラスタのリストに複数のクラスタが記憶されている場合では、複数のクラスタに属する全ての配達点から選択点を選択する(例えば、クラスタ50、クラスタ63、クラスタ78の3つのクラスタがクラスタのリストに記憶されている場合では、クラスタ50に属する配達点と、クラスタ63に属する配達点と、クラスタ78に属する配達点と、の全ての配達点から1の選択点を選択する。)。
そして、都市所属変更処理部55は、選択点が所属しているクラスタを所属元クラスタとして記憶する(s512)。
次に、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ以外のクラスタ(クラスタのリストに複数のクラスタが記憶されている場合には、その複数のクラスタのいずれでもないクラスタ)へ選択点が示す帰属度のうち最も高い帰属度を示すクラスタを所属変更先クラスタとして選択し記憶する(s513)。
【0091】
次いで、図21を参照する。s513の後、都市所属変更処理部55は、自らが有する改善クラスタ別初期巡回路(s508にて経路記憶部97から読み出したもの)の中の所属元クラスタに属している選択点を削除すると共に、改善クラスタ別初期巡回路の中の所属変更先クラスタに選択点を加える(s514)。
s514の後、都市所属変更処理部55は、s514にて選択点が削除及び追加された改善クラスタ別初期巡回路(選択点加除巡回路)をランダム挿入部71に送信する(s515)。
【0092】
選択点加除巡回路を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、選択点加除巡回路に従って各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(ランダム挿入選択点加除巡回路)を前述のランダム挿入法によって作成し、ランダム挿入選択点加除巡回路を都市所属変更処理部55に送信する(s516)。
ランダム挿入選択点加除巡回路をランダム挿入部71から受信した都市所属変更処理部55は、経路記憶部97にランダム挿入選択点加除巡回路を上書きし記憶させると共に、ランダム挿入選択点加除巡回路を巡回時間算出部75に送信する(s517)。
【0093】
s517にて都市所属変更処理部55から送信されたランダム挿入選択点加除巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、ランダム挿入選択点加除巡回路の各クラスタ毎の距離を距離テーブルから算出し、その算出した各クラスタ毎の距離を都市所属変更処理部55へ送信する(s518)。
そして、都市所属変更処理部55が履歴記憶部98に選択点の加除処理に関する履歴を書き込み記憶させる(s519)(履歴は上書きではなく追加的に書き込み記憶される。)。なお、選択点の加除処理に関する履歴は、前述のように、提供元のクラスタ、提供先のクラスタ、所属元クラスタ、所属変更先クラスタ、選択点たる配達点、各配達車両の稼動率の各項目を含んでいる。
【0094】
その後、都市所属変更処理部55は、所属変更先クラスタと提供先のクラスタとが一致するか否かを判断し(s520)、一致すると判断しない場合(NO)、このときの所属変更先クラスタを前述のクラスタのリストに記憶し(s521)(即ち、このときの所属変更先クラスタがクラスタのリストに追加され、次の処理の所属元クラスタとして選択される候補になる。)、その後、再びs511へ戻る。
一方、都市所属変更処理部55が、s520において所属変更先クラスタと提供先のクラスタとが一致すると判断する場合(YES)、ランダム挿入選択点加除巡回路のうちクラスタのリストに含まれている(1又は2以上の)クラスタと提供先のクラスタとの複数のクラスタの巡回路を経路記憶部97(ランダム挿入選択点加除巡回路を記憶している。)からそれぞれ読み出し取得し、該それぞれ取得された巡回路をN−opt部73に送信する(s522)。
都市所属変更処理部55から複数のクラスタに関する巡回路(ランダム挿入選択点加除巡回路の一部)を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、それぞれの巡回路に前述のN−opt法を(各クラスタ毎に)適用して改善し、改善された巡回路(改善一部ランダム挿入選択点加除巡回路)を都市所属変更処理部55へ送信する(s523)。
そして、改善一部ランダム挿入選択点加除巡回路を受信した都市所属変更処理部55は、経路記憶部97にアクセスし経路記憶部97が記憶しているランダム挿入選択点加除巡回路のうち改善一部ランダム挿入選択点加除巡回路に該当する部分を書き換える(s524)。
その後、都市所属変更処理部55は、経路制御部52に起動信号(初期巡回路作成部45から経路制御部52へ発せられる起動信号と同じ。)を発し(s525)、再びs501へ戻る。
【0095】
続いて、図22を参照する。s551にて所属変更処理部53が発した起動信号を受信した履歴チェック部54は、履歴記憶部98にアクセスして履歴記憶部98が記憶している前記選択点の加除処理に関する履歴を読み込み取得する(s526)。そして、履歴チェック部54は、該読み込み取得した前記選択点の加除処理に関する履歴のうち直近の履歴(例えば、図14中では、作業番号19にて示された「提供元」(提供元のクラスタ:クラスタ3)、「提供先」(提供先のクラスタ:クラスタ2)、「所属元」(所属元クラスタ:クラスタ3)、「所属変更先」(所属変更先クラスタ:クラスタ2)、「配達点番号」(選択点たる配達点:配達点46)によるもの。以下、「直近履歴」という。)と、直近履歴以外の履歴(例えば、図14に示したものであれば、作業番号1〜18に示されるそれぞれのもの。以下、「その他履歴」という。)と、を比較し、直近履歴と同一のものがその他履歴に存するか否かを判断する(s527)。s527にて履歴チェック部54が、直近履歴と同一のものがその他履歴に存すると判断した場合、履歴チェック部54は所属変更結果設定部56に起動信号を送信する(s528)。s527にて履歴チェック部54が、直近履歴と同一のものがその他履歴に存すると判断しない場合(NO)、履歴チェック部54は、所属変更処理部53に各配達車両毎の稼動率(所属変更処理部53が経路制御部52から受信したもの)を都市所属変更処理部55へ送信することを命令する信号を発し(s529)、この信号を受信した所属変更処理部53は各配達車両毎の稼動率を都市所属変更処理部55へ送信し(s530)、前述のs550へ戻る。
【0096】
s528にて履歴チェック部54が発した起動信号を受信した所属変更結果設定部56は、履歴記憶部98にアクセスして履歴記憶部98が記憶している前記選択点の加除処理に関する履歴を読み込み取得し、その各履歴に含まれる各配達車両の稼動率を用いて各履歴の均等化係数を計算する(s531)。次いで、所属変更結果設定部56は、それら各履歴毎に計算した均等化係数のうち最も小さい値を与える巡回路を選択し、該選択した巡回路を経路記憶部97に送信し経路記憶部97に記憶させる(s532)。
その後、所属変更結果設定部56は、稼動率調整部61(稼動率調整制御部63)に起動信号を発し(s533)、後述のs601へ行く。
【0097】
ここで、前述の図14について詳しく説明しておく。図14は、履歴記憶部98にs519にて書き込まれて記憶された履歴の一例を示したものであり、具体的には、図3に示したデータを基に本装置を動作させたときに履歴記憶部98に書き込まれたものを示している。図14中では、クラスタ番号の欄の「提供元」の位置には「提供元のクラスタ」が示され(例えば、「2」と記載されているのは提供元のクラスタがクラスタ2であることを示している。)、クラスタ番号の欄の「提供先」の位置には「提供先のクラスタ」が示され(例えば、「3」と記載されているのは提供先のクラスタがクラスタ3であることを示している。)、クラスタ番号の欄の「所属元」の位置には「所属元クラスタ」が示され(例えば、「0」と記載されているのは所属元クラスタがクラスタ0であることを示している。)、クラスタ番号の欄の「所属変更先」の位置には「所属変更先クラスタ」が示され(例えば、「1」と記載されているのは所属変更先クラスタがクラスタ1であることを示している。)、「配達点番号」の欄には「選択点たる配達点」が示され(例えば、「46」と示されているのは、選択点たる配達点が配達点46であることを示している。)、「稼動率」の欄にはクラスタ0〜3それぞれの稼動率が示されている(例えば、クラスタ1の欄に「0.9688」と示されているのは、クラスタ1の稼動率が0.9688であることを示している。)。また、図14中では、説明や理解を容易にするため、作業番号(作業の古いものから順に連番を付している。)及び図番号を付している。そして、稼動率については、上に示された稼動率と同じ稼動率の部分は、図示を容易にするため記載を省略している(例えば、作業番号1及び2の稼動率は、いずれもクラスタ0については1.056、クラスタ1については0.9688、クラスタ2については1.1694、クラスタ3については0.4406、と同じである。)。
【0098】
続いて、図14に示されたそれぞれの履歴について、図26〜図45を参照しつつ説明する。
まず、図26は、s501にて経路制御部52が、経路記憶部97にアクセスし経路記憶部97から読み出し取得した改善クラスタ別初期巡回路を図示したものである。なお、同一のクラスタに属する配達点を線によって結び、クラスタに属する配達点を明確にしている。そして、各クラスタのデポを■(内部が黒く塗りつぶされた略正方形の点)によって示している。
そして、経路制御部52は、s502にて図26に示された改善クラスタ別初期巡回路における各クラスタ毎の巡回距離を算出し、次いでs503にて各配達車両毎の稼動率を算出する。具体的には、ここではクラスタ0の稼動率は1.0560、クラスタ1の稼動率は0.9688、クラスタ2の稼動率は1.1694、クラスタ3の稼動率は0.4406とそれぞれ計算されている(図14の「稼動率」の最上欄参照)。
さらに、経路制御部52は、s504にて均等化係数を算出し、s504にて算出した各配達車両毎の稼動率及び均等化係数をs505で所属変更処理部53へ送信する。なお、ここでは均等化係数(Σ(|(各配達車両の稼動率)−(稼動率の平均値)|)/(配達車両の数))は、(|1.0560−0.9087|)/4+|0.9688−0.9087|/4+|1.1694−0.9087|/4+|0.4406−0.9087|/4)=0.23405のように算出される。
【0099】
s505にて送信された各配達車両毎の稼動率及び均等化係数を受信した所属変更処理部53は、該受信した均等化係数(ここでは0.23405)が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかを判断するが(s506)、ここでは自らが均等化係数を記憶していないのでそのいずれかであると判断し(YES)、該受信した均等化係数(ここでは0.23405)を上書きして記憶した(s507)後、経路制御部52から受信した各配達車両毎の稼動率(ここではクラスタ0:1.0560、クラスタ1:0.9688、クラスタ2:1.1694、クラスタ3:0.4406)を都市所属変更処理部55へ送信する(s550)。
s550にて所属変更処理部53から送信された各配達車両毎の稼動率を受信した都市所属変更処理部55は、s508にて必要なデータを読み出し取得すると共に、経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路(図26)を読み出し取得する。そしてs509にて都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率(クラスタ0:1.0560、クラスタ1:0.9688、クラスタ2:1.1694、クラスタ3:0.4406)のうち最も高い稼動率(1.1694)を与える配達車両が担当するクラスタ(クラスタ2)を、提供元のクラスタとして記憶すると共に、クラスタのリストにも記憶する。さらに、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も低い稼動率(0.4406)を与える配達車両が担当するクラスタ(クラスタ3)を、提供先のクラスタとして記憶する(s510)。これらは図14に示すように履歴記憶部98にs519にて書き込まれるので、図14中の作業番号1の欄に「提供元」として2が、また「提供先」として3が記憶されている。
【0100】
その後、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ(クラスタ2)に属する配達点のうち、提供先のクラスタ(クラスタ3)への帰属度が最も高い配達点(選択点)として配達点46(提供先のクラスタ(クラスタ3)への帰属度:0.16)を選択する(s511)。
そして、都市所属変更処理部55は、選択点たる配達点46が所属しているクラスタ2を所属元クラスタとして記憶する(s512)。
次に、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ2以外のクラスタ(即ち、クラスタ0、クラスタ1、クラスタ3)へ選択点たる配達点46が示す帰属度(クラスタ0:0.3、クラスタ1:0.05、クラスタ3:0.16)のうち最も高い帰属度(0.3)を示すクラスタ0を所属変更先クラスタとして選択し記憶する(s513)。
これら選択点、所属元クラスタ、所属変更先クラスタは、履歴記憶部98にs519にて書き込まれるので、図14中の作業番号1の欄の「所属元」として2が、また「所属変更先」として0が、そして「配達点番号」として46が記憶されている。
【0101】
その後、都市所属変更処理部55は、自らが有する改善クラスタ別初期巡回路の中の所属元クラスタたるクラスタ2に属している選択点たる配達点46を削除すると共に、改善クラスタ別初期巡回路の中の所属変更先クラスタたるクラスタ0に選択点たる配達点46を加える(s514)。
s514の後、都市所属変更処理部55は、s514にて選択点たる配達点46が削除及び追加された改善クラスタ別初期巡回路(選択点加除巡回路)をランダム挿入部71に送信する(s515)。
【0102】
選択点加除巡回路を受信したランダム挿入部71は、選択点加除巡回路に従って各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(ランダム挿入選択点加除巡回路)を前述のランダム挿入法によって作成し、ランダム挿入選択点加除巡回路を都市所属変更処理部55に送信する。ランダム挿入選択点加除巡回路をランダム挿入部71から受信した都市所属変更処理部55は、経路記憶部97にランダム挿入選択点加除巡回路を上書きし記憶させると共に、ランダム挿入選択点加除巡回路を巡回時間算出部75に送信する(s517)。
図27に、このとき経路記憶部97に記憶されたランダム挿入選択点加除巡回路を図示した結果を示す。前述の図26と図27とを比較すると、選択点たる配達点46がクラスタ2からクラスタ0に所属が変更されている。
【0103】
s517にて都市所属変更処理部55から送信されたランダム挿入選択点加除巡回路を受信した巡回時間算出部75は、ランダム挿入選択点加除巡回路の各クラスタ毎の距離を算出し、その算出した各クラスタ毎の距離を都市所属変更処理部55へ送信する(s518)。
そして、都市所属変更処理部55が履歴記憶部98に選択点の加除処理に関する履歴を書き込み記憶させる(s519)(履歴は上書きではなく追加的に書き込み記憶される。)。なお、選択点の加除処理に関する履歴は、前述のように、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ0)、選択点たる配達点(配達点46)、各配達車両の稼動率の各項目を含んでいる。
【0104】
その後、都市所属変更処理部55は、所属変更先クラスタ(クラスタ0)と提供先のクラスタ(クラスタ3)とが一致するか否かを判断し(s520)、ここでは一致しないので一致すると判断せず(NO)、このときの所属変更先クラスタ(クラスタ0)を前述のクラスタのリストに記憶し(s521)(即ち、このときの所属変更先クラスタ(クラスタ0)がクラスタのリストに追加され、次の処理の所属元クラスタとして選択される候補になる。)、その後、再びs511へ戻る。
【0105】
s511に戻ると、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ(クラスタ0とクラスタ2。s521にて所属変更先クラスタをクラスタのリストに記憶した。)に属する配達点のうち、提供先のクラスタ(クラスタ3)への帰属度が最も高い配達点(選択点)として配達点30(提供先のクラスタ(クラスタ3)への帰属度:0.44)を選択する。
そして、都市所属変更処理部55は、選択点たる配達点30が所属しているクラスタ0を所属元クラスタとして記憶する(s512)。
次に、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ(クラスタ0とクラスタ2)以外のクラスタ(即ち、クラスタ1とクラスタ3)へ選択点たる配達点30が示す帰属度(クラスタ1:0.02、クラスタ3:0.44)のうち最も高い帰属度(0.44)を示すクラスタ3を所属変更先クラスタとして選択し記憶する(s513)。
これら選択点、所属元クラスタ、所属変更先クラスタは、履歴記憶部98にs519にて書き込まれるので、図14中の作業番号2の欄の「所属元」として0が、また「所属変更先」として3が、そして「配達点番号」として30が記憶されている。
【0106】
その後、都市所属変更処理部55は、自らが有する改善クラスタ別初期巡回路の中の所属元クラスタたるクラスタ0に属している選択点たる配達点30を削除すると共に、改善クラスタ別初期巡回路の中の所属変更先クラスタたるクラスタ3に選択点たる配達点30を加える(s514)。
s514の後、都市所属変更処理部55は、s514にて選択点たる配達点30が削除及び追加された改善クラスタ別初期巡回路(選択点加除巡回路)をランダム挿入部71に送信する(s515)。
【0107】
選択点加除巡回路を受信したランダム挿入部71は、選択点加除巡回路に従って各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(ランダム挿入選択点加除巡回路)を前述のランダム挿入法によって作成し、ランダム挿入選択点加除巡回路を都市所属変更処理部55に送信する。ランダム挿入選択点加除巡回路をランダム挿入部71から受信した都市所属変更処理部55は、経路記憶部97にランダム挿入選択点加除巡回路を上書きし記憶させると共に、ランダム挿入選択点加除巡回路を巡回時間算出部75に送信する(s517)。
図28に、このとき経路記憶部97に記憶されたランダム挿入選択点加除巡回路を図示した結果を示す。前述の図27と図28とを比較すると、選択点たる配達点30がクラスタ0からクラスタ3に所属が変更されている。
【0108】
s517にて都市所属変更処理部55から送信されたランダム挿入選択点加除巡回路を受信した巡回時間算出部75は、ランダム挿入選択点加除巡回路の各クラスタ毎の距離を算出し、その算出した各クラスタ毎の距離を都市所属変更処理部55へ送信する(s518)。
そして、都市所属変更処理部55が履歴記憶部98に選択点の加除処理に関する履歴を書き込み記憶させる(s519)(履歴は上書きではなく追加的に書き込み記憶される。)。なお、選択点の加除処理に関する履歴は、前述のように、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点30)、各配達車両の稼動率の各項目を含んでいる。
【0109】
その後、都市所属変更処理部55は、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致するか否かを判断し(s520)、ここでは一致するので一致すると判断し(YES)、ランダム挿入選択点加除巡回路のうちクラスタのリストに含まれている(1又は2以上の)クラスタ(ここではクラスタ0とクラスタ2)と提供先のクラスタ(クラスタ3)との複数のクラスタの巡回路を経路記憶部97(ランダム挿入選択点加除巡回路を記憶している。)からそれぞれ読み出し取得し、該それぞれ取得された巡回路をN−opt部73に送信する(s522)。
都市所属変更処理部55から複数のクラスタに関する巡回路(ランダム挿入選択点加除巡回路の一部)を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、それぞれの巡回路に前述のN−opt法を(各クラスタ毎に)適用して改善し、改善された巡回路(改善一部ランダム挿入選択点加除巡回路)を都市所属変更処理部55へ送信する(s523)。
そして、改善一部ランダム挿入選択点加除巡回路を受信した都市所属変更処理部55は、経路記憶部97にアクセスし経路記憶部97が記憶しているランダム挿入選択点加除巡回路のうち改善一部ランダム挿入選択点加除巡回路に該当する部分を書き換える(s524)。
その後、都市所属変更処理部55は、経路制御部52に起動信号(初期巡回路作成部45から経路制御部52へ発せられる起動信号と同じ。)を発し(s525)、再びs501へ戻る。
【0110】
再びs501に戻ると、経路制御部52は、初期情報記憶部91が記憶している制約条件(図3(c))、所要時間記憶部99が記憶している距離テーブル、そして経路記憶部97が記憶している改善クラスタ別初期巡回路(図28)を読み出し取得する(s501)。
そして、経路制御部52は、s502にて図28に示された改善クラスタ別初期巡回路における各クラスタ毎の巡回距離を算出し、次いでs503にて各配達車両毎の稼動率を算出する。具体的には、ここではクラスタ0の稼動率は1.0609、クラスタ1の稼動率は0.9688、クラスタ2の稼動率は1.0715、クラスタ3の稼動率は0.5269とそれぞれ計算されている(図14の「稼動率」の上から第2段目参照)。
さらに、経路制御部52は、s504にて均等化係数を算出し、s504にて算出した各配達車両毎の稼動率及び均等化係数をs505で所属変更処理部53へ送信する。なお、ここでは均等化係数(Σ(|(各配達車両の稼動率)−(稼動率の平均値)|)/(配達車両の数))は、(|1.0609−0.907025|)/4+|0.9688−0.907025|/4+|1.0715−0.907025|/4+|0.5269−0.907025|/4)=0.1900625のように算出される。
【0111】
s505にて送信された各配達車両毎の稼動率及び均等化係数を受信した所属変更処理部53は、該受信した均等化係数(ここでは0.1900625)が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかを判断するが(s506)、ここでは自らが均等化係数(前回の値0.23405)を記憶しているので(ここでは0.1900625)が(前回の値0.23405)よりも小さいと判断し(YES)、該受信した均等化係数(ここでは0.1900625)を上書きして記憶した(s507)後、経路制御部52から受信した各配達車両毎の稼動率(ここではクラスタ0:1.0609、クラスタ1:0.9688、クラスタ2:1.0715、クラスタ3:0.5269)を都市所属変更処理部55へ送信する(s550)。
s550にて所属変更処理部53から送信された各配達車両毎の稼動率を受信した都市所属変更処理部55は、s508にて必要なデータを読み出し取得すると共に、経路記憶部97にアクセスし経路記憶部97が記憶している改善クラスタ別初期巡回路(図28)を読み出し取得する。そしてs509にて都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率(クラスタ0:1.0609、クラスタ1:0.9688、クラスタ2:1.0715、クラスタ3:0.5269)のうち最も高い稼動率(1.0715)を与える配達車両が担当するクラスタ(クラスタ2)を、提供元のクラスタとして記憶すると共に、クラスタのリストにも記憶する。さらに、都市所属変更処理部55は、所属変更処理部53から受信した各配達車両毎の稼動率のうち最も低い稼動率(0.5269)を与える配達車両が担当するクラスタ(クラスタ3)を、提供先のクラスタとして記憶する(s510)。これらは図14に示すように履歴記憶部98にs519にて書き込まれるので、図14中の作業番号3の欄に「提供先」として2が、また「提供元」として3が記憶されている。
【0112】
その後、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ(クラスタ2)に属する配達点のうち、提供先のクラスタ(クラスタ3)への帰属度が最も高い配達点(選択点)として配達点20(提供先のクラスタ(クラスタ3)への帰属度:0.09。なお、図14の作業番号1にて配達点46はクラスタ2から削除されている。なお、ここでは配達点40も帰属度0.09であるが、先に見つけたものを優先して選択する。)を選択する(s511)。
そして、都市所属変更処理部55は、選択点たる配達点20が所属しているクラスタ2を所属元クラスタとして記憶する(s512)。
次に、都市所属変更処理部55は、クラスタのリストに記憶されたクラスタ2以外のクラスタ(即ち、クラスタ0、クラスタ1、クラスタ3)へ選択点たる配達点20が示す帰属度(クラスタ0:0.16、クラスタ1:0.06、クラスタ3:0.09)のうち最も高い帰属度(0.16)を示すクラスタ0を所属変更先クラスタとして選択し記憶する(s513)。
これら選択点、所属元クラスタ、所属変更先クラスタは、履歴記憶部98にs519にて書き込まれるので、図14中の作業番号3の欄の「所属元」として2が、また「所属変更先」として0が、そして「配達点番号」として20が記憶されている。
【0113】
その後、都市所属変更処理部55は、自らが有する改善クラスタ別初期巡回路の中の所属元クラスタたるクラスタ2に属している選択点たる配達点20を削除すると共に、改善クラスタ別初期巡回路の中の所属変更先クラスタたるクラスタ0に選択点たる配達点20を加える(s514)。
s514の後、都市所属変更処理部55は、s514にて選択点たる配達点20が削除及び追加された改善クラスタ別初期巡回路(選択点加除巡回路)をランダム挿入部71に送信する(s515)。
【0114】
選択点加除巡回路を受信したランダム挿入部71は、選択点加除巡回路に従って各クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路(ランダム挿入選択点加除巡回路)を前述のランダム挿入法によって作成し、ランダム挿入選択点加除巡回路を都市所属変更処理部55に送信する。ランダム挿入選択点加除巡回路をランダム挿入部71から受信した都市所属変更処理部55は、経路記憶部97にランダム挿入選択点加除巡回路を上書きし記憶させると共に、ランダム挿入選択点加除巡回路を巡回時間算出部75に送信する(s517)。
図29に、このとき経路記憶部97に記憶されたランダム挿入選択点加除巡回路を図示した結果を示す。前述の図28と図29とを比較すると、選択点たる配達点20がクラスタ2からクラスタ0に所属が変更されている。
【0115】
s517にて都市所属変更処理部55から送信されたランダム挿入選択点加除巡回路を受信した巡回時間算出部75は、ランダム挿入選択点加除巡回路の各クラスタ毎の距離を算出し、その算出した各クラスタ毎の距離を都市所属変更処理部55へ送信する(s518)。
そして、都市所属変更処理部55が履歴記憶部98に選択点の加除処理に関する履歴を書き込み記憶させる(s519)(履歴は上書きではなく追加的に書き込み記憶される。)。なお、選択点の加除処理に関する履歴は、前述のように、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ0)、選択点たる配達点(配達点20)、各配達車両の稼動率の各項目を含んでいる。
【0116】
その後、都市所属変更処理部55は、所属変更先クラスタ(クラスタ0)と提供先のクラスタ(クラスタ3)とが一致するか否かを判断し(s520)、ここでは一致しないので一致すると判断せず(NO)、このときの所属変更先クラスタ(クラスタ0)を前述のクラスタのリストに記憶し(s521)(即ち、このときの所属変更先クラスタ(クラスタ0)がクラスタのリストに追加され、次の処理の所属元クラスタとして選択される候補になる。)、その後、再びs511へ戻る。
【0117】
以下、同様にして、図14中の作業番号4においては、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点19)として動作し、その結果を図30に示している。前述の図29と図30とを比較すると、選択点たる配達点19がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号4においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
その後、図14中の作業番号5においては、提供元のクラスタ(クラスタ0)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点45)として動作し、その結果を図31に示している。前述の図30と図31とを比較すると、選択点たる配達点45がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号5においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0118】
図14中の作業番号6においては、提供元のクラスタ(クラスタ0)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点32)として動作し、その結果を図32に示している。前述の図31と図32とを比較すると、選択点たる配達点32がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号6においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
図14中の作業番号7においては、提供元のクラスタ(クラスタ0)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点37)として動作し、その結果を図33に示している。前述の図32と図33とを比較すると、選択点たる配達点37がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号7においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0119】
図14中の作業番号8においては、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ0)、選択点たる配達点(配達点40)として動作し、その結果を図34に示している。前述の図33と図34とを比較すると、選択点たる配達点40がクラスタ2からクラスタ0に所属が変更されている。なお、作業番号8においては、所属変更先クラスタ(クラスタ0)と提供先のクラスタ(クラスタ3)とが一致すると判断されず(s520、NO)、s521(所属変更先クラスタ(クラスタ0)を前述のクラスタのリストに記憶する。)以降の処理が行われる。
図14中の作業番号9においては、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点46)として動作し、その結果を図35に示している。前述の図34と図35とを比較すると、選択点たる配達点46がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号9においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0120】
図14中の作業番号10においては、提供元のクラスタ(クラスタ0)、提供先のクラスタ(クラスタ2)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点20)として動作し、その結果を図36に示している。前述の図35と図36とを比較すると、選択点たる配達点20がクラスタ0からクラスタ2に所属が変更されている。なお、作業番号10においては、所属変更先クラスタ(クラスタ2)と提供先のクラスタ(クラスタ2)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0121】
図14中の作業番号11においては、提供元のクラスタ(クラスタ1)、提供先のクラスタ(クラスタ0)、所属元クラスタ(クラスタ1)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点1)として動作し、その結果を図37に示している。前述の図36と図37とを比較すると、選択点たる配達点1がクラスタ1からクラスタ2に所属が変更されている。なお、作業番号11においては、所属変更先クラスタ(クラスタ2)と提供先のクラスタ(クラスタ0)とが一致すると判断せず(s520、NO)、s521(所属変更先クラスタ(クラスタ2)を前述のクラスタのリストに記憶する。)以降の処理が行われる。
図14中の作業番号12においては、提供元のクラスタ(クラスタ1)、提供先のクラスタ(クラスタ0)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ0)、選択点たる配達点(配達点22)として動作し、その結果を図38に示している。前述の図37と図38とを比較すると、選択点たる配達点22がクラスタ2からクラスタ0に所属が変更されている。なお、作業番号12においては、所属変更先クラスタ(クラスタ0)と提供先のクラスタ(クラスタ0)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0122】
図14中の作業番号13においては、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ1)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ1)、選択点たる配達点(配達点1)として動作し、その結果を図39に示している。前述の図38と図39とを比較すると、選択点たる配達点1がクラスタ2からクラスタ1に所属が変更されている。なお、作業番号13においては、所属変更先クラスタ(クラスタ1)と提供先のクラスタ(クラスタ1)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
図14中の作業番号14においては、提供元のクラスタ(クラスタ3)、提供先のクラスタ(クラスタ2)、所属元クラスタ(クラスタ3)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点46)として動作し、その結果を図40に示している。前述の図39と図40とを比較すると、選択点たる配達点46がクラスタ3からクラスタ2に所属が変更されている。なお、作業番号14においては、所属変更先クラスタ(クラスタ2)と提供先のクラスタ(クラスタ2)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0123】
図14中の作業番号15においては、提供元のクラスタ(クラスタ1)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ1)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点1)として動作し、その結果を図41に示している。前述の図40と図41とを比較すると、選択点たる配達点1がクラスタ1からクラスタ2に所属が変更されている。なお、作業番号15においては、所属変更先クラスタ(クラスタ2)と提供先のクラスタ(クラスタ3)とが一致すると判断せず(s520、NO)、s521(所属変更先クラスタ(クラスタ2)を前述のクラスタのリストに記憶する。)以降の処理が行われる。
図14中の作業番号16においては、提供元のクラスタ(クラスタ1)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ0)、選択点たる配達点(配達点46)として動作し、その結果を図42に示している。前述の図41と図42とを比較すると、選択点たる配達点46がクラスタ2からクラスタ0に所属が変更されている。なお、作業番号16においては、所属変更先クラスタ(クラスタ0)と提供先のクラスタ(クラスタ3)とが一致すると判断せず(s520、NO)、s521(所属変更先クラスタ(クラスタ0)を前述のクラスタのリストに記憶する。)以降の処理が行われる。
図14中の作業番号17においては、提供元のクラスタ(クラスタ1)、提供先のクラスタ(クラスタ3)、所属元クラスタ(クラスタ0)、所属変更先クラスタ(クラスタ3)、選択点たる配達点(配達点46)として動作し、その結果を図43に示している。前述の図42と図43とを比較すると、選択点たる配達点46がクラスタ0からクラスタ3に所属が変更されている。なお、作業番号17においては、所属変更先クラスタ(クラスタ3)と提供先のクラスタ(クラスタ3)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0124】
図14中の作業番号18においては、提供元のクラスタ(クラスタ2)、提供先のクラスタ(クラスタ1)、所属元クラスタ(クラスタ2)、所属変更先クラスタ(クラスタ1)、選択点たる配達点(配達点1)として動作し、その結果を図44に示している。前述の図43と図44とを比較すると、選択点たる配達点1がクラスタ2からクラスタ1に所属が変更されている。なお、作業番号18においては、所属変更先クラスタ(クラスタ1)と提供先のクラスタ(クラスタ1)とが一致すると判断され(s520、YES)、s522以降の処理が行われる。
【0125】
図14中の作業番号19においては、提供元のクラスタ(クラスタ3)、提供先のクラスタ(クラスタ2)、所属元クラスタ(クラスタ3)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点46)として動作し、その結果を図45に示している。前述の図44と図45とを比較すると、選択点たる配達点46がクラスタ3からクラスタ2に所属が変更されている。なお、作業番号19においては、所属変更先クラスタ(クラスタ2)と提供先のクラスタ(クラスタ2)とが一致すると判断され(s520、YES)、s522以降の処理が行われ、再びs501へ戻る。
このときs501〜s505の動作の後、s506にて所属変更処理部53が、受信した均等化係数が、自らが記憶している均等化係数よりも小さいか、又は自らが均等化係数を記憶していないかのいずれでもないと判断し(NO)(即ち、所属変更処理部53が均等化係数を記憶しており、かつ該受信した均等化係数が、該記憶している均等化係数以上である場合)履歴チェック部54に起動信号を発する(s551)。
【0126】
s551にて所属変更処理部53が発した起動信号を受信した履歴チェック部54は、履歴記憶部98にアクセスして履歴記憶部98が記憶している選択点の加除処理に関する履歴(即ち、図14に示すもの)を読み込み取得する(s526)。そして、履歴チェック部54は、該読み込み取得した選択点の加除処理に関する履歴の直近履歴(図14に示したものであれば、作業番号19にて示されるもの。)と、直近履歴以外の履歴(その他履歴。図14に示したものであれば、作業番号1〜18それぞれにて示されるもの。)と、を比較し、直近履歴と同一のものがその他履歴に存するか否かを判断する(s527)。ここでは作業番号19と作業番号14とは、提供元のクラスタ(クラスタ3)、提供先のクラスタ(クラスタ2)、所属元クラスタ(クラスタ3)、所属変更先クラスタ(クラスタ2)、選択点たる配達点(配達点46)の全てが一致しているので、履歴チェック部54が、直近履歴(作業番号19)と同一のもの(作業番号14)がその他履歴に存すると判断し(YES)、履歴チェック部54は所属変更結果設定部56に起動信号を送信する(s528)。
s528にて履歴チェック部54が発した起動信号を受信した所属変更結果設定部56は、履歴記憶部98にアクセスして履歴記憶部98が記憶している前記選択点の加除処理に関する履歴(図14)を読み込み取得し、その各履歴(作業番号1〜19それぞれ)に含まれる各配達車両の稼動率を用いて各履歴(作業番号1〜19それぞれ)の均等化係数を計算する(s531)。次いで、所属変更結果設定部56は、それら各履歴(作業番号1〜19それぞれ)毎に計算した均等化係数のうち最も小さい値を与える巡回路(作業番号1〜19のいずれか)を選択し、該選択した巡回路を経路記憶部97に送信し経路記憶部97に記憶させる(s532)。
その後、所属変更結果設定部56は、稼動率調整部61(稼動率調整制御部63)に起動信号を発し(s533)、後述のs601へ行く。
【0127】
図23〜図25は、本装置11の稼動率調整部61の動作を示すフローチャートである。図23〜図25を参照して、本装置11の稼動率調整部61の動作について説明する。
まず、図23を参照する。
前述のs533にて所属変更結果設定部56から発せられた前記起動信号を受信した稼動率調整制御部63は、自らが記憶する組み合わせ履歴リストに記憶されている内容を削除する(s601)。
次いで、稼動率調整制御部63は、初期情報記憶部91にアクセスし初期情報記憶部91が記憶している制約条件(図3(c))を読み出し取得し(後述の稼動率の算出に用いる。)、さらに経路記憶部97にアクセスし経路記憶部97が記憶している巡回路(所属変更結果設定部56が、最も小さい均等化係数を与える巡回路として選択したもの)を読み出し取得する(s602)。そして、稼動率調整制御部63は、この読み出し取得した巡回路を巡回時間算出部75に送信する(s603)。
【0128】
s603にて稼動率調整制御部63から送信された前記巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、前記巡回路の各クラスタ毎の巡回距離を距離テーブルから算出し、そしてこの算出された前記巡回路に従った各クラスタ毎の巡回距離を稼動率調整制御部63へ送信する(s604)。
s604にて巡回時間算出部75から送信された前記巡回路に従った各クラスタ毎の巡回距離を受信した稼動率調整制御部63は、その受信した各クラスタ毎の巡回距離と、初期情報記憶部91から読み出し取得した制約条件(図3(c))と、を用いて各クラスタ毎の稼動率を算出する(s605)(なお、稼動率は、前述のように、各クラスタ毎の巡回距離を、該クラスタを担当する配達車両の制約条件(図3(c)、ここでは全て10000)によって除した商である。)。
次いで、稼動率調整制御部63は、s605にて算出した各クラスタ毎の稼動率の大きい順番を決し、その大きい順番にクラスタ番号を並べて整列クラスタ番号を作成する(s606)。
【0129】
その後、稼動率調整制御部63は、自らが記憶する後述の候補リストに記憶されている内容を削除する(s607)(候補リストに何も記憶されていなければ削除不要である)。
次いで、稼動率調整制御部63は、整列クラスタ番号の先頭に位置するクラスタ番号(整列クラスタ番号が「3、0、2、1」であるときは「3」)によって示されるクラスタ(ここではクラスタ3)を稼動率調整提供元クラスタとして選ぶ(s608)。
さらに、稼動率調整制御部63は、稼動率調整提供元クラスタに属する配達点のいずれかを変更候補配達点pとして選択する(s609)。
【0130】
そして、稼動率調整制御部63は、全てのクラスタから1のクラスタを稼動率調整提供先クラスタとして選択する(s610)。ここではクラスタ番号の最も小さいもの、即ち、クラスタ0を最初に選択する。
その後、稼動率調整制御部63は、稼動率調整提供元クラスタと稼動率調整提供先クラスタとが一致しているか否かを判断し(s611)、両クラスタが一致していると判断した場合(YES)には後述のs616へ行く。s611にて稼動率調整制御部63が、稼動率調整提供元クラスタと稼動率調整提供先クラスタとが一致していないと判断した場合(NO)、稼動率調整制御部63は、経路記憶部97からs602にて読み出し取得した巡回路を変更試行部65に送信する(s612)。
【0131】
次いで、図24を参照する。
s612にて稼動率調整制御部63から送信された巡回路を受信した変更試行部65は、変更候補配達点pを稼動率調整提供元クラスタから稼動率調整提供先クラスタへ所属を変更した際の巡回距離差を算出する(s613)(なお、変更試行部65は所要時間記憶部99が記憶している距離テーブルを読み出し取得し、巡回距離差を算出する。)。
s613にて算出した巡回距離差が正の値か否かを変更試行部65が判断し(s614)、巡回距離差が正の値と判断した場合(YES)、そのときの稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離差のデータを関係付けた情報を変更試行部65は稼動率調整制御部63に送信し、該情報を稼動率調整制御部63に候補リストとして上書きではなく追加的に記憶させる(s615)。なおこのとき候補リストへの記憶は、該関係付けた情報に含まれる巡回距離差が大きいものから順番に記憶される。
一方、s614にて変更試行部65が巡回距離差が正の値と判断しない場合(NO)、変更試行部65が稼動率調整制御部63に稼動率調整提供先クラスタとして次のクラスタを選択することを命令する信号を発する(s616)。
【0132】
s616にて発せられた信号を受信するか又はs615の後、稼動率調整制御部63は稼動率調整提供先クラスタとして次のクラスタが選択可能か否か判断し(s617)、稼動率調整提供先クラスタとして次のクラスタが選択可能と判断した場合(YES)には稼動率調整提供先クラスタとして次のクラスタを選択し(s618)、再びs611に戻る。
s617にて稼動率調整制御部63が稼動率調整提供先クラスタとして次のクラスタが選択可能と判断しない場合(NO)(全てのクラスタが稼動率調整提供先クラスタとして既に選択されており、他のクラスタが稼動率調整提供先クラスタとして選択できない場合)には、稼動率調整制御部63は変更候補配達点pとして次の配達点が選択可能か否か判断する(s619)。
s619にて稼動率調整制御部63が変更候補配達点pとして次の配達点が選択可能であると判断した場合(YES)、稼動率調整制御部63は、稼動率調整提供元クラスタの次の配達点(変更候補配達点pとして既に選択されている配達点を除いた配達点のうち巡回路内で先頭に位置する配達点)を次の変更候補配達点pとして選び(s620)、s610へ戻る。
s619にて稼動率調整制御部63が変更候補配達点pとして次の配達点が選択可能であると判断しない場合(NO)、稼動率調整制御部63は、稼動率調整提供元クラスタとして次のクラスタが選択可能か否か判断し(s621)、稼動率調整提供元クラスタとして次のクラスタが選択可能と判断した場合(YES)には稼動率調整提供元クラスタとして次のクラスタ(整列クラスタ番号の中で、稼動率調整提供元クラスタとして選ばれているクラスタの次のクラスタ)を選択し(s622)、再びs609に戻る。
【0133】
s621にて、稼動率調整制御部63が、稼動率調整提供元クラスタとして次のクラスタが選択可能と判断しない場合(NO)(即ち、もはや稼動率調整提供元クラスタとして未だ選択されていないクラスタが存しない場合)には、稼動率調整制御部63は候補チェックを行う(s623)。候補チェックは、前述したように、稼動率調整制御部63が有する候補リスト(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離差のデータを関係付けた情報(候補)が、該巡回距離差が大きいものから順番に記憶されている。)に記憶される候補と、稼動率調整制御部63が有するこれまで行った所属変更の履歴を記憶している履歴リストに記憶された所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が記憶されている。)と、を稼動率調整制御部63が見比べ、各候補が含む稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点と同じ稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点を含む所属変更履歴が存在すれば稼動率調整制御部63が候補リストからその候補を削除し、存在しなければ次の候補をチェックする。候補リスト中に未チェックの候補がなくなるまでこれを行う。
【0134】
さらに、図25を参照する。
s623の後、稼動率調整制御部63が候補リスト中に候補が残っているか否か判断し(s624)、残っていれば(YES)その残っている候補のうち先頭に位置する候補に従って配達点が属するクラスタを変更する(s625)(即ち、先頭の候補に示された変更候補配達点pたる配達点を、稼動率調整提供元クラスタから稼動率調整提供先クラスタへ所属を変更する。具体的には、稼動率調整制御部63は、s602にて経路記憶部97から読み出した巡回路の中の稼動率調整提供元クラスタから変更候補配達点pを除き、稼動率調整提供先クラスタに変更候補配達点pを加える。)。s624にて稼動率調整制御部63が、候補リスト中に候補が残っていると判断しない場合(NO)、稼動率調整制御部63は結果出力部67へ巡回路(s602にて経路記憶部97から読み出し取得したもの)と履歴リストとを送信する(s626)。
【0135】
s625の後、稼動率調整制御部63は、稼動率調整提供元クラスタと稼動率調整提供先クラスタとに関する両方の巡回路(変更候補配達点pたる配達点が、前者は除かれ後者は加入されている。)をランダム挿入部71に送信する(s627)。s627にて稼動率調整制御部63から送信された該両方の巡回路を受信したランダム挿入部71は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、所要時間記憶部99にアクセスし所要時間記憶部99が記憶している距離テーブルを読み出し取得し、該両方の巡回路に従って両クラスタ毎に該クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路を前述のランダム挿入法によって作成し、稼動率調整制御部63に送信する(s628)。
【0136】
s628にてランダム挿入部71から送信された巡回路を受信した稼動率調整制御部63は、該受信した巡回路をN−opt部73に送信する(s629)。s629にて稼動率調整制御部63から送信されたその巡回路を受信したN−opt部73は、初期情報記憶部91にアクセスして初期情報記憶部91が記憶している配達点の座標(図3(a))とデポの座標(図3(b))とを読み出し取得し、さらに所要時間記憶部99にアクセスして所要時間記憶部99が記憶している距離テーブル(図5参照)を読み出し取得し、これら配達点の座標(図3(a))、デポの座標(図3(b))及び距離テーブルを用いて、その巡回路(稼動率調整提供元クラスタと稼動率調整提供先クラスタとに関する両方の巡回路)に前述のN−opt法を(各クラスタ毎に)適用してその巡回路を改善し、改善された巡回路を稼動率調整制御部63へ送信する(s630)。
改善された巡回路をN−opt部73から受信した稼動率調整制御部63は、該改善された巡回路を巡回時間算出部75に送信する(s631)。
s631にて稼動率調整制御部63から送信された該改善された巡回路を受信した巡回時間算出部75は、所要時間記憶部99が記憶している距離テーブルを読み出し取得し、該改善された巡回路の各クラスタ毎の巡回距離を距離テーブルから算出し、この算出された各クラスタ毎の巡回距離を稼動率調整制御部63へ送信する(s632)。
【0137】
s632にて巡回時間算出部75から送信されたクラスタ毎の巡回距離を受信した稼動率調整制御部63は、全てのクラスタそれぞれの巡回距離と、初期情報記憶部91から読み出し取得した制約条件(図3(c))と、を用いて各クラスタ毎の稼動率を算出すると共に、稼動率調整制御部63は、これら算出した各クラスタの稼動率を用いて均等化係数を算出する(s633)。
s633の後、稼動率調整制御部63は、自らが有する履歴リストに所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が記憶される。)を書き込み記憶させると共に、巡回路(上述のように、N−opt部73から受信した改善された巡回路)を経路記憶部97へ書き込み(s634)、そして、s601へ戻る。
【0138】
なお、s626にて稼動率調整制御部63が発した巡回路と履歴リストとを受信した結果出力部67は、受信した履歴リスト中の所属変更履歴のうち稼動率全てが1以下であって巡回距離が最小のものを抽出し、該抽出された所属変更履歴に対応する巡回路を最終決定巡回路として所定の方法(印刷やディスプレイへの表示等)にて出力する(s635)。
なお、結果出力部67が最終決定巡回路を得る方法は、前述したように次の(1)〜(4)のようにして行われる。即ち、まず、(1)結果出力部67は、稼動率調整制御部63から受信した履歴リストに含まれる所属変更履歴(稼動率調整提供元クラスタ、稼動率調整提供先クラスタ、変更候補配達点pたる配達点、巡回距離、各配達車両の稼動率、均等化係数が含まれる。)のうち、稼動率全てが1以下であって巡回距離が最小のもの(以下、「目的所属変更履歴」という。)を抽出する。次いで、(2)結果出力部67は、稼動率調整制御部63から受信した履歴リストと、稼動率調整制御部63から受信した巡回路と、を用いて、目的所属変更履歴に該当する各クラスタに属する配達点のリストを作成する。具体的には、稼動率調整制御部63から受信した巡回路は、稼動率調整制御部63から受信した履歴リストの直近の所属変更がなされた後の状態を示しているので、直近の履歴リストから順に目的所属変更履歴までの所属変更履歴が示す所属変更を逆に行うことで、目的所属変更履歴に該当する各クラスタに属する配達点のリスト(具体的には、各クラスタ毎に属する配達点の番号が列記されたもの)を作成する。そして、(3)上記(2)にて得られた目的所属変更履歴に該当する各クラスタに属する配達点のリストを、結果出力部67がランダム挿入部71に送信し、これまでと同様、ランダム挿入部71に該配達点のリストに従った巡回路を作成させる(該配達点のリストに従って、各クラスタに割り当てられたデポを起点として該クラスタに属する全ての配達点を巡回する巡回路をランダム挿入法によって作成する。)。ランダム挿入部71は、作成した巡回路を結果出力部67へ送信する。最後に、(4)ランダム挿入部71から巡回路を受信した結果出力部67は、該受信した巡回路をN−opt部73に送信し、これまでと同様、N−opt部73にその巡回路にN−opt法を(各クラスタ毎に)適用してその巡回路を改善させる。N−opt部73は、改善された巡回路を結果出力部67へ送信する。
【0139】
以上説明したように、本装置11は、本発明にいう第3本装置、第1本装置及び第2本装置を含んでいる。
まず、本装置11が含む第3本装置は次のように構成されている。
第3本装置は、クラスタ数計算部37とランダム挿入部71とN−opt部73と巡回時間算出部75とによって構成される全体負荷算出手段(複数の地点(配達点)の位置データを受け付け、該複数の地点全部を巡る全体の負荷を算出する手段)と、クラスタ数計算部37によって構成される移動体数決定手段(複数の地点(配達点)の一部を巡る移動体(配達車両)それぞれが受け持ち可能な負荷の量である負荷許容量(制約条件たる図3(c))を受け付け、全体負荷算出手段により評価された該全体の負荷と該負荷許容量とから該移動体の数を所定の方法により決定する手段)と、ファジークラスタリング計算部43と初期巡回路作成部45とによって構成される地点分割手段(複数の地点(配達点)を該移動体の数(移動体数決定手段によって決定された数)だけ分割する手段)と、初期巡回路作成部45によって構成される移動体出発位置情報受付手段(移動体(配達車両)それぞれの出発位置を示す出発位置情報(図3(b))を受け付ける手段)と、初期巡回路作成部45によって構成される移動体割当手段(地点分割手段により分割された地点(配達点)のそれぞれのグループ(クラスタ)に対し所定の位置関係(ここでは各クラスタの重心に最も近い位置関係)を有する出発位置情報に係る移動体(配達車両)を割り当てる手段)と、ランダム挿入部71とN−opt部73(と初期巡回路作成部45)とによって構成される各グループ原始経路形成手段(移動体割当手段により割当られた移動体(配達車両)の出発位置(デポ)を始点とし、それぞれの移動体(配達車両)に対応するグループ(クラスタ)に属する全ての地点を巡る各グループ(クラスタ)毎の経路(改善クラスタ別初期巡回路)を作成する手段)と、を備えてなる、経路形成装置である。
【0140】
そして、本装置11が含む第3本装置は、初期巡回路作成部45によって構成される総量判断手段(各グループ原始経路形成手段によって形成された各グループ(クラスタ)毎の経路(改善クラスタ別初期巡回路)に関する負荷(巡回距離)を全てのグループ(クラスタ)に関して合計した第1総量と、移動体数決定手段によって受け付けられ、各グループ(クラスタ)に割当られた移動体(配達車両)それぞれの負荷許容量(制約条件)を合計した第2総量と、を比較し、第2総量が第1総量以上であるか否か判断する手段)と、初期巡回路作成部45によって構成される移動体増加手段(総量判断手段たる初期巡回路作成部45が第2総量が第1総量以上であると判断しない場合、移動体(配達車両)の数を増加させる手段)と、をさらに備えている。さらに、地点分割手段は該増加された移動体(配達車両)の数に応じて複数の地点(配達点)を分割し、移動体割当手段は、該増加された移動体(配達車両)の数に応じて分割された地点(配達点)のそれぞれのグループに移動体(配達車両)を割り当て、そして各グループ原始経路形成手段は、該増加された移動体(配達車両)の数に応じて分割された地点(配達点)のそれぞれのグループ毎の経路を作成する。
【0141】
次いで、本装置11が含む第1本装置は次のように構成されている。
第1本装置は、都市所属変更処理部55によって構成される経路データ受付手段(始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける手段)と、都市所属変更処理部55によって構成される開始完了決定手段(第1本装置の経路データ受付手段により受け付けられる複数の経路データのうち、負荷が最も軽い経路とは異なる経路である開始経路(ここでは負荷が最も重い経路である、提供元のクラスタの経路)と、該開始経路よりも負荷が軽い経路である完了経路(ここでは負荷が最も軽い経路である、提供先のクラスタの経路)と、を決定する手段)と、都市所属変更処理部55によって構成される所属変更手段(第1本装置の経路データ受付手段により受け付けられる複数の経路データの一経路(所属元クラスタの経路)に含まれる地点(配達点)である選択点と、該選択点と所定の関係(クラスタのリストに記憶されたクラスタ以外のクラスタへ選択点が示す帰属度のうち最も高い帰属度を示す関係)を有する他の経路(所属変更先クラスタの経路)と、を選択すると共に、該一経路から該他の経路へ該選択点を移動させるものであり、初回には開始経路(提供元のクラスタの経路)を該一経路として選択し、次回以降は前回以前の該他の経路又は開始経路を該一経路として該選択と該移動との動作を繰り返す手段)と、都市所属変更処理部55によって構成される完了判断手段(該他の経路(所属変更先クラスタの経路)が該完了経路(提供先のクラスタの経路)と一致するか否か判断する手段)と、を備えており、所属変更手段が、完了判断手段が一致すると判断するまで繰り返し動作するものである、経路調整装置である。
【0142】
そして、本装置11が含む第1本装置においては、上述のように、開始経路が、経路データ受付手段により受け付けられる複数の経路データのうち負荷が最も重い経路であり、そして完了経路が、該複数の経路データのうち負荷が最も軽い経路である。
さらに、本装置11が含む第1本装置においては、所属変更手段たる都市所属変更処理部55は、前記前回以前の該他の経路又は開始経路(クラスタのリストに記憶されたクラスタの経路)に含まれる地点のうち前記完了経路(提供先のクラスタの経路)への帰属度が最も高い地点を前記選択点として選択する。
また、本装置11が含む第1本装置においては、所属変更手段たる都市所属変更処理部55は、前記前回以前の該他の経路又は開始経路(クラスタのリストに記憶されたクラスタの経路)以外の経路へ前記選択点が示す帰属度のうち最も高い帰属度を示す経路を前記他の経路(所属変更先クラスタの経路)として選択する。
【0143】
本装置11が含む第1本装置は、ランダム挿入部71によって構成される経路形成手段((第1本装置の)所属変更手段によって前記選択点が加除され、含まれる地点に変更が生じた経路に所属する地点を巡る順番を決定し経路を形成する手段)を、さらに備える。
また、本装置11が含む第1本装置においては、第1本装置の経路形成手段たるランダム挿入部71によって形成された経路を含む経路データを、第1本装置の経路データ受付手段たる都市所属変更処理部55が受け付けさらに経路調整する。
なお、ここではそうしていないが、経路形成手段によって形成された経路における経路毎の負荷のばらつきが所定範囲に収まるまで、繰り返し経路調整するようにしてもよい。
【0144】
加えて、本装置11が含む第1本装置は、経路制御部52によって構成される均等化データ形成手段(第1本装置の経路形成手段たるランダム挿入部71によって形成された経路における経路毎の負荷のばらつきを示すデータである均等化データ(均等化係数)を形成(算出)する手段)と、所属変更処理部53によって構成される均等化データ記憶手段(均等化データたる均等化係数を記憶する手段。所属変更処理部53は、これまでの最小の均等化係数を記憶する。)と、所属変更処理部53によって構成される改善判断手段(第1本装置の均等化データ形成手段によって形成された直近の均等化データ(均等化係数)が、第1本装置の均等化データ記憶手段に記憶された過去の均等化データ(均等化係数)に比して、改善されているか否か(ここでは小さくなっているか否か)判断する手段)と、をさらに備え、改善判断手段たる所属変更処理部53が、改善されていると判断した場合、第1本装置の経路形成手段(ランダム挿入部71)によって形成された経路に係る経路データを、第1本装置の経路データ受付手段(都市所属変更処理部55)が受け付けさらに経路調節する。
【0145】
本装置11が含む第1本装置においては、履歴記憶部98によって構成される履歴記憶手段(第1本装置の所属変更手段が行う前記選択点の所属変更処理の履歴を記憶する手段)と、履歴チェック部54によって構成される収束判断部(直近の選択点の所属変更処理と同一の履歴を、第1本装置の履歴記憶手段が記憶しているか否か(直近履歴と同一のものがその他履歴に存するか否か)判断する収束判断部)と、さらに備える。そして、収束判断部たる履歴チェック部54が、直近の選択点の所属変更処理(直近の均等化データに係る選択点の所属変更処理)と同一の履歴を、第1本装置の履歴記憶手段が記憶していると判断しない場合、第1本装置の経路形成手段によって形成された経路に係る経路データを第1本装置の経路データ受付手段が受け付けさらに経路調節する。なお、ここでは第1本装置の改善判断手段が、直近の均等化データが改善されていると判断しない場合、収束判断部たる履歴チェック部54が、直近履歴と同一のものがその他履歴に存するか否かを判断するようにされている。
【0146】
次いで、本装置11が含む第2本装置は次のように構成されている。
第2本装置は、稼動率調整制御部63によって構成される経路データ受付手段(始点と、複数の地点を巡る経路と、を含んでなる複数の経路データを受け付ける手段)と、稼動率調整制御部63と変更試行部65とによって構成される全体負荷評価手段(第2本装置の経路データ受付手段(稼動率調整制御部63)により受け付けられる複数の経路データに含まれる各地点(配達点)を、該地点(配達点)が含まれていない経路(稼動率調整提供先クラスタの経路)に所属させた際に生じる全経路の負荷(距離)の変化(巡回距離差)を評価する手段)と、稼動率調整制御部63の候補リストによって構成される負荷変化記憶手段(全体負荷評価手段により評価される負荷(距離)の変化が、地点(配達点)の所属が変更される前に比して負荷が低減される(距離が短くなる)ことを示す場合における所属が変更される地点(配達点)と、該所属が変更される地点(配達点)が所属が変更される前に所属している経路である前所属経路たる稼動率調整提供元クラスタ(の経路)と、該所属が変更される地点が所属が変更される先の経路である後所属経路たる稼動率調整提供先クラスタ(の経路)と、を関連付けられたものを変更候補データとして記憶する手段)と、稼動率調整制御部63によって構成される抽出手段(負荷変化記憶手段に記憶された変更候補データのうち所定の条件に合致するものを抽出する手段)と、を備えるものである、経路調整装置である。
【0147】
そして、本装置11が含む第2本装置においては、変更候補データが、全経路の負荷(距離)の総和が、地点(配達点)の所属が変更される前に比してどの程度低減されるかを示す低減度合いたる巡回距離差のデータをさらに関連付けられた状態で記憶されており、抽出手段が抽出する際の前記所定の条件が、該低減度合いが最大であるという条件である。
本装置11が含む第2本装置は、ランダム挿入部71とN−opt部73とによって構成される(第2本装置の)経路形成手段(抽出手段によって抽出された変更候補データに従って経路を形成する手段)を、さらに備えている。
また、本装置11が含む第2本装置においては、(第2本装置の)経路形成手段によって形成された経路を含む経路データを、(第2本装置の)経路データ受付手段が受け付けさらに経路調整する。
【0148】
本装置11が含む第2本装置は、稼動率調整制御部63が有する履歴リストによって構成される変更候補履歴記憶手段(抽出手段により抽出された変更候補データの履歴を記憶する手段)をさらに備え、抽出手段が、第2本装置の負荷変化記憶手段(稼動率調整制御部63の候補リスト)に記憶された変更候補データのうち、変更候補履歴記憶手段に記憶された履歴と同一のものを除いた変更履歴データから抽出する。
そして、本装置11が含む第2本装置においては、抽出手段が変更履歴データを抽出することができなくなるまで、(第2本装置の)経路形成手段によって形成された経路を含む経路データを(第2本装置の)経路データ受付手段が受け付けさらに経路調整する。
【0149】
また、本装置11においては、第3本装置が形成した移動体(配達車両)の出発位置(デポ)を始点とする各グループ毎の経路を、第1本装置の経路データ受付手段が経路データとして受け付ける。そして、第1本装置の経路形成手段によって形成された経路を、第2本装置の経路データ受付手段が経路データとして受け付けさらに経路調整する。
【図面の簡単な説明】
【図1】一実施形態の本発明の経路探索装置(本装置)のハードウエア構成を示す概略ブロック図である。
【図2】本装置の大まかな基本構成を示す概略機能ブロック図である。
【図3】初期情報データベースが予め記憶しているデータの一例を示す図である。
【図4】クラスタ分割部の詳細機能ブロック図である。
【図5】テーブル初期化部35が作成する距離テーブルの一例である。
【図6】N−opt部73からクラスタ数計算部37が受信した巡回路の一例(巡回路を座標中に図示したもの)である。
【図7】仮巡回路形成部41の詳細機能ブロック図である。
【図8】計算された各配達点の各クラスタへの帰属度を示す図である。
【図9】配達点の所属クラスタの決定方法を示す図である。
【図10】各クラスタに所属する配達点の番号を各クラスタ毎に記載した配達点番号リストの一例である。
【図11】経路記憶部97が記憶している配達点番号リストの各クラスタに割り当てたデポを書き込んだものを示す図である。
【図12】改善クラスタ別初期巡回路の一例を示す図である。
【図13】所属調整部51の詳細機能ブロック図である。
【図14】履歴記憶部98に書き込まれて記憶された履歴の一例を示す図である。
【図15】稼動率調整部61の詳細機能ブロック図である。
【図16】巡回距離差の算出方法について説明する図である。
【図17】クラスタ分割部31の動作を示すフローチャートである。
【図18】仮巡回路形成部41の動作を示すフローチャートである。
【図19】仮巡回路形成部41の動作を示すフローチャートである。
【図20】所属調整部51の動作を示すフローチャートである。
【図21】所属調整部51の動作を示すフローチャートである。
【図22】所属調整部51の動作を示すフローチャートである。
【図23】稼動率調整部61の動作を示すフローチャートである。
【図24】稼動率調整部61の動作を示すフローチャートである。
【図25】稼動率調整部61の動作を示すフローチャートである。
【図26】s501にて経路制御部52が、経路記憶部97から読み出し取得した改善クラスタ別初期巡回路を示す図である。
【図27】ランダム挿入選択点加除巡回路を示す図である。
【図28】ランダム挿入選択点加除巡回路を示す図である。
【図29】ランダム挿入選択点加除巡回路を示す図である。
【図30】ランダム挿入選択点加除巡回路を示す図である。
【図31】ランダム挿入選択点加除巡回路を示す図である。
【図32】ランダム挿入選択点加除巡回路を示す図である。
【図33】ランダム挿入選択点加除巡回路を示す図である。
【図34】ランダム挿入選択点加除巡回路を示す図である。
【図35】ランダム挿入選択点加除巡回路を示す図である。
【図36】ランダム挿入選択点加除巡回路を示す図である。
【図37】ランダム挿入選択点加除巡回路を示す図である。
【図38】ランダム挿入選択点加除巡回路を示す図である。
【図39】ランダム挿入選択点加除巡回路を示す図である。
【図40】ランダム挿入選択点加除巡回路を示す図である。
【図41】ランダム挿入選択点加除巡回路を示す図である。
【図42】ランダム挿入選択点加除巡回路を示す図である。
【図43】ランダム挿入選択点加除巡回路を示す図である。
【図44】ランダム挿入選択点加除巡回路を示す図である。
【図45】ランダム挿入選択点加除巡回路を示す図である。
【符号の説明】
11 本装置
11a CPU
11b RAM
11c ROM
11d インターフェイス
19 ハードディスク
21 初期情報データベース
31 クラスタ分割部
33 ファイル読み出し部
35 テーブル初期化部
37 クラスタ数計算部
41 仮巡回路形成部
43 ファジークラスタリング計算部
45 初期巡回路作成部
51 所属調整部
52 経路制御部
53 所属変更処理部
54 履歴チェック部
55 都市所属変更処理部
56 所属変更結果設定部
61 稼動率調整部
63 稼動率調整制御部
65 変更試行部
67 結果出力部
71 ランダム挿入部
73 N−opt部
75 巡回時間算出部
91 初期情報記憶部
93 車両数記憶部
95 クラスタ属性値記憶部
97 経路記憶部
98 履歴記憶部
99 所要時間記憶部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a route adjusting device, and more specifically, in a system in which a plurality of routes from a starting point to a plurality of points exist, the load (for example, distance, time, cost, operating rate, etc.) of each route is reduced. The present invention relates to a path adjustment device that adjusts a path by reducing a load.
[0002]
[Prior art]
There are many cases in which a plurality of places are visited by a plurality of moving bodies. For example, a courier company visits a plurality of points (specifically, companies, homes, etc.) that need to be delivered per day by a plurality of mobile bodies (specifically, trucks on which the person in charge has boarded). In other cases, the mail is delivered to a plurality of points (specifically, companies, homes, etc.) by a plurality of moving bodies (specifically, bicycles or motorcycles on which the person in charge has boarded).
When traveling around such multiple locations with multiple mobile units, it is of course possible to make the load (eg, distance, time, cost, availability, etc.) as small as possible. When it is preferable to make the load of the same as much as possible (for example, if there is a large difference in delivery time between the mobile bodies in the courier company, unfairness may occur between the mobile bodies). There are many.
[0003]
It is based on experience and intuition to date to determine a route that reduces the load or reduces the difference in load between each moving body when traveling around such multiple places with a plurality of moving bodies. Therefore, it has been performed by humans or by calculation using a computer.
[0004]
[Problems to be solved by the invention]
However, the method that a person performs based on experience and intuition is that the results obtained are greatly influenced by the experience and intuition of the person who performs it, and even if the same person has different dates and times, different results may be obtained. There was a problem of being obtained.
On the other hand, in a calculation using a computer, a method in which calculation is performed in all cases is not practical because it requires enormous calculation and a long time to be applied to an actual system.
[0005]
Therefore, in the present invention, there is provided an apparatus capable of practically determining a route that reduces a load when a plurality of places are circulated by a plurality of mobile bodies or reduces a load difference between the mobile bodies. The purpose is to provide.
[0006]
[Means for Solving the Problems]
(First device)
First, a first route adjustment apparatus (hereinafter referred to as “first main apparatus”) of the present invention will be described.
The first main apparatus includes a route data receiving unit that receives a plurality of route data including a start point and routes that go around a plurality of points, and a load among the plurality of route data that is received by the route data receiving unit. A start completion determination unit that determines a start route that is different from the lightest route, and a completion route that is a lighter load than the start route, and a plurality of route data received by the route data reception unit. Selecting a selection point that is a point included in one route and another route having a predetermined relationship with the selection point, and moving the selection point from the one route to the other route; At the first time, the starting route is selected as the one route, and from the next time onward, the other route before the previous time or the starting route as the one route, the affiliation changing means for repeating the selection and the movement, and the other No But and a completion determining means for determining whether or not to match with the complete path, the affiliation change means, and operates repeatedly until it is determined that the completion determination means matches a path adjusting device.
[0007]
By doing so, the route data accepting means accepts a plurality of route data including the starting point and the route around the plurality of points. Here, “route” refers to an order indicating the order of going around a plurality of points.
Then, the start completion determination unit has a start route that is a route different from the route with the lightest load among the plurality of route data received by the route data reception unit, and a completion route that has a lighter load than the start route. And decide. Here, “load” means the time required to travel around multiple points according to the route, the travel distance when traveling around multiple points according to the route, the cost required to travel around multiple points according to the route, etc. This refers to matters that should be borne when visiting multiple points according to the route. By doing in this way, the start completion determination means determines the start route and the completion route with a smaller load.
[0008]
The affiliation changing unit selects a selection point that is a point included in one route of the plurality of route data received by the route data reception unit, and another route having a predetermined relationship with the selection point, and Move the selected point from the route to the other route (refers to removing the selected point included in the one route from the one route and including it in the other route, ie, belonging to the one route) The selected point is removed from belonging to the one route and is assigned to the other route.) The start route is selected as the one route for the first time, and the next time and before The operation of the selection and the movement is repeated with the other route or the start route as the one route.
The completion determining means determines whether or not the other route matches the completion route. When the completion determining means determines that they match, the affiliation changing means repeats the operations of the selection and the movement. Stop (that is, the affiliation changing means repeats the operations of the selection and the movement until it is determined that the completion determination means match).
[0009]
In this way, in the first operation of the affiliation changing means (first time), a heavy starting route is set as the one route, and a selected point that is a point included in the starting route has a predetermined relationship with the selected point. Move to another route.
In the second operation of the affiliation changing means, the other route of the first time (first time) or the start route is set as the one route of the second time. A selection point that is a point included in the second route (that is, the other route or the start route of the first time (first time)) is moved to another route having a predetermined relationship with the selected point.
Hereinafter, such an operation (an operation of moving a selection point from one route to another route) is repeated until the other route matches the completed route, so that the number of points included in the heavy start route decreases. At the same time, the number of points included in the completed route with a light load increases, and the load difference between the routes can be reduced. For this reason, the first apparatus can determine a route that reduces the load difference between the moving bodies when the plurality of places are visited by the plurality of moving bodies.
Note that moving a selected point from one route to another route means that a selected point included in one route is excluded from one route and included in another route as described above. In other words, it means that a selected point belonging to one route is released from belonging to one route and belong to another route.
[0010]
In the first apparatus, the start route is a route having the heaviest load among the plurality of route data received by the route data receiving means, and the completion route has the highest load among the plurality of route data. A light path may be used.
This reduces the number of points included in the start route, which is the route with the heaviest load among multiple route data, and increases the number of points included in the completed route, which is the route with the lightest load. The load difference can be reduced.
[0011]
In the first apparatus, the affiliation changing means selects, as the selection point, a point having the highest degree of belonging to the completion route among points included in another route before the previous time or the start route. There may be.
Here, “degree of attribution” refers to the degree of membership in fuzzy clustering. Specifically, it is a number indicating the degree to which each point belongs to each group, with the points belonging to each route as each group. . The processing method of fuzzy clustering is a known technique, and is described in detail in, for example, Japanese Patent Laid-Open No. 05-274293 (the fuzzy c-means method, which is one of the methods of fuzzy clustering, including references). As a result, the degree of belonging to each cluster is calculated.) Therefore, the description is omitted here.
By doing so, the point belonging to the completion route among the points belonging to the other route before the previous time or the start route moves to the other route, so that the point existing in a suitable position can be moved. it can.
[0012]
In the first apparatus, the affiliation changing means uses, as the other route, a route indicating the highest degree of belonging among the degrees of belonging indicated by the selection point to another route before the previous time or a route other than the start route. You may choose.
In this way, the route showing the highest degree of belonging of the selected points to the other route before the previous time or the route other than the start route is selected as the other route, so the selected point is another route. (I.e., it shows a high degree of belonging to the fact that the selected point belongs to an unreasonable state because the route existing at a position far away from the selected point is set as another route) This can be prevented by setting the route as the other route.
[0013]
The first apparatus further includes route forming means for determining the order of the points belonging to the route in which the selected point is added / subtracted by the affiliation changing means and the change is included in the included points and forming a route. (Hereinafter referred to as “first apparatus owned by the path forming means”).
When the selected point is added or removed, a change occurs in the included point, and it becomes difficult to use the previous route as it is. For this reason, with respect to points belonging to a route in which the selected point is added or removed and the change is included in the included point, the route forming unit may determine the order of visiting the point again to form the route.
[0014]
In the first apparatus owned by the route forming means, the route data receiving means receives the route data including the route formed by the route forming means and further adjusts the route (hereinafter referred to as “repetitive first apparatus”). It may be.
By doing so, the route is adjusted a plurality of times by the first main apparatus, so that the load difference between the routes can be further reduced.
[0015]
In the first repetitive apparatus, the route may be repeatedly adjusted until the variation in the load for each route in the route formed by the route forming means falls within a predetermined range.
By doing this, the route is repeatedly adjusted by the first main apparatus until the variation in load for each route falls within a desired predetermined range, so that the load difference between the routes can be reduced well to a desired level. it can.
[0016]
In the first apparatus repeatedly, the equalization data forming means for forming equalization data, which is data indicating the variation in load for each path in the path formed by the path formation means, and the equalization for storing the equalization data Judgment whether the most recent equalized data formed by the equalized data storage means and the equalized data forming means is improved as compared to the past equalized data stored in the equalized data storage means And an improvement determination unit that, when it is determined that the improvement determination unit is improved, the route data reception unit receives the route data related to the route formed by the route formation unit and further adjusts the route. (Hereinafter referred to as “equalized data use first main apparatus”).
In this way, when the route is repeatedly adjusted by the first apparatus repeatedly, the situation in which the variation in the load for each route is being reduced (that is, the possibility that the variation may be reduced in the future) ) Repeatedly adjusts the route, so that the load difference between the routes can be reduced well. Further, when the route is repeatedly adjusted by the first device repeatedly, if the reduction in the variation in load for each route stops further (saturates), the route adjustment is stopped repeatedly, so the first route is repeatedly used. It is possible to prevent the apparatus from performing useless processing.
[0017]
In the first apparatus, the history storage means stores the history of the affiliation change process of the selected point performed by the affiliation change means, and the history storage means stores the same history as the affiliation change process of the most recently selected point. A convergence determination unit that determines whether or not the history storage unit stores the same history as the affiliation change process of the most recent selection point, The route data receiving unit may receive route data related to the route formed by the route forming unit and further adjust the route.
In this way, when the route is repeatedly adjusted multiple times by the first main apparatus, the operation for reducing the variation in the load for each route is still saturated when the same history as the affiliation change processing of the most recent selected point does not exist. It is determined that the operation has not been performed (that is, the operation has not yet oscillated), and the route is repeatedly adjusted, so that the load difference between the routes can be reduced well. If the same history as the process of changing the affiliation of the most recently selected point exists, it is determined that the operation for reducing the variation in load for each route is saturated (that is, the operation is vibrating), and the route is adjusted. Is stopped, it is possible to prevent the first apparatus from repeatedly performing unnecessary processing.
[0018]
In the first apparatus using equalization data, the history storage means for storing the history of the affiliation change process of the selected point performed by the affiliation change means and the improvement determination means are improved in the latest equalization data. A convergence determination unit for determining whether or not the history storage unit stores the same history as that of the selection point affiliation change processing related to the latest equalization data, the convergence determination unit However, if it is not determined that the history storage unit stores the same history as the selection point affiliation change processing related to the most recent equalization data, the route data related to the route formed by the route forming unit is The data receiving means may receive and further adjust the route.
In this way, even if the improvement determining means does not determine that the most recent equalized data has been improved in the first apparatus using equalized data, the same history as the affiliation change process of the most recent selected point When there is not, it is determined that the operation for reducing the variation in load for each route is not yet saturated (that is, the operation is not yet oscillating), and the route is repeatedly adjusted. Can be reduced more effectively.
[0019]
(Second book device)
Next, a second route adjustment apparatus (hereinafter referred to as “second main apparatus”) of the present invention will be described.
The second apparatus includes a route data receiving unit that receives a plurality of route data including a starting point and a route around the plurality of points, and each point included in the plurality of route data received by the route data receiving unit. , A total load evaluation unit that evaluates a change in load on all routes that occurs when the point belongs to a route that does not include the point, and a load change that is evaluated by the total load evaluation unit The point where the affiliation is changed when the load is reduced compared to before the change, and the previous affiliation where the point where the affiliation is changed belongs to before the change of affiliation A load change storage means for storing the associated route as a change candidate data, and a post-affiliation route that is a route to which the affiliation is changed. Remembered Extraction means for extracting one that satisfies a predetermined condition among said change candidate data, are those comprising a path adjusting device.
[0020]
By doing so, the route data accepting means accepts a plurality of route data including the start point and the route around the plurality of points.
Then, the overall load evaluation means evaluates the change in the load of all the routes that occurs when each point included in the plurality of route data received by the route data receiving means belongs to a route that does not include the point. .
Here, “route” and “load” are the same as those described in the first apparatus.
The load change storage means is a point where the affiliation is changed when the change in the load evaluated by the overall load evaluation means indicates that the load is reduced as compared to before the affiliation of the point is changed. A previous belonging route that is a route to which the point where the affiliation is changed belongs before the affiliation is changed, and a post-affiliation route that is a route to which the affiliation is changed is a route to which the affiliation is changed, , Are stored as change candidate data.
Finally, the extraction unit extracts data that matches a predetermined condition from the change candidate data stored in the load change storage unit.
[0021]
For this reason, a load change that occurs when a point belongs to a route that does not include the point is obtained by the overall load evaluation means, and this load change is a load compared to before the point affiliation is changed. Change candidate data is stored in the load change storage means. Then, the extraction unit extracts the change candidate data stored in the load change storage unit that matches the predetermined condition, so that the load is reduced compared to the route data received by the route data reception unit. Change candidate data can be obtained.
In other words, the second main apparatus is an apparatus that determines a route that reduces the load when a plurality of places are visited by a plurality of moving bodies.
[0022]
In the second apparatus, the change candidate data is further associated with a degree of reduction indicating how much the total load of all routes is reduced as compared to before the change of location affiliation. The predetermined condition may be a condition that the degree of reduction is the maximum.
In this way, the extraction means indicates how much the total load of all routes among the change candidate data stored in the load change storage means is reduced as compared to before the location affiliation is changed. Since the data with the maximum reduction degree is extracted, change candidate data that can reduce the load most can be obtained.
[0023]
The second apparatus further includes route forming means for forming a route according to the change candidate data extracted by the extracting means (hereinafter referred to as “route forming means-owned second apparatus”). Also good.
Since the change candidate data indicates that the affiliation of the point is changed, if this change is made, the point included in the route is changed, and it becomes difficult to use the previous route as it is. Therefore, the route may be formed again by the route forming means according to the change candidate data.
[0024]
In the second apparatus owned by the route forming means, the route data receiving means receives the route data including the route formed by the route forming means and further adjusts the route (hereinafter referred to as “repeated second apparatus”). It may be.
By doing so, the route is adjusted a plurality of times by the route forming means possessing second main device, so that the load can be further reduced.
[0025]
The second apparatus repeatedly includes a change candidate history storage unit that stores a history of change candidate data extracted by the extraction unit, and the extraction unit stores the change candidate data stored in the load change storage unit. Of these, the one extracted from the change history data excluding the same history as the history stored in the change candidate history storage means (hereinafter referred to as “duplicate history elimination second apparatus”) may be used.
By doing so, the change candidate history storage means stores the history of change candidate data previously extracted by the extraction means, and the extraction means changes the change candidate data stored in the load change storage means. Since it is extracted from the change history data excluding the same as the previous history stored in the candidate history storage means, it is possible to prevent the extraction means from duplicating what was previously extracted by the extraction means it can.
[0026]
In the duplicate history elimination second apparatus, the route data receiving unit receives route data including the route formed by the route forming unit until the extracting unit cannot extract the change history data, and further adjusts the route. You may do.
In this way, it is possible to thoroughly examine change candidate data that can reduce the load.
[0027]
(3rd device)
Furthermore, the present invention also provides a path forming device. The route forming apparatus of the present invention (hereinafter referred to as “third main apparatus”) will be described.
The third apparatus can receive position data of a plurality of points, and can calculate the total load calculating means for calculating the total load around all of the plurality of points, and each mobile body that visits a part of the plurality of points. A moving body number determining unit that receives a load allowable amount that is a load amount and determines the number of moving bodies by a predetermined method from the total load evaluated by the total load calculating unit and the load allowable amount; A point dividing unit that divides a plurality of points by the number of the moving bodies, a mobile body starting position information receiving unit that receives starting position information indicating a starting position of each of the moving bodies, and a point divided by the point dividing unit A mobile unit allocating unit for allocating the mobile unit according to the starting position information having a predetermined positional relationship with respect to each group, and a starting point of the mobile unit allocated by the mobile unit allocating unit as a starting point. Consisting includes a respective group primitive path forming means for forming a path for each group over the all points belonging to the group corresponding to the body, and a path forming apparatus.
[0028]
The “load” here is the same as that described in the first apparatus. If such a 3rd main apparatus is used, a total load calculation means will receive the position data of a some point, and will calculate the whole load over all this some point.
Then, the moving body number determination means receives a load allowable amount that is an amount of load that can be handled by each of the moving bodies that travel around some of the plurality of points. Further, the moving body number determining means determines the number of moving bodies by a predetermined method from the total load evaluated by the total load calculating means and the received load allowable amount.
Further, the point dividing means divides the plurality of points by the number of moving bodies (determined by the moving body number determining means).
The moving body departure position information receiving means receives departure position information indicating the departure position of each moving body.
Then, the moving body assigning means assigns the moving body related to the departure position information having a predetermined positional relationship to each group of points divided by the point dividing means.
Finally, each group original route forming means creates a route for each group that goes around all points belonging to the group corresponding to the moving object, with the starting position of the moving object assigned by the moving object assigning means as the starting point.
[0029]
Therefore, the third main apparatus receives the position data of a plurality of points to be visited, the allowable load that can be handled by each of the moving bodies that travel around some of the plurality of points, and the starting position of each of the moving bodies. Divides a plurality of points into groups according to the number of required moving bodies, assigns a moving body to each group, and starts from the starting position of the moving body assigned to the group for each group. Create a route around all points belonging to the group.
For this reason, when the third apparatus circulates a plurality of places by a plurality of mobile bodies, each mobile body can determine which place it takes over and how each mobile body goes around these places. .
[0030]
In the third apparatus, the first total amount obtained by summing up the loads related to the routes for each group formed by the group original route forming means for all the groups, and the moving body number determining means are received by each group, The total amount determining means for comparing the second total amount obtained by adding up the load allowable amounts of the allocated mobile objects and determining whether or not the second total amount is equal to or greater than the first total amount; and If the total amount is not determined to be greater than or equal to the first total amount, the mobile unit further includes a mobile unit increasing unit that increases the number of mobile units, and the point dividing unit includes a plurality of points according to the increased number of mobile units. The mobile body assigning means assigns a mobile body to each group of points divided according to the increased number of mobile bodies, and each group primitive path forming means assigns the increased number of mobile bodies. Path for each group of points that are divided according to the number of the mobile may be configured to create the.
[0031]
In this way, the total amount judging means adds up the load allowable amounts of the mobile units assigned to the respective groups, and the second total quantity has all the loads related to the routes for each group formed by the respective group original route forming means. It is judged whether it is more than the 1st total amount totaled about the group of. This is because the load capacity (capability) of all the mobile units that are handled cannot be executed unless it is equal to or greater than the total load on the route of each group.
Accordingly, the moving object increasing means increases the number of moving objects when the total amount determining means does not determine that the second total amount is greater than or equal to the first total amount. Then, the point dividing unit divides a plurality of points according to the increased number of moving objects, and the moving object assigning unit assigns the moving object to each group of the points divided according to the increased number of moving objects. And each group primitive route forming means creates a route for each group of points divided according to the increased number of moving bodies (ie, increasing the number of moving bodies and increasing the number of moving bodies). Depending on the number of bodies, the point dividing means, the moving object assigning means, and each group primitive route forming means operate.)
As a result, the path formed by the third main apparatus can be executed more reliably.
[0032]
Needless to say, the third book apparatus can be used alone, but can also be used in combination with the first book apparatus or the second book apparatus. In this case, the route data receiving means of the first book device or the second book device may accept the route for each group starting from the starting position of the mobile body formed by the third device as route data. . If constituted in this way, when a plurality of places are circulated by a plurality of mobile bodies, the third apparatus forms which places each mobile body takes charge of, and how each mobile body goes around these locations. Can be adjusted well (when combined with the first apparatus, the load difference between the paths can be reduced, and when combined with the second apparatus, the load can be reduced).
[0033]
Further, it goes without saying that either the first book apparatus or the second book apparatus can be used alone, but the first book apparatus and the second book apparatus can also be used in combination. It does not matter before and after combining these two cases (ie, when the result obtained by the first device is adjusted by the second device, and when the result obtained by the second device is adjusted by the first device. In this case, since it is necessary to pass the route data to the one located later, the one located before needs to be provided with a route forming means.
In other words, the route formed by the route forming unit of the first device owned by the route forming unit may be configured to receive the route data receiving unit of the second device as route data and further adjust the route. Furthermore, in such a case, the route for each group starting from the starting position of the mobile body formed by the third device is configured to be received as route data by the route data receiving device of the first device owned by the route forming device. May be.
Conversely, the route formed by the route forming means of the second device owned by the route forming means may be configured so that the route data receiving means of the first device accepts it as route data and further adjusts the route. Further, in such a case, the route for each group starting from the starting position of the moving body formed by the third device is configured to be received as route data by the route data receiving device of the second device owned by the route forming device. May be.
In this way, by combining the first main apparatus and the second main apparatus, it is possible to reduce the load difference between the paths and reduce the load at a time.
[0034]
Any of the first apparatus, the second apparatus, and the third apparatus can be realized by causing a computer to execute a predetermined program, and the program is recorded on a computer-readable storage medium. Can do.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited by these.
[0036]
FIG. 1 is a schematic block diagram showing a hardware configuration of a route search apparatus (present apparatus) 11 according to an embodiment of the present invention. With reference to FIG. 1, a hardware configuration of the
In the present embodiment, the
The
[0037]
FIG. 2 is a schematic functional block diagram showing a rough basic configuration of the
Functionally, the
[0038]
The
[0039]
FIG. 4 is a detailed functional block diagram of the
Functionally, the
First, when the
Thereafter, the
[0040]
Upon receiving the activation signal from the
Further, the
Thereafter, the
[0041]
Upon receiving the activation signal from the
The random insertion unit 71 that has received the activation signal from the cluster
[0042]
The cluster
The N-opt unit 73 that has received the received circuit from the cluster
The N-opt unit 73 transmits, to the cluster
FIG. 6 shows an example of the improved circuit (the circuit is shown in the coordinates) received by the cluster
[0043]
The
The traveling
As described above, the cluster
[0044]
The cluster
Next, the cluster
Then, the cluster
As described above, the cluster
Finally, the cluster
[0045]
FIG. 7 is a detailed functional block diagram of the provisional
The provisional
First, the fuzzy
Then, the fuzzy
Finally, the fuzzy
[0046]
The initial
As described above, the fuzzy
[0047]
Next, the initial
Furthermore, the initial
As described above, the starting position information (FIG. 3B) indicating the starting position of each moving body (delivery vehicle) is received by the initial circuit creation unit 45 (the third apparatus). Accepting means is configured. Then, a predetermined positional relationship (here, the center of gravity of each cluster is set) with respect to each group (cluster) of the points (delivery points) divided by the point dividing means (of the third apparatus) by the initial
Thereafter, the initial
[0048]
The random insertion unit 71 that has received the delivery point number list from the initial
The initial
The N-opt unit 73 that has received the cluster-specific initial circuit from the initial
As described above, the initial
The initial
[0049]
Thereafter, the initial tour
The initial
As described above, the initial
[0050]
FIG. 13 is a detailed functional block diagram for explaining the operation of the affiliation adjusting unit 51. The detailed configuration of the affiliation adjustment unit 51 will be described with reference to FIG.
Functionally, the affiliation adjustment unit 51 includes a route control unit 52, an affiliation change processing unit 53, a history check unit 54, a city affiliation change processing unit 55, and an affiliation change result setting unit 56.
First, the path control unit 52 that has received the activation signal from the initial
Next, the path control unit 52 calculates the cyclic distance for each cluster in the improved initial cluster circuit by using the distance table and the improved initial cluster circuit for the cluster.
Then, the route control unit 52 calculates the operation rate for each delivery vehicle. The operating rate is defined as a quotient obtained by dividing the traveling distance for each cluster calculated as described above by the restriction condition of the delivery vehicle in charge of the cluster (FIG. 3C, here, all 10000).
Further, the route control unit 52 obtains an average value (arithmetic) of the operation rate for each delivery vehicle, and calculates an equalization coefficient using the average value. For each delivery vehicle, the equalization coefficient is the absolute value of (the operation rate of the delivery vehicle−the average value of the operation rate) (that is, | (the operation rate of each delivery vehicle) − (the average value of the operation rate) |)). Is calculated by adding the absolute values obtained for all delivery vehicles to obtain a total value and dividing the total value by the number of delivery vehicles (ie, equalization coefficient = Σ (| (each Calculated as (operating rate of delivery vehicle) − (average value of operating rate) |) / (number of delivery vehicles)).
Finally, the route control unit 52 transmits the operation rate and the equalization coefficient for each delivery vehicle calculated as described above to the affiliation change processing unit 53.
[0051]
The affiliation change processing unit 53 that has received the operation rate and the equalization coefficient for each delivery vehicle from the route control unit 52 has the received equalization coefficient stored by itself (the affiliation change processing unit 53). (As will be described later, the affiliation change processing unit 53 stores the minimum equalization coefficient so far, so that the received equalization coefficient is the minimum equalization so far. It is determined whether or not it is smaller than the coefficient.) Or, it is determined whether or not itself (affiliation change processing unit 53) stores the equalization coefficient, and when it is determined that it is one of them, After overwriting and storing the received equalization coefficient (that is, the affiliation change processing unit 53 stores the smallest one of the equalization coefficients received from the path control unit 52 so far). Each delivery received from the route control unit 52 To send the rate of operation of each both to the city affiliation change processing unit 55. On the other hand, the affiliation change processing unit 53 determines that the received equalization coefficient is not smaller than the equalization coefficient stored by itself or does not store the equalization coefficient by itself. In this case (that is, when the affiliation change processing unit 53 stores the equalization coefficient and the received equalization coefficient is equal to or greater than the stored equalization coefficient), the history check unit 54 receives an activation signal. To emit.
[0052]
The city affiliation change processing unit 55 that has received the operation rate for each delivery vehicle from the affiliation change processing unit 53 accesses the initial information storage unit 91 and coordinates of delivery points stored in the initial information storage unit 91 (FIG. 3 ( a)) and the coordinates of the depot (FIG. 3B) are read and acquired, the cluster attribute
Next, the city affiliation change processing unit 55 stores the cluster handled by the delivery vehicle that gives the highest operation rate among the operation rates for each delivery vehicle received from the affiliation change processing unit 53 as a cluster of the provider. It is also stored in the cluster list (the storage area of the city affiliation change processing unit 55 itself). Furthermore, the city affiliation change processing unit 55 stores, as a provision destination cluster, a cluster handled by the delivery vehicle that gives the lowest operation rate among the operation rates for each delivery vehicle received from the affiliation change processing unit 53. In this way, the start route (here, the load) that is different from the lightest route among a plurality of route data received by the route data receiving means (of the first main apparatus) by the city affiliation change processing unit 55. Is the heaviest route of the providing cluster), and the completed route that is lighter than the starting route (here, the route of the providing cluster that is the lightest route) Start completion determining means (of the first main apparatus) to determine is configured. Here, the load is evaluated based on the operation rate.
[0053]
Thereafter, the city affiliation change processing unit 55 out of the delivery points belonging to the cluster route stored in the cluster list (obtained from the initial circuit for each improved cluster (FIG. 11) read and acquired as described above). A delivery point having the highest degree of belonging to the cluster of the provider is selected (the degree of membership of each delivery point is obtained by using the degree of belonging to each cluster of each delivery point read and acquired as described above (FIG. 8). Hereinafter, the selected delivery point is referred to as “selected point”). When a plurality of clusters are stored in the cluster list, a selection point is selected from all delivery points belonging to the plurality of clusters (for example, three clusters of cluster 50, cluster 63, and cluster 78 are cluster clusters). In the case of being stored in the list, one selection point is selected from all of the delivery points belonging to the cluster 50, the delivery points belonging to the cluster 63, and the delivery points belonging to the cluster 78).
For example, if the cluster stored in the cluster list is
Then, the city affiliation change processing unit 55 sets the cluster to which the selected point belongs as the affiliation source cluster. In the above example, since the
Next, the city affiliation change processing unit 55 moves to a cluster other than the clusters stored in the cluster list (if a plurality of clusters are stored in the cluster list, the cluster is not one of the plurality of clusters). The cluster indicating the highest degree of belonging among the degrees of belonging indicated by the selected point is selected and stored as the affiliation change destination cluster. For example, in the above example, since the number of clusters stored in the cluster list is 2, the clusters other than the cluster are
[0054]
Thereafter, the city affiliation change processing unit 55 selects the selection points belonging to the route of the affiliation source cluster in the initial circuit for each improved cluster (as shown in FIG. 11 read from the route storage unit 97). delete. For example, in the above-described example, the delivery points belonging to the
Furthermore, the city affiliation change processing unit 55 adds the selected point to the route of the affiliation change destination cluster in the initial circuit for each improved cluster that the selected point has deleted. For example, in the above-described example, the delivery points belonging to the affiliation
Finally, the city affiliation change processing unit 55 deletes the selected point from the affiliation source cluster and adds the selected point to the affiliation change destination cluster as described above. Is transmitted to the random insertion unit 71.
[0055]
The random insertion unit 71 that has received the selected point addition / departure circuit accesses the initial information storage unit 91 and stores the coordinates of the delivery point (FIG. 3A) stored in the initial information storage unit 91 and the coordinates of the depot (see FIG. 3 (b)) is read out, the required
The city affiliation change processing unit 55 that has received the random insertion selection point addition / removal circuit from the random insertion unit 71 overwrites and stores the random insertion selection point addition / division circuit in the
[0056]
Then, the city affiliation change processing unit 55 transmits the random insertion selection point addition / division circuit to the tour
The traveling
Then, the city affiliation change processing unit 55 writes and stores a history relating to the addition / removal processing of the selected point in the history storage unit 98 (the history is additionally written and stored instead of being overwritten). The history of the selection point addition / deletion processing includes items of a providing source cluster, a providing destination cluster, a belonging source cluster, a belonging change destination cluster, a delivery point as a selected point, and an operating rate of each delivery vehicle. FIG. 14 shows an example of the history written and stored in the history storage unit 98 (in FIG. 14, a work number and a figure number are added for easy understanding and explanation). Yes.) Details of FIG. 14 will be described later.
[0057]
Thereafter, the city affiliation change processing unit 55 determines whether or not the affiliation change destination cluster and the provision destination cluster match, and if it does not match, the affiliation change destination cluster at this time is added to the list of clusters described above. (In other words, the affiliation change destination cluster at this time is added to the cluster list and becomes a candidate to be selected as the affiliation source cluster of the next process.) After that, the city affiliation change processing unit 55 selects again. A point, an affiliation source cluster, and an affiliation change destination cluster are newly selected, and the above processing is performed. On the other hand, if the city affiliation change processing unit 55 determines that the affiliation change destination cluster and the provision destination cluster match, the city affiliation change processing unit 55 is included in the list of clusters in the random insertion selection point addition / division circuit (one or two or more). ) A plurality of clusters of the cluster and the destination cluster are read out and acquired from the path storage unit 97 (which stores the random insertion selection point addition / division circuit), and each of the acquired circuits is N -Send to the opt unit 73.
The N-opt unit 73 that has received a cyclic circuit (a part of a random insertion selection point addition / division circuit) related to a plurality of clusters from the city affiliation change processing unit 55 accesses the initial information storage unit 91 and the initial information storage unit 91 The stored coordinates of the delivery point (FIG. 3A) and the coordinates of the depot (FIG. 3B) are read and acquired, and the required
Then, the city affiliation change processing unit 55 that has received the improved partial random insertion selection point addition / removal circuit accesses the
Thereafter, the city affiliation change processing unit 55 issues an activation signal (same as the activation signal issued from the initial
[0058]
As described above, the points (delivery points) included in one route (route of the original cluster) of a plurality of route data received by the route data receiving means (of the first apparatus) by the city affiliation change processing unit 55 And another path (affiliation change) having a predetermined relationship with the selected point (a relationship indicating the highest degree of belonging of the selected points to a cluster other than the cluster stored in the cluster list) And the selected point is moved from the one route to the other route (the selected point included in the one route is removed from the one route and included in the other route). In other words, the selected point belonging to one route is unaffiliated to one route and belongs to another route.) The start route is selected as the one route for the first time, and the next time and before Other pathways or starting points The repeated operation of said selection and said movement (of the one unit) the affiliation change means is configured as the one path. Then, the city affiliation change processing unit 55 determines whether or not the other route (the route of the affiliation change destination cluster) matches the completion route (the route of the provision destination cluster). A determination means is configured. Further, the affiliation changing unit (of the first apparatus) repeatedly operates until it determines that the completion determining unit (of the first apparatus) matches.
Here, the city affiliation change processing unit 55, which is affiliation change means (of the first apparatus), is a point included in the other route or start route (the route of the cluster stored in the cluster list) before the previous time. The point having the highest degree of belonging to the completed route (the route of the cluster to be provided) is selected as the selected point.
Further, the city affiliation change processing unit 55 (affiliation change means) (of the first main apparatus) selects the route other than the other route or start route (the route of the cluster stored in the cluster list) before the previous time. The route showing the highest degree of belonging among the degrees of belonging indicated by the points is selected as the other route (the route of the belonging change destination cluster).
In this case, the selected point is added / subtracted by the affiliation changing means (of the first apparatus) by the random insertion unit 71, and the order of the points belonging to the route in which the change is included is determined to form the route. The route forming means (of the first main apparatus) is configured.
Further, the route data including the route formed by the random insertion unit 71 as the route forming unit (of the first device) is received by the city affiliation change processing unit 55 as the route data receiving unit (of the first device). adjust.
Furthermore, an equalization coefficient that is equalization data that is data indicating variation in load for each path in the path formed by the random insertion unit 71 that is the path forming means (of the first main apparatus) is formed (calculated) (first calculation). The path control unit 52 constitutes the equalized data forming means of this apparatus. Then, the affiliation change processing unit 53 constitutes an equalization data storage unit (of the first apparatus) that stores the equalization coefficient as the equalization data (the affiliation change processing unit 53 is the smallest equalization so far). Memory). Further, the affiliation change processing unit 53 causes the most recent equalization data (equalization coefficient) formed by the equalization data forming means (of the first apparatus) to be stored in the equalization data storage means (of the first apparatus). An improvement determination means (of the first apparatus) is configured to determine whether or not the improvement has been made (in this case, whether or not it is smaller) than the stored past equalization data (equalization coefficient). Yes. If the affiliation change processing unit 53 (improvement determination unit) (of the first device) determines that the improvement has been made, the route formed by the route formation unit (random insertion unit 71) (of the first device) The route data receiving means (city affiliation change processing unit 55) receives the route data (of the first main apparatus) and further adjusts the route.
[0059]
On the other hand, as described above, the affiliation change processing unit 53 that has received the operation rate and the equalization coefficient for each delivery vehicle from the route control unit 52, the received equalization coefficient is the equalization coefficient stored by itself. If it is determined that the equalization coefficient is not stored, and it is determined that none of them is stored (that is, the affiliation change processing unit 53 stores the equalization coefficient and receives the equalization coefficient) When the equalization coefficient is equal to or greater than the stored equalization coefficient), the history check unit 54 issues an activation signal, but the history check unit 54 that has received the activation signal accesses the
[0060]
That is, here, the
[0061]
As described above, the history check unit 54 determines that the same history as the latest history exists in the other history, and the affiliation change result setting unit 56 that has received the activation signal issued by the history check unit 54 stores the history change unit in the
Thereafter, the affiliation change result setting unit 56 issues an activation signal to the operation rate adjustment unit 61 (operation rate adjustment control unit 63).
[0062]
FIG. 15 is a detailed functional block diagram for explaining the operation of the operation rate adjusting unit 61. With reference to FIG. 15, the detailed structure of the operation rate adjustment part 61 is demonstrated.
The operating rate adjustment unit 61 functionally includes an operating rate adjustment control unit 63, a change trial unit 65, and a result output unit 67.
First, the operation rate adjustment control unit 63 (route data receiving means (of the second device)) that has received the activation signal from the affiliation change result setting unit 56 is stored in a combination history list described later stored by itself. Delete the contents (deletion is not necessary if nothing is stored in the combination history list).
Next, the operation rate adjustment control unit 63 accesses the initial information storage unit 91 to read out and acquire the constraint condition (FIG. 3C) stored in the initial information storage unit 91 (used for calculating the operation rate described later). Further, the
Then, the operating rate adjustment control unit 63 transmits the read and acquired tour to the tour
[0063]
The traveling
The operating rate adjustment control unit 63 that has received the traveling distance for each cluster according to the traveling circuit from the traveling
Next, the operation rate adjustment control unit 63 determines the order in which the operation rate for each cluster calculated above is large, and arranges the cluster numbers in the descending order (for example, the operation rate for each cluster is
[0064]
Thereafter, the operation rate adjustment control unit 63 deletes the contents stored in a candidate list (described later) stored by itself (the deletion is unnecessary if nothing is stored in the candidate list).
Next, the operation rate adjustment control unit 63 determines the cluster (here, the cluster) indicated by the cluster number located at the head of the aligned cluster number (“3” when the aligned cluster number is “3, 0, 2, 1”). 3) is selected as the operation rate adjustment provider cluster.
Furthermore, the operation rate adjustment control unit 63 selects one of the delivery points belonging to the operation rate adjustment providing source cluster as the change candidate delivery point p. As will be described later, each of the delivery points belonging to the operation rate adjustment providing source cluster is set as the change candidate delivery point p and the following processing is performed until all the delivery points belonging to the operation rate adjustment providing source cluster become the change candidate delivery point p. I do. Specifically, here, the delivery point located at the beginning of the route of the operation rate adjustment providing source cluster is first selected as the first change candidate delivery point p, and then the delivery point is selected in the order of the route, Select and process to the last delivery point on the circuit.
[0065]
Then, the operation rate adjustment control unit 63 selects one cluster from all the clusters as the operation rate adjustment provision destination cluster. Here, the one with the smallest cluster number, that is,
[0066]
Thereafter, the operation rate adjustment control unit 63 determines whether or not the operation rate adjustment providing source cluster and the operation rate adjustment providing destination cluster match, and if it is determined that the both clusters match, the operation rate adjustment rate is determined. The adjustment control unit 63 selects the next cluster as the operation rate adjustment provision destination cluster (note that all clusters have already been selected as the operation rate adjustment provision destination cluster, and other clusters have been selected as the operation rate adjustment provision destination cluster. If not, the next delivery point is selected as the change candidate delivery point p.)
When the operating rate adjustment control unit 63 determines that the operating rate adjustment providing source cluster and the operating rate adjustment providing destination cluster do not match, the operating rate adjustment control unit 63 reads and acquires the route from the
[0067]
The change trial unit 65 that has received the circuit from the operation rate adjustment control unit 63 changes the affiliation of the change candidate delivery point p from the operation rate adjustment providing source cluster (route) to the operation rate adjustment providing destination cluster (route). The change trial unit 65 reads and acquires the distance table stored in the required
As described above, each location included in the plurality of route data received by the route data receiving means (of the second apparatus) (operation rate adjustment control unit 63) by the operation rate adjustment control unit 63 and the change trial unit 65. Changes in load (distance) of all routes that occur when a point (delivery point) belongs to a route that does not include the point (delivery point) (route of the operation rate adjustment provision destination cluster) (cyclic distance difference) The total load evaluation means (of the second apparatus) is configured.
[0068]
The change trial unit 65 determines whether or not the cyclic distance difference is a positive value (if the cyclic distance difference is a positive value, the change candidate delivery point p is changed from the operation rate adjustment providing source cluster to the operation rate adjustment providing destination cluster. Changing the affiliation indicates that the traveling distance will be shorter.) If the traveling distance difference is determined to be a positive value, the operation rate adjustment providing source cluster, the operation rate adjustment providing destination cluster, and the change candidate delivery at that time The change trial unit 65 transmits information (change candidate data) associated with the delivery point as the point p and the data of the traveling distance difference to the operation rate adjustment control unit 63.
The operating rate adjustment control unit 63 that has received information relating to the data of the operating rate adjustment providing source cluster, the operating rate adjustment providing destination cluster, the delivery point as the change candidate delivery point p, and the traveling distance difference from the change trial unit 65, The related information is stored as a candidate list (additionally stored, not overwritten). At this time, the candidate list is stored in descending order of the difference in the cyclic distance included in the related information. That is, the change in the load (distance) evaluated by the overall load evaluation means (of the second main apparatus) reduces the load (the distance is shorter) than before the location (delivery point) is changed. The point where the affiliation is changed (delivery point) and the point where the affiliation is changed (delivery point) is the route to which the affiliation belongs before the affiliation is changed. The association between the rate adjustment providing source cluster and the operation rate adjustment providing destination cluster, which is the post-affiliation route that is the route to which the affiliation is changed, is stored as change candidate data ( The load change storage means (of the second apparatus) is configured by a candidate list of the operation rate adjustment control unit 63. Further, here, the change candidate data indicates a reduction in the traveling distance difference indicating how much the sum of the loads (distances) of all routes is reduced as compared to the point (delivery point) before the change. Are stored in an associated state.
In the case where the change trial unit 65 does not determine that the cyclic distance difference is a positive value, the change trial unit 65 issues a signal instructing the operation rate adjustment control unit 63 to select the next cluster as the operation rate adjustment providing destination cluster. .
[0069]
After receiving a signal instructing to select the next cluster or storing the related information as a candidate list, the operation rate adjustment control unit 63 selects the next cluster as the operation rate adjustment providing cluster ( If all the clusters have already been selected as the operation rate adjustment provision destination cluster and other clusters cannot be selected as the operation rate adjustment provision destination cluster, the next delivery point is selected as the change candidate delivery point p. ). Thereafter, the operation rate adjustment control unit 63 of the above-described processing is repeated from the operation of determining whether or not the operation rate adjustment providing source cluster and the operation rate adjustment providing destination cluster match.
[0070]
As described above, when all the clusters are selected as the operation rate adjustment provision destination cluster and the above processing is performed (all the clusters are already selected as the operation rate adjustment provision destination cluster, and the other clusters are When the adjustment provision destination cluster cannot be selected), the operation rate adjustment control unit 63 selects the next delivery point of the operation rate adjustment supply source cluster (out of the delivery points excluding the delivery point already selected as the change candidate delivery point p). The delivery point located at the head in the circuit is selected as the next change candidate delivery point p, and the operation rate adjustment control unit 63 repeats the operation of selecting the operation rate adjustment providing destination cluster in the above-described processing.
In this way, the operating rate adjustment control unit 63 sequentially selects the delivery points of the operating rate adjustment providing source cluster as the change candidate delivery points p, and the operating rate adjustment control unit 63 selects the operating rate adjustment providing destination cluster in the above processing. By repeating from the operation to be selected, all of the delivery points of the operation rate adjustment providing source cluster are selected as the change candidate delivery points p and the operation is performed, so that the delivery that is no longer selected as the change candidate delivery points p. When the operation rate adjustment control unit 63 determines that the point does not exist in the operation rate adjustment providing source cluster, the operation rate adjustment control unit 63 is selected as the operation rate adjustment providing source cluster in the next cluster (aligned cluster number). The next cluster after the current cluster) is selected as the availability adjustment provider cluster. Thereafter, the operation rate adjustment control unit 63 repeats the operation after selecting the delivery point belonging to the operation rate adjustment providing source cluster as the change candidate delivery point p among the operations described above.
[0071]
Similarly, the operation rate adjustment control unit 63 sequentially selects clusters as the operation rate adjustment providing source cluster, and the operation rate adjustment control unit 63 selects one of the delivery points belonging to the operation rate adjustment providing source cluster in the above-described processing. By repeating the operation after selecting the change candidate delivery point p, all the clusters are selected as the operation rate adjustment providing source cluster, and the operation is performed, so that it is no longer selected as the operation rate adjustment providing source cluster. When the operation rate adjustment control unit 63 determines that no cluster exists, the operation rate adjustment control unit 63 performs candidate check described below.
[0072]
The candidate check is a candidate list (operating rate adjustment providing source cluster, working rate adjustment providing destination cluster, delivery point serving as a change candidate delivery point p, information relating to the traveling distance difference data (hereinafter referred to as the operating rate adjustment control unit 63). , “Candidates”) are stored in order starting from the one with the largest difference in the cyclic distance.) And the affiliation that the operation rate adjustment control unit 63 has and has been performed so far as described later. Affiliation change history (operation rate adjustment providing source cluster, operation rate adjustment providing destination cluster, change candidate delivery point p delivery point, patrol distance, operation rate of each delivery vehicle stored in the history list storing the change history The operation rate adjustment control unit 63 compares the operation rate adjustment providing source cluster, the operation rate adjustment providing destination cluster, the delivery point that is the change candidate delivery point p, Same operation If there is an affiliation change history including the adjustment providing source cluster, the operation rate adjustment providing destination cluster, and the delivery point that is the change candidate delivery point p, the operation rate adjustment control unit 63 deletes the candidate from the candidate list. Check for candidates. The candidate check is performed until there are no unchecked candidates in the candidate list, and then the operation rate adjustment control unit 63 determines whether or not there is a candidate in the candidate list. The candidate at the head is extracted, and the cluster to which the delivery point belongs is changed according to the candidate (that is, the delivery point corresponding to the change candidate delivery point p indicated in the head candidate is adjusted from the operating rate adjustment providing source cluster. To change the affiliation to the destination cluster, specifically, the operation rate adjustment control unit 63 operates except for the change candidate delivery point p from the operation rate adjustment supply source cluster in the circuit read from the
Therefore, here, the operation rate adjustment control unit 63 extracts the change candidate data stored in the load change storage means (of the second apparatus) that matches a predetermined condition (of the second apparatus). Means are configured. Note that here, as described above, the change candidate data indicates how much the sum of the loads (distances) of all routes is reduced as compared to before the location (delivery point) is changed. The data of the degree of the cyclic distance difference is stored in a further associated state, and the predetermined condition when the extraction means (of the second apparatus) extracts is the condition that the reduction degree is the maximum. . Further, here, the operation rate adjustment control unit 63 has a change candidate history storage unit (of the second device) that stores the history of change candidate data extracted by the extraction unit (of the second device) (second device). It is composed of a history list (of this device), and the extraction means (of the second device) is stored in the load change storage means (candidate list of the operation rate adjustment control unit 63) (of the second device). The change history data is extracted from the change history data excluding the same data as the history stored in the change candidate history storage means (of the second apparatus).
[0073]
As described above, the operation rate adjustment control unit 63 determines that there are candidates remaining in the candidate list, and after changing the cluster to which the delivery point belongs according to the candidate located at the head among the remaining candidates, the operation rate The delivery point included in each of the adjustment providing source cluster and the operation rate adjustment providing destination cluster (the delivery point as the change candidate delivery point p is excluded from the former and the latter is joined) is transmitted to the random insertion unit 71. .
Upon receiving the delivery points included in each of the clusters, the random insertion unit 71 accesses the initial information storage unit 91 and stores the coordinates of the delivery points stored in the initial information storage unit 91 (FIG. 3A) and the depot. The coordinates (FIG. 3B) are read out and acquired, the required
[0074]
The operation rate adjustment control unit 63 that has received the tour from the random insertion unit 71 transmits the received tour to the N-opt unit 73.
The N-opt unit 73 that has received the circuit from the operation rate adjustment control unit 63 accesses the initial information storage unit 91 and coordinates of the delivery point stored in the initial information storage unit 91 (FIG. 3A). And the coordinates of the depot (FIG. 3B) are read and acquired, and the required
As described above, here, the random insertion unit 71 and the N-opt unit 73 form a route according to the change candidate data extracted by the extraction unit (of the second device) (the second device). Forming means are configured.
The operating rate adjustment control unit 63 that has received the improved tour from the N-opt unit 73 transmits the improved tour to the tour
The traveling
[0075]
The operating rate adjustment control unit 63 that has received the traveling distance for each cluster from the traveling
Thereafter, the operation rate adjustment control unit 63 belongs to its own history list, and belongs to the change history (operation rate adjustment providing source cluster, operation rate adjustment providing destination cluster, change candidate delivery point p, delivery point, traveling distance, each delivery vehicle's The operation rate and the equalization coefficient are stored) and the circuit (the improved circuit received from the N-opt unit 73 as described above) is written to the
Thus, the route data including the route formed by the route forming unit (of the second main device) is received by the route data receiving unit (of the second main device), and the route is further adjusted. In this case, the route data including the route formed by the route forming unit (of the second device) is extracted from the second unit until the extracting unit (of the second device) cannot extract the change history data. The route data receiving means (of the device) receives and further adjusts the route.
[0076]
As described above, the operation rate adjustment control unit 63 checks candidates and receives the tour and history list issued by the operation rate adjustment control unit 63 when it is not determined that candidates remain in the candidate list. The result output unit 67 extracts all of the affiliation change histories in the received history list that have an operation rate of 1 or less and the minimum traveling distance, and finally ends the circuit corresponding to the extracted affiliation change histories. Output as a decision circuit by a predetermined method (printing, display on a display, etc.).
The result output unit 67 obtains the final decision circuit as follows (1) to (4). That is, first, (1) the result output unit 67 includes the affiliation change history (operation rate adjustment providing source cluster, operation rate adjustment providing destination cluster, change candidate delivery point p included in the history list received from the operation rate adjustment control unit 63. Among the delivery points, the traveling distance, the operating rate of each delivery vehicle, and the equalization coefficient), the operating rate is all 1 or less and the traveling distance is the minimum (hereinafter referred to as “target affiliation change history”) .) Is extracted. Next, (2) the result output unit 67 uses the history list received from the operation rate adjustment control unit 63 and the tour route received from the operation rate adjustment control unit 63 to each cluster corresponding to the target affiliation change history. Create a list of delivery points belonging to. Specifically, the circuit received from the operation rate adjustment control unit 63 shows the state after the most recent affiliation change of the history list received from the operation rate adjustment control unit 63, so the latest history list List of delivery points belonging to each cluster corresponding to the target affiliation change history (specifically, delivery points belonging to each cluster) (Numbers listed) are created. (3) The result output unit 67 transmits a list of delivery points belonging to each cluster corresponding to the target affiliation change history obtained in (2) above to the random insertion unit 71. The insertion unit 71 creates a tour according to the list of delivery points (in accordance with the delivery point list, a tour that travels around all delivery points belonging to the cluster starting from the depot assigned to each cluster is randomly selected. Created by the insertion method.) The random insertion unit 71 transmits the created tour to the result output unit 67. Finally, (4) the result output unit 67 that has received the tour from the random insertion unit 71 transmits the received tour to the N-opt unit 73, and the N-opt unit 73 receives the tour as before. The N-opt method is applied to the road (for each cluster) to improve the circuit. The N-opt unit 73 transmits the improved tour to the result output unit 67.
[0077]
Next, the operation of the
FIG. 17 is a flowchart showing the operation of the
First, the
Thereafter, the
[0078]
The
Further, the
[0079]
The cluster
The random insertion unit 71 that has received the activation signal transmitted in s309 accesses the initial information storage unit 91 to read out and acquire the coordinates of the delivery point stored in the initial information storage unit 91 (FIG. 3A). At the same time, the required
[0080]
Upon receiving the tour created by the random insertion unit 71 in s310, the cluster
The N-opt unit 73 that has received the circuit transmitted from the cluster
The cluster
[0081]
The cluster
Then, the cluster
Thereafter, the cluster
[0082]
18 and 19 are flowcharts showing the operation of the provisional
First, referring to FIG. The fuzzy
Then, the fuzzy
[0083]
The initial
[0084]
Next, the initial
Further, the initial
Thereafter, the initial
[0085]
The random insertion unit 71 that has received the delivery point number list transmitted from the initial
The initial
In step S411, the N-opt unit 73 that has received the initial cluster-by-cluster circuit transmitted from the initial
The initial
[0086]
Next, the process moves to FIG. After s413, the initial
The initial
[0087]
20 to 22 are flowcharts illustrating the operation of the affiliation adjustment unit 51 of the
First, refer to FIG. The path control unit 52 that has received the activation signal issued in step s419 from the initial
Next, the path control unit 52 calculates the cyclic distance for each cluster in the improved initial cluster circuit by using the distance table and the initial cluster circuit by improved cluster (s502).
Then, the route control unit 52 calculates the operation rate for each delivery vehicle (s503). As described above, the operating rate is calculated as a quotient obtained by dividing the traveling distance for each cluster by the restriction condition of the delivery vehicle in charge of the cluster (FIG. 3C, here, all 10000).
Furthermore, the route control unit 52 obtains an average value (arithmetic) of the operation rate for each delivery vehicle, and calculates an equalization coefficient using the average value (s504). As described above, the equalization coefficient is the absolute value of (the operation rate of the delivery vehicle−the average value of the operation rate) for each delivery vehicle (ie, | (operation rate of each delivery vehicle) − (operation rate (Average value) |) is calculated by adding the absolute values obtained for all delivery vehicles to obtain a total value and dividing the total value by the number of delivery vehicles (ie, equalization coefficient = Σ (| (operating rate of each delivery vehicle) − (average value of operating rate) |) / (number of delivery vehicles))
Finally, the route control unit 52 transmits the operation rate and the equalization coefficient for each delivery vehicle calculated as described above to the affiliation change processing unit 53 (s505).
[0088]
The affiliation change processing unit 53 that has received the operation rate and the equalization coefficient for each delivery vehicle transmitted from the route control unit 52 in s505 stores the received equalization coefficient by itself (the affiliation change processing unit 53). If it is smaller than the equalization coefficient that is being used, or if it is determined that it (self-affiliation change processing unit 53) does not store the equalization coefficient (s506), and if it is determined that it is either (YES) After overwriting and storing the received equalization coefficient (s507) (that is, the affiliation change processing unit 53 stores the smallest equalization coefficient received from the path control unit 52 so far) The operation rate for each delivery vehicle received from the route control unit 52 is transmitted to the city affiliation change processing unit 55 (s550). On the other hand, the affiliation change processing unit 53 is not either whether the equalization coefficient received in s506 is smaller than the equalization coefficient stored by itself or does not store the equalization coefficient by itself. (NO) (that is, when the affiliation change processing unit 53 stores the equalization coefficient and the received equalization coefficient is equal to or greater than the stored equalization coefficient) An activation signal is issued to the check unit 54 (s551).
[0089]
The city affiliation change processing unit 55 that has received the operation rate for each delivery vehicle transmitted from the affiliation change processing unit 53 in s550 accesses the initial information storage unit 91 and stores the delivery points stored in the initial information storage unit 91. The coordinates (FIG. 3 (a)) and the coordinates of the depot (FIG. 3 (b)) are read out and acquired, the cluster attribute
Next, the city affiliation change processing unit 55 stores the cluster handled by the delivery vehicle that gives the highest operation rate among the operation rates for each delivery vehicle received from the affiliation change processing unit 53 as a cluster of the provider. It is also stored in the cluster list (the storage area of the city affiliation change processing unit 55 itself) (s509). Furthermore, the city affiliation change processing unit 55 stores, as the provision destination cluster, the cluster handled by the delivery vehicle that gives the lowest operation rate among the operation rates for each delivery vehicle received from the affiliation change processing unit 53 (s510). ).
[0090]
After that, the city affiliation change processing unit 55 provides the provision destination among the delivery points belonging to the clusters stored in the cluster list (obtained from the initial circuit for each improved cluster (FIG. 11) read and acquired as described above). (S511) (The degree of membership of each delivery point is the degree of membership of each delivery point read and acquired as described above (see FIG. 8). ) Is used.) When a plurality of clusters are stored in the cluster list, a selection point is selected from all delivery points belonging to the plurality of clusters (for example, three clusters of cluster 50, cluster 63, and cluster 78 are cluster clusters). In the case of being stored in the list, one selection point is selected from all of the delivery points belonging to the cluster 50, the delivery points belonging to the cluster 63, and the delivery points belonging to the cluster 78).
The city affiliation change processing unit 55 stores the cluster to which the selected point belongs as the affiliation source cluster (s512).
Next, the city affiliation change processing unit 55 moves to a cluster other than the clusters stored in the cluster list (if a plurality of clusters are stored in the cluster list, the cluster is not one of the plurality of clusters). The cluster indicating the highest degree of belonging among the degrees of belonging indicated by the selected point is selected and stored as the affiliation change destination cluster (s513).
[0091]
Reference is now made to FIG. After s513, the city affiliation change processing unit 55 deletes the selected points belonging to the affiliation source cluster in the initial circuit for each improved cluster that has been read (from the
After s514, the city affiliation change processing unit 55 transmits to the random insertion unit 71 the improved initial cluster circuit (selected point addition / division circuit) with the selected points deleted and added in s514 (s515).
[0092]
The random insertion unit 71 that has received the selected point addition / departure circuit accesses the initial information storage unit 91 and stores the coordinates of the delivery point (FIG. 3A) stored in the initial information storage unit 91 and the coordinates of the depot (see FIG. 3 (b)) is read out, the required
The city affiliation change processing unit 55 that has received the random insertion selection point addition / removal circuit from the random insertion unit 71 overwrites and stores the random insertion selection point addition / removal circuit in the
[0093]
Upon receiving the random insertion selection point addition / division circuit transmitted from the city affiliation change processing unit 55 in s517, the traveling
Then, the city affiliation change processing unit 55 writes and stores the history related to the addition / removal processing of the selected point in the history storage unit 98 (s519) (the history is additionally written and stored, not overwritten). As described above, the history of selection point addition / deletion processing includes each item of the source cluster, the destination cluster, the affiliation source cluster, the affiliation change destination cluster, the delivery point as the selection point, and the operating rate of each delivery vehicle. Is included.
[0094]
Thereafter, the city affiliation change processing unit 55 determines whether or not the affiliation change destination cluster and the provision destination cluster match (s520). If it does not determine that they match (NO), the affiliation change destination cluster at this time is determined. It is stored in the aforementioned cluster list (s521) (that is, the affiliation change destination cluster at this time is added to the cluster list and becomes a candidate to be selected as the affiliation source cluster for the next processing), and then again s511. Return to.
On the other hand, if the city affiliation change processing unit 55 determines in s520 that the affiliation change destination cluster and the provision destination cluster match (YES), it is included in the list of clusters in the random insertion selection point add / drop circuit ( A circuit of a plurality of clusters (one or two or more clusters) and a destination cluster is read out from the path storage unit 97 (which stores a random insertion selection point addition / division circuit). The route is transmitted to the N-opt unit 73 (s522).
The N-opt unit 73 that has received a cyclic circuit (a part of a random insertion selection point addition / division circuit) related to a plurality of clusters from the city affiliation change processing unit 55 accesses the initial information storage unit 91 and the initial information storage unit 91 The stored coordinates of the delivery point (FIG. 3A) and the coordinates of the depot (FIG. 3B) are read and acquired, and the required
Then, the city affiliation change processing unit 55 that has received the improved partial random insertion selection point addition / removal circuit accesses the
Thereafter, the city affiliation change processing unit 55 issues an activation signal (same as the activation signal issued from the initial
[0095]
Next, refer to FIG. Upon receiving the activation signal issued by the affiliation change processing unit 53 in s551, the history check unit 54 accesses the
[0096]
The affiliation change result setting unit 56 that has received the activation signal issued by the history check unit 54 in s528 accesses the
Thereafter, the affiliation change result setting unit 56 issues an activation signal to the operation rate adjustment unit 61 (operation rate adjustment control unit 63) (s533), and goes to s601 described later.
[0097]
Here, the above-described FIG. 14 will be described in detail. FIG. 14 shows an example of the history written and stored in the
[0098]
Next, each history shown in FIG. 14 will be described with reference to FIGS.
First, FIG. 26 illustrates the initial circuit for each improved cluster obtained by the route control unit 52 accessing the
Then, the route control unit 52 calculates the traveling distance for each cluster in the improved initial cluster circuit shown in FIG. 26 in s502, and then calculates the operation rate for each delivery vehicle in s503. Specifically, the operation rate of
Further, the route control unit 52 calculates the equalization coefficient in s504, and transmits the operation rate and the equalization coefficient for each delivery vehicle calculated in s504 to the affiliation change processing unit 53 in s505. Here, the equalization coefficient (Σ (| (operating rate of each delivery vehicle) − (average value of operating rate) |) / (number of delivery vehicles)) is (| 1.0560−0.9087 |). /4+|0.9688−0.9087|/4+|1.1694−0.9087|/4+|0.4406−0.9087|/4)=0.2405.
[0099]
The affiliation change processing unit 53 that has received the operating rate and the equalization coefficient for each delivery vehicle transmitted in s505, the received equalization coefficient (here, 0.23405) is the equalization stored by itself. It is determined whether it is smaller than the coefficient, or whether the equalization coefficient is not stored by itself (s506). Here, since the equalization coefficient is not stored by itself, it is determined that it is either one (YES). The received equalization coefficient (here, 0.23405) is overwritten and stored (s507), and then the operation rate for each delivery vehicle received from the route control unit 52 (here, cluster 0: 1.0560, cluster) 1: 0.9688, cluster 2: 1.1694, cluster 3: 0.4406) are transmitted to the city affiliation change processing unit 55 (s550).
The city affiliation change processing unit 55 that has received the operation rate for each delivery vehicle transmitted from the affiliation change processing unit 53 in s550 reads out and acquires necessary data in s508, and accesses the
[0100]
After that, the city affiliation change processing unit 55 has the delivery point (selected point) having the highest degree of belonging to the cluster (cluster 3) of the delivery destination among the delivery points belonging to the cluster (cluster 2) stored in the cluster list. The delivery point 46 (degree of belonging to the cluster (cluster 3) of the provision destination: 0.16) is selected (s511).
Then, the city affiliation change processing unit 55 stores the
Next, the city affiliation change processing unit 55 assigns the degree of membership (cluster 0: cluster 0) indicated by the
Since the selected point, the affiliation source cluster, and the affiliation change destination cluster are written in the
[0101]
After that, the city affiliation change processing unit 55 deletes the
After s514, the city affiliation change processing unit 55 transmits the improved cluster-specific initial circuit (selected point addition / division circuit) in which the
[0102]
The random insertion unit 71 that has received the selection point addition / division circuit circulates all the delivery points belonging to the cluster starting from the depot assigned to the cluster for each cluster according to the selection point addition / division circuit (random insertion) (Selection point addition / division circuit) is generated by the above-described random insertion method, and the random insertion selection point addition / division circuit is transmitted to the city affiliation change processing unit 55. The city affiliation change processing unit 55 that has received the random insertion selection point addition / removal circuit from the random insertion unit 71 overwrites and stores the random insertion selection point addition / removal circuit in the
FIG. 27 shows a result illustrating the random insertion selection point addition / deletion circuit stored in the
[0103]
The cyclic
Then, the city affiliation change processing unit 55 writes and stores the history related to the addition / removal processing of the selected point in the history storage unit 98 (s519) (the history is additionally written and stored, not overwritten). As described above, the history of selection point addition / deletion processing is as follows: the providing source cluster (cluster 2), the providing destination cluster (cluster 3), the belonging source cluster (cluster 2), and the belonging change destination cluster (cluster 0). Each item includes a delivery point (delivery point 46) as a selection point and an operation rate of each delivery vehicle.
[0104]
Thereafter, the city affiliation change processing unit 55 determines whether or not the affiliation change destination cluster (cluster 0) and the provision destination cluster (cluster 3) match (s520). (NO), the affiliation change destination cluster (cluster 0) at this time is stored in the aforementioned cluster list (s521) (that is, the affiliation change destination cluster (cluster 0) at this time is added to the list of clusters, It becomes a candidate selected as an affiliation source cluster for the next process.) Thereafter, the process returns to s511 again.
[0105]
Returning to s511, the city affiliation change processing unit 55 includes the delivery points belonging to the clusters stored in the cluster list (
Then, the city affiliation change processing unit 55 stores the
Next, the city affiliation change processing unit 55 assigns the degree of membership indicated by the
Since the selected point, the affiliation source cluster, and the affiliation change destination cluster are written in the
[0106]
After that, the city affiliation change processing unit 55 deletes the
After s514, the city affiliation change processing unit 55 transmits the improved cluster-specific initial circuit (selected point addition / deduction circuit) from which the
[0107]
The random insertion unit 71 that has received the selection point addition / division circuit circulates all the delivery points belonging to the cluster starting from the depot assigned to the cluster for each cluster according to the selection point addition / division circuit (random insertion) (Selection point addition / division circuit) is generated by the above-described random insertion method, and the random insertion selection point addition / division circuit is transmitted to the city affiliation change processing unit 55. The city affiliation change processing unit 55 that has received the random insertion selection point addition / removal circuit from the random insertion unit 71 overwrites and stores the random insertion selection point addition / removal circuit in the
FIG. 28 shows a result illustrating the random insertion selection point addition / deletion circuit stored in the
[0108]
The cyclic
Then, the city affiliation change processing unit 55 writes and stores the history related to the addition / removal processing of the selected point in the history storage unit 98 (s519) (the history is additionally written and stored, not overwritten). As described above, the history of the selection point addition / deletion processing is as follows: the providing source cluster (cluster 2), the providing destination cluster (cluster 3), the belonging source cluster (cluster 0), and the belonging change destination cluster (cluster 3). Each item includes a delivery point (delivery point 30) as a selection point and an operation rate of each delivery vehicle.
[0109]
Thereafter, the city affiliation change processing unit 55 determines whether or not the affiliation change destination cluster (cluster 3) and the provision destination cluster (cluster 3) match (s520). (YES), a plurality of clusters (one or two or more) of clusters (here,
The N-opt unit 73 that has received a cyclic circuit (a part of a random insertion selection point addition / division circuit) related to a plurality of clusters from the city affiliation change processing unit 55 accesses the initial information storage unit 91 and the initial information storage unit 91 The stored coordinates of the delivery point (FIG. 3A) and the coordinates of the depot (FIG. 3B) are read and acquired, and the required
Then, the city affiliation change processing unit 55 that has received the improved partial random insertion selection point addition / removal circuit accesses the
Thereafter, the city affiliation change processing unit 55 issues an activation signal (same as the activation signal issued from the initial
[0110]
When returning to s501 again, the route control unit 52, the constraint condition (FIG. 3C) stored in the initial information storage unit 91, the distance table stored in the required
Then, the route control unit 52 calculates the traveling distance for each cluster in the improved initial cluster circuit shown in FIG. 28 in s502, and then calculates the operation rate for each delivery vehicle in s503. Specifically, the operation rate of
Further, the route control unit 52 calculates the equalization coefficient in s504, and transmits the operation rate and the equalization coefficient for each delivery vehicle calculated in s504 to the affiliation change processing unit 53 in s505. Here, the equalization coefficient (Σ (| (operating rate of each delivery vehicle) − (average value of operating rate) |) / (number of delivery vehicles)) is (| 1.0609−0.907025 |). /4+|0.9688−0.907025|/4+|1.0715−0.907025|/4+|0.5269−0.907025|/4)=0.19000625.
[0111]
The affiliation change processing unit 53 that has received the operation rate and the equalization coefficient for each delivery vehicle transmitted in s505, the received equalization coefficient (here, 0.1900565) is the equalization stored by itself. It is determined whether it is smaller than the coefficient or whether or not it has stored the equalization coefficient (s506). Here, since it stores the equalization coefficient (previous value 0.23405) (here, Is determined to be smaller than (previous value 0.23405) (YES), and the received equalization coefficient (here, 0.1900565) is overwritten and stored (s507), and then the path control unit The occupancy rate for each delivery vehicle received from 52 (here, cluster 0: 1.0609, cluster 1: 0.9688, cluster 2: 1.0715, cluster 3: 0.5269) is changed. And it transmits to the processing unit 55 (s550).
The city affiliation change processing unit 55 that has received the operation rate for each delivery vehicle transmitted from the affiliation change processing unit 53 in s550 reads out and acquires necessary data in s508, and accesses the
[0112]
After that, the city affiliation change processing unit 55 has the delivery point (selected point) having the highest degree of belonging to the cluster (cluster 3) of the delivery destination among the delivery points belonging to the cluster (cluster 2) stored in the cluster list. As shown, the delivery point 20 (the degree of attribution of the provider cluster (cluster 3): 0.09. Note that the
Then, the city affiliation change processing unit 55 stores the
Next, the city affiliation change processing unit 55 assigns the degree of membership (cluster 0: cluster 0: selected point) to a cluster other than cluster 2 (ie,
Since the selected point, the affiliation source cluster, and the affiliation change destination cluster are written in the
[0113]
Thereafter, the city affiliation change processing unit 55 deletes the
After s514, the city affiliation change processing unit 55 transmits to the random insertion unit 71 the initial cluster-by-improvement circuit (selected point addition / division circuit) in which the
[0114]
The random insertion unit 71 that has received the selection point addition / division circuit circulates all the delivery points belonging to the cluster starting from the depot assigned to the cluster for each cluster according to the selection point addition / division circuit (random insertion) (Selection point addition / division circuit) is generated by the above-described random insertion method, and the random insertion selection point addition / division circuit is transmitted to the city affiliation change processing unit 55. The city affiliation change processing unit 55 that has received the random insertion selection point addition / removal circuit from the random insertion unit 71 overwrites and stores the random insertion selection point addition / removal circuit in the
FIG. 29 shows a result illustrating the random insertion selection point addition / deletion circuit stored in the
[0115]
The cyclic
Then, the city affiliation change processing unit 55 writes and stores the history related to the addition / removal processing of the selected point in the history storage unit 98 (s519) (the history is additionally written and stored, not overwritten). As described above, the history of selection point addition / deletion processing is as follows: the providing source cluster (cluster 2), the providing destination cluster (cluster 3), the belonging source cluster (cluster 2), and the belonging change destination cluster (cluster 0). Each item includes a delivery point (delivery point 20) as a selection point and an operation rate of each delivery vehicle.
[0116]
Thereafter, the city affiliation change processing unit 55 determines whether or not the affiliation change destination cluster (cluster 0) and the provision destination cluster (cluster 3) match (s520). (NO), the affiliation change destination cluster (cluster 0) at this time is stored in the aforementioned cluster list (s521) (that is, the affiliation change destination cluster (cluster 0) at this time is added to the list of clusters, It becomes a candidate selected as an affiliation source cluster for the next process.) Thereafter, the process returns to s511 again.
[0117]
Similarly, in the
Thereafter, in
[0118]
In
In the
[0119]
In
In the
[0120]
In the
[0121]
In the
In the
[0122]
In the
In the
[0123]
In the
In the
In the
[0124]
In the
[0125]
In the
At this time, after the operation of s501 to s505, the affiliation change processing unit 53 in s506 receives the equalization coefficient smaller than the equalization coefficient stored by itself, or stores the equalization coefficient by itself. (NO) (that is, the affiliation change processing unit 53 stores the equalization coefficient, and the received equalization coefficient is equal to or greater than the stored equalization coefficient. If there is, an activation signal is issued to the history check unit 54 (s551).
[0126]
The history check unit 54 that has received the activation signal issued by the affiliation change processing unit 53 in s551 accesses the
The affiliation change result setting unit 56 that has received the activation signal issued by the history check unit 54 in s528 accesses the
Thereafter, the affiliation change result setting unit 56 issues an activation signal to the operation rate adjustment unit 61 (operation rate adjustment control unit 63) (s533), and goes to s601 described later.
[0127]
23 to 25 are flowcharts showing the operation of the operation rate adjusting unit 61 of the
First, referring to FIG.
The operating rate adjustment control unit 63 that has received the activation signal issued from the affiliation change result setting unit 56 in s533 described above deletes the content stored in the combination history list stored by itself (s601).
Next, the operation rate adjustment control unit 63 accesses the initial information storage unit 91 to read out and acquire the constraint condition (FIG. 3C) stored in the initial information storage unit 91 (used for calculating the operation rate described later). Further, the
[0128]
The traveling
The operating rate adjustment control unit 63 that has received the cyclic distance for each cluster according to the cyclic circuit transmitted from the cyclic
Next, the operating rate adjustment control unit 63 determines the order of increasing operating rates for each cluster calculated in s605, and creates an aligned cluster number by arranging the cluster numbers in the descending order (s606).
[0129]
Thereafter, the operation rate adjustment control unit 63 deletes the contents stored in a candidate list (described later) stored by itself (s607) (if nothing is stored in the candidate list, the deletion is not necessary).
Next, the operation rate adjustment control unit 63 determines the cluster (here, the cluster) indicated by the cluster number located at the head of the aligned cluster number (“3” when the aligned cluster number is “3, 0, 2, 1”). 3) is selected as the operation rate adjustment providing source cluster (s608).
Furthermore, the operation rate adjustment control unit 63 selects one of the delivery points belonging to the operation rate adjustment providing source cluster as the change candidate delivery point p (s609).
[0130]
Then, the operating rate adjustment control unit 63 selects one cluster from all the clusters as the operating rate adjustment providing destination cluster (s610). Here, the one with the smallest cluster number, that is,
Thereafter, the operation rate adjustment control unit 63 determines whether or not the operation rate adjustment providing source cluster and the operation rate adjustment providing destination cluster match (s611), and when determining that both clusters match ( If YES, go to s616 described below. When the operation rate adjustment control unit 63 determines in s611 that the operation rate adjustment providing source cluster and the operation rate adjustment providing destination cluster do not match (NO), the operation rate adjustment control unit 63 determines that the
[0131]
Reference is now made to FIG.
The change trial unit 65 that has received the circuit transmitted from the operation rate adjustment control unit 63 in s612 changes the affiliation of the change candidate delivery point p from the operation rate adjustment providing source cluster to the operation rate adjustment providing destination cluster. The traveling distance difference is calculated (s613) (Note that the change trial unit 65 reads out and acquires the distance table stored in the required
The change trial unit 65 determines whether or not the cyclic distance difference calculated in s613 is a positive value (s614), and if the cyclic distance difference is determined to be a positive value (YES), the operating rate adjustment provider at that time The change trial unit 65 transmits information relating to the cluster, the operation rate adjustment provision destination cluster, the delivery point as the change candidate delivery point p, and the data of the traveling distance difference to the operation rate adjustment control unit 63, and the information is adjusted to the operation rate adjustment. The controller 63 additionally stores the candidate list as a candidate list instead of overwriting (s615). At this time, the candidate list is stored in descending order of the difference in the cyclic distance included in the related information.
On the other hand, if the change trial unit 65 does not determine that the cyclic distance difference is a positive value in s614 (NO), the change trial unit 65 selects the next cluster as the operation rate adjustment provision destination cluster in the operation rate adjustment control unit 63. A signal instructing this is issued (s616).
[0132]
After receiving the signal issued in s616 or after s615, the operation rate adjustment control unit 63 determines whether or not the next cluster can be selected as the operation rate adjustment supply destination cluster (s617), and the operation rate adjustment supply destination If it is determined that the next cluster can be selected as a cluster (YES), the next cluster is selected as the availability adjustment provision destination cluster (s618), and the process returns to s611 again.
When the operation rate adjustment control unit 63 does not determine in step s617 that the next cluster can be selected as the operation rate adjustment provision destination cluster (NO) (all clusters have already been selected as the operation rate adjustment provision destination cluster, When the cluster cannot be selected as the operation rate adjustment provision destination cluster), the operation rate adjustment control unit 63 determines whether or not the next delivery point can be selected as the change candidate delivery point p (s619).
When the operating rate adjustment control unit 63 determines in s619 that the next delivery point can be selected as the change candidate delivery point p (YES), the operating rate adjustment control unit 63 sets the next of the operating rate adjustment providing source cluster. A delivery point (the delivery point located at the head in the circuit among the delivery points excluding the delivery point already selected as the change candidate delivery point p) is selected as the next change candidate delivery point p (s620), and the process proceeds to s610. Return.
When the operation rate adjustment control unit 63 does not determine that the next delivery point can be selected as the change candidate delivery point p in s619 (NO), the operation rate adjustment control unit 63 sets the next operation rate adjustment providing source cluster as the operation rate adjustment providing source cluster. It is determined whether or not a cluster can be selected (s621), and if it is determined that the next cluster can be selected as an operation rate adjustment providing source cluster (YES), the next cluster (with an aligned cluster number) is selected as the operation rate adjustment providing source cluster. Among them, the cluster next to the cluster selected as the operation rate adjustment providing source cluster is selected (s622), and the process returns to s609 again.
[0133]
If the operating rate adjustment control unit 63 does not determine in step s621 that the next cluster can be selected as the operating rate adjustment providing source cluster (NO) (that is, a cluster that is no longer selected as the operating rate adjustment providing source cluster). If not, the operation rate adjustment control unit 63 performs a candidate check (s623). As described above, the candidate check relates to the candidate list (operating rate adjustment providing source cluster, working rate adjustment providing destination cluster, delivery point serving as the change candidate delivery point p, and cyclic distance difference data held by the operating rate adjustment control unit 63. The information (candidates) attached is stored in order from the one with the largest cyclic distance difference.) And the history of affiliation changes made so far in the operating rate adjustment control unit 63 are stored. Affiliation change history (operating rate adjustment providing source cluster, operating rate adjustment providing destination cluster, change candidate delivery point p, delivery point, traveling distance, operating rate of each delivery vehicle, equalization coefficient are stored in the history list The operation rate adjustment control unit 63 compares the operation rate adjustment providing source cluster, the operation rate adjustment providing destination cluster included in each candidate, the same operation rate adjustment providing source as the delivery point p as the change candidate delivery point p. The If there is an affiliation change history that includes a delivery point that is a star, an operation rate adjustment provision destination cluster, and a change candidate delivery point p, the operation rate adjustment control unit 63 deletes the candidate from the candidate list. To check. Do this until there are no unchecked candidates in the candidate list.
[0134]
Further, refer to FIG.
After s623, the operation rate adjustment control unit 63 determines whether or not candidates remain in the candidate list (s624), and if they remain (YES), the delivery point is determined according to the candidate located at the head of the remaining candidates. (S625) (that is, the delivery point corresponding to the change candidate delivery point p indicated in the first candidate is changed from the operating rate adjustment providing source cluster to the operating rate adjustment providing destination cluster. The operating rate adjustment control unit 63 excludes the change candidate delivery point p from the operating rate adjustment providing source cluster in the circuit read from the
[0135]
After s625, the operating rate adjustment control unit 63 determines that both of the traveling routes related to the operating rate adjustment providing source cluster and the operating rate adjustment providing destination cluster (the delivery point as the change candidate delivery point p is excluded, the former is removed and the latter is added). Is transmitted to the random insertion unit 71 (s627). The random insertion unit 71 that has received both the tours transmitted from the operation rate adjustment control unit 63 at s627 accesses the initial information storage unit 91 and coordinates of the delivery point stored in the initial information storage unit 91. (FIG. 3A) and the coordinates of the depot (FIG. 3B) are read and acquired, the required
[0136]
The operation rate adjustment control unit 63 that has received the tour transmitted from the random insertion unit 71 in s628 transmits the received tour to the N-opt unit 73 (s629). The N-opt unit 73 that has received the circuit transmitted from the operation rate adjustment control unit 63 in s629 accesses the initial information storage unit 91 and coordinates of the delivery point stored in the initial information storage unit 91 ( FIG. 3A) and the coordinates of the depot (FIG. 3B) are read out and acquired, and the distance table stored in the required
The operation rate adjustment control unit 63 that has received the improved tour from the N-opt unit 73 transmits the improved tour to the tour time calculation unit 75 (s631).
The traveling
[0137]
The operation rate adjustment control unit 63 that has received the cyclic distance for each cluster transmitted from the cyclic
After s633, the operation rate adjustment control unit 63 adds the change history (operation rate adjustment providing source cluster, operation rate adjustment providing destination cluster, delivery point serving as the change candidate delivery point p, traveling distance, each delivery) to the history list held by itself. The vehicle operation rate and the equalization coefficient are stored and written, and the circuit (the improved circuit received from the N-opt unit 73 as described above) is written to the route storage unit 97 ( s634), and returns to s601.
[0138]
Note that the result output unit 67 that has received the tour and the history list issued by the operation rate adjustment control unit 63 in s626 has the operation rate of all the affiliation change histories in the received history list being 1 or less. The one with the shortest distance is extracted, and the circuit corresponding to the extracted affiliation change history is output as a final determined circuit by a predetermined method (printing, display on a display, etc.) (s635).
The result output unit 67 obtains the final decision circuit as described in the following (1) to (4). That is, first, (1) the result output unit 67 includes the affiliation change history (operation rate adjustment providing source cluster, operation rate adjustment providing destination cluster, change candidate delivery point p included in the history list received from the operation rate adjustment control unit 63. Among the delivery points, the traveling distance, the operating rate of each delivery vehicle, and the equalization coefficient), the operating rate is all 1 or less and the traveling distance is the minimum (hereinafter referred to as “target affiliation change history”) .) Is extracted. Next, (2) the result output unit 67 uses the history list received from the operation rate adjustment control unit 63 and the tour route received from the operation rate adjustment control unit 63 to each cluster corresponding to the target affiliation change history. Create a list of delivery points belonging to. Specifically, the circuit received from the operation rate adjustment control unit 63 shows the state after the most recent affiliation change of the history list received from the operation rate adjustment control unit 63, so the latest history list List of delivery points belonging to each cluster corresponding to the target affiliation change history (specifically, delivery points belonging to each cluster) (Numbers listed) are created. (3) The result output unit 67 transmits a list of delivery points belonging to each cluster corresponding to the target affiliation change history obtained in (2) above to the random insertion unit 71. The insertion unit 71 creates a tour according to the list of delivery points (in accordance with the delivery point list, a tour that travels around all delivery points belonging to the cluster starting from the depot assigned to each cluster is randomly selected. Created by the insertion method.) The random insertion unit 71 transmits the created tour to the result output unit 67. Finally, (4) the result output unit 67 that has received the tour from the random insertion unit 71 transmits the received tour to the N-opt unit 73, and the N-opt unit 73 receives the tour as before. The N-opt method is applied to the road (for each cluster) to improve the circuit. The N-opt unit 73 transmits the improved tour to the result output unit 67.
[0139]
As described above, the
First, the third main device included in the
The third apparatus receives total load calculating means (position data of a plurality of points (delivery points)) including a cluster
[0140]
The third main apparatus included in the
[0141]
Next, the first apparatus included in the
The first apparatus includes route data accepting means (means for accepting a plurality of route data including a starting point and routes around a plurality of points) configured by the city affiliation change processing unit 55, and a city affiliation change process. Start completion determining means configured by the unit 55 (a start path (here, the heaviest load) which is different from the lightest path among a plurality of path data received by the path data receiving means of the first apparatus) A route that is a route of the providing cluster) and a completion route that is a lighter load than the start route (here, a route of the providing cluster that is the lightest route) ) And the affiliation change means constituted by the city affiliation change processing unit 55 (one route (the affiliation source class) The selected point that is a point (delivery point) included in the route) and a predetermined relationship with the selected point (the highest degree of belonging among the degrees of belonging indicated by the selected point to a cluster other than the cluster stored in the cluster list) Are selected, and the selected point is moved from the one route to the other route. At the first time, a start route (provided) is selected. The route of the original cluster) is selected as the one route, and the next and subsequent routes are means for repeating the selection and the movement with the other route or start route before the previous time as the one route), and the city affiliation change processing Completion judging means (means for judging whether or not the other route (route of the affiliation change destination cluster) matches the completion route (route of the cluster of the provision destination)) configured by the unit 55 The affiliation change means determines completion It is intended to operate repeatedly until it is determined that the stage coincide, the path adjustment device.
[0142]
In the first main apparatus included in the
Further, in the first main apparatus included in the
Further, in the first main apparatus included in the
[0143]
The first main device included in the
In the first main apparatus included in the
Although not described here, the route may be repeatedly adjusted until the variation in the load of each route in the route formed by the route forming means falls within a predetermined range.
[0144]
In addition, the first apparatus included in the
[0145]
In the first apparatus included in the
[0146]
Next, the second main device included in the
The second apparatus includes route data receiving means (means for receiving a plurality of route data including a starting point and routes around a plurality of points) configured by the operation rate adjustment control unit 63, and operation rate adjustment control. Total load evaluation means (each point (delivery point) included in a plurality of route data received by the route data receiving means (operation rate adjustment control unit 63) of the second apparatus) configured by the unit 63 and the change trial unit 65 To evaluate the change (cyclic distance difference) in the load (distance) of all routes that occurs when the location (delivery point) is not included in a route (route of the operation rate adjustment provision destination cluster) And load change storage means configured by the candidate list of the operation rate adjustment control unit 63 (the change in load (distance) evaluated by the overall load evaluation means is different from that before the location (delivery point) is changed). Then negative In which the affiliation is changed (delivery point) and the point where the affiliation is changed (delivery point) belongs before the affiliation is changed The operation rate adjustment providing source cluster (the route) that is the previous belonging route that is the route and the operation rate adjustment providing destination cluster (the route that is the subsequent belonging route that is the destination route where the affiliation change is changed) ), And an extraction means configured by the operation rate adjustment control unit 63 (matching a predetermined condition among the change candidate data stored in the load change storage means) Means for extracting what to do).
[0147]
In the second main device included in the
The second apparatus included in the
Further, in the second main apparatus included in the
[0148]
The second apparatus included in the
Then, in the second main apparatus included in the
[0149]
Further, in the
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing a hardware configuration of a route search apparatus (this apparatus) according to an embodiment of the present invention.
FIG. 2 is a schematic functional block diagram showing a rough basic configuration of the apparatus.
FIG. 3 is a diagram illustrating an example of data stored in advance in an initial information database.
FIG. 4 is a detailed functional block diagram of a cluster dividing unit.
FIG. 5 is an example of a distance table created by a
FIG. 6 is an example of a circuit (the circuit is illustrated in the coordinates) received by the cluster
FIG. 7 is a detailed functional block diagram of a provisional
FIG. 8 is a diagram showing the degree of attribution of each delivery point calculated to each cluster.
FIG. 9 is a diagram illustrating a method for determining a cluster to which a delivery point belongs.
FIG. 10 is an example of a delivery point number list in which delivery point numbers belonging to each cluster are described for each cluster;
11 is a diagram showing a depot assigned to each cluster in a delivery point number list stored in a
FIG. 12 is a diagram illustrating an example of an initial circuit for each improved cluster.
13 is a detailed functional block diagram of an affiliation adjustment unit 51. FIG.
14 is a diagram showing an example of a history written and stored in a
15 is a detailed functional block diagram of an operation rate adjusting unit 61. FIG.
FIG. 16 is a diagram for explaining a calculation method of a traveling distance difference.
17 is a flowchart showing the operation of the
18 is a flowchart showing the operation of the provisional
19 is a flowchart showing the operation of the provisional
20 is a flowchart showing the operation of the affiliation adjustment unit 51. FIG.
FIG. 21 is a flowchart showing the operation of the affiliation adjustment unit 51.
22 is a flowchart showing the operation of the affiliation adjustment unit 51. FIG.
23 is a flowchart showing the operation of the operation rate adjustment unit 61. FIG.
24 is a flowchart showing the operation of the operation rate adjustment unit 61. FIG.
25 is a flowchart showing the operation of the operation rate adjustment unit 61. FIG.
FIG. 26 is a diagram showing an initial circuit for each improved cluster obtained by the route control unit 52 by reading from the
FIG. 27 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 28 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 29 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 30 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 31 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 32 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 33 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 34 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 35 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 36 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 37 is a diagram showing a random insertion selection point addition / division circuit.
FIG. 38 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 39 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 40 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 41 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 42 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 43 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 44 is a diagram showing a random insertion selection point addition and removal circuit.
FIG. 45 is a diagram showing a random insertion selection point addition and removal circuit.
[Explanation of symbols]
11 This device
11a CPU
11b RAM
11c ROM
11d interface
19 Hard disk
21 Initial information database
31 Cluster division
33 File reading part
35 Table initialization section
37 Cluster number calculator
41 Provisional circuit formation part
43 Fuzzy clustering calculator
45 Initial circuit creation section
51 Affiliation Adjustment Department
52 Route controller
53 Affiliation Change Processing Department
54 History check section
55 City Affiliation Change Processing Department
56 Affiliation change result setting section
61 Occupancy rate adjustment section
63 Operation rate adjustment control unit
65 Change trial section
67 Result output section
71 Random insertion part
73 N-opt part
75 Travel time calculator
91 Initial information storage unit
93 Number of vehicles storage
95 Cluster attribute value storage
97 Route memory
98 History storage
99 Time required storage
Claims (7)
該経路データ受付手段により受け付けられる複数の経路データに含まれる各地点を、該地点が含まれていない経路に所属させた際に生じる全経路の負荷の変化を評価する全体負荷評価手段と、
該全体負荷評価手段により評価される負荷の変化が、地点の所属が変更される前に比して負荷が低減されることを示す場合における所属が変更される地点と、該所属が変更される地点が所属が変更される前に所属している経路である前所属経路と、該所属が変更される地点が所属が変更される先の経路である後所属経路と、全経路の負荷の総和が、地点の所属が変更される前に比してどの程度低減されるかを示す低減度合いと、を関連付けられたものを変更候補データとして記憶する負荷変化記憶手段と、
該負荷変化記憶手段に記憶された該変更候補データのうち、該低減度合いが最大であるという条件に合致するものを抽出する抽出手段と、
を備えるものである、
経路調整装置。Route data receiving means for receiving a plurality of route data including a starting point and a route around the plurality of points;
An overall load evaluation unit that evaluates a change in load of all routes that occur when each point included in a plurality of route data received by the route data receiving unit belongs to a route that does not include the point;
The point at which the affiliation is changed when the change in load evaluated by the overall load evaluation means indicates that the load is reduced as compared to before the affiliation of the point is changed, and the affiliation is changed The total of the load of all previous routes and the previous route, which is the route to which the point belongs before the change of affiliation, the post-affiliation route that is the route to which the affiliation is changed. Is a load change storage means for storing the associated degree as a change candidate data, and a degree of reduction indicating how much it is reduced compared to before the affiliation of the point is changed,
An extraction unit that extracts the change candidate data stored in the load change storage unit and that matches a condition that the degree of reduction is maximum;
With
Path adjustment device.
前記抽出手段が、前記負荷変化記憶手段に記憶された変更候補データのうち、該変更候補履歴記憶手段に記憶された履歴と同一のものを除いた変更履歴データから抽出するものである、請求項3に記載の経路調整装置。A change candidate history storage means for storing a history of change candidate data extracted by the extraction means;
The extraction means extracts from the change history data excluding the same change history data stored in the change candidate history storage means from the change candidate data stored in the load change storage means. 3. The route adjusting device according to 3.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002217512A JP4055987B2 (en) | 2002-07-26 | 2002-07-26 | Route adjustment device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002217512A JP4055987B2 (en) | 2002-07-26 | 2002-07-26 | Route adjustment device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004062363A JP2004062363A (en) | 2004-02-26 |
| JP4055987B2 true JP4055987B2 (en) | 2008-03-05 |
Family
ID=31938935
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002217512A Expired - Lifetime JP4055987B2 (en) | 2002-07-26 | 2002-07-26 | Route adjustment device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4055987B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7082361B2 (en) * | 2017-01-12 | 2022-06-08 | 国立大学法人東京工業大学 | Regional mutual assistance patrol support system, regional mutual assistance patrol support device, regional mutual assistance patrol support method and program |
| JP7563037B2 (en) * | 2020-08-13 | 2024-10-08 | 日本電気株式会社 | Delivery plan optimization device, delivery plan optimization method, and program |
| JP2023157662A (en) * | 2022-04-15 | 2023-10-26 | パナソニックIpマネジメント株式会社 | Delivery plan generation device and delivery plan generation method |
| JP7694509B2 (en) * | 2022-09-01 | 2025-06-18 | トヨタ自動車株式会社 | Working System |
-
2002
- 2002-07-26 JP JP2002217512A patent/JP4055987B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004062363A (en) | 2004-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Pelzer et al. | A partition-based match making algorithm for dynamic ridesharing | |
| Jung et al. | Dynamic shared‐taxi dispatch algorithm with hybrid‐simulated annealing | |
| CN110929910B (en) | Bus route adjusting method and device | |
| JPWO2018047289A1 (en) | Evaluation apparatus, evaluation method, and evaluation program | |
| JP4333500B2 (en) | Vehicle traveling plan planning device, vehicle traveling plan planning method, program for causing a computer to execute the vehicle traveling plan planning method, and a computer-readable recording medium recording the program | |
| US20170131112A1 (en) | Information processing device, processing method and recording medium storing program thereof | |
| Xiao et al. | Green vehicle routing problem with time-varying traffic congestion | |
| JP4055987B2 (en) | Route adjustment device | |
| JP6834600B2 (en) | Delivery plan creation program, delivery plan creation method, and delivery plan creation device | |
| Li et al. | An algorithm to solve heterogeneous vehicle routing problem with second trip | |
| CN113739812B (en) | Distribution plan generation method, device, system, and computer-readable storage medium | |
| JP5852721B1 (en) | Route bus operation analysis evaluation system, analysis evaluation method, and program | |
| JP2005043974A (en) | Transportation schedule creation method and system | |
| Masoud | A hybrid k-means and particle swarm optimization technique for solving the rechargeable e-scooters problem | |
| JP4025652B2 (en) | Transportation planning system and method | |
| JP5155081B2 (en) | Traveling point classification system and traveling point classification method | |
| JP4451622B2 (en) | Business support system | |
| CN114169488A (en) | Hybrid meta-heuristic algorithm-based vehicle path acquisition method with capacity constraint | |
| KR100742684B1 (en) | Area dividing system | |
| Guerreiro et al. | Applying NSGA-II to a multiple objective dial a ride problem | |
| JP2005263447A (en) | Optimal vehicle allocation planning method and program storage medium thereof | |
| WO2017183094A1 (en) | System and method for correlating positioning terminal for positioning mobile entity with mobile entity | |
| JP3666312B2 (en) | Delivery plan support device | |
| JP2021081991A (en) | Information processing device, information processing method, and program | |
| CN119807550B (en) | Site determination method, device, electronic device, and computer-readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040901 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040901 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041001 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050516 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070403 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070412 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070529 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071109 |
|
| 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: 20071207 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071207 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4055987 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |