(57)【要約】【課題】利用者側の装置や協力を前提とすることなく、車両を適切に配置することができる車両位置制御技術を提供する。【解決手段】問題空間を分割した複数エリアに評価関数を設定する。エリアそれぞれの評価関数に係る指標値を求める。複数のエリアの中から着目したエリアの指標値と、着目したエリアに隣接するエリアの指標値との比較結果に基づいて、隣接するエリアを選択する。着目するエリア内に存在する車両に搭載された端末に対し、着目するエリアから、選択したエリアへの移動を促す移動指示を送信する。【選択図】図５
2014186645.tif 000002
【特許請求の範囲】
【請求項１】
対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段
を備えることを特徴とする車両位置制御装置。
【請求項２】
前記指標値は、前記評価関数の微分値であることを特徴とする請求項１に記載の車両位置制御装置。
【請求項３】
前記評価関数は多変数関数であり、一の変数を除く変数に対してある時刻の値を代入して求めた一変数関数を微分して微分値を求めることを特徴とする請求項２に記載の車両位置制御装置。
【請求項４】
前記指標値は、前記評価関数のある時刻における値であることを特徴とする請求項１に記載の車両位置制御装置。
【請求項５】
対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段
としてコンピュータを機能させるプログラム。
【請求項６】
前記指標値は、前記評価関数の微分値であることを特徴とする請求項５に記載のプログラム。
【請求項７】
前記評価関数は多変数関数であり、一の変数を除く変数に対してある時刻の値を代入して求めた一変数関数を微分して微分値を求めることを特徴とする請求項６に記載のプログラム。
【請求項８】
前記指標値は、前記評価関数のある時刻における値であることを特徴とする請求項５に記載のプログラム。
【請求項９】
対象となる問題空間内での複数の車両の位置を制御するサーバが、前記問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する段階、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を前記サーバが求める段階、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを前記サーバが選択する段階、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を、前記サーバが送信する段階
を含むことを特徴とする、車両位置制御方法。
【請求項１０】
前記指標値は、前記評価関数の微分値であることを特徴とする請求項９に記載の車両位置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象となる問題空間に複数の車両を適切に配置するための装置、プログラム、方法に関する。
【背景技術】
【０００２】
限りある資源を効率的に要素に割り当てる連続的な制御方法が求められている。例えば、タクシー事業者が限られた車両をどのエリアに待機されるか、また刻一刻と変化する需要に対して、どう待機場所を変化させていくか、といった問題などがある。
【０００３】
こうしたタクシーの配車に関連する技術が記載された文献に特許文献１、２がある。特許文献１には、利用者が所持する携帯端末などから基地局に通知される情報を収集することにより、利用者の分布状態を取得し、この分布状態を利用してタクシーの配車を決定するようにした携帯型端末を用いたタクシー配車システムが記載されている。また、特許文献２には、利用者が自分の最も近くで利用可能なタクシーを選択して、迅速に配車を行うシステムが記載されている。
【０００４】
特許文献１のタクシー配車システムは、利用者の携帯端末の情報を利用する。従って、利用者の個人情報を利用する側面があり、個人情報保護の観点から問題がある。また、特許文献１、特許文献３のどちらのタクシー配車システムも、ある程度利用者の協力を前提としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４９９１８号公報
【特許文献２】特開２０１１−２４８８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、利用者側の装置や協力を前提とすることなく、車両を適切に配置することができる車両位置制御技術を提供することである。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明は、その一態様として、対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段を備えることを特徴とする車両位置制御装置を提供する。
【０００８】
また、本発明は、他の一態様として、対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段としてコンピュータを機能させるプログラムを提供する。
【０００９】
また、本発明は、他の一態様として、対象となる問題空間内での複数の車両の位置を制御するサーバが、前記問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する段階、前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を前記サーバが求める段階、前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを前記サーバが選択する段階、及び、前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を、前記サーバが送信する段階を含むことを特徴とする、車両位置制御方法を提供する。
【発明の効果】
【００１０】
本発明によれば、利用者側の装置や協力を前提とすることなく、タクシーを営業区域全体にバランスよく配置することが可能であり、その結果、タクシーが利用者のいないエリアや利用者から遠いエリアで待機する無駄を減らし、利用者の待ち時間を減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る評価関数について説明するための図である。
【図２】評価関数を二次関数としたときのピークについて説明するための図である。
【図３】本発明の情報処理システム１のブロック図である。
【図４】端末２を説明するためのブロック図である。
【図５】本発明の第１の実施の形態における情報処理システム１の動作について説明するためのフローチャートである。
【図６】本発明の第２の実施の形態における情報処理システム１の動作について説明するためのフローチャートである。
【図７】対象となる問題空間、即ちタクシー事業者の営業区域を９つのエリアに分割したときのエリア区分と、各エリアのタクシー車両について説明するための図である。
【図８】本発明の第２の実施の形態においてサーバ４が送出する移動指示に従って、端末２を搭載したタクシー車両が動作する過程を説明するための図である。
【図９】本発明の第２の実施の形態においてステップＳ１からＳ７からなるサイクルを繰り返したときのタクシー車両の最終的な配置について説明するための図である。
【発明を実施するための形態】
【００１２】
本発明の実施の形態の説明に先立って関連する他出願について説明する。特願２０１２−１７３５２０には自律分散的負荷分散手法に係る発明が記載されている（以下負荷分散出願と記す）。負荷分散出願では、複数の要素を自律分散的に制御し、部分情報のみで全体最適な負荷分散を実施する手法を紹介した。負荷分散出願では要素とはサーバ、発電機など負荷を担う主体であればよい。
【００１３】
負荷分散出願の手法では、まず要素それぞれに要素の性能見合いの評価関数を設定する。評価関数の概略を図１に示す。横軸は各要素の状態に関するパラメータであり、サーバの負荷分散の例であれば、サーバの負荷量などに相当する。縦軸は、何らかの効率、利潤、要素の性能、要素の優先度などに関わる指標であり、この評価関数を凸関数で表す。凸関数を使用することが負荷分散手法及び本実施形態のポイントである。なぜなら、効率をはじめとする多くのシステムの指標は図１に示すような凸関数で表されるからである。図２のような上に凸な関数を凹関数と呼び、下に凸な関数を凸関数と呼ぶこともあるが、ここでは、関数の性質上で区別する表現を採用し、凸の上下方向に関わらず凸関数と記載することにする。
【００１４】
評価関数が凸関数である要素を連携させて、全体で最適化（各要素の評価関数の値の総和が最大となる状態)する問題は、「凸計画問題」として知られており、各要素の動作レベルにおける評価関数の微分値が等しい状況で最適化が達成されることが数学的に明らかにされている。負荷分散出願はこの原理を応用しており、評価関数として凸関数を使う理由がここにある。この原理を勘案し、要素ｉの状態変化（サーバを要素とする場合では負荷）を例えば以下の式１の方程式に従い制御する。
【００１５】
【数１】
2014186645.tif 000003
【００１６】
ここでＫ１は状態変更のゲインに相当する係数、kは要素iに隣接する要素の番号、λiは要素iの状態(サーバを要素とする場合では負荷)、fiは要素iの評価関数である。この制御をかけることで、各要素は評価関数の微分値を等しくするように状態を変更しようとする。これは「凸計画問題」のところで説明したように、全体利潤を最大化するポイントに各要素の状態（負荷量）を制御するのと等価である。つまり、式１の制御により、評価関数の縦軸で設定された効率が系全体として最大化される。隣接要素が複数個有る場合は、式１の制御を順次繰り返せばよい。尚、式１は一例であって、ポイントは、各要素に設定された評価関数の微分値を等しい状態にするように、各要素の状態を決めていくということである。
【００１７】
以下に、評価関数の理論について説明する。系全体において、単位時間あたり平均λのポワソン分布で負荷が到着し、サービス時間が平均μの指数分布に従うM/M/1の待ち行列理論を考える。今、系内には、M/M/1のシステムがn個存在し、それぞれ平均λｉのポワソン分布で負荷が到着するとする。すなわち式２が成りたっているとする。
【００１８】
【数２】
2014186645.tif 000004
【００１９】
系内のそれぞれのM/M/1システムのレスポンス時間Ｔｉは、それぞれのサービス時間が平均μｉの指数分布に従うとして、以下の式３に表される。
【００２０】
【数３】
2014186645.tif 000005
【００２１】
今、システムの目的は、全体のレスポンス時間である次の式４を最小化することである。従って式４を制約条件式である式２のもとで最小化するようなλｉで分散をすればよいという問題になる。
【００２２】
【数４】
2014186645.tif 000006
【００２３】
この問題は、ラグランジェの未定乗数法を用いて、式５のような解が得られる。
【００２４】
【数５】
2014186645.tif 000007
【００２５】
式５の左辺は負荷量λｉの１次関数であり、λｉで積分すれば、λｉの２次関数が得られる。２次関数は凸関数であるから、式５の左辺を積分した関数を各ノード（サーバーなど）の評価関数と考えるならば、式５の意味は凸関数である評価関数の微分値が各ノード（サーバーなど）で等しくなるとき系全体のレスポンス時間が最小になることになり、微分値が等しくなるように制御することの正しさが言える。
【００２６】
つまり、式５の左辺をλｉで積分した関数を各ノードの評価関数として設定し、負荷分散出願の自律分散制御を行えば、定常状態では、系全体のレスポンスを最小にすることができるのである。
【００２７】
μｉはサーバの処理能力に関するパラメータであり、この値により、サーバの能力を記述できる。したがって、すべて同じ性能のサーバ群である必要はなく、様々な性能のサーバが混在している系でも良い。式５の左辺をλｉで積分した場合、定数の自由度だけ解が不定になるので、今回は原点（０，０）を通る関数を各データサーバーの評価関数に設定した。結果は式６のようになる。
【００２８】
【数６】
2014186645.tif 000008
【００２９】
式６で表される評価関数は図２に示すように、μｉで一意に決まり、ピーク位置が（μi，(μi^(3/2))/2）の２次関数となる。
【００３０】
以上が、負荷分散出願の手法についての簡単な説明である。この手法は、各要素の処理能力が異なっており、対象となる領域全体の情報が取得できないような場合であっても、局所的な情報だけで全体最適となるように各要素に負荷を分散させることができる手法である。
【００３１】
本発明の第１の実施の形態である情報処理システム１は、このような負荷分散出願と同様の手法を適用するものである。情報処理システム１は、例えばタクシー事業者のように多数の車両を保持する者が、それらの車両を所定の問題空間にどのように配置するのかを決定するためのシステムであり、いわば配車制御システムである。情報処理システム１では問題空間を複数のエリアに分割し、各エリアに配置するタクシーの台数を決定する。
【００３２】
負荷分散出願の手法を配車制御に適用する際には、負荷分散出願における要素と負荷を配車制御における何に対応させるかがひとつのポイントとなる。負荷分散出願の手法を配車制御に単純に当てはめると、タクシーを要素に対応させ、タクシーの乗車数を負荷に対応させることが考えられるが、本実施の形態ではそのような対応関係を採用しない点にひとつの特徴がある。本実施の形態に係る情報処理システム１では、分割後のエリアを負荷分散出願における要素に対応させ、各エリアに対して評価関数を設定する。また、エリア内のタクシーの台数に関わる数値を、負荷分散出願において要素が担う負荷に対応させる。評価関数の横軸はエリア内のタクシーの台数に関わる数値とする。評価関数の縦軸はエリアの性能見合いで幾種類も設定できるが、本実施例では、そのエリアで発生する利用者の数をそのエリアの処理能力と定め、処理能力に合わせた負荷分散となるよう評価関数を設定することとした。
【００３３】
図３を参照して情報処理システム１について説明する。情報処理システム１は複数の端末２１、２２、…、２ｎ（ｎは２以上の自然数）、データ通信ネットワーク３、サーバ４を備える。情報処理システム１は、あるタクシー事業者の営業区域において、そのタクシー事業者が運用中のＮ台（Ｎは２以上の自然数）のタクシー車両を、その営業区域内のどのエリアに何台配置するかを決定するシステムである。
【００３４】
図４に示すように、端末２１、２２、…、２ｎ（以下総称して端末２と記す）は、例えば、GPS(Global Positioning System)モジュール２０１、ユーザインターフェイス（液晶ディスプレイ装置等の画像表示装置、テンキー、キーボード、タッチパネル等の入力装置、その他入出力装置）２０２、CPU（Central Processing Unit)２０３、主記憶装置２０４、ストレージ(ハードディスクドライブ、不揮発性メモリ、揮発性メモリ、SSD（Solid State Drive）等)２０５、これらを互いに接続するデータバス２０６を備える。タクシーの一車両につき一台の端末を設置するものとする。ストレージに格納されたプログラムを主記憶装置に読み込みCPUが実行することにより、プログラムにより定められた各種の機能を実現する。また、端末は、無線データ通信を行うための通信装置２０７を備え、無線データ通信区間を含むデータ通信ネットワーク３を介して、サーバとデータ通信を行う。尚、データ通信ネットワーク３は、端末２のそれぞれと、サーバ４が無線通信装置を備えることとして、無線通信回線を介して互いに直接データ通信を行うことにより構成するものであってもよい。データ通信ネットワーク３は例えば携帯電話網のような移動体通信網を含むこととしてもよい。
【００３５】
特に、端末２は、タクシーが利用者を獲得した位置、時間、行き先等、乗客によるタクシーの利用に関する情報である利用情報のうち、未送信のものを、所定の契機に応じてサーバ４に送信する。また、端末２は、ＧＰＳモジュールにて取得した現在位置、空車か否か等、その端末２を搭載したタクシーの現在の状態を示す情報である状態情報のうち、未送信のものを、所定の契機に応じてサーバ４に送信する。未送信の利用情報及び状態情報の送信の契機としては、乗客の乗車、降車時や任意のタイミングに乗務員が行なう操作に応じて送信することとしてもよいし、予め定められた周期、ＧＰＳモジュールによりエリア間を移動したことを検出したタイミングで送信することとしてもよい。
【００３６】
サーバ４は、例えば、CPU（Central Processing Unit)、主記憶装置、ストレージ(ハードディスクドライブ、不揮発性メモリ、揮発性メモリ、SSD（Solid State Drive）等)、データバスを備える。サーバはデータ通信装置を備え、データ通信ネットワークを介して各端末とデータ通信を行う。ストレージに格納されたプログラムを主記憶装置に読み込みCPUにて実行することにより、CPUは以下に説明するエリア決定部４１、移動指示部４２、利用情報保持部４３、状態情報保持部４４の各機能ブロックとして機能する。サーバ４は例えばタクシー事業者の配車センター等に設置される。
【００３７】
エリア決定部４１は、タクシー事業者の営業区域、即ち、対象とする問題空間を1つ以上のエリアに分ける。移動指示部４２はエリア間での資源の移動を指示する。利用情報保持部４３は資源が利用者を獲得した位置、時間、行き先などを保存する。状態情報保持部４４はタクシーの現在位置や空車といった情報を保持する。
【００３８】
次に、情報処理システム１の動作について図５を参照して説明する。
【００３９】
エリア決定部４１は、タクシー事業者の営業区域、即ち、対象とする問題空間を複数のエリアに分割する（ステップＲ１）。分割の手法には様々なものが考えられる。ここでは、緯度、経度に基づいて問題空間を一定の大きさの四角形に分割するものとする。尚、本ステップで行なうエリアの分割の仕方は、時間に関わらず一定でもよいし、時間に応じて変化することとしてもよい。また、エリア決定部４１はエリア間の隣接関係を設定する。ここでは各エリアは上下左右の４方向のうち少なくとも一方向に隣接関係を有するものとする。
【００４０】
次に、エリア決定部４１は各エリアの評価関数を設定する（ステップＲ２）。エリアｉの評価関数は、エリアｉの状態を示す値である状態値λｉを少なくともその変数として有する関数である。ここでは式６を評価関数として設定するものとする。式６の評価関数は図２に示すようにμｉで一意に決まる関数であり、ピーク位置が（μi，μi^(3/2)/2）の２次関数となる。
【００４１】
ここでは、μｉで示される各要素の性能特性を示す値として、各エリアでの一定時間の予想乗客数を用いる。例えば、一定時間を1時間とした場合、あるエリアｉの中に２台のタクシーがいて、それぞれが待ち時間10分で乗客を獲得した場合、μｉは12(乗客/時間)と計算する。エリア決定部４１は、利用情報保持部４３、状態情報保持部４４に保持されている利用情報、状態情報に基づいて予想乗客数を求める。
【００４２】
λｉの例としては各エリア内の一定時間における待機(乗客待ち)タクシー台数を用いることが考えられる。例えば，一定時間を1時間としたとき、エリアiにおいて10分以内に待機状態であったもしくは待機状態になったタクシーが1台である場合、状態値λｉを6(台/時間)と計算する。エリア決定部４１は、利用情報保持部４３、状態情報保持部４４に保持されている利用情報、状態情報に基づいて待機タクシー台数を求める。
【００４３】
μｉを各エリアにおける一定時間の予想乗客数とし、λｉを各エリア内の一定時間における待機(乗客待ち)タクシー台数とするとき、評価関数の値は次のような性質を有する。異なるエリア間で評価関数の値を比較すると、乗客が多く発生するエリアほど性能が高いエリアとして評価され、評価関数の値は大きくなる。一方、同一エリア内における評価関数の値については、そのエリアで発生する予想乗客数と同じ数のタクシーが待機しているとき評価関数の値は最大となる。
【００４４】
次に、エリア決定部４１は、ステップＲ２で設定した各エリアの評価関数に状態値λｉを除く他の変数の現在の値を入力することにより、各エリアの評価関数を状態値λｉのみを変数とする一変数関数に変換する（ステップＲ３）。上述の式６の評価関数は、現時点におけるμｉを入力することにより、状態値λｉのみを変数とする二次関数となる。
【００４５】
次に、エリア決定部４１は、各エリアの状態値λｉのみを変数とする評価関数を状態値λｉについて微分することにより、各エリアの評価関数の導関数を求める（ステップＲ４）。
【００４６】
次に、エリア決定部４１は、ステップＲ４で求めた各エリアの導関数に現時点での状態値λｉを代入することにより、現時点での状態値λｉによる評価関数の微分値を各エリアについて求める（ステップＲ５）。
【００４７】
次に、エリア決定部４１は次のような処理を行なう。即ち、エリアのひとつに着目し、そのエリアとそのエリアに隣接するエリアの間で、ステップＲ５で求めた微分値を比較する処理を行なう。この処理を全エリアのそれぞれに着目して行なう（ステップＲ６）。例えば、エリア５に着目したときには、エリア５の微分値と、エリア２、４、６、８の微分値とを比較する。
【００４８】
次に、移動指示部４２は、各エリアにおいて、ステップＲ６での比較結果に基づいて、そのエリアに隣接するエリアの中からひとつを選択する（ステップＲ７）。ここで選択するエリアは、例えば、自エリアよりも微分値の大きなエリアを選択する。自エリアよりも微分値が大きい隣接エリアが複数存在する場合は、その中で微分値が最大のエリアを選ぶこととしてもよい。
【００４９】
最後に、移動指示部４２は、各エリアにいるタクシーの中から所定台数のタクシーを選択し、選択したタクシーに搭載されている端末２に対して、ステップＲ７で選択したエリアへの移動を促す移動指示を送信する（ステップＲ８）。選択する所定台数のタクシーは例えば１エリアにつき１台であるが、２台以上であってもよい。
【００５０】
ステップＲ１−Ｒ８からなるサイクルを定期的に繰り返し実行する。サイクルを繰り返す毎に、タクシー事業者の営業区域全体にバランスよく車両が配車される。ステップＲ１、Ｒ２については初回の一回だけとしてもよい。評価関数が状態値λｉを変数とする一変数関数である場合にはステップＲ３は省略してもよい。
【００５１】
本実施の形態では、タクシーの移動先となるエリアを選択する際、ステップＲ６に示すように、そのタクシーが現在いるエリアと、そのエリアに隣接するエリアに関する比較処理を行なうのみで移動先エリアを決定し、営業区域を構成する残りのエリアについては考慮していない点に特に注目されたい。
【００５２】
このように、移動先を選択する際の処理負荷を低く抑えることができるので、本実施の形態では、同じハードウェアリソースを用いてより多くのタクシーの配車制御を行なうことができる。また、同じ程度のレスポンスで配車制御を行なうために必要となるハードウェアリソースを小さくすることができる。
【００５３】
更に、例えば端末２の一部とサーバ４の間で通信障害が発生する等の理由により、一部端末２とデータ通信ができなくなる場合がある。また、そのために利用情報、状態情報を端末２の全てからサーバ４に収集できない場合がある。このような場合であっても、本実施の形態によれば、その影響を営業区域全体に及ぼすことなく一部にとどめることができる。
【００５４】
次に、本発明の第２の実施の形態について説明する。第２の実施の形態のネットワーク構成、端末２、サーバ４のハードウェア構成については第１の実施の形態の情報処理システム１と同様である。
【００５５】
次に、第２の実施の形態における情報処理システム１の動作について図６を参照して説明する。
【００５６】
ステップＳ１において、エリア決定部４１は、タクシー事業者の営業区域を緯度、経度を基に9つのエリアに区分する。図７にエリア区分後の例を示す。図７には３行３列に並べた９つの四角形が記載されている。これらの四角形それぞれがエリアを示す。各四角形の左上隅に記載されているのはそのエリアの名称であり、エリア１、エリア２、…、エリア９と記載されている。エリア１からエリア９の９つのエリア全体が問題空間全体となる。
【００５７】
図７の各エリア内の丸印は現在のタクシーの位置を示す。各エリア右下に記載の山括弧＜＞内の数字はそのエリアの過去1時間の乗客数λｉを示す。各タクシーには図４に図示した端末２が搭載されている。上述のように、端末２１、２２、…、２ｎはそれぞれ、資源、即ちその端末２を搭載したタクシーの現在位置や、その端末２を搭載したタクシーに乗車した乗客数をサーバ４に送信する。サーバ４は、端末２１、２２、…、２ｎから収集したこれらのデータを利用情報保持部４３及び状態情報保持部４４に蓄積する。こうして予め蓄積したデータに基づいて、エリア決定部４１は各エリアの過去１時間の乗客数を算出する。
【００５８】
次に、ステップＳ２、Ｓ３、Ｓ４において、エリア決定部４１は各エリアの評価関数を定める。各エリアの評価関数ｆｉは例えば次の式７のように決める。
【００５９】
【数７】
2014186645.tif 000009
【００６０】
式７は、あるエリアの理想のタクシーの台数Idealｉから、そのエリアの現在のタクシーの台数ｘを引いた差分を求める式である。式７が0を超える場合はそのエリアにタクシーの台数が不足している状態であることを示し、0未満の場合はそのエリアのタクシーの台数が多い状態であることを示している。エリア毎の理想値Idealiは例えば式８のように決める。全体の利用数Σλに占めるエリアの利用数λｉの割合を、全体の資源の台数Ｎ、即ち運用中の全タクシーの台数Ｎに乗じたものであり、利用数に比例した資源の台数を理想値としている。
【００６１】
【数８】
2014186645.tif 000010
【００６２】
図７の例では説明を簡単にするため、全体のタクシー台数Ｎと全体の利用数Σλを共に２０とする。そのため、各エリア右下の山括弧＜＞内の数字は、そのエリアの過去1時間の乗客数λｉを示すと同時に、そのエリアの理想的なタクシーの台数ｉｄｅａｌｉを示している。
【００６３】
次に、ステップＳ５、Ｓ６、Ｓ７において、移動指示部４２は、着目するエリアの評価関数の値と、その着目するエリアに隣接するエリアの評価関数の値とを比較する。次に、着目するエリアからタクシーを移動させる移動先となるエリアを、その着目するエリアに隣接するエリアの中から選択する。例えば、着目するエリアの上下左右に隣接したエリアの評価関数の値から、着目するエリアの評価関数の値を減算して差を求める。求めた差を互いに比較し、正の数であって、かつ、値が最大であるような差を生成した隣接エリアを選択する。次に、着目したエリアにいるタクシーの中から、予め定められた台数のタクシーを選択する。そして、移動指示部４２は、選択したタクシーの端末２に対して、隣接エリアの中から選択したエリアに移動を促す移動指示を送信する。移動指示は、サーバ４からデータ通信ネットワーク３を介して、移動指示の対象となる端末２に送信されて、その端末２のユーザインターフェイス２０２の画像表示装置にて表示される。
【００６４】
図８を参照して移動指示の様子について説明する。図８には３行３列に配置した四角形からなるエリア区分が３つ図示されている。各エリアのエリア名称の右横に丸括弧で囲んで記載した数値は、そのエリアの評価関数の値の例である。例えば図８左上のエリア区分においてエリア１の評価関数の値は−１．０である。
【００６５】
図８右上のエリア区分では、各エリアの評価関数の結果から計算した移動指示を矢印で示している。図８左下のエリア区分は、移動指示に従ってタクシーが移動した結果を示している。
【００６６】
図８の例では、エリア１はエリア２、エリア４の２つのエリアに隣接するので２つの差を求め、エリア５はエリア２、エリア4、エリア６、エリア８の４つのエリアに隣接するので４つの差を求める。これらの差の大小を互いに比較し、差が最大となる隣接エリアに向かって、着目するエリアにいるタクシーのうち、予め定められた台数のタクシーが移動するように、該当する端末２に対して移動指示を送信する。例えばエリア１に着目したとき、隣接エリアであるエリア２の評価関数の値は-0.5、エリア４の評価関数の値は0.0である。これらの値それぞれから、エリア１の評価関数の値-1.0を減算して求めた２つの差を互いに比較する。エリア２とエリア１の間の評価関数の値の差は0.5であり、エリア４とエリア１の間の評価関数の値の差は1.0である。２つの差を互いに比較すると、エリア４とエリア１の間の評価関数の差の方が大きいので、移動指示部４２は、エリア１にいるタクシーの何台かの端末２に対して、エリア４への移動指示を送信する。
【００６７】
ステップＳ６において、着目したエリアから隣接エリアにタクシーを移動する旨の決定をしたときに、移動を指示するタクシーの台数を予め定めておく。つまり、ステップＳ１−Ｓ６からなる１サイクルの中で、同一エリアに属するタクシーに対して移動指示を送信する際、その移動指示の宛先となるタクシーの台数を予め定めておく。図８ではタクシーの移動台数は１サイクル、１エリアにつき１台としている。
【００６８】
例えば、移動指示の宛先台数を１サイクル、１エリアにつき１台と定めているとき、あるエリアＡの理想台数ｉｄｅａｌａが５台のところ実際の台数ｘａは１台であり、そのエリアに隣接するエリアＢの理想台数ｉｄｅａｌｂが２台のところ実際の台数ｘｂは７台であるとする。この状況において、エリアＢのタクシーに対してエリアＡへの移動指示を出すとする。エリアＡではｉｄｅａｌａ−ｘａ＝４台が理想台数から不足する台数であり、エリアＢではｘｂ−ｉｄｅａｌｂ＝５台が理想台数をオーバーする台数である。このような場合、エリアＢからエリアＡに一度に４台移動すれば、エリアＡでは理想台数となり、エリアＢでも余剰分を削減して理想台数に近づけることができるが、上述の移動指示の宛先台数の制限により、１サイクルの中ではエリアＢのうちの１台だけに移動指示を送信する。この制限により、サーバ４からの指示に基づくタクシーの移動は時間の経過と共に段階的に行なわれる。
【００６９】
着目するエリア内に複数のタクシーが存在する場合には、それら複数のタクシーの中から移動指示の宛先となるタクシーを選択する必要がある。その際にタクシーを選択する方法としては、例えば、そのエリアの中で最も移動先エリアに近いタクシーから順に必要な台数を選択することが考えられる。
【００７０】
着目するエリアの隣接エリア間で互いに上述の差を比較したとき、これらの差が一致する場合には、隣接エリアの中から無作為にひとつのエリアを選択し、その選択したエリアに向かって着目するエリアからタクシーが移動するように、移動指示部４２は該当する端末２に移動指示を送信する。ただし、全ての隣接エリアにおいて差がゼロ以下になる場合には、その着目エリアにいるタクシーの端末２に対しては移動指示を送信しない。図８ではエリア４，６，７がこれに該当する。
【００７１】
以上のようなステップＳ１からステップＳ７までの評価値の計算、移動指示の送信、移動指示に応じたタクシーのエリア間移動を繰り返すことにより、各エリアのタクシーの台数は、予め定義した理想台数ｉｄｅａｌｉに徐々に近づいていく。ステップＳ１からステップＳ７からなるサイクルを繰り返した最終的な移動結果を図９に示す。同図に示すように、最終的には、各エリア内の丸印の数が各エリア右下の山括弧＜＞内に示したそのエリアの理想的なタクシーの台数ｉｄｅａｌｉと一致するようになる。
【００７２】
実際の利用状況においては、タクシーは利用者を載せて別のエリアに移動することがある。また、理想値idealiは利用状況に応じて変わるため、式ａ1の評価関数の値ｆ（ｘ）ｉも変化する。本手法では、評価関数の決定及び移動指示の送出からなるサイクル（ステップＳ１−Ｓ７）を継続的に繰り返すことで、そのような状況変化にも柔軟に追従することができる。
【００７３】
上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、これらに限定されるものではない。
【００７４】
（付記１）
対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段
を備えることを特徴とする車両位置制御装置。
【００７５】
（付記２）
前記指標値は、前記評価関数の微分値であることを特徴とする付記１に記載の車両位置制御装置。
【００７６】
（付記３）
前記評価関数は多変数関数であり、一の変数を除く変数に対してある時刻の値を代入して求めた一変数関数を微分して微分値を求めることを特徴とする付記２に記載の車両位置制御装置。
【００７７】
（付記４）
前記指標値は、前記評価関数のある時刻における値であることを特徴とする付記１に記載の車両位置制御装置。
【００７８】
（付記５）
対象となる問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する手段、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を求める手段、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを選択する手段、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を送信する手段
としてコンピュータを機能させるプログラム。
【００７９】
（付記６）
前記指標値は、前記評価関数の微分値であることを特徴とする付記５に記載のプログラム。
【００８０】
（付記７）
前記評価関数は多変数関数であり、一の変数を除く変数に対してある時刻の値を代入して求めた一変数関数を微分して微分値を求めることを特徴とする付記６に記載のプログラム。
【００８１】
（付記８）
前記指標値は、前記評価関数のある時刻における値であることを特徴とする付記５に記載のプログラム。
【００８２】
（付記９）
対象となる問題空間内での複数の車両の位置を制御するサーバが、前記問題空間を分割した複数のエリアのそれぞれに対して、評価関数を設定する段階、
前記複数のエリアのそれぞれについて、そのエリアの評価関数に係る指標値を前記サーバが求める段階、
前記複数のエリアの中から着目したエリアの前記指標値と、前記着目したエリアに隣接するエリアの前記指標値との比較結果に基づいて、前記隣接するエリアのひとつを前記サーバが選択する段階、及び、
前記着目するエリア内に存在する車両に搭載された端末に対し、前記着目するエリアから、前記選択したエリアへの移動を促す移動指示を、前記サーバが送信する段階
を含むことを特徴とする、車両位置制御方法。
【００８３】
（付記１０）
前記指標値は、前記評価関数の微分値であることを特徴とする付記９に記載の車両位置制御方法。
【００８４】
（付記１１）
前記評価関数は多変数関数であり、一の変数を除く変数に対してある時刻の値を代入して求めた一変数関数を微分して微分値を求めることを特徴とする付記１０に記載の車両位置制御方法。
【００８５】
（付記１２）
前記指標値は、前記評価関数のある時刻における値であることを特徴とする付記９に記載の車両位置制御方法。
【符号の説明】
【００８６】
１  情報処理システム
２、２１、２２、…、２ｎ  端末
３  データ通信ネットワーク
４  サーバ
４１  エリア決定部
４２  移動指示部
４３  利用情報保持部
４４  状態情報保持部
２０１  ＧＰＳモジュール
２０２  ユーザインターフェイス
２０３  ＣＰＵ
２０４  主記憶装置
２０５  ストレージ
２０６  データバス
【図１】
2014186645.tif 000011
【図２】
2014186645.tif 000012
【図３】
2014186645.tif 000013
【図４】
2014186645.tif 000014
【図５】
2014186645.tif 000015
【図６】
2014186645.tif 000016
【図７】
2014186645.tif 000017
【図８】
2014186645.tif 000018
【図９】
2014186645.tif 000019