以下、添付図面を参照しながら、本発明にかかる情報処理装置、情報処理システム、移動経路決定方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
第1実施形態では、複数の移動体による複数の収集対象物を収集するために好適な移動経路の決定手法について説明する。なお第1実施形態では、複数の収集対象物は、倉庫内に分散して保管された複数の商品であり、複数の移動体は、当該複数の商品を収集(ピッキング)するために倉庫内に分散して配置されたカートであり、倉庫内に保管された複数の商品を複数台のカートでピッキングするピッキング作業を例に取り説明するが、これに限定されるものではない。なお第1実施形態では、各カートは、ユーザにより手動で移動される場合を例に取り説明するが、これに限定されず、自動で自立移動してもよい。
図1は、第1実施形態の情報処理システム1の構成の一例を示すブロック図である。図1に示すように、情報処理システム1は、情報処理装置10と、端末装置20と、出力装置30−1〜30−n(nは2以上の自然数)と、を備える。情報処理装置10、端末装置20、及び出力装置30−1〜30−nは、ネットワーク2を介して接続されている。ネットワーク2は、例えば、インターネットやLAN(Local Area Network)などにより実現できる。なお、以下の説明では、出力装置30−1〜30−nを各々区別する必要がない場合は、単に出力装置30と称する場合がある。
情報処理装置10は、複数台の移動体による複数の収集対象物を収集するために好適な移動経路を決定するものであり、例えば、1台以上のコンピュータにより実現できる。
図2は、第1実施形態の情報処理装置10のハードウェア構成の一例を示すブロック図である。情報処理装置10は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの制御装置101と、ROM(Read Only Memory)やRAM(Random Access Memory)などの主記憶装置102と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置103と、ディスプレイなどの表示装置104と、キーボードやマウスなどの入力装置105と、通信インタフェースなどの通信装置106と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
端末装置20は、情報処理装置10に対し、収集対象の複数の収集対象物を指定するものであり、例えば、PC(Personal Computer)やスマート端末などが挙げられる。
出力装置30は、情報処理装置10により決定された移動経路を出力するものである。なお第1実施形態では、各出力装置30は、移動体に対応付けられており、当該移動体用の移動経路を出力する。出力装置30は、例えば、移動体に備え付けられたディスプレイやスピーカ、移動体を移動させるユーザが所持するスマート端末などが挙げられる。なお、移動経路の出力は、表示出力、音声出力、投影出力、及び印刷出力などどのような出力態様で行われても構わない。
図3は、第1実施形態の情報処理装置10の機能構成の一例を示すブロック図である。図3に示すように、情報処理装置10は、移動開始位置情報取得部151と、移動終了位置情報取得部153と、対象位置情報取得部155と、移動路情報取得部157と、算出部159と、割当部161と、決定部163と、を含む。
移動開始位置情報取得部151及び決定部163は、例えば、制御装置101、主記憶装置102、及び通信装置106などにより実現できる。移動終了位置情報取得部153、対象位置情報取得部155、移動路情報取得部157、算出部159、及び割当部161は、例えば、制御装置101及び主記憶装置102などにより実現できる。
移動路情報取得部157は、複数の移動体が移動可能な移動路を示す移動路情報を取得する。第1実施形態では、移動路情報が示す移動路は、倉庫内の移動通路であり、後述する図5に示すような、各地点をネットワーク上に接続した経路である場合を例に取り説明するが、これに限定されるものではない。なお図5に示す移動路では、1マスの距離が1であり、移動体がどの1マスを進む場合であっても1マスを進むのに要する時間は均一であるものとする。つまり、図5に示す移動路を進む移動体の速度は、一定の速度に固定されていることを前提とする。
なお、移動路情報取得部157は、移動路情報を外部から取得してもよいし、補助記憶装置103などから取得してもよい。
移動開始位置情報取得部151は、複数の移動体それぞれについて、当該移動体の移動開始位置を示す移動開始位置情報を取得する。第1実施形態では、移動開始位置情報が示す移動開始位置は、移動路情報が示す移動路上に存在する移動体の位置を示し、例えば、図5に示す移動路上のいずれかの地点が挙げられる。なお、図5では、移動体(カート)を「A」、「B」、「C」で表している。また、移動開始位置情報は、移動路上の該当地点を示す2次元の座標情報であってもよいし、該当地点を識別する識別情報(例えば、地点ID)であってもよい。
なお、各移動体の移動開始位置は、例えば、ICタグを利用して特定する(詳細には、各移動体にRFIDを設け、倉庫内の各地点に設置したRFIDリーダでRFIDを検知することで、各移動体の移動開始位置を特定する)ようにしてもよいし、画像認識により特定する(詳細には、画像上での各移動体の位置を倉庫内での位置に変換することで、各移動体の移動開始位置を特定する)ようにしてもよいし、GPS(Global Positioning System)を利用して特定するようにしてもよい。なお、これらの技術は、いずれも公知技術であるため、詳細な説明は省略する。
移動終了位置情報取得部153は、複数の移動体の移動終了位置を示す移動終了位置情報を取得する。第1実施形態では、移動終了位置情報が示す移動終了位置は、移動路情報が示す移動路上のいずれかの位置を示し、例えば、図5に示す移動路上のいずれかの地点が挙げられる。なお、移動終了位置は、移動開始位置と同一位置であってもよいし、移動開始位置と異なる位置であってもよい。移動終了位置が、移動開始位置と異なる位置である場合、例えば、移動路情報取得部157により取得された移動路情報上(例えば、図5に示す移動路上)で特定されていてもよい。また、移動終了位置情報は、移動路上の該当地点を示す2次元の座標情報であってもよいし、該当地点を識別する識別情報(例えば、地点ID)であってもよい。
対象位置情報取得部155は、複数の移動体により収集される複数の収集対象物それぞれについて、当該収集対象物の位置を示す収集対象物位置情報を取得する。第1実施形態では、前述の通り、端末装置20から、収集対象の複数の収集対象物が指定される。例えば、端末装置20は、収集対象の複数の収集対象物それぞれの識別情報(例えば、商品ID)を通知することで、対象位置情報取得部155は、収集対象の複数の収集対象物を特定する。
なお第1実施形態では、収集対象物の識別情報と、当該収集対象物の識別情報が示す収集対象物が保管されている倉庫上の位置(詳細には、移動路情報が示す移動路上のいずれかの位置であり、例えば、図5に示す移動路上のいずれかの地点が挙げられる。)を示す収集対象物位置情報と、を対応付けた収集対象物位置管理情報を補助記憶装置103上に記憶している。そして対象位置情報取得部155は、収集対象物位置管理情報から、端末装置20により通知された収集対象物の識別情報に対応付けられた収集対象物位置管理情報を取得することで、複数の収集対象物それぞれの収集対象物位置情報を取得する。なお、図5では、収集対象物(商品)を「1」、「2」、「3」、「4」、「5」で表している。
また、各収集対象物の位置を、各移動体の移動開始位置同様、ICタグを利用して特定するようにしてもよいし、画像認識により特定するようにしてもよいし、GPSを利用して特定するようにしてもよい。
算出部159は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動終了位置情報取得部153により取得された移動終了位置情報、対象位置情報取得部155により取得された複数の収集対象物位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて、収集対象物毎に、複数の移動体それぞれについて、当該移動体が移動路を移動して、移動開始位置から当該収集対象物を収集して移動終了位置に到達するまでに要する最小移動量を算出する。第1実施形態では、最小移動量及び後述の移動量が距離である場合を例に取り説明するが、これに限定されず、時間としてもよい。
なお、移動開始位置と移動終了位置とが同一位置である場合、算出部159は、移動終了位置情報を使用せずに、最小移動量を、移動体が移動路を移動して、移動開始位置から当該収集対象物を収集するまでに要する移動量として算出してもよい。
また、最小移動量の算出は、例えば、ダイクストラ―法やA*スター法などの公知技術を用いて行えばよい。また算出部159は、最小移動量での移動経路が複数存在する場合、全移動経路を求めておくものとする。
割当部161は、複数の収集対象物のうち収集する移動体に割り当てられていない収集対象物については、最小移動量の最小値が大きい収集対象物の順に、複数の移動体のうち、当該収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体に割り当てるとともに、当該割り当てた移動体が当該収集対象物を前記最小移動量で収集して移動終了位置に最小移動量で到達するための移動経路上(移動終了位置情報を使用しない場合は、当該割り当てた移動体が当該収集対象物を最小移動量で収集するための移動経路上)に、収集する移動体に割り当てられていない収集対象物があれば、当該収集する移動体に割り当てられていない収集対象物を当該割り当てた移動体に更に割り当てる。
また割当部161は、収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体がない場合、分散度合いを判定する判定式を満たし、かつ収集対象物が割り当てられていない1以上の移動体があれば、当該1以上の移動体のうち、当該収集対象物の収集に要する最小移動量が最小となる移動体に収集対象物を割り当てる。
分散度合いを判定する判定式としては、移動体Xと収集対象物Qとの最小移動量=移動体Xと移動体Yとの距離+移動体Yと収集対象物Qとの最小移動量が挙げられるが、これに限定されるものではない。なお、移動体Xが判定式を満たすか否かの対象となる移動体であり、収集対象物Qが割り当て対象の収集対象物であり、移動体Yが任意の移動体である。
上述の判定式を満たす場合、移動体Xと移動体Yとの配置が局所的であると判定され、移動体Xと移動体Yをグループとして包含関係にあると認識する。そして、この場合、収集対象物Qは、移動体Yではなく、移動体Xに割り当てられるため、移動体Yに偏って収集対象物が割り当てられてしまうことを防止できる。
また割当部161は、収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ収集対象物が割り当てられていない移動体がない場合、複数の移動体のうち、当該収集対象物の収集に要する最小移動量が最小となり、かつ移動量が最小の移動体に当該収集対象物を割り当てるようにしてもよい。
また割当部161は、収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ収集対象物が割り当てられていない移動体がない場合、当該収集対象物との移動路上での距離が最も短い収集対象物を収集する移動体に当該収集対象物を割り当てるようにしてもよい。
また割当部161は、収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ収集対象物が割り当てられていない移動体がない場合、移動路上で当該収集対象物と最も近接する1以上の移動体のうち、移動量が最小の移動体に当該収集対象物を割り当てるようにしてもよい。
また割当部161は、収集対象物の収集に要する最小移動量が最小となり、かつ収集対象物が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ収集対象物が割り当てられていない移動体がない場合、当該収集対象物のカートへの割り当てを、特許文献1に開示されているような探索的手法(遺伝的アルゴリズム)を用いて行ってもよい。
なお割当部161は、移動量が最小の移動体の移動量の増加が最小となるように、当該移動量が最小の移動体に収集対象物を割り当てる。
決定部163は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動終了位置情報取得部153により取得された移動終了位置情報、対象位置情報取得部155により取得された複数の収集対象物位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて、複数の移動体の移動経路を決定する。具体的には、決定部163は、割当部161の割り当て結果に基づいて、複数の移動体の移動経路を決定し、移動体毎に、当該移動体に対応付けられた出力装置30に当該移動体の移動経路を示す移動経路情報を送信する。
各出力装置30は、情報処理装置10から送信された移動経路情報が示す移動経路を出力する。
図4は、第1実施形態の情報処理システム1で行われる移動経路決定処理の一例を示すフローチャートである。なお、図4に示すフローチャートでは、移動体がカート、収集対象物が商品である場合を例に取り説明する。
まず、移動経路の決定に先立ち、移動開始位置情報取得部151は、複数のカートそれぞれの移動開始位置情報を取得し、移動終了位置情報取得部153は、複数のカートの移動終了位置情報を取得し、対象位置情報取得部155は、複数のカートにより収集される複数の商品それぞれの収集対象物位置情報を取得し、移動路情報取得部157は、移動路情報を取得する(ステップS101)。なお、カートの移動開始位置と移動終了位置とが同一であることが予め分かっている場合には、移動終了位置情報取得部153による複数のカートの移動終了位置情報の取得を省略してもよい。
続いて、算出部159は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動終了位置情報取得部153により取得された移動終了位置情報、対象位置情報取得部155により取得された複数の収集対象物位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて、商品毎に、複数のカートそれぞれについて、当該カートが移動路を移動して、移動開始位置から当該商品を収集して移動終了位置に到達するまでに要する最小移動量を算出する(ステップS103)。なお、移動開始位置と移動終了位置とが同一位置である場合、算出部159は、移動終了位置情報を使用せずに、最小移動量を、カートが移動路を移動して、移動開始位置から当該商品を収集するまでに要する移動量として算出してもよい。
続いて、割当部161は、複数の商品のうち最小移動量の最小値が最大となる商品を、複数のカートのうち、当該商品の収集に要する最小移動量が最小となるカートに割り当てる(ステップS105)。
続いて、割当部161は、当該割り当てたカートが当該商品を最小移動量で収集して移動終了位置に最小移動量で到達するための移動経路上(移動終了位置情報を使用しない場合は、当該割り当てたカートが当該商品を最小移動量で収集するための移動経路上)に、収集するカートに割り当てられていない商品があれば、当該収集するカートに割り当てられていない商品を当該割り当てたカートに更に割り当てる(ステップS107)。
続いて、収集するカートに割り当てられていない商品が残っており(ステップS109でYes)、割当部161は、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるカートが未割り当てであれば(ステップS111でYes)、当該カートに当該最小移動量の最小値が最大となる商品を割り当てる(ステップS113)。そして、ステップS107へ戻る。
一方、割当部161は、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるカートが未割り当てでなければ(ステップS111でNo)、分散度合いを判定する判定式を満たし、かつ商品が割り当てられていない1以上のカートがあれば(ステップS115でYes)、当該1以上のカートのうち、当該最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となるカートに当該最小移動量の最小値が最大となる商品を割り当てる(ステップS117)。そして、ステップS107へ戻る。
なお、割当部161は、分散度合いを判定する判定式を満たし、かつ商品が割り当てられていない1以上のカートがなければ(ステップS115でNo)、複数のカートのうち、残っている1以上の商品のうち最小移動量の最小値が最大となる商品の収集に要する最小移動量が最小となり、かつ移動量が最小のカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てる(ステップS119)。以下では、この割り当て方法を「割り当て方法1」と称する場合がある。そして、ステップS107へ戻る。
なお、ステップS119の処理については、残っている1以上の商品のうち最小移動量の最小値が最大となる商品との移動路上での距離が最も短い商品を収集するカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てるようにしてもよい。以下では、この割り当て方法を「割り当て方法2」と称する場合がある。
また、ステップS119の処理については、残っている1以上の商品のうち最小移動量の最小値が最大となる商品と移動路上で最も近接する1以上のカートのうち、移動量が最小のカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる商品を割り当てるようにしてもよい。以下では、この割り当て方法を「割り当て方法3」と称する場合がある。
ステップS109において、収集するカートに割り当てられていない商品が残っていない場合(ステップS109でNo)、決定部163は、割当部161の割り当て結果に基づいて、複数のカートの移動経路を決定し、カート毎に、当該カートに対応付けられた出力装置30に当該カートの移動経路を示す移動経路情報を送信する(ステップS121)。
続いて、各出力装置30は、情報処理装置10から送信された移動経路情報が示す移動経路を出力する(ステップS123)。これにより、出力装置30に対応付けられたカートを移動させるユーザは、当該カートに対する好適化された移動経路を確認でき、当該好適化された移動経路で当該カートを移動させることができる。
以下、複数のカートの移動経路の決定方法を、具体例を用いて説明する。
(移動経路の決定方法1)
まず、図5に示す状態での複数のカートの移動経路の決定方法について説明する。
なお、図5に示す例では、「A」、「B」、「C」がカートを表し、「1」、「2」、「3」、「4」、「5」がカートにより収集される商品を表している。また、カートが移動可能な移動路は、ネットワークで表されており、カートの移動開始位置及び移動終了位置は、同一位置であるものとする。これらの事項は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動終了位置情報取得部153により取得された移動終了位置情報、対象位置情報取得部155により取得された複数の収集対象物位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて特定される。
つまり、図5に示す状態において、カート「A」、「B」、「C」が、商品「1」、「2」、「3」、「4」、「5」を収集(ピッキング)して、元の位置に戻るまでの移動経路の決定方法を説明する。
なお、図5に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、最小移動量(最小移動距離)が最小となるカートが複数ある場合、アルファベット順で処理するものとする。同様に、最小移動量の最小値(最短距離)が最大となる商品が複数ある場合、数値の小さい順で処理するものとする。また、図5に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法1」を採用するものとする。
算出部159は、まず、図6に示すように、商品毎に、複数のカートそれぞれについて、最小移動量を算出する。また、算出部159は、図7に示すように、カート間の最短距離も算出する。なお、図7に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の商品のうち最小移動量の最小値が最大となる商品は、商品「1」であるため(図6参照)、割当部161は、商品「1」を、商品「1」の収集に要する最小移動量が最小となるカート「B」(図6参照)に割り当てる(ステップS105)。また、カート「B」が商品「1」を最小移動量で収集するための移動経路上に商品「2」が存在し(図5参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「B」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、最小移動量の最小値が最大となる商品「3」(図6参照)の収集に要する最小移動量が最小となるカート「A」(図6参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「A」に商品「3」を割り当てる(ステップS113)。
続いて、商品「4」、「5」が未割り当てであり(ステップS109でYes)、商品「4」、「5」のうち、最小移動量の最小値が最大となる商品「4」(図6参照)の収集に要する最小移動量が最小となるカート「C」が未割り当てであるため(ステップS111でYes)、割当部161は、カート「C」に商品「4」を割り当てる(ステップS113)。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集に要する最小移動量が最小となるカート「A」、「C」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、カート「A」、「B」、「C」のうち、商品「5」の収集に要する最小移動量が最小となるカートは、「A」、「C」である(図6参照)。また、この時点でのカート「A」の商品の収集に必要な移動量は5、カート「B」の商品の収集に必要な移動量は7、カート「C」の商品の収集に必要な移動量は2である。このため、割当部161は、カート「C」に、移動量の増加が最小となるように、商品「5」を割り当てる(ステップS119)。なお、カート「C」による商品「4」を収集するための最小移動量での移動経路と商品「5」を収集するための最小移動量での移動経路とを組み合わせても、一部の経路を削減することはできないので、ここでは、カート「C」に商品「5」を割り当てるだけでよい。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図8に示す移動経路に決定し、カート「A」の移動経路を図9に示す移動経路に決定し、カート「C」の移動経路を図10に示す移動経路に決定する(ステップS121)。なお、各カートの移動開始位置及び移動終了位置は、前述の通り同一位置であるため、図8〜図10では、各カートの商品の収集に必要な最終的な移動量を2倍にして、商品収集後に移動終了位置に戻るように、移動経路を決定している。この結果、各カートの移動ルート及び移動距離は、図11に示す通りとなり、カート全体での移動経路が好適化されている。
(移動経路の決定方法2)
次に、図12に示す状態での複数のカートの移動経路の決定方法について説明する。
なお、図12に示す例では、「A」、「B」がカートを表し、「1」、「2」、「3」、「4」、「5」がカートにより収集される商品を表している。また、カートが移動可能な移動路は、ネットワークで表されており、カートの移動開始位置及び移動終了位置は、同一位置であるものとする。
つまり、図12に示す状態において、カート「A」、「B」が、商品「1」、「2」、「3」、「4」、「5」を収集(ピッキング)して、元の位置に戻るまでの移動経路の決定方法を説明する。
なお、図12に示す状態でのカート「A」、「B」の移動経路の決定方法においては、最小移動量が最小となるカートが複数ある場合、アルファベット順で処理するものとする。同様に、最小移動量の最小値が最大となる商品が複数ある場合、数値の小さい順で処理するものとする。また、図12に示す状態でのカート「A」、「B」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法1」を採用するものとする。
算出部159は、まず、図13に示すように、商品毎に、複数のカートそれぞれについて、最小移動量を算出する。また、算出部159は、図14に示すように、カート間の最短距離も算出する。なお、図14に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の商品のうち最小移動量の最小値が最大となる商品は、商品「1」であるため(図13参照)、割当部161は、商品「1」を、商品「1」の収集に要する最小移動量が最小となるカート「B」(図13参照)に割り当てる(ステップS105)。また、カート「B」が商品「1」を最小移動量で収集するための移動経路上に商品「2」が存在し(図12参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「B」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、最小移動量の最小値が最大となる商品「3」(図13参照)の収集に要する最小移動量が最小となるカート「A」(図13参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「A」に商品「3」を割り当てる(ステップS113)。
続いて、商品「4」、「5」が未割り当てであり(ステップS109でYes)、商品「4」、「5」のうち、最小移動量の最小値が最大となる商品「4」(図13参照)の収集に要する最小移動量が最小となるカート「B」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、カート「A」、「B」のうち、商品「4」の収集に要する最小移動量が最小となるカートは、「B」である(図13参照)。また、この時点でのカート「A」の商品の収集に必要な移動量は5、カート「B」の商品の収集に必要な移動量は7である。このため、割当部161は、カート「B」に、移動量の増加が最小となるように、商品「4」を割り当てる(ステップS119)。なお、カート「B」による商品「4」を収集するための最小移動量での移動経路と商品「1」及び「2」を収集するための最小移動量での移動経路とを組み合わせると、一部の経路(移動量1つ分の経路)を削減できるため、ここでは、カート「B」に商品「4」を割り当てるとともに、削減可能な経路を削減する旨を設定しておく。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集に要する最小移動量が最小となるカート「A」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、カート「A」、「B」のうち、商品「5」の収集に要する最小移動量が最小となるカートは、「A」である(図13参照)。また、この時点でのカート「A」の商品の収集に必要な移動量は5、カート「B」の商品の収集に必要な移動量は9(7+3−1)である。このため、割当部161は、カート「A」に、移動量の増加が最小となるように、商品「5」を割り当てる(ステップS119)。なお、カート「A」による商品「5」を収集するための最小移動量での移動経路と商品「3」を収集するための最小移動量での移動経路とを組み合わせると、一部の経路(移動量1つ分の経路)を削減できるため、ここでは、カート「A」に商品「5」を割り当てるとともに、削減可能な経路を削減する旨を設定しておく。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図15に示す移動経路に決定し、カート「A」の移動経路を図16に示す移動経路に決定する(ステップS121)。なお、各カートの移動開始位置及び移動終了位置は、前述の通り同一位置であるため、図15〜図16では、各カートの商品の収集に必要な最終的な移動量を2倍にして、商品収集後に移動終了位置に戻るように、移動経路を決定している。
また、カート「B」の移動経路は、前述の削減設定により、商品「1」の最小移動量と商品「4」の最小移動量とを加算して2倍した移動量(20=(7+3)×2)よりも、2つ分少ない移動量(18=(7+3−1)×2)となっている。同様に、カート「A」の移動経路も、前述の削減設定により、商品「3」の最小移動量と商品「5」の最小移動量とを加算して2倍した移動量(14=(5+2)×2)よりも、2つ分少ない移動量(12=(5+2−1)×2)となっている。
この結果、各カートの移動ルート及び移動距離は、図17に示す通りとなり、カート全体での移動経路が好適化されている。
(移動経路の決定方法3)
次に、図18に示す状態での複数のカートの移動経路の決定方法について説明する。
なお、図18に示す例では、「A」、「B」、「C」がカートを表し、「1」、「2」、「3」、「4」、「5」がカートにより収集される商品を表している。また、カートが移動可能な移動路は、ネットワークで表されており、カートの移動開始位置及び移動終了位置は、同一位置であるものとする。
つまり、図18に示す状態において、カート「A」、「B」、「C」が、商品「1」、「2」、「3」、「4」、「5」を収集(ピッキング)して、元の位置に戻るまでの移動経路の決定方法を説明する。
なお、図18に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、最小移動量(最小移動距離)が最小となるカートが複数ある場合、アルファベット順で処理するものとする。同様に、最小移動量の最小値(最短距離)が最大となる商品が複数ある場合、数値の小さい順で処理するものとする。また、図18に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法1」を採用するものとする。また、図18に示す例では、複数のカートが局所的に配置されている。
算出部159は、まず、図19に示すように、商品毎に、複数のカートそれぞれについて、最小移動量を算出する。また、算出部159は、図20に示すように、カート間の最短距離も算出する。なお、図20に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の商品のうち最小移動量の最小値が最大となる商品は、商品「1」であるため(図19参照)、割当部161は、商品「1」を、商品「1」の収集に要する最小移動量が最小となるカート「A」(図19参照)に割り当てる(ステップS105)。また、カート「A」が商品「1」を最小移動量で収集するための移動経路上に商品「2」が存在し(図18参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「A」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、最小移動量の最小値が最大となる商品「3」(図19参照)の収集に要する最小移動量が最小となるカート「C」(図19参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「C」に商品「3」を割り当てる(ステップS113)。
続いて、商品「4」、「5」が未割り当てであり(ステップS109でYes)、商品「4」、「5」のうち、最小移動量の最小値が最大となる商品「4」(図19参照)の収集に要する最小移動量が最小となるカート「C」が未割り当てでない(ステップS111でNo)。ここで、未割り当てのカート「B」は、カート「B」と商品「4」との最小移動量(4、図19参照)=カート「B」とカート「C」との距離(2、図20参照)+カート「C」と商品「4」との最小移動量(2、図19参照)となるため、分散度合いを判定する判定式を満たし、かつ商品が割り当てられていないという条件を満たす(ステップS115でYes)。このため、割当部161は、カート「B」に商品「4」を割り当てる(ステップS117)。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集に要する最小移動量が最小となるカート「A」、「B」、「C」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、カート「A」、「B」、「C」のうち、商品「5」の収集に要する最小移動量が最小となるカートは、「A」、「B」、「C」である(図19参照)。また、この時点でのカート「A」の商品の収集に必要な移動量は8、カート「B」の商品の収集に必要な移動量は4、カート「C」の商品の収集に必要な移動量は5である。このため、割当部161は、カート「B」に、移動量の増加が最小となるように、商品「5」を割り当てる(ステップS119)。なお、カート「B」による商品「5」を収集するための最小移動量での移動経路と商品「4」を収集するための最小移動量での移動経路とを組み合わせると、一部の経路(移動量1つ分の経路)を削減できるため、ここでは、カート「B」に商品「5」を割り当てるとともに、削減可能な経路を削減する旨を設定しておく。
以上の割り当て結果より、決定部163は、例えば、カート「A」の移動経路を図21に示す移動経路に決定し、カート「C」の移動経路を図22に示す移動経路に決定し、カート「B」の移動経路を図23に示す移動経路に決定する(ステップS121)。なお、各カートの移動開始位置及び移動終了位置は、前述の通り同一位置であるため、図21〜図23では、各カートの商品の収集に必要な最終的な移動量を2倍にして、商品収集後に移動終了位置に戻るように、移動経路を決定している。
また、カート「B」の移動経路は、前述の削減設定により、商品「4」の最小移動量と商品「5」の最小移動量とを加算して2倍した移動量(12=(4+2)×2)よりも、2つ分少ない移動量(10=(4+2−1)×2)となっている。
この結果、各カートの移動ルート及び移動距離は、図24に示す通りとなり、カート全体での移動経路が好適化されている。
(移動経路の決定方法4)
次に、図25に示す状態での複数のカートの移動経路の決定方法について説明する。
なお、図25に示す例では、「A」、「B」、「C」がカートを表し、「1」、「2」、「3」、「4」、「5」がカートにより収集される商品を表し、「G」がカート「A」、「B」、「C」の移動終了位置を表している。つまり、カートの移動開始位置及び移動終了位置は、異なる位置である。また、カートが移動可能な移動路は、ネットワークで表されている。
つまり、図25に示す状態において、カート「A」、「B」、「C」が、商品「1」、「2」、「3」、「4」、「5」を収集(ピッキング)して、移動終了位置「G」に到達するまでの移動経路の決定方法を説明する。
なお、図25に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、最小移動量(最小移動距離)が最小となるカートが複数ある場合、アルファベット順で処理するものとする。同様に、最小移動量の最小値(最短距離)が最大となる商品が複数ある場合、数値の小さい順で処理するものとする。また、図25に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法1」を採用するものとする。
算出部159は、まず、図26に示すように、商品毎に、複数のカートそれぞれについて、商品までの最小移動量を算出する。また、算出部159は、図27に示すように、商品毎に、移動終了位置「G」との最短距離も算出する。そして、算出部159は、図28に示すように、図26及び図27を用いて、商品毎に、複数のカートそれぞれについて、移動終了位置「G」までの最小移動量を算出する。また、算出部159は、図7に示すように、カート間の最短距離も算出する。なお、図7に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の商品のうち移動終了位置「G」までの最小移動量の最小値が最大となる商品は、商品「1」であるため(図28参照)、割当部161は、商品「1」を、商品「1」の収集及び移動終了位置「G」の到達に要する最小移動量が最小となるカート「B」(図28参照)に割り当てる(ステップS105)。また、カート「B」が商品「1」を最小移動量で収集して移動終了位置「G」に到達するための移動経路上に商品「2」が存在し(図25参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「B」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、移動終了位置「G」までの最小移動量の最小値が最大となる商品「4」(図28参照)の収集及び移動終了位置「G」の到達に要する最小移動量が最小となるカート「C」(図28参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「C」に商品「4」を割り当てる(ステップS113)。また、カート「C」が商品「4」を最小移動量で収集して移動終了位置「G」に到達するための移動経路上に商品「3」が存在し(図25参照)、商品「3」はカートが割り当てられていないため、割当部161は、商品「3」を、カート「C」に更に割り当てる(ステップS107)。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集及び移動終了位置「G」の到達に要する最小移動量が最小となるカート「A」が未割り当てであるため(ステップS111でYes)、割当部161は、カート「A」に商品「5」を割り当てる(ステップS113)。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図29に示す移動経路に決定し、カート「C」の移動経路を図30に示す移動経路に決定し、カート「A」の移動経路を図31に示す移動経路に決定する(ステップS121)。
この結果、各カートの移動ルート及び移動距離は、図32に示す通りとなり、カート全体での移動経路が好適化されている。
(移動経路の決定方法5)
次に、図5に示す状態での複数のカートの移動経路の他の決定方法について説明する。ここでは、カート「A」、「B」、「C」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法2」を採用するものとする。
算出部159は、まず、図6に示すように、商品毎に、複数のカートそれぞれについて、最小移動量を算出する。また、算出部159は、図7に示すように、カート間の最短距離も算出する。なお、図7に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。また、算出部159は、図33に示すように、商品間の最短距離も算出する。
続いて、複数の商品のうち最小移動量の最小値が最大となる商品は、商品「1」であるため(図6参照)、割当部161は、商品「1」を、商品「1」の収集に要する最小移動量が最小となるカート「B」(図6参照)に割り当てる(ステップS105)。また、カート「B」が商品「1」を最小移動量で収集するための移動経路上に商品「2」が存在し(図5参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「B」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、最小移動量の最小値が最大となる商品「3」(図6参照)の収集に要する最小移動量が最小となるカート「A」(図6参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「A」に商品「3」を割り当てる(ステップS113)。
続いて、商品「4」、「5」が未割り当てであり(ステップS109でYes)、商品「4」、「5」のうち、最小移動量の最小値が最大となる商品「4」(図6参照)の収集に要する最小移動量が最小となるカート「C」が未割り当てであるため(ステップS111でYes)、割当部161は、カート「C」に商品「4」を割り当てる(ステップS113)。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集に要する最小移動量が最小となるカート「A」、「C」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、商品「5」との移動路上での距離が最も短い商品は商品「4」であり(図33参照)、当該商品「4」に割り当てられたカートは、カート「C」である。このため、割当部161は、カート「C」に、移動量の増加が最小となるように、商品「5」を割り当てる(ステップS119)。なお、カート「C」による商品「4」を収集するための最小移動量での移動経路と商品「5」を収集するための最小移動量での移動経路とを組み合わせても、一部の経路を削減することはできないので、ここでは、カート「C」に商品「5」を割り当てるだけでよい。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図8に示す移動経路に決定し、カート「A」の移動経路を図9に示す移動経路に決定し、カート「C」の移動経路を図10に示す移動経路に決定する(ステップS121)。なお、各カートの移動開始位置及び移動終了位置は、前述の通り同一位置であるため、図8〜図10では、各カートの商品の収集に必要な最終的な移動量を2倍にして、商品収集後に移動終了位置に戻るように、移動経路を決定している。この結果、各カートの移動ルート及び移動距離は、図11に示す通りとなり、カート全体での移動経路が好適化されている。
(移動経路の決定方法6)
次に、図5に示す状態での複数のカートの移動経路の他の決定方法について説明する。ここでは、カート「A」、「B」、「C」の移動経路の決定方法においては、図4に示すフローチャートのステップS119において、前述の「割り当て方法3」を採用するものとする。
算出部159は、まず、図6に示すように、商品毎に、複数のカートそれぞれについて、最小移動量を算出する。また、算出部159は、図7に示すように、カート間の最短距離も算出する。なお、図7に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の商品のうち最小移動量の最小値が最大となる商品は、商品「1」であるため(図6参照)、割当部161は、商品「1」を、商品「1」の収集に要する最小移動量が最小となるカート「B」(図6参照)に割り当てる(ステップS105)。また、カート「B」が商品「1」を最小移動量で収集するための移動経路上に商品「2」が存在し(図5参照)、商品「2」はカートが割り当てられていないため、割当部161は、商品「2」を、カート「B」に更に割り当てる(ステップS107)。
続いて、商品「3」、「4」、「5」が未割り当てであり(ステップS109でYes)、商品「3」、「4」、「5」のうち、最小移動量の最小値が最大となる商品「3」(図6参照)の収集に要する最小移動量が最小となるカート「A」(図6参照)が未割り当てであるため(ステップS111でYes)、割当部161は、カート「A」に商品「3」を割り当てる(ステップS113)。
続いて、商品「4」、「5」が未割り当てであり(ステップS109でYes)、商品「4」、「5」のうち、最小移動量の最小値が最大となる商品「4」(図6参照)の収集に要する最小移動量が最小となるカート「C」が未割り当てであるため(ステップS111でYes)、割当部161は、カート「C」に商品「4」を割り当てる(ステップS113)。
続いて、商品「5」が未割り当てであり(ステップS109でYes)、商品「5」の収集に要する最小移動量が最小となるカート「A」、「C」が未割り当てでなく(ステップS111でNo)、未割り当てのカートも残っていない(ステップS115でNo)。ここで、算出部159は、図34に示すように、カート「A」、「B」、「C」それぞれについて、現時点での移動量での移動経路を移動した場合に、商品「5」と最も近接する場合の距離を算出する。ここで、商品「5」と最も近接する場合の距離が最も短いカートはカート「A」である(図34参照)。このため、割当部161は、カート「A」に、移動量の増加が最小となるように、商品「5」を割り当てる(ステップS119)。なお、カート「A」による商品「5」を収集するための最小移動量での移動経路と商品「3」を収集するための最小移動量での移動経路とを組み合わせると、一部の経路(移動量1つ分の経路)を削減できるため、ここでは、カート「A」に商品「5」を割り当てるとともに、削減可能な経路を削減する旨を設定しておく。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図8に示す移動経路に決定し、カート「A」の移動経路を図35に示す移動経路に決定し、カート「C」の移動経路を図36に示す移動経路に決定する(ステップS121)。なお、各カートの移動開始位置及び移動終了位置は、前述の通り同一位置であるため、図15〜図16では、各カートの商品の収集に必要な最終的な移動量を2倍にして、商品収集後に移動終了位置に戻るように、移動経路を決定している。
また、カート「A」の移動経路も、前述の削減設定により、商品「3」の最小移動量と商品「5」の最小移動量とを加算して2倍した移動量(14=(5+2)×2)よりも、2つ分少ない移動量(12=(5+2−1)×2)となっている。
この結果、各カートの移動ルート及び移動距離は、図37に示す通りとなり、カート全体での移動経路が好適化されている。
以上のように第1実施形態によれば、複数の移動体の移動経路を、探索的な手法(例えば、遺伝的アルゴリズム)ではなく、上述したような決定方法(アルゴリズム)で決定するため、探索的な手法に比べ大幅に計算量を削減することができ、複数の移動体の移動経路を決定するために要する時間を抑えつつ、移動体全体での移動経路を好適化することができる。
(第2実施形態)
第2実施形態では、複数の移動体による複数の配送対象先への配送に好適な移動経路の決定手法について説明する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図38は、第2実施形態の情報処理システム1000の情報処理装置1010の機能構成の一例を示すブロック図である。図38に示すように、第2実施形態では、移動終了位置情報取得部153が移動経由位置情報取得部1153である点、並びに、対象位置情報取得部1155、算出部1159、及び割当部1161が、第1実施形態と相違する。
移動経由位置情報取得部1153は、複数の移動体の移動経由位置を示す移動経由位置情報を取得する。第2実施形態では、移動経由位置情報が示す移動経由位置は、移動路情報が示す移動路上のいずれかの位置を示す。第2実施形態では、移動経由位置では、配送対象先へ配送する配送対象商品の収集が行われることを想定しているが、これに限定されるものではない。なお、移動経由位置は、移動開始位置と同一位置であってもよいし、移動開始位置と異なる位置であってもよい。移動経由位置が、移動開始位置と異なる位置である場合、例えば、移動路情報取得部157により取得された移動路情報上で特定されていてもよい。また、移動経由位置情報は、移動路上の該当地点を示す2次元の座標情報であってもよいし、該当地点を識別する識別情報(例えば、地点ID)であってもよい。
対象位置情報取得部1155は、複数の移動体による複数の配送対象先それぞれについて、当該配送対象先の位置を示す配送対象先位置情報を取得する。第2実施形態では、端末装置20から、配送対象の配送対象物毎に、当該配送対象物の配送対象先が指定される。例えば、端末装置20は、配送対象物の識別情報(例えば、商品ID)と当該配送対象物の配送対象先位置情報との組を通知することで、対象位置情報取得部1155は、配送対象の配送対象物毎に、当該配送対象物の配送対象先を特定する。
算出部1159は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動経由位置情報取得部1153により取得された移動経由位置情報、対象位置情報取得部1155により取得された複数の配送対象先位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて、配送対象先毎に、複数の移動体それぞれについて、当該移動体が移動路を移動して、移動開始位置から移動経由位置を経由して配送対象先に配送するまでに要する最小移動量を算出する。第2実施形態では、最小移動量及び後述の移動量が距離である場合を例に取り説明するが、これに限定されず、時間としてもよい。
なお、移動開始位置と移動経由位置とが同一位置である場合、算出部1159は、移動経由位置情報を使用せずに、最小移動量を、移動体が移動路を移動して、移動開始位置から配送対象先に配送するまでに要する移動量として算出してもよい。
また、最小移動量の算出は、例えば、ダイクストラ―法やA*スター法などの公知技術を用いて行えばよい。また算出部1159は、最小移動量での移動経路が複数存在する場合、全移動経路を求めておくものとする。
割当部1161は、複数の配送対象先のうち配送する移動体に割り当てられていない配送対象先については、最小移動量の最小値が大きい配送対象先の順に、複数の移動体のうち、当該配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体に割り当てるとともに、当該割り当てた移動体が当該配送対象先へ最小移動量で配送するための移動経路上に、配送する移動体に割り当てられていない配送対象先があれば、当該配送する移動体に割り当てられていない配送対象先を当該割り当てた移動体に更に割り当てる。
また割当部1161は、配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体がない場合、分散度合いを判定する判定式を満たし、かつ配送対象先が割り当てられていない1以上の移動体があれば、当該1以上の移動体のうち、当該配送対象先への配送に要する最小移動量が最小となる移動体に配送対象先を割り当てる。
分散度合いを判定する判定式としては、移動体Xと配送対象先Qとの最小移動量=移動体Xと移動体Yとの距離+移動体Yと配送対象先Qとの最小移動量が挙げられるが、これに限定されるものではない。なお、移動体Xが判定式を満たすか否かの対象となる移動体であり、配送対象先Qが割り当て対象の配送対象先であり、移動体Yが任意の移動体である。
また割当部1161は、配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ配送対象先が割り当てられていない移動体がない場合、複数の移動体のうち、当該配送対象先への配送に要する最小移動量が最小となり、かつ移動量が最小の移動体に当該配送対象先を割り当てるようにしてもよい。
また割当部1161は、配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ配送対象先が割り当てられていない移動体がない場合、当該配送対象先との移動路上での距離が最も短い配送対象先へ配送する移動体に当該配送対象先を割り当てるようにしてもよい。
また割当部1161は、配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ配送対象先が割り当てられていない移動体がない場合、移動路上で当該配送対象先と最も近接する1以上の移動体のうち、移動量が最小の移動体に当該配送対象先を割り当てるようにしてもよい。
また割当部1161は、配送対象先への配送に要する最小移動量が最小となり、かつ配送対象先が割り当てられていない移動体がなく、更に、分散度合いを判定する判定式を満たし、かつ配送対象先が割り当てられていない移動体がない場合、当該配送対象先の移動体への割り当てを、特許文献1に開示されているような探索的手法(遺伝的アルゴリズム)を用いて行ってもよい。
なお割当部1161は、移動量が最小の移動体の移動量の増加が最小となるように、当該移動量が最小の移動体に配送対象先を割り当てる。
図39は、第2実施形態の情報処理システム1000で行われる移動経路決定処理の一例を示すフローチャートである。なお、図39に示すフローチャートでは、移動体がカート、配送対象先が配送対象商品の格納先である場合を例に取り説明する。
まず、移動経路の決定に先立ち、移動開始位置情報取得部151は、複数のカートそれぞれの移動開始位置情報を取得し、移動経由位置情報取得部1153は、複数のカートの移動経由位置情報を取得し、対象位置情報取得部1155は、配送対象商品の格納先それぞれの配送対象先位置情報を取得し、移動路情報取得部157は、移動路情報を取得する(ステップS201)。なお、カートの移動開始位置と移動経由位置とが同一であることが予め分かっている場合には、移動経由位置情報取得部1153による複数のカートの移動経由位置情報の取得を省略してもよい。
続いて、算出部1159は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動経由位置情報取得部1153により取得された移動経由位置情報、対象位置情報取得部1155により取得された複数の配送対象先位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて、格納先毎に、複数のカートそれぞれについて、当該カートが移動路を移動して、移動開始位置から移動経由位置を経由して格納先に配送するまでに要する最小移動量を算出する(ステップS203)。なお、移動開始位置と移動経由位置とが同一位置である場合、算出部1159は、移動経由位置情報を使用せずに、最小移動量を、カートが移動路を移動して、移動開始位置から格納先に配送するまでに要する移動量として算出してもよい。
続いて、割当部1161は、全格納先のうち最小移動量の最小値が最大となる格納先を、複数のカートのうち当該格納先への最小移動量が最小となるカートに割り当てる(ステップS205)。
続いて、割当部1161は、当該割り当てたカートが当該格納先へ最小移動量で配送するための移動経路上に、配送するカートに割り当てられていない格納先があれば、当該配送するカートに割り当てられていない格納先を当該割り当てたカートに更に割り当てる(ステップS207)。
続いて、配送するカートに割り当てられていない格納先が残っており(ステップS209でYes)、割当部1161は、残っている1以上の格納先のうち最小移動量の最小値が最大となる格納先への配送に要する最小移動量が最小となるカートが未割り当てであれば(ステップS211でYes)、当該カートに当該最小移動量の最小値が最大となる格納先を割り当てる(ステップS213)。そして、ステップS207へ戻る。
一方、割当部1161は、残っている1以上の格納先のうち最小移動量の最小値が最大となる格納先の配送に要する最小移動量が最小となるカートが未割り当てでなければ(ステップS211でNo)、分散度合いを判定する判定式を満たし、かつ格納先が割り当てられていない1以上のカートがあれば(ステップS215でYes)、当該1以上のカートのうち、当該最小移動量の最小値が最大となる格納先への配送に要する最小移動量が最小となるカートに当該最小移動量の最小値が最大となる格納先を割り当てる(ステップS217)。そして、ステップS207へ戻る。
なお、割当部1161は、分散度合いを判定する判定式を満たし、かつ格納先が割り当てられていない1以上のカートがなければ(ステップS215でNo)、複数のカートのうち、残っている1以上の格納先のうち最小移動量の最小値が最大となる格納先への配送に要する最小移動量が最小となり、かつ移動量が最小のカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる格納先を割り当てる(ステップS219)。以下では、この割り当て方法を「割り当て方法4」と称する場合がある。そして、ステップS207へ戻る。
なお、ステップS219の処理については、残っている1以上の格納先のうち最小移動量の最小値が最大となる格納先との移動路上での距離が最も短い格納先へ配送するカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる格納先を割り当てるようにしてもよい。以下では、この割り当て方法を「割り当て方法5」と称する場合がある。
また、ステップS219の処理については、残っている1以上の格納先のうち最小移動量の最小値が最大となる格納先と移動路上で最も近接する1以上のカートのうち、移動量が最小のカートに、移動量の増加が最小となるように、当該最小移動量の最小値が最大となる格納先を割り当てるようにしてもよい。以下では、この割り当て方法を「割り当て方法6」と称する場合がある。
ステップS209において、配送するカートに割り当てられていない格納先が残っていない場合(ステップS209でNo)、決定部163は、割当部1161の割り当て結果に基づいて、複数のカートの移動経路を決定し、カート毎に、当該カートに対応付けられた出力装置30に当該カートの移動経路を示す移動経路情報を送信する(ステップS221)。
続いて、各出力装置30は、情報処理装置1010から送信された移動経路情報が示す移動経路を出力する(ステップS223)。これにより、出力装置30に対応付けられたカートを移動させるユーザは、当該カートに対する好適化された移動経路を確認でき、当該好適化された移動経路で当該カートを移動させることができる。
以下、複数のカートの移動経路の決定方法を、具体例を用いて説明する。
以下では、図40に示す状態での複数のカートの移動経路の決定方法について説明する。なお、図40に示す例では、「A」、「B」、「C」がカートを表し、「S」が移動経由位置(配送対象商品の収集位置)を表し、「1」、「2」、「3」、「4」、「5」が格納先を表している。また、カートが移動可能な移動路は、ネットワークで表されており、カート「A」、「B」については、移動開始位置及び移動経由位置が同一位置であり、カート「C」については、移動開始位置及び移動経由位置が異なる位置であるものとする。これらの事項は、移動開始位置情報取得部151により取得された複数の移動開始位置情報、移動経由位置情報取得部1153により取得された移動経由位置情報、対象位置情報取得部1155により取得された複数の配送先対象位置情報、及び移動路情報取得部157により取得された移動路情報に基づいて特定される。
つまり、図40に示す状態において、カート「A」、「B」、「C」が、移動経由位置「S」で配送対象商品を収集して、格納先「1」、「2」、「3」、「4」、「5」へ配送(格納)するまでの移動経路の決定方法を説明する。
なお、図40に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、最小移動量(最小移動距離)が最小となるカートが複数ある場合、アルファベット順で処理するものとする。同様に、最小移動量の最小値(最短距離)が最大となる格納先が複数ある場合、数値の小さい順で処理するものとする。また、図40に示す状態でのカート「A」、「B」、「C」の移動経路の決定方法においては、図39に示すフローチャートのステップS219において、前述の「割り当て方法4」を採用するものとする。
算出部1159は、まず、図41に示すように、格納先毎に、移動経由位置「S」との最短距離を算出する。また、算出部1159は、図43に示すように、カート毎に、移動経由位置「S」との最短距離も算出する。そして、算出部1159は、図44に示すように、図41及び図43を用いて、格納先毎に、複数のカートそれぞれについて、移動開始位置から移動経由位置を経由する場合の最小移動量を算出する。また、算出部1159は、図42に示すように、カート間の最短距離も算出する。なお、図42に示すカート間の最短距離は、分散度合いを判定する判定式で使用するため、判定式を用いる必要が無い場合は、使用されない。
続いて、複数の格納先のうち最小移動量の最小値が最大となる格納先は、格納先「1」であるため(図44参照)、割当部1161は、格納先「1」を、格納先「1」への配送に要する最小移動量が最小となるカート「A」(図44参照)に割り当てる(ステップS205)。また、カート「A」が格納先「1」へ最小移動量で配送するための移動経路上に格納先「2」、「5」が存在し(図40参照)、格納先「2」、「5」はカートが割り当てられていないため、割当部1161は、格納先「2」、「5」を、カート「A」に更に割り当てる(ステップS207)。
続いて、格納先「3」、「4」が未割り当てであり(ステップS209でYes)、格納先「3」、「4」のうち、最小移動量の最小値が最大となる格納先「3」(図44参照)への配送に要する最小移動量が最小となるカート「B」(図44参照)が未割り当てであるため(ステップS211でYes)、割当部1161は、カート「B」に格納先「3」を割り当てる(ステップS213)。
続いて、格納先「4」が未割り当てであり(ステップS209でYes)、格納先「4」への配送に要する最小移動量が最小となるカート「A」、「B」が未割り当てでない(ステップS211でNo)。ここで、未割り当てのカート「C」は、移動経由位置「S」でのカート「C」と格納先「4」との最小移動量(6、図40参照)=カート「C」とカート「A」との距離(2、図40参照)+カート「A」と格納先「4」との最小移動量(4、図40参照)となるため、分散度合いを判定する判定式を満たす。このため、割当部1161は、カート「C」に商品「4」を割り当てる(ステップS217)。
以上の割り当て結果より、決定部163は、例えば、カート「B」の移動経路を図45に示す移動経路に決定し、カート「A」の移動経路を図46に示す移動経路に決定し、カート「C」の移動経路を図47に示す移動経路に決定する(ステップS221)。この結果、各カートの移動ルート及び移動距離は、図48に示す通りとなり、カート全体での移動経路が好適化されている。
以上のように第2実施形態においても、複数の移動体の移動経路を、探索的な手法(例えば、遺伝的アルゴリズム)ではなく、上述したような決定方法(アルゴリズム)で決定するため、探索的な手法に比べ大幅に計算量を削減することができ、複数の移動体の移動経路を決定するために要する時間を抑えつつ、移動体全体での移動経路を好適化することができる。
(第3実施形態)
第3実施形態では、第1実施形態において、移動経路の決定後に、収集対象物の追加に伴い、移動経路を更新する手法について説明する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図49は、第3実施形態の情報処理システム2000の情報処理装置2010の機能構成の一例を示すブロック図である。図49に示すように、第3実施形態では、対象位置情報取得部2155、算出部2159、割当部2161、及び決定部2163が、第1実施形態と相違する。
対象位置情報取得部2155は、決定部2163による複数の移動体の移動経路の決定後に、当該複数の移動体により追加収集される追加収集対象物の位置を示す追加収集対象物位置情報を更に取得する。追加収集対象物位置情報の取得方法は、収集対象物位置情報の取得方法と同様である。
割当部2161は、対象位置情報取得部2155により追加収集対象物位置情報が取得されてから所定時間経過時点での複数の移動体それぞれの残りの移動量及び残りの移動経路に基づいて、追加収集対象物を、複数の移動体のいずれかに割り当てる。具体的には、割当部2161は、残りの移動経路上で、追加収集対象物と最も近接する1以上の移動体のうち、残りの移動量が最小の移動体に当該追加収集対象物を割り当てる。
決定部2163は、割当部2161の割り当て結果に基づいて、追加収集対象物が割り当てられた移動体の移動経路を更新し、当該移動体に対応付けられた出力装置30に当該移動体の更新された移動経路を示す移動経路情報を再送信する。
出力装置30は、情報処理装置2010から再送信された移動経路情報が示す移動経路を出力する。
図50は、第3実施形態の情報処理システム2000で行われる移動経路更新処理の一例を示すフローチャートである。
まず、対象位置情報取得部2155は、決定部2163による複数のカートの移動経路の決定後に、当該複数のカートにより追加収集される追加商品の位置を示す追加収集対象物位置情報を更に取得する(ステップS301)。
続いて、算出部2159は、対象位置情報取得部2155により追加収集対象物位置情報が取得されてから所定時間経過時点での複数のカートそれぞれの残りの移動量及び残りの移動経路を取得する(ステップS303)。
続いて、算出部2159は、各カートの残り移動経路から、カート毎に追加商品との最短距離を算出する(ステップS305)。
続いて、割当部2161は、残りの移動経路上で、追加商品との最短距離が最小となる1以上のカートのうち、残りの移動量が最小のカートに、移動量の増加が最小となるように、当該追加商品を割り当てる(ステップS307)。
続いて、決定部2163は、割当部2161の割り当て結果に基づいて、追加収集対象物が割り当てられたカートの移動経路を更新し、当該カートに対応付けられた出力装置30に当該カートの更新された移動経路を示す移動経路情報を再送信する(ステップS309)。
出力装置30は、情報処理装置2010から再送信された移動経路情報が示す移動経路を出力する(ステップS311)。
以下、追加商品の追加に伴うカートの移動経路の更新方法を、具体例を用いて説明する。以下では、第1実施形態で説明した「移動経路の決定方法1」で決定した移動経路の更新方法について説明する。
なお、追加商品が追加され、所定時間経過時点での状態は、図51に示す状態であるとする。図51に示す例では、商品「6」が追加商品である。また、図51に示す状態では、まだ、カート「A」〜「C」が移動を開始していないが、カート「A」〜「C」が移動を開始していてもよい。
まず、算出部2159は、図52に示すように、カート「A」、「B」、「C」それぞれについて、残りの移動量での残りの移動経路を移動した場合に、追加商品「6」と最も近接する場合の距離を算出する(ステップS303、S305)。なお、カート「B」の残りの移動経路は図8に示す通りであり、カート「A」の残りの移動経路は図9に示す通りであり、カート「C」の残りの移動経路は図10に示す通りである。
ここで、追加商品「6」と最も近接する場合の距離が最も短いカートはカート「B」であるため(図52参照)、割当部2161は、カート「B」に、移動量の増加が最小となるように、追加商品「6」を割り当てる(ステップS307)。
以上の割り当て結果より、決定部2163は、カート「B」の移動経路を図8に示す移動経路から図53に示す移動経路に更新する。
以上のように第3実施形態においても、複数の移動体の移動経路を、探索的な手法(例えば、遺伝的アルゴリズム)ではなく、上述したような決定方法(アルゴリズム)で決定するため、探索的な手法に比べ大幅に計算量を削減することができ、移動経路の更新が必要な場合、リアルタイムに移動経路を更新することができる。従って第3実施形態では、決定された移動経路での移動体の移動が開始された後であっても、移動経路を更新することができる。
なお、探索的な手法(例えば、遺伝的アルゴリズム)の場合、移動経路を更新する場合であっても多大な計算量を要し、移動経路の更新に多大な時間を要するため、決定された移動経路での移動体の移動が開始された後に移動経路を更新しようとすると、移動体の移動が終了する前に移動経路を更新することができず、リアルタイムに移動経路を更新することができない。
(変形例)
上記各実施形態では、倉庫内でのカートを用いて商品を(ピッキング)収集したり、カートを用いて商品を格納する場合を例に取り説明した。
但し、これに限定されず、コミュニティバスによる人間の送迎などにも応用できる。この場合、移動体はコミュニティバスとなり、収集対象物は人間となり、配送対象先は人間を送る場所となり、移動路は道路となる。
また、物資の救援や救護搬送などの災害対応計画などにも応用できる。この場合、移動体は自動車となり、収集対象物は被災者や物資となり、配送対象先は病院や避難所となり、移動路は道路となる。
また、集荷や配達などの宅配などにも応用できる。この場合、移動体はトラックとなり、収集対象物は宅配物となり、配送対象先は居所などとなり、移動路は道路となる。
また、営業マンの巡回などにも応用できる。この場合、移動体は自動車となり、収集対象物は営業マンとなり、配送対象先は訪問先などとなり、移動路は道路となる。
また、移動体を自動車とする場合、出力装置30をカーナビゲーションやプロジェクタとしてもよい。出力装置30がプロジェクタの場合、移動経路を自動車のフロントガラスに投影するなどの態様が考えられる。
(プログラム)
上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
また、上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムを、ROM等に予め組み込んで提供するようにしてもよい。
上記各実施形態及び各変形例の情報処理装置10で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、CPUがROMからプログラムをRAM上に読み出して実行することにより、上記各機能部がコンピュータ上で実現されるようになっている。
なお、上記各実施形態及び各変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。