(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-29
(45)【発行日】2022-08-08
(54)【発明の名称】巡回経路探索装置、巡回経路生成方法、及びプログラム
(51)【国際特許分類】
G06Q 10/08 20120101AFI20220801BHJP
G01C 21/34 20060101ALI20220801BHJP
【FI】
G06Q10/08
G01C21/34
(21)【出願番号】P 2018136366
(22)【出願日】2018-07-20
【審査請求日】2021-06-21
(73)【特許権者】
【識別番号】507381857
【氏名又は名称】Kii株式会社
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】岸本 英昭
【審査官】松野 広一
(56)【参考文献】
【文献】特開2014-199486(JP,A)
【文献】特開2010-079808(JP,A)
【文献】国際公開第2009/119040(WO,A1)
【文献】特開2014-115988(JP,A)
【文献】特開2014-199537(JP,A)
【文献】特開平11-110622(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G01C 21/34
(57)【特許請求の範囲】
【請求項1】
複数地点に設けられた設備の夫々に物資を補充しつつ巡回する移動体の巡回経路を探索する巡回経路探索装置であって、
前記設備の夫々について、夫々に補充可能な物資の最大量である補充可能最大量と、夫々に最低限補充しなければならない物資の量である最低補充量と、前記移動体に現在積載されている前記物資の量である積載残量と、
前記移動体の最大積載量と、前記設備の夫々における前記物資の残量と、を記憶する記憶部と、
前記探索の候補となる巡回経路である候補経路を生成し、前記移動体に積載されている前記物資の前記設備への補充量を、前記補充可能最大量と前記最低補充量とで定まる範囲で調節可能としつつ、前記候補経路の経路長に関する第1指標値を求め、前記第1指標値に基づき前記巡回経路を探索
し、前記巡回経路上の各設備での物資の補充量を、前記移動体の最大積載量を按分することにより算出する経路探索処理部と、
を備える、巡回経路探索装置。
【請求項2】
請求項1に記載の巡回経路探索装置であって、
前記経路探索処理部は、前記移動体が前記候補経路に沿って移動した場合における、前記移動体が前記設備に寄る度に前記補充可能最大量の補充を行った場合における前記積載残量と、前記移動体が前記設備に寄る度に前記最低補充量の補充を行った場合における前記積載残量とをシミュレーションすることにより前記巡回経路を探索する、
巡回経路探索装置。
【請求項3】
請求項1に記載の巡回経路探索装置であって、
前記経路探索処理部は、前記移動体が前記物資の補給が可能な拠点に戻る経路を含む巡回経路を前記候補経路として生成する、
巡回経路探索装置。
【請求項4】
請求項3に記載の巡回経路探索装置であって、
前記記憶部は、前記移動体の最大積載量を記憶し、
前記経路探索処理部は、前記最大積載量から前記補充可能最大量で巡回して前記拠点に戻る際の前記積載残量を引いた値に基づく第2指標値を求め、前記第2指標値に基づき前記巡回経路を探索する、
巡回経路探索装置。
【請求項5】
請求項4に記載の巡回経路探索装置であって、
前記記憶部は、前記巡回経路を探索する際の前記値の影響度を示す重み値を記憶し、
前記経路探索処理部は、前記重み値を前記第2指標値に作用させて前記巡回経路を探索する、
巡回経路探索装置。
【請求項6】
請求項1乃至5のいずれか一項に記載の巡回経路探索装置であって、
前記記憶部は、前記設備の夫々の補充の緊急性を示す値である緊急度を記憶し、
前記経路探索処理部は、前記緊急度に関する第3指標値に基づき前記巡回経路を探索する、
巡回経路探索装置。
【請求項7】
請求項1乃至5のいずれか一項に記載の巡回経路探索装置であって、
前記記憶部は、前記設備の夫々の在庫可能最大量を記憶し、
前記経路探索処理部は、前記設備における前記在庫可能最大量から前記物資の残量を引いた値を前記補充可能最大量として用いる、
巡回経路探索装置。
【請求項8】
請求項1乃至5のいずれか一項に記載の巡回経路探索装置であって、
前記経路探索処理部は、山登り法、シミュレーテッドアニーリング法、遺伝的アルゴリズム、及びタブーサーチのうちのいずれかにより前記探索を行う、
巡回経路探索装置。
【請求項9】
請求項1乃至5のいずれか一項に記載の巡回経路探索装置であって、
前記設備の夫々について、前記補充可能最大量及び前記最低補充量の少なくともいずれかを決定するための情報を受け付け、前記補充可能最大量及び前記最低補充量のうちの少なくともいずれかを前記情報に基づき求めて記憶するユーザインタフェースを備える、
巡回経路探索装置。
【請求項10】
請求項9に記載の巡回経路探索装置であって、
前記物資の特性や前記物資の消費傾向に応じた値を前記最低補充量として受け付けて記憶するユーザインタフェースを備える、
巡回経路探索装置。
【請求項11】
請求項9に記載の巡回経路探索装置であって、
前記記憶部は、前記設備の夫々の在庫可能最大量を記憶し、
前記設備の前記在庫可能最大量に対する割合を受け付け、前記在庫可能最大量に前記割合を乗算した値を当該設備の前記最低補充量として記憶するユーザインタフェースを備える、
巡回経路探索装置。
【請求項12】
請求項9に記載の巡回経路探索装置であって、
前記設備の前記補充可能最大量に対する割合を受け付け、前記補充可能最大量に前記割合を乗算した値を当該設備の前記最低補充量として記憶するユーザインタフェースを備える、
巡回経路探索装置。
【請求項13】
請求項5に記載の巡回経路探索装置であって、
前記重み値の入力を受け付けて記憶するユーザインタフェースを備える、
巡回経路探索装置。
【請求項14】
複数地点に設けられた設備の夫々に物資を補充しつつ巡回する移動体の巡回経路を探索する巡回経路探索方法であって、
情報処理装置が、
前記設備の夫々について、夫々に補充可能な物資の最大量である補充可能最大量と、夫々に最低限補充しなければならない物資の量である最低補充量と、前記移動体に現在積載されている前記物資の量である積載残量と、
前記移動体の最大積載量と、前記設備の夫々における前記物資の残量と、を記憶するステップと、
前記探索の候補となる巡回経路である候補経路を生成し、前記移動体に積載されている前記物資の前記設備への補充量を、前記補充可能最大量と前記最低補充量とで定まる範囲で調節可能としつつ、前記候補経路の経路長に関する第1指標値を求め、前記第1指標値に基づき前記巡回経路を探索
し、前記巡回経路上の各設備での物資の補充量を、前記移動体の最大積載量を按分することにより算出するステップと、
を実行する、巡回経路探索方法。
【請求項15】
複数地点に設けられた設備の夫々に物資を補充しつつ巡回する移動体の巡回経路を探索する巡回経路探索方法を実行する情報処理装置に、
前記設備の夫々について、夫々に補充可能な物資の最大量である補充可能最大量と、夫々に最低限補充しなければならない物資の量である最低補充量と、前記移動体に現在積載されている前記物資の量である積載残量と、
前記移動体の最大積載量と、前記設備の夫々における前記物資の残量と、を記憶するステップと、
前記探索の候補となる巡回経路である候補経路を生成し、前記移動体に積載されている前記物資の前記設備への補充量を、前記補充可能最大量と前記最低補充量とで定まる範囲で調節可能としつつ、前記候補経路の経路長に関する第1指標値を求め、前記第1指標値に基づき前記巡回経路を探索
し、前記巡回経路上の各設備での物資の補充量を、前記移動体の最大積載量を按分することにより算出するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、巡回経路探索装置、巡回経路生成方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、欠品を最小限に抑え、補充場所での台車積み込み量を適正とし、無駄な輸送コストや作業コストを発生させないようにすることを目的として構成された、自動販売機補充作業支援システムについて記載されている。自動販売機補充作業支援システムは、ネットワークを通じて自動販売機の商品在庫状況を受信し、補充作業員が補充対象地域から構成される巡回ルートの中のいずれかの補充対象地域に到達した時点での商品配送トラック内の商品在庫から、巡回ルート内の自動販売機の商品在庫状況および自動販売機ごとに予め設定された補充基準に基づき、自動販売機に配分する商品およびその量を算出し、配分する商品およびその量を情報端末に出力する。
【0003】
特許文献2には、巡回すべき複数の地点に順序および/または時間的な制約がある場合に、当該制約を満足し得る巡回経路を探索できるようにすることを目的として構成された巡回経路探索方法について記載されている。上記方法では、巡回対象の2地点間全ての最短経路を探索してその最適経路および経路コストを記憶し、遺伝アルゴリズムを用いて最適な巡回経路を求める際に、巡回順序に応じた経路コストの和に巡回対象の地点の制約条件に応じた制約コストを付加して評価値を算出し、評価値が既存集団における遺伝子より良い評価値であれば遺伝子集団に加える。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-293262号公報
【文献】特開2007-187584号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
移動体により物資の補充を行いつつ複数の地点を巡回する際の経路探索は、いわゆる巡回セールスマン問題として、情報処理装置に、例えば、山登り法、シミュレーテッドアニーリング法等の経路探索アルゴリズムを実行させることにより行うことができる。
【0006】
ここで各地に設置されている複数の自動販売機に商品の補充するための、トラック等の車両による自動販売機の巡回経路の探索は、例えば、各自動販売機に在庫可能(収容可能)な商品の最大量と各自動販売機の商品残量との差を夫々の商品の補充量として、各自動販売機の補充量の総和が車両の最大積載量を超えないという制約条件の下、経路探索アルゴリズムを実行することにより行うことができる。
【0007】
しかし各自動販売機への商品の補充量を固定値(上記の差)としているため、例えば、自動販売機への補充量を抑えるようにしたときの巡回経路については探索の候補となり得ず、現実の運用実態に即した形で巡回経路を柔軟に探索することができないという課題がある。
【0008】
本発明は上記の課題に鑑みてなされたものであり、現実の運用実態に即した形で柔軟かつ適切に巡回経路の探索を行うことが可能な、巡回経路探索装置、巡回経路生成方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するための本発明の一つは、複数地点に設けられた設備の夫々に物資を補充しつつ巡回する移動体の巡回経路を探索する巡回経路探索装置であって、前記設備の夫々について、夫々に補充可能な物資の最大量である補充可能最大量と、夫々に最低限補充しなければならない物資の量である最低補充量と、前記移動体に現在積載されている前記物資の量である積載残量と、前記移動体の最大積載量と、前記設備の夫々における前記物資の残量と、を記憶する記憶部と、前記探索の候補となる巡回経路である候補経路を生成し、前記移動体に積載されている前記物資の前記設備への補充量を、前記補充可能最大量と前記最低補充量とで定まる範囲で調節可能としつつ、前記候補経路の経路長に関する第1指標値を求め、前記第1指標値に基づき前記巡回経路を探索し、前記巡回経路上の各設備での物資の補充量を、前記移動体の最大積載量を按分することにより算出する経路探索処理部と、を備える。
【0010】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
【発明の効果】
【0011】
本発明によれば、現実の運用実態に即した形で柔軟かつ適切に巡回経路の探索を行うことができる。
【図面の簡単な説明】
【0012】
【
図1】巡回経路探索システムの概略的な構成を示す図である。
【
図2】巡回経路探索装置による巡回経路の探索方法を説明する図である。
【
図3】自動販売機の主な構成を示すブロック図である。
【
図4】自動販売機が備える主な機能を示す図である。
【
図5】巡回経路探索装置の主な構成を示すブロック図である。
【
図6】巡回経路探索装置が備える主な機能を示す図である。
【
図12】山登り法による経路探索処理を説明するフローチャートである。
【
図13】シミュレーテッドアニーリング法による経路探索処理を説明するフローチャートである。
【
図14C】シミュレーションの様子を示す図である。
【
図14F】シミュレーションの様子を示す図である。
【
図15A】シミュレーションの実行例を示す図である。
【
図15B】シミュレーションの実行例を示す図である。
【発明を実施するための形態】
【0013】
以下、実施形態について図面を参照しつつ詳細に説明する。
【0014】
図1に実施形態として示す巡回経路探索システム1の概略的な構成を示している。同図に示すように、巡回経路探索システム1は、各地に設けられている複数の自動販売機2(設備)と、これら複数の自動販売機2の夫々と通信ネットワーク5を介して通信可能に接続する情報処理装置である巡回経路探索装置10とを含む。
【0015】
同図に示す拠点3では、自動販売機2に補充する商品(物資)を運搬する車両4(移動体)に対して商品の補給(積載)が行われる。同図では拠点3は一つのみであるが、拠点3は複数存在してもよい。車両4は各地を巡回することにより、積載されている商品を自動販売機2に補充する。巡回経路探索装置10は、経路探索アルゴリズムを実行することにより各自動販売機2の適切な巡回経路を探索し、その結果を出力する。
【0016】
図2に示すように、巡回経路探索装置10は、自動販売機2に補充可能な商品の量である補充可能最大量(以下、「MAX補充量」とも称する。)と、自動販売機2の夫々について設定される、夫々に最低限補充しなければならない商品の量である最低補充量(以下、「MIN補充量」とも称する。)との間の範囲内で、自動販売機2の夫々について商品の補充量を調節可能として経路探索アルゴリズムを実行することにより巡回経路の探索を行う。尚、上記のMIN補充量の設定方法は必ずしも限定されない。MIN補充量の設定方法として、例えば、次のようなものが考えられる。
【0017】
(1)自動販売機2が扱う商品の特性や利用者の消費傾向等に応じた値をMIN補充量として設定する。
(2)自動販売機2の在庫可能最大量に対する割合で設定する。例えば、在庫可能最大量の50%をMIN補充量として設定する(但し、現在の在庫量が50%以上である場合はMIN補充量が「在庫可能最大量-在庫量」を超えない値をMIN補充量として設定する)。
(3)自動販売機2のMAX補充量に対する割合で設定する。例えば、MAX補充量の50%をMIN補充量として設定する。
【0018】
尚、巡回経路探索装置10に、例えば、MAX補充量及びMIN補充量の少なくともいずれかを決定するための情報を受け付け、受け付けた上記情報に基づきMAX補充量及びMIN補充量のうちの少なくともいずれかを求めて記憶するユーザインタフェースを設けてもよい。また例えば、上記(1)の設定方法による場合、上記ユーザインタフェースが物資の特性や物資の消費傾向に応じた値をMIN補充量として受け付けて記憶するようにしてもよい。また例えば、上記(2)の設定方法による場合、上記ユーザインタフェースが、自動販売機2の在庫可能最大量に対する割合を受け付け、在庫可能最大量に割合を乗算した値を当該自動販売機2のMIN補充量として記憶するようにしてもよい。また例えば、上記(3)の設定方法による場合、上記ユーザインタフェースが、自動販売機2のMAX補充量に対する割合を受け付け、MAX補充量に上記割合を乗算した値を当該自動販売機2のMIN補充量として記憶するようにしてもよい。
【0019】
図3は自動販売機2の主な構成を示すブロック図である。同図に示すように、自動販売機2は、プロセッサ21、記憶装置22、通信装置23、販売制御機構24、金銭受付機構25、及び商品残量検出機構26を備える。
【0020】
プロセッサ21は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成される。記憶装置22は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性半導体メモリ(NVRAM(Non Volatile RAM))等である。プロセッサ21及び記憶装置22は、自動販売機2の統括的な制御を行う主制御部を構成する。プロセッサ21及び記憶装置22は、例えば、通信装置23を介して提供される仮想的な情報処理資源(例えば、クラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)等)を用いて実現されるものであってもよい。
【0021】
通信装置23は、例えば、無線通信モジュール、NIC(Network Interface Card)等を用いて構成される。通信装置23は、通信ネットワーク5を介した巡回経路探索装置10等の他の装置との間の通信を実現する。通信装置23は、他の装置から情報を受け付ける入力装置として機能させることもできる。
【0022】
販売制御機構24は、機械式機構や電子回路等を用いて構成され、自動販売機2の利用者に商品を提供する際に制御される機構を含む。販売制御機構24は、例えば、自動販売機2の内部の商品棚や商品排出機構、自動販売機2の外部の商品選択ボタンや代金支払い用ICカードのリーダライタ、各種表示ランプ、ディスプレイ等を含む。
【0023】
金銭受付機構25は、硬化選別機(コインメック)や紙幣選別機(ビルバリ)としての機構を含み、例えば、利用者が投入する硬貨や紙幣の受け入れ、選別、貯留、自動販売機2内に釣銭用に保有する硬貨や紙幣の枚数の制御等を行う。
【0024】
商品残量検出機構26は、自動販売機2の商品残量を検出する。商品残量検出機構26は、例えば、機械式または電子式の残量計数機構、光学式センサ、感圧センサ等を用いて構成される。商品残量検出機構26は、自動販売機2が販売する商品の性質に応じた種々の構成を取り得る。
【0025】
図4に自動販売機2が備える主な機能を示している。同図に示すように、自動販売機2は、記憶部210、販売制御処理部211、金銭受付処理部212、商品残量取得部213、MAX補充量算出部214、MIN補充量算出部215、及び通信処理部216の各機能を備える。
【0026】
自動販売機2の機能は、例えば、自動販売機2が備える機構によって実現される。また自動販売機2の機能は、例えば、プロセッサ21が、記憶装置22に格納されているプログラムを読み出して実行することにより実現される。上記のプログラムは、例えば、可搬型記録媒体(CD(Compact Disc)、DVD(Digital Versatile Disc)、フラッシュメモリ等)から図示しない可搬型記録媒体の読取装置を介して記憶装置22にロードされる。また上記のプログラムは、例えば、上記プログラムを蓄積管理する図示しない配信装置から通信設備を介して自動販売機2にダウンロードされる。
【0027】
上記機能のうち、記憶部210は、当該自動販売機2の現在の商品残量である商品残量251、当該自動販売機2の前述した在庫可能最大量である在庫可能最大量252、当該自動販売機2の前述したMAX補充量であるMAX補充量253、当該自動販売機2の前述したMIN補充量であるMIN補充量254、及び当該自動販売機2の商品の補充の緊急性を示す情報である緊急度255の各情報(データ)を記憶する。本実施形態では、緊急度255は0~9の範囲の値をとるものとする。緊急性が高いほど緊急度255の値が大きくなる。
【0028】
尚、記憶部210が記憶するこれらの情報は、通信ネットワーク5を介して巡回経路探索装置10とリアルタイムにもしくは随時(定期的等)共有される。記憶部210が記憶するこれらの情報は巡回経路探索装置10において管理してもよいが、例えば、個々の自動販売機2においてこれらの情報を個別に管理し、巡回経路探索装置10が随時これらの情報を自動販売機2から取得するようにすることで、自動販売機2の増減設時の管理が容易になる。
【0029】
販売制御処理部211は、販売制御機構24を制御し、自動販売機2の利用者への商品の提供に関する処理を行う。金銭受付処理部212は、金銭受付機構25に投入された硬貨や紙幣の真偽の判別、硬貨や紙幣を種類別に選別するための制御、紙幣や硬貨の数の検出等の制御を行う。
【0030】
商品残量取得部213は、商品残量検出機構26を介して商品残量を取得する。商品残量取得部213が取得した商品残量は記憶部210が商品残量251として記憶する。また商品残量取得部213は、取得した商品残量に応じて緊急度255の値を設定する。例えば、商品残量取得部213は、商品残量が少ない程、緊急度255の値を大きく設定する。また例えば、商品残量取得部213は、商品残量の減少速度が速い程、緊急度255の値を大きく設定する。
【0031】
MAX補充量算出部214は、記憶部210が記憶している在庫可能最大量252と商品残量251とに基づきMAX補充量を求める。本実施形態では、MAX補充量算出部214は、在庫可能最大量252と商品残量251の差をMAX補充量として求める。上記の在庫可能最大量252は、例えば、自動販売機2の管理者等が通信装置23を介して設定する。巡回経路探索装置10から通信ネットワーク5を介して上記の在庫可能最大量252を設定するようにしてもよい。MAX補充量算出部214が求めたMAX補充量は記憶部210がMAX補充量253として記憶する。MAX補充量算出部214の機能は巡回経路探索装置10側で実現するようにしてもよい。
【0032】
MIN補充量算出部215は、通信装置23を介して前述したMIN補充量の設定を受け付ける。MIN補充量算出部215が受け付けたMIN補充量は、記憶部210がMIN補充量254として記憶する。MIN補充量の設定は、例えば、自動販売機2の管理者やルートマンが行う。またMIN補充量254の上記設定を、例えば、通信ネットワーク5を介して巡回経路探索装置10から行うようにしてもよい。
【0033】
通信処理部216は、通信ネットワーク5を介して巡回経路探索装置10と通信し、記憶部210が記憶する情報等の様々な情報を巡回経路探索装置10との間で送信または受信する。
【0034】
図5は巡回経路探索装置10の主な構成を示すブロック図である。同図に示すように、巡回経路探索装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。
【0035】
巡回経路探索装置10は、例えば、仮想サーバやクラウドシステムにおけるクラウドサーバのように仮想的なリソースを用いて実現されるものでもよい。また巡回経路探索装置10は、例えば、通信可能に接続された複数の情報処理装置やプロセッサによって実現してもよい。
【0036】
プロセッサ11は、例えば、CPU、MPU、GPU(Graphics Processing Unit)等を用いて構成されている。プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、巡回経路探索装置10の様々な機能が実現される。主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM、RAM、不揮発性半導体メモリ等である。
【0037】
補助記憶装置13は、例えば、ハードディスクドライブ、半導体メモリ(SSD、SDメモリカード、USBメモリ等)、光学式記憶装置(CD、DVD等)の読取/書込装置等)、クラウドサーバの記憶領域等である。補助記憶装置13に格納されているプログラムやデータは主記憶装置12に随時ロードされる。補助記憶装置13は、例えば、NAS(Network Attached Storage)のように通信手段を介してプロセッサ11と通信可能に接続するものであってもよい。
【0038】
入力装置14は、外部からの入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、タッチパネル、可搬型記録媒体の読取装置等である。出力装置15は、処理経過や処理結果等の各種情報を外部に提供するユーザインタフェースであり、例えば、画面表示装置(LCD(Liquid Crystal Display)、GPU等)、印字装置、可搬型記録媒体の書込装置等である。
【0039】
通信装置16は、通信ネットワーク5を介して行われる他の装置との間の通信を実現する有線方式または無線方式の通信インタフェースであり、例えば、無線通信モジュールやNIC等である。尚、例えば、通信装置16を介して他の装置との間で情報の入力や出力を行う構成、即ち通信装置16が入力装置14や出力装置15として機能する構成としてもよい。
【0040】
図6に巡回経路探索装置10が備える主な機能を示している。同図に示すように、巡回経路探索装置10は、記憶部110、通信処理部111、及び経路探索処理部112の各機能を備える。
【0041】
巡回経路探索装置10の機能は、例えば、巡回経路探索装置10が備えるハードウェアによって実現される。また巡回経路探索装置10の機能は、例えば、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより実現される。上記のプログラムは、例えば、可搬型記録媒体から入力装置14を介して主記憶装置12にロードされる。また上記のプログラムは、例えば、上記プログラムを蓄積管理する図示しない配信装置から通信設備を介して巡回経路探索装置10にダウンロードされる。
【0042】
上記の機能のうち、記憶部110は、拠点3に関する情報である拠点情報151、自動販売機2に関する情報である自動販売機情報152、車両4に関する情報である車両情報153、後述する現在経路に関する情報である現在経路情報154、後述する次経路に関する情報である次経路情報155、巡回経路の探索に際して用いるコストの算出式に関する情報であるコスト関数情報156、及び巡回経路の探索結果に関する情報である経路探索結果157の各情報(データ)を記憶する。
【0043】
通信処理部111は、通信ネットワーク5を介して各地に存在する複数の自動販売機2の夫々と通信し、複数の自動販売機2の夫々との間で情報の送信または受信を行う。
【0044】
経路探索処理部112は、記憶部110が記憶している情報を入力として所定の経路探索アルゴリズムを実行することにより巡回経路の探索を行う。上記の経路探索アルゴリズムは、例えば、山登り法、シミュレーテッドアニーリング法、遺伝的アルゴリズム、タブーサーチ等である。本実施形態では、経路探索アルゴリズムは、山登り法またはシミュレーテッドアニーリング法であるものとする。経路探索処理部112は、探索解の候補となる巡回経路(以下、「候補経路」とも称する。)の評価に際し、当該巡回経路における積載物の消費の状況をシミュレーションする。
【0045】
同図に示すように、経路探索処理部112は、候補経路生成部1121、シミュレーション処理部1122、コスト生成評価部1123、及び探索結果出力部1124を含む。
【0046】
候補経路生成部1121は、上記シミュレーションに際し、拠点情報151及び自動販売機情報152に基づき候補経路を順次生成する。候補経路生成部1121は、現在注目している候補経路の一つ(以下、「現在経路」と称する。)についての情報を現在経路情報154として記憶し、現在経路に基づき生成される次の候補経路(以下、「次経路」と称する。)についての情報を次経路情報155として記憶する。
【0047】
候補経路生成部1121は、次経路の生成に際し、例えば、現在経路に含まれている自動販売機2の位置をランダムに2つ選択し、それらの順番を入れ替えた経路を次経路として生成する。例えば、現在経路が「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→自動販売機2D→自動販売機2E→拠点3」であるとき、候補経路生成部1121は、次経路を「拠点3→自動販売機2A→自動販売機2B→自動販売機2E→自動販売機2D→自動販売機2C→拠点3」として生成する。
【0048】
シミュレーション処理部1122は、車両4が候補経路に沿って複数の自動販売機2を巡回した場合における積載物の消費の状況をシミュレーションする。シミュレーション処理部1122は、複数の自動販売機2の夫々に寄った際の車両4の積載状況を、最大消費時(MAX補充量を消費した時)の積載残量(以下、「MAX時積載残量」とも称する。)と最小消費時(MIN補充量を消費した時)の積載残量(以下、「MIN時積載残量」とも称する。)により管理する。尚、車両4に積載する商品(積載物)の種類は複数とすることもできるが、本実施形態では説明の簡単のために積載物は一種類であるものとする。
【0049】
シミュレーション処理部1122は、拠点3からの出発時におけるMAX時積載残量及びMIN時積載残量の初期値をいずれも車両4の最大積載量に設定する。シミュレーション処理部1122は、車両4が複数の自動販売機2の夫々に寄る度に、MAX時積載残量及びMIN時積載残量を次のように更新する。
MAX時積載残量(新)=MAX時積載残量(旧)- MAX補充量 ・・・式2
MIN時積載残量(新)=MIN時積載残量(旧)- MIN補充量 ・・・式3
尚、式2,3において、左辺が負の値になるときは当該左辺の値を0に設定する。
【0050】
ここである地点でMIN時積載残量が0(ゼロ)になる場合、シミュレーション処理部1122は、候補経路に当該地点の前の地点から拠点3に戻る経路を挿入し、これを評価中の次経路とする。尚、拠点3が複数存在する場合、シミュレーション処理部1122は、例えば、上記前の地点から最も近い拠点3を選択する。
【0051】
車両4が拠点3に戻った際(上記のように拠点3に戻る経路が挿入された場合も含む。)、シミュレーション処理部1122は、MAX時積載残量及びMIN時積載残量を車両4の最大積載量に設定し直す。また上記の時点において、シミュレーション処理部1122は、次式から求められる値をコスト関数のボーナス分として積算する。
ボーナス=最大積載量-MAX時積載残量 ・・・式4
尚、積載物が複数種類である場合、シミュレーション処理部1122は、例えば、各積載物について上式から求められる値の総和をボーナスとして求める。
【0052】
コスト生成評価部1123は、上記シミュレーションの結果と次式で表されるコスト関数とに基づき、候補経路のコストを求める。
コスト関数 =第1指標値―c×第2指標値+第3指標値 ・・・式5
上式において、第3指標値は、後述する緊急度1527(前述した緊急度255)に応じたコスト調整分である。第3指標値は、例えば、次のようにして求められる。
【0053】
第3指標値=-α×Σf(自動販売機の緊急度,順番) ・・・式6
上式において、αは正の係数である。また関数fは次式で表される。
f(自動販売機の緊急度,順番)=max(0,(全自動販売機数/2-順番)×緊急度) ・・・式7
【0054】
上式における「順番」は、車両4がその自動販売機2を何番目に寄るかを示す値である。本実施形態では、車両4が最初に訪れる自動販売機2を0番目とする。例えば、巡回すべき自動販売機2が全部で100台あり、ルートマンが緊急度=9の自動販売機2を最初に(0番目に)訪問する場合には、f(9,0)=max(0,(100/2-0)×9)=450となる。また、もしこの自動販売機2を51番目に訪問する場合には、f(9,51)=max(0,(100/2-51)×9)=0となる。
【0055】
式5における第1指標値は、経路上の距離の総和であり、次式から求められる。
第1指標値=Σ経路上で隣り合う2つの自動販売機間の距離 ・・・式8
【0056】
式5における第2指標値は、前述したボーナスの積算値である。ここで補充量が多い(より多くの商品を自動販売機2に補充できる)ほうがより好ましい経路(低コストな経路)であるといえるため、第2指標値の符号はマイナスとなる。係数cは、補充量と距離の単位を調整する値(重み値)であり、単位距離に対する積載物の価値を表す。係数cが大きい(消費(補充)の価値が大きい)場合は、拠点3までの移動に時間を要しても積載物をなるべく自動販売機2に補充することができる経路が選ばれやすくなる。逆に係数cが小さい(消費(補充)することの価値が小さい)場合は、できるだけ拠点3に寄らず、最低限補充すべき量だけを自動販売機2に補充し、拠点3に戻る回数が少ない経路(移動時間が短い経路)が選ばれやすくなる。尚、巡回経路探索装置10に、計数c(重み値)の入力を受け付けて記憶するユーザインタフェースを設けてもよい。
【0057】
尚、拠点3を挿入するか否かの判定をMIN時積載残量が0になるか否か(MIN補充量で補充した場合でも残量が不足するか否か)に基づき行っているのに対し、ボーナスについてはMAX時積載残量に基づき求めているのは、拠点3に戻るのであれば、それまでの間にできるだけ多くの商品を自動販売機2に補充すべきであるとの考え方に基づく。
【0058】
コスト生成評価部1123は、巡回経路上の拠点3から拠点3の間について、各地点(地点1、地点2、・・・地点i)の補充量を車両4の最大積載量を按分する形で決定する。例えば、MAX補充量で補充した場合における現在の積載量に比例する形で補充する場合は次式から補充量を決定する。
地点iの補充量=
地点iのMIN補充量+最大積載量×(地点iのMAX補充量-地点iのMIN補充量)/(各地点のMAX補充量の総和-各地点のMIN補充量の総和) ・・・式9
【0059】
探索結果出力部1124は、経路探索処理部112により探索された巡回経路を出力装置15に出力する。
【0060】
図7に拠点情報151の一例を示す。同図に示すように、拠点情報151は、拠点ID1511と位置情報1512の各項目を有する、拠点3ごとの一つ以上のレコードを含む。拠点ID1511には、拠点3の識別子(以下、拠点IDと称する。)が設定される。位置情報1512には、当該拠点3の位置を示す情報(本例では緯度経度)が設定される。
【0061】
図8に自動販売機情報152の一例を示す。同図に示すように、自動販売機情報152は、自動販売機ID1521、位置情報1522、商品残量1523、在庫可能最大量1524、MAX補充量1525、及びMIN補充量1526の各項目を有する、自動販売機2ごとの複数のレコードを含む。自動販売機ID1521には、自動販売機2の識別子(以下、自動販売機IDと称する。)が設定される。位置情報1522には、当該自動販売機2の位置を示す情報(本例では緯度経度)が設定される。商品残量1523には、当該自動販売機2の現在の商品残量が設定される。在庫可能最大量1524には、当該自動販売機2の在庫可能最大量が設定される。MAX補充量1525には当該自動販売機2のMAX補充量が設定される。MIN補充量1526には当該自動販売機2のMIN補充量が設定される。緊急度1527には、各自動販売機2から収集した緊急度(緊急度255)が設定される。
【0062】
図9に車両情報153の一例を示す。同図に示すように、車両情報153は、車両ID1531及び最大積載量1532の各項目を有する、車両4ごとの一つ以上のレコードを含む。車両ID1531には、車両4の識別子(以下、車両IDと称する。)が設定される。最大積載量1532には、当該車両4の最大積載量が設定される。
【0063】
図10に現在経路情報154の一例を示す。現在経路情報154には、前述した現在経路を示す情報が設定される。本例では、現在経路情報154として、「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→自動販売機2D→拠点3」という経路を示す情報が設定されている。
【0064】
図11に次経路情報155の一例を示す。次経路情報155には、前述した次経路を示す情報が設定される。本例では、次経路情報155として、「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→拠点3→自動販売機2D→拠点3」という経路を示す情報が設定されている。
【0065】
続いて、経路探索処理部112により行われる経路探索に関する処理について具体的に説明する。
【0066】
図12は、山登り法により経路探索処理部112が巡回経路を探索する際に行う処理(以下、経路探索処理S1200と称する。)を説明するフローチャートである。以下、同図とともに経路探索処理S1200について説明する。
【0067】
まず候補経路生成部1121が、現在経路の初期値(例えば、ランダムに設定した経路)を生成する(S1211)。
【0068】
続いて、シミュレーション処理部1122が、現在経路についてシミュレーションを行う(S1212)。
【0069】
続いて、コスト生成評価部1123が、シミュレーションの結果に基づき、現在経路についてコストを求める(S1213)。
【0070】
続いて、候補経路生成部1121が、現在経路に基づき次経路を生成する(S1214)。
【0071】
続いて、シミュレーション処理部1122が、次経路についてシミュレーションを行う(S1215)。
【0072】
続いて、コスト生成評価部1123が、シミュレーションの結果に基づき、次経路の夫々についてコストを求める(S1216)。
【0073】
続いて、コスト生成評価部1123が、次経路のコストが現在経路のコストよりも小さいか否かを判定する(S1217)。次経路のコストが現在経路のコストよりも小さい場合(S1217:YES)、コスト生成評価部1123は、次経路を現在経路として設定(次経路情報155を現在経路情報154として記憶)し直す(S1218)。その後、処理はS1219に進む。一方、次経路のコストが現在経路のコストよりも小さくない場合(S1217:NO)、処理はS1219に進む。
【0074】
S1219では、シミュレーション処理部1122が、次経路のコストが予め設定された閾値以下であるか否かを判定する。次経路のコストが予め設定された閾値以下である場合(S1219:YES)、処理はS1220に進む。次経路のコストが予め設定された閾値以下でない場合(S1219:NO)、処理はS1214に戻る。
【0075】
S1220では、探索結果出力部1124が、次経路情報155を経路探索結果157として記憶する。尚、探索結果出力部1124は、経路探索結果157を出力装置15に適宜出力する。
【0076】
図13は、シミュレーテッドアニーリング法により経路探索処理部112が巡回経路を探索する際に行う処理(以下、経路探索処理S1300と称する。)を説明するフローチャートである。以下、同図とともに経路探索処理S1300について説明する。
【0077】
まずシミュレーション処理部1122が、温度Tの初期値を設定する(S1311)。
【0078】
続いて、候補経路生成部1121が、現在経路の初期値(例えば、ランダムに設定した経路)を生成する(S1312)。
【0079】
続いて、シミュレーション処理部1122が、現在経路についてシミュレーションを行う(S1313)。
【0080】
続いて、コスト生成評価部1123が、シミュレーションの結果に基づき、現在経路についてコストを求める(S1314)。
【0081】
続いて、候補経路生成部1121が、現在経路に基づき次経路を生成する(S1315)。
【0082】
続いて、シミュレーション処理部1122が、次経路について前述したシミュレーションを行う(S1316)。
【0083】
続いて、コスト生成評価部1123が、シミュレーションの結果に基づき、次経路の夫々についてコストを求める(S1317)。
【0084】
続いて、コスト生成評価部1123は、次経路を受理するか否かを判定する(S1318)。上記判定に際し、コスト生成評価部1123は、原則としてコストが現在経路のコストよりも小さいか否かを判定するが、コストが現在経路のコストより小さくない場合でも(即ち改悪となる場合でも)、温度Tに依存する確率で次経路を受理する。尚、上記の確率としては、例えば、メトロポリス基準が用いられる。このようにすることで、局所最適解に陥りにくくすることができる。コスト生成評価部1123が次経路を受理すると判定した場合(S1318:受理)、コスト生成評価部1123は、次経路を現在経路として設定(次経路情報155を現在経路情報154として記憶)し直す(S1319)。その後、処理はS1320に進む。一方、コスト生成評価部1123が次経路を受理しないと判定した場合(S1318:不受理)、処理はS1320に進む。
【0085】
S1320では、シミュレーション処理部1122が、温度Tを下げるか否かを判定する。シミュレーション処理部1122は、例えば、S1315~S1320のループ処理を予め設定された回数以上繰り返された場合に温度Tを下げると判定する。
【0086】
シミュレーション処理部1122が温度Tを下げると判定した場合(S1320:YES)、シミュレーション処理部1122は温度Tを下げる(S1321)。その後、処理はS1322に進む。例えば、指数型アニーリングの場合、シミュレーション処理部1122は、Tk+1=γ・Tkとする(但しγは冷却速度を決定する係数)。一方、シミュレーション処理部1122が温度Tを下げないと判定した場合(S1320:NO)、処理はS1315に戻る。
【0087】
S1322では、シミュレーション処理部1122が、次経路のコストが予め設定された閾値以下であるか否かを判定する。次経路のコストが予め設定された閾値以下である場合(S1322:YES)、処理はS1323に進む。次経路のコストが予め設定された閾値以下でない場合(S1322:NO)、処理はS1315に戻る。
【0088】
S1323では、探索結果出力部1124が、次経路情報155を経路探索結果157として記憶する。尚、探索結果出力部1124は、経路探索結果157を出力装置15に適宜出力する。
【0089】
続いて、以上に説明した経路探索処理S1200または経路探索処理S1300に従って行われる処理を具体例とともに説明する。尚、説明の簡単のため、第3指標値は0であるものとする。
【0090】
図14Aは、
図12のS1211または
図13のS1312において初期値としてランダムに生成される現在経路の一例である。同図に示す現在経路は、「拠点3→自動販売機2A→自動販売機2C→自動販売機2B→自動販売機2D→拠点3」という経路である。
【0091】
図14Bは、
図12のS1214または
図13のS1315において、
図14Aの現在経路についてランダムに選択した2つの自動販売機2Bと自動販売機2Cの順序を入れ替えることにより生成される次経路の一例である。同図に示す次経路は、「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→自動販売機2D→拠点3」という経路である。
【0092】
図14Cは、
図14Bに示した次経路に基づき行われる、
図12のS1215または
図13のS1316におけるシミュレーションの様子を示す図である。本例では、自動販売機2Cから自動販売機2Dに向かおうとした際、MIN時積載残量が5kgしかなく、自動販売機2DのMIN補充量の20kgに満たないため、自動販売機2Cから拠点3に戻る経路が挿入されている。同図に示す次経路は、「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→拠点3→自動販売機2D→拠点3」という経路である。本例の場合、シミュレーション処理部1122は、自動販売機2Cから拠点3に戻る際のボーナス(=最大積載量-MAX時積載残量=100-0=100)と自動販売機2Dから拠点3に戻る際のボーナス(=最大積載量-MAX時積載残量=100-60=40)との積算値(=140)を求める。本例では、車両4の移動距離の合計は230(=30+50+10+70+30+40)であり、係数cを例えば2とした場合、コスト関数の値は、第1指標値-c×第2指標値=230-2×140=-50と求まる。
【0093】
ここで
図14Cのシミュレーションの結果に基づき、
図12のS1217において現在経路よりもコストが改善されていると判定された場合(S1217:YES)、もしくは
図13の受理判定S1318において受理と判定された場合(S1318:受理)、
図14Cの経路が現在経路として設定される(
図12のS1218または
図13のS1319)。即ち現在経路は、「拠点3→自動販売機2A→自動販売機2B→自動販売機2C→拠点3→自動販売機2D→拠点3」という経路となり、この現在経路に基づき新たに次経路が生成される(
図12のS1214または
図12のS1315)。
【0094】
図14Dは、
図14Cの経路(現在経路)を簡略化して描いた図である。また
図14Eは、
図12のS1214または
図13のS135において
図14Dの現在経路についてランダムに選択した2つの自動販売機2Cと拠点3の順序を入れ替えて生成される次経路の一例である。同図に示す次経路は、「拠点3→自動販売機2A→自動販売機2B→拠点3→自動販売機2C→自動販売機2D→拠点3」という経路である。
【0095】
図14Fは、
図14Eの次経路に基づき行われる
図12のS1215または
図13のS1316におけるシミュレーションの様子を示す図である。同図に示す経路には、自動販売機2Bから拠点3に戻る経路と自動販売機2Dから拠点3に戻る経路が含まれているので、シミュレーション処理部1122は、自動販売機2Bから拠点3に戻る際のボーナス(=最大積載量-MAX時積載残量=100-0=100)と自動販売機2Dから拠点3に戻る際のボーナス(=最大積載量-MAX時積載残量=100-0=100)との積算値(=200)を求める。本例では、車両4の移動距離の合計は330(=30+50+90+70+50+40)であり、係数cを例えば2とした場合、コスト関数の値は、第1指標値-c×第2指標値=330-2×200=-70と求まる。
【0096】
ここで
図14Fのシミュレーションの結果に基づき、
図12のS1217において現在経路よりもコストが改善されていると判定された場合(S1217:YES)、もしくは
図13の受理判定S1318において受理と判定された場合(S1318:受理)、
図14Fに示す経路が現在経路として設定される(
図12のS1218または
図13のS1319)。即ち現在経路は、「拠点3→自動販売機2A→自動販売機2B→拠点3→自動販売機2C→自動販売機2D→拠点3」という経路となり、この現在経路に基づき新たに次経路が生成される(
図12のS1214または
図13のS1315)。
【0097】
尚、例えば、係数cを1に減少させた場合、即ち、車両4の積載物を消費(補充)することの価値を小さくした場合(積載物を消費(補充)することよりも移動時間が短いことを重視した場合)、
図14Cの場合はコスト関数の値が90となり、
図14Fの場合はコスト関数の値が130となり、現在経路の置き換えは行われず、
図12のS1217ではNOと判定され、
図13のS1318では不受理と判定される。
【0098】
図15A及び
図15Bは、以上の構成からなる巡回経路探索装置10により巡回経路探索を実際に行った場合の探索結果の例である。
図15Aは、積載物を消費(補充)することよりも移動時間が短いことを重視した場合(係数cを小さくした場合)の探索結果であり、
図15Bは、移動時間が短いことよりも積載物を消費(補充)することを重視した場合(係数cを
図15Aの場合よりも大きくした場合)の探索結果である。
【0099】
図15Aに示すように、積載物を消費(補充)することよりも移動時間が短いことを重視した場合、探索結果は拠点3に1回戻る巡回経路(MIN補充量に期待して、限界まで拠点3に寄らない巡回経路)に収束している。また
図15Bに示すように、移動時間が短いことよりも積載物を消費(補充)することを重視した場合、探索結果は拠点3に2回寄る巡回経路(MAX補充量で補充を行うことにより積載物を使い切る直前に拠点3に寄る巡回経路)に収束している。このように係数cを調節することで、様々なニーズにあわせて巡回経路を探索することができる。
【0100】
以上に説明したように、本実施形態の巡回経路探索システム1にあっては、車両4に積載されている商品の各自動販売機2への補充量を、補充可能最大量(MAX補充量)と最低補充量(MIN補充量)とで定まる範囲で調節可能としつつ、コスト関数が最小になるように巡回経路を探索するので、現実の運用実態に即した形で柔軟かつ適切に巡回経路の探索を行うことができる。
【0101】
尚、以上に説明した実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得るとともに、本発明にはその等価物も含まれる。
【0102】
例えば、以上では、自動販売機2の商品を補充する業務を例として説明したが、以上の仕組みは、例えば、タンクローリーにより複数のガソリンスタンドを巡回して貯蔵タンクにガソリンを補給する業務、農地の複数個所に設けられている農業用給水タンクの監視業務等、陸上や海上、上空を問わず、移動体が複数の設備を巡回して物資を補充する様々な場面に適用することができる。
【0103】
また巡回経路探索装置10は、車両4が巡回走行を開始した後に行ってもよい。その場合、例えば、現時点での車両4の積載量に基づき当該地点から先の経路を対象として巡回経路の探索を行うようにする。
【0104】
また以上の実施形態では、巡回経路探索装置10が、各地に設けられている自動販売機2から収集した商品の消費の状況に関する情報を利用して巡回経路の探索を行っているが、例えば、巡回経路探索装置10が自動販売機2における商品の消費の状況をシミュレーションすることにより巡回経路の探索を行うようにしてもよい。
【符号の説明】
【0105】
1 巡回経路探索システム
2 自動販売機
210 記憶部
211 販売制御処理部
212 金銭受付処理部
213 商品残量取得部
214 MAX補充量算出部
215 MIN補充量算出部
216 通信処理部
251 商品残量
252 在庫可能最大量
253 MAX補充量
254 MIN補充量
255 緊急度
3 拠点
4 車両
5 通信ネットワーク
10 巡回経路探索装置
110 記憶部
111 通信処理部
112 経路探索処理部
1121 候補経路生成部
1122 シミュレーション処理部
1123 コスト生成評価部
1124 探索結果出力部
151 拠点情報
152 自動販売機情報
153 車両情報
154 現在経路情報
155 次経路情報
156 コスト関数情報
157 経路探索結果
S1200 経路探索処理
S1300 経路探索処理