(57)【要約】【課題】シミュレーションを実行する際の処理負荷を軽減することが可能な情報処理装置、制御方法、及びプログラムを提供することを目的とする。【解決手段】シミュレーションを行った結果、最も評価値の悪いボトルネックとなる時間帯、ボトルネックエリアにおける一部の制御ルールパラメータの最適化処理を行った結果、評価がよければ、ボトルネック時間帯、及びボトルネックエリアにおける全ての制御ルールパラメータの最適化処理を行う。そして、全時間帯、全エリアにおける全ての制御ルールパラメータの最適化処理を行って評価が良ければ処理を終了し、評価が悪ければ、前述した一部及び全ての制御ルールパラメータの最適化処理を評価が良くなるまで繰返し行う。【選択図】図４
2017117140.tif 000002
【特許請求の範囲】
【請求項１】
行動主体の振る舞いを模擬するシミュレーションを実行する情報処理装置であって、
主体が行動する全対象をシミュレーションする実行手段と、
前記実行手段によってシミュレーションを実行した結果を評価する評価手段と、
前記評価手段によって評価した結果に従って前記対象のうちボトルネックとなる対象を特定する特定手段と、
を備え、
前記実行手段は、前記特定手段によって特定したボトルネックとなる対象に対して前記シミュレーションを行うことを特徴とする情報処理装置。
【請求項２】
前記実行手段は、前記ボトルネックとなる対象に対して前記主体の行動を制約する設備の制御ルールを変更することによって前記シミュレーションを行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記実行手段は、前記ボトルネックとなる対象に対して前記主体の行動を制約する設備の制御ルールを優先順位に基づいて変更することによって、それぞれの前記シミュレーションを行い、
前記実行手段によってそれぞれの前記シミュレーションを行った結果、前記評価手段による評価の高い制御ルールを決定する決定手段を備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記実行手段は、前記決定手段によって決定された制御ルールを用いて前記全対象のシミュレーションを行うことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記決定手段によって決定された制御ルールを用いて前記全対象のシミュレーションを行った結果が、前記評価手段によって所定の評価以上となるまで、前記実行手段、前記評価手段、前記特定手段、及び前記決定手段を繰り返すことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記主体が行動する対象をエリアと時間帯とし、
前記実行手段は、前記ボトルネックとなる対象に対して、同一エリアにおける時間帯に対する優先順位に基づいて前記制御ルールを変更することによって、ぞれぞれの前記シミュレーションを行うことを特徴とする請求項３乃至５の何れか１項に記載の情報処理装置。
【請求項７】
行動主体の振る舞いを模擬するシミュレーションを実行する情報処理装置の制御方法であって、
前記情報処理装置は、
主体が行動する全対象をシミュレーションする実行ステップと、
前記実行ステップによってシミュレーションを実行した結果を評価する評価ステップと、
前記評価ステップによって評価した結果に従って前記対象のうちボトルネックとなる対象を特定する特定ステップと、
を実行し、
前記実行ステップは、前記特定ステップによって特定したボトルネックとなる対象に対して前記シミュレーションを行うことを特徴とする情報処理装置の制御方法。
【請求項８】
行動主体の振る舞いを模擬するシミュレーションを実行する情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
主体が行動する全対象をシミュレーションする実行手段と、
前記実行手段によってシミュレーションを実行した結果を評価する評価手段と、
前記評価手段によって評価した結果に従って前記対象のうちボトルネックとなる対象を特定する特定手段と、
して機能させ、
前記実行手段は、前記特定手段によって特定したボトルネックとなる対象に対して前記シミュレーションを行うことを、機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステムにより現実世界の挙動をコンピュータ上で最適化を行うに当たり、その処理の効率化に関する。
【背景技術】
【０００２】
近年、現実世界における多様な行動主体からなる群の挙動を最適にコントロールするために、マルチエージェントシミュレーションが用いられている。
【０００３】
マルチエージェントシミュレーションとは、行動主体をエージェント（多様な意思決定ロジック＝性格をもつオブジェクト）としてモデル化し、エージェントの相互作用によって、系全体の振舞いを模擬する技術である。
【０００４】
マルチエージェントシミュレーションにおいて系全体の振舞いを模擬し、群の挙動を最適化するためには、（１）現実世界を模擬するためのモデル化パラメータ（エージェントの性格や構成比）、および（２）エージェントが通過する設備の制御ルールを最適に定める必要がある。
【０００５】
例えば、道路上の渋滞を緩和するためには、（１）として道路上の車両の数を最適に設定し、（２）として、信号機の現示を変更する間隔を最適に定める必要がある。
【０００６】
特許文献１は（１）に関する文献であり、マルチエージェントシミュレーションの実行結果と実世界の乖離度合いを軽減し、モデル化パラメータを最適に設定するためのシステムが記載されている。また、モデルを更新する際、ユーザの確認を行うケースがあると記載されている。
【０００７】
特許文献２は（２）に関する文献であり、信号機の最適制御のため、マルチエージェントシミュレーションを用いるシステムが記載されている。
【０００８】
非特許文献１には、（１）、（２）を含むシミュレーションの最適化手法が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−１７４７０５号公報
【特許文献２】特開２００８−５９６１５号公報
【非特許文献】
【００１０】
【非特許文献１】S3  Simulation Systemの開発3  シミュレーション最適化（日本オペレーションズ・リサーチ学会  ２０１１年秋季研究発表会アブストラクト集）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
（１）における現実世界を模擬するためのモデル化パラメータ（エージェントの性格や構成比）の最適化においては、現実世界の観測によりモデル化パラメータを定めることが可能である。
【００１２】
一方、（２）におけるエージェントが通過する設備の制御方法（本発明では、制御ルールと呼ぶ）の最適化においては、制御ルールパラメータを変更しながら、シミュレーションを繰り返し実行する必要がある。
【００１３】
シミュレーションの実行には数分〜数十分の時間がかかるケースがあり、前述の繰り返し実行のためには多大な時間が必要となる。
【００１４】
上記特許文献１のシステムでは、（１）現実世界を模擬するためのモデル化パラメータ（エージェントの性格や構成比）の最適化に関し述べられており、（２）エージェントが通過する設備の制御ルールの最適化については指摘されていない。
【００１５】
また、（１）の最適化においては、シミュレーション実行時間の短縮化に関しては、記述されておらず、シミュレーションを繰り返す実行する場合には、多大な時間が必要となる。
【００１６】
さらに、ユーザの意図の反映においては、パラメータ更新時に更新内容をユーザが確認するシステムとなっており、シミュレーションを繰り返し実行する場合には、ユーザの確認が何度も発生する。
【００１７】
上記特許文献２のシステムでは、信号機の制御ルールパラメータをサブエリアと呼ばれる一定の地理的範囲ごとに分類し、マルチエージェントシミュレーションを用いてパラメータの最適化を行う。
【００１８】
また、上記学会論文１のシステムでは、シミュレーションの最適化に粒子群最適化法と呼ばれる手法を用いている。
【００１９】
上記特許文献２、上記学会論文１のシステムにおいては、1回あたりのシミュレーションの実行に時間がかかる場合には、パラメータの最適化に多大な時間が必要となる。
【００２０】
そこで、本発明では、シミュレーションを実行する際の処理負荷を軽減することが可能な情報処理装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記課題を解決するための発明は、行動主体の振る舞いを模擬するシミュレーションを実行する情報処理装置であって、主体が行動する全対象をシミュレーションする実行手段と、前記実行手段によってシミュレーションを実行した結果を評価する評価手段と、前記評価手段によって評価した結果に従って前記対象のうちボトルネックとなる対象を特定する特定手段と、を備え、前記実行手段は、前記特定手段によって特定したボトルネックとなる対象に対して前記シミュレーションを行うことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、シミュレーションに対する評価に従って、実行すべきシミュレーションの範囲を特定することによって、シミュレーションを実行する際の処理負荷を軽減することができる、という効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】制御ルール最適化端末のシステムの構成を示す構成図である。
【図２】制御ルール最適化端末に適用可能な情報処理装置のハードウェアの概略構成を示す構成図である。
【図３】制御ルール最適化端末の機能構成を示す構成図である。
【図４】シミュレーションにおける制御ルール最適化処理を示すフローチャートである。
【図５】制御ルール最適化処理におけるボトルネック時間帯特定の一例を示す説明図である。
【図６】制御ルール最適化処理におけるボトルネックエリア特定の一例を示す説明図である。
【図７】制御ルール最適化処理における制御ルール優先順を考慮した制御ルール更新の一例を示す説明図である。
【図８】制御ルール優先順設定画面の構成を示す構成図である。
【図９】制御ルール優先順テーブルの構成を示す構成図である。
【図１０】制御ルールパラメータ範囲設定画面の構成を示す構成図である。
【図１１】制御ルールパラメータ範囲テーブルの構成を示す構成図である。
【図１２】制御ルールパラメータ最適化結果確認画面の構成を示す構成図である。
【図１３】制御ルールパラメータ最適化結果テーブルの構成を示す構成図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２５】
図１は、前述したように、行動主体をエージェントとしてモデル化し、エージェントの相互作用によって、系全体の振舞いを模擬するシミュレーション、いわゆるマルチエージェントシミュレーションを実行する情報処理装置としての制御ルール最適化端末の構成の一例を示すシステム構成図である。
【００２６】
マルチエージェントシミュレーションで用いられるパラメータには、前述した（１）現実世界を模擬するためのモデル化パラメータ（エージェントの性格や構成比）、および（２）エージェントが通過する設備の制御ルールがある。
【００２７】
例えば、道路交通網におけるシミュレーションにおいては、エージェントに相当する車の発生確率、車の出発地および目的地を決定する乱数、車の加速度、減速度等が（１）に相当し、信号機の現示を変更する間隔等が（２）に相当する。
【００２８】
制御ルール最適化端末では、（１）のパラメータを固定した状態で、（２）のパラメータに関する最適化を行う。
【００２９】
図１は、１台の制御ルール最適化端末１０１から構成されている。
【００３０】
制御ルール最適化端末１０１は、制御ルール優先順および、制御ルールパラメータ範囲を制御ルールの最適化処理を実施する前に設定する。
【００３１】
制御ルール最適化指示を行うと、設定済みの制御ルール優先順および、制御ルールパラメータ範囲を考慮しながら、後述する制御ルールの最適化処理を行う。
【００３２】
以下、図２を用いて、図１に示した制御ルール最適化端末１０１に適用可能な情報処理装置のハードウェア構成について説明する。
【００３３】
図２は、図１に示した制御ルール最適化端末１０１に適用可能な情報処理装置のハードウェア構成を示す構成図である。
【００３４】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００３５】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３６】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００３７】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【００３８】
２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。
【００３９】
なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００４０】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００４１】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ４００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００４２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００４３】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００４４】
さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００４５】
次に、図３を用いて、制御ルール最適化端末１０１における機能の構成を示す機能構成図について説明する。
【００４６】
尚、各機能ブロックが処理する詳細な制御については、後述するフローチャートにて説明する。
【００４７】
制御ルール優先順設定部３０１では、ユーザの操作によって制御ルール優先順を設定する。設定結果はＲＡＭ２０３に記憶させる。
【００４８】
制御ルールとは、前述したようにエージェントが行動を起こす上で、その行動に制約が課されるルールを示しており、例えば、エージェントが通過する設備の制御方法があげられる。
【００４９】
制御ルールパラメータ範囲設定部３０２では、ユーザの操作によって制御ルールパラメータ範囲を設定する。設定結果はＲＡＭ２０３に記憶させる。
【００５０】
シミュレーション実行部３０３では、現在の制御ルールパラメータに従い、シミュレーションを実行する。シミュレーションの対象とする時間帯、および、シミュレーション対象とするエリアを限定してシミュレーションを行う機能を有する。
【００５１】
シミュレーション実行結果評価部３０４では、シミュレーション実行部３０３の結果を元に、シミュレーション時刻ごとの評価結果を算出する。
【００５２】
ボトルネック判定部３０５は、シミュレーション実行部３０３の結果、およびシミュレーション実行結果評価部３０４の評価結果を元に、シミュレーション結果の評価値が悪い時間帯（ボトルネック時間帯）、および、シミュレーション結果の評価値が悪い原因となるエリア（ボトルネックエリア）を特定する。
【００５３】
制御ルール更新部３０６は、ボトルネック判定部３０５で特定したボトルネック時間帯、ボトルネックエリアに含まれる制御ルールパラメータを更新する。
【００５４】
更新する際には、制御ルールパラメータ範囲設定部３０２で設定した範囲内で更新し、また、制御ルール優先順設定部３０１で設定した制御ルール優先順に従い、最適化を行う。
【００５５】
制御ルール出力部３０７では、算出した制御ルールパラメータを出力する。出力結果はＲＡＭ２０３に記憶させる。
【００５６】
制御ルール結果確認部３０８では、ＲＡＭ２０３に記憶した制御ルール最適化結果を確認する。
【００５７】
以下、本実施形態のマルチエージェントシミュレーションにおける制御ルール最適化システムの全体の流れを説明する。
【００５８】
制御ルール最適化端末１０１で「制御ルール優先順設定」ボタン（不図示）を押下すると、制御ルール優先順設定部３０１は、制御ルール優先順設定画面８００（図８）を起動し、制御ルール優先順を設定する。設定結果はＲＡＭ２０３に図９に示す制御ルール優先順テーブル９００のようなデータ構成で記憶する。
【００５９】
制御ルール優先順テーブル９００は、シミュレーションの対象とする時間帯を示すシミュレーション時間帯９０１、適用する制御ルールを示す制御ルール９０２、制御ルール９０２の適用する優先順位を含んで構成されている。
【００６０】
システム内で制御ルールパラメータを全自動で変更した場合、ユーザの意図に沿わない結果となる場合がある。
【００６１】
例えば、制御ルールに関するユーザの意図はシミュレーション内の時刻によって異なることが多い。例えば、道路交通網の信号機に関するシミュレーションでは、朝・夕方といった時間帯によって、優先すべき道路が異なる結果、優先すべき信号機に関する制御ルールが異なるケースがある。
【００６２】
従って、シミュレーション時刻によって制御ルールの動作を変えるためには、制御ルールパラメータをシミュレーション時間帯（所与）ごとに設定する必要がある。
【００６３】
図８に示す制御ルール優先順設定画面８００では、制御ルール優先順の設定を行う。制御ルール優先順設定画面（図８）は、制御ルール優先順が未設定の場合、所与のシミュレーション時間帯８０１、および所与の制御ルール８０２の全組合せ単位に、優先順位８０３が空の状態で表示されている。
【００６４】
例えば、２４時間のシミュレーションのうち１時間単位をシミュレーション時間帯（シミュレーション時間帯としては２４種類）とし、制御ルールが１０種類ある場合は、２４０行が表示されている。
【００６５】
「編集」ボタン８０４を押下すると、制御ルール優先順設定画面８００上で選択した行に対し、優先順位８０３を編集し、「戻る」ボタン８０５を押下すると、制御ルール優先順設定画面８００を閉じる。
【００６６】
制御ルール優先順設定画面（図８）で設定するシミュレーション時間帯８０１は、制御ルール優先順テーブル９００のシミュレーション時間帯９０１、制御ルール８０２は制御ルール９０２、優先順位８０３は優先順位９０３に対応する。
【００６７】
制御ルール最適化端末１０１で「制御ルールパラメータ範囲設定」ボタン（不図示）を押下すると、制御ルールパラメータ範囲設定部３０２は、制御ルールパラメータ範囲設定画面（図１０）を起動し、制御ルールパラメータ範囲を設定する。設定結果はＲＡＭ２０３に図１１に示す制御ルール範囲テーブル１１００のようなデータ構成で記憶する。
記憶させる。
【００６８】
制御ルール範囲テーブル１１００は、シミュレーションの対象とする時間帯を示すシミュレーション時間帯１１０１、適用する制御ルールを示す制御ルール１１０２、制御ルール１１０２の適用する範囲の上限値１１０３、及び下限値１１０４を含んで構成されている。
【００６９】
図１０に示す制御ルールパラメータ範囲設定画面１０００では、制御ルールパラメータ範囲の設定を行う。
【００７０】
制御ルールパラメータ範囲設定画面１０００は、制御ルールパラメータ範囲が未設定の場合、所与のシミュレーション時間帯１００１、および所与の制御ルール１００２の全組合せ単位に、上限値１００３、および下限値１００４が空の状態で表示されている。
【００７１】
例えば、２４時間のシミュレーションのうち１時間単位をシミュレーション時間帯（シミュレーション時間帯としては２４種類）とし、制御ルールが１０種類ある場合は、２４０行が表示されている。
【００７２】
「編集」ボタン１００５を押下すると、制御ルールパラメータ範囲設定画面１０００上で選択した行に対し、上限値１００３、および下限値１００４を編集し、「戻る」ボタン１００６を押下すると、制御ルールパラメータ範囲設定画面１０００を閉じる。
【００７３】
制御ルールパラメータ範囲設定画面１０００で設定するシミュレーション時間帯１００１はシミュレーション時間帯１１０１、制御ルール１００２は制御ルール１１０２、上限値１００３は上限値１１０３、下限値１００４は下限値１００４に対応する。
【００７４】
制御ルール優先順および制御ルールパラメータ範囲を設定し、「制御ルール最適化」ボタン（不図示）を押下すると、ＲＡＭ２０３に記憶済の制御ルール優先順および、制御ルールパラメータ範囲を考慮しながら、制御ルールの最適化処理を行う。
【００７５】
制御ルールの最適化結果はＲＡＭ２０３に図１２に示す制御ルールパラメータ最適化結果テーブル１３００のようなデータ構成で記憶する。
【００７６】
制御ルールパラメータ最適化結果テーブル１３００は、シミュレーションの対象とする時間帯を示すシミュレーション時間帯１３０１、適用する制御ルールを示す制御ルール１３０２、及び制御ルールの最適値を示す最適値１３０３を含んで構成されている。
【００７７】
制御ルールの最適化処理を終了後、「制御ルールパラメータ最適化結果確認」ボタン（不図示）を押下すると、制御ルール結果確認部３０８は制御ルール最適化結果確認画面（図１１）を起動し、ＲＡＭ２０３に記憶済の制御ルールパラメータ最適化結果を表示する。
【００７８】
図１２に示す制御ルールパラメータ最適化結果確認画面１２００では、制御ルールパラメータの最適化結果の確認を行う。
【００７９】
制御ルールの最適化が実施済の場合、所与のシミュレーション時間帯１２０１、および所与の制御ルール１２０２の全組合せ単位に、算出した最適値が最適値１２０３に表示されている。
【００８０】
例えば、２４時間のシミュレーションのうち１時間単位をシミュレーション時間帯（シミュレーション時間帯としては２４種類）とし、制御ルールが１０種類ある場合は、２４０行が表示されている。
【００８１】
「戻る」ボタン１２０４を押下すると、制御ルールパラメータ最適化結果確認画面１２００を閉じる。
【００８２】
以下、図４を参照して、本実施形態のマルチエージェントシミュレーションにおける制御ルール最適化システムにおける、制御ルール最適化処理について説明する。
【００８３】
図４では制御ルール最適化処理について説明する。本処理は制御ルール最適化端末にて実施され、制御ルール最適化端末に備えられる「制御ルール最適化」ボタン（不図示）を押下すると、制御ルール最適化処理が実施される。
【００８４】
まず、全体のループ構造について、４１６、４１７、４１８を用いて説明する。
【００８５】
４１６は、シミュレーションを行った結果、最も評価値の悪いボトルネックとなる時間帯、ボトルネックエリアにおける一部の制御ルールパラメータの最適化処理である。
【００８６】
ボトルネック時間帯、及びボトルネックエリアに対し、制御ルール優先順テーブル９００の優先順位９０３を１つ限定して最適化を行う。
【００８７】
４１７は、ボトルネック時間帯、ボトルネックエリアにおける全ての制御ルールパラメータの最適化処理である。制御ルール優先順テーブル９００の優先順位の小さい制御ルールから順に４１６のループにより、全ての優先順位に対し最適化を行う。
【００８８】
４１８は全時間帯、全エリアにおける全ての制御ルールパラメータの最適化処理である。ステップＳ４０４、及びステップＳ４０５によりボトルネック時間帯、ボトルネックエリアを特定し、４１７のループにより、ボトルネック時間帯、ボトルネックエリアにおける全ての制御ルールパラメータの最適化を行う。
【００８９】
ステップＳ４０１では、制御ルールの初期値を設定する。例えば、道路交通網におけるシミュレーションにおいては、現実世界で設定されている信号機の現示を変更する間隔を、制御ルールに関するパラメータの初期値として設定する。ステップＳ４０１で設定されるパラメータの初期値を基に、制御ルールの最適化を行う。
【００９０】
ステップＳ４０２では、シミュレーション実行部３０３は、全範囲（時間帯、エリア）のシミュレーションを１回実行する。
【００９１】
例えば、道路交通網におけるシミュレーションにおいては、エージェントに相当する車を所与の発生確率等に基づき発生させる。
【００９２】
車の出発地、目的地は所与の乱数等に基づき決定し、車は、出発地、目的地を元に、所与の基準で通過する経路を決定する。
【００９３】
車は、決定した経路に基づき、各シミュレーション時刻において、通過する設備（信号機等）の状況および、他の車との車間距離等を考慮し、加速、減速、一定速度走行、停止を決定する。
【００９４】
制御ルールに相当する信号機の現示を変更する間隔は、前回変更したシミュレーション時刻から一定時間（制御ルールパラメータに相当）経過後、現示を変更する。
【００９５】
ステップＳ４０３では、シミュレーション実行結果評価部３０４は、ステップＳ４０２で実行したシミュレーションの結果をシミュレーション時刻ごとに評価する。
【００９６】
例えば、道路交通網におけるシミュレーションにおいては、混雑度が評価値として考えられる。
【００９７】
シミュレーション時刻ごとの混雑度として、例えば、「通過中の車の台数÷標準通過可能台数(所与)」を道路単位に計算し、最も大きい値が混雑度として考えられる。
【００９８】
ステップＳ４０４では、ボトルネック判定部３０５は、ステップＳ４０３で求めたシミュレーション時刻ごとの評価値を元に、ボトルネック時間帯を特定する。
【００９９】
例えば、道路交通網におけるシミュレーションにおいては、混雑度が最も悪い時刻を含むシミュレーション時間帯がボトルネック時間帯として考えられる。ボトルネック時間帯を特定する例を図５に記載する。
【０１００】
図５の横軸は、ステップＳ４０２で実行したシミュレーションの各時刻であり、縦軸は、ステップＳ４０３で算出したシミュレーション時刻ごとのシミュレーションを実行した結果として得られた評価値である。
【０１０１】
シミュレーション結果評価値が最も高い（評価が最も悪い）部分をボトルネック時刻として判定し、ボトルネック時刻を含む所与のシミュレーション時間帯をボトルネック時間帯として特定する。
【０１０２】
ステップＳ４０５では、ボトルネック判定部３０５は、ステップＳ４０４で求めたボトルネック時間帯において、所与のエリアの中から、ボトルネックエリアを特定する。
【０１０３】
例えば、道路交通網におけるシミュレーションにおいては、エージェント（車）が密集している道路が含まれる所与のエリアが、ボトルネックエリアとして考えられる。ボトルネックエリアを特定する例を図６に記載する。
【０１０４】
図６は、Ｓ４０４で求めたボトルネック時刻におけるエージェント（車）の位置を図示している。ボトルネックエリアの候補となるエリア６０１、エリア６０２、エリア６０３、エリア６０４が事前に与えられており、各エリア単位にエージェント（車）の数を算出し、最もエージェントが多いエリア６０２をボトルネックエリアとして特定している。
【０１０５】
ステップＳ４０６では、シミュレーション実行部３０３は、ステップＳ４０４及びステップＳ４０５で求めたボトルネック時間帯、ボトルネックエリアに限定したシミュレーションを１回行う。時間帯、エリアを限定することにより、シミュレーション1回あたりの時間を削減する。
【０１０６】
ステップＳ４０７では、シミュレーション実行結果評価部３０４は、ステップＳ４０６で実行したシミュレーションの結果を、シミュレーション時刻ごとに評価する。評価方法は、ステップＳ４０３と同様である。
【０１０７】
ステップＳ４０８では、シミュレーション実行結果評価部３０４は、Ｓ４０７の評価結果が現状で最も良いかの判定を行い、判定結果が最も良いと判定した場合は、ステップＳ４０９へ処理を進め、判定結果が最も良いと判定しない場合は、ステップＳ４１０へ処理を進める。
【０１０８】
ステップＳ４０９では、シミュレーション実行結果評価部３０４は、現在の制御ルールを最適値として保存する。
【０１０９】
ステップＳ４１０では、制御ルール更新部３０６は、制御ルール優先順設定部３０１でＲＡＭ２０３に記憶した制御ルール優先順テーブル９００のボトルネック時間帯における制御ルール優先順、および制御ルールパラメータ範囲設定部３０２でＲＡＭ２０３に記憶した制御ルール範囲テーブル１１００の制御ルールパラメータ範囲を考慮して、ボトルネック時間帯、ボトルネックエリアにおける制御ルールパラメータの更新を行う。
【０１１０】
制御ルールパラメータ範囲の考慮は、各制御ルールパラメータの更新時に、制御ルール範囲テーブル１１００のシミュレーション時間帯１１０１をボトルネック時間帯、制御ルール１１０２を各制御ルールとして検索し、上限値１１０３が設定されている制御ルール１１０２の場合は上限値１１０３以下となるようパラメータを更新することで実現する。
【０１１１】
同様に、下限値１１０４が設定されている制御ルール１１０２の場合は、下限値１１０４以下となるよう制御ルールパラメータを更新することで実現する。
【０１１２】
道路交通網におけるシミュレーションにおいては、信号機の現示を変更する間隔の上限値、下限値が制御ルールパラメータ範囲となる。
【０１１３】
制御ルール優先順の考慮は、制御ルール優先順テーブル９００のシミュレーション時間帯９０１をボトルネック時間帯として検索し、優先順位９０３の小さい（優先度の高い）制御ルール９０２から順に最適化することで実現する。
【０１１４】
道路交通網におけるシミュレーションにおいては、国道、市町村道といった順番で、信号機のパラメータを最適化することが考えられる。
【０１１５】
制御ルール優先順を考慮して最適化する手法として、例えば、図９の優先順位９０３の小さい（優先度の高い）制御ルールパラメータから順に最適化を行い、ある優先順位のパラメータを最適化する間は他の優先順位のパラメータを固定し、対象の優先順位のパラメータを少しずつ変化させるといったことが考えられる。
【０１１６】
制御ルール優先順を考慮した制御ルール更新の例を図７に記載する。なお、時間帯、エリアを限定しても制御ルールに関するパラメータは多数存在し、厳密な最適化は難しいと考えられるため、図７では近似的に制御ルールを最適化する方法を記載する。
【０１１７】
図７では、ボトルネックエリアに制御ルール７０１、７０２、７０３、７０４が含まれており、各制御ルール単位に制御ルール優先順テーブル９００の優先順位９０３の設定例を優先順位７０５として図示している。
【０１１８】
パラメータ値７０６は、ステップＳ４０２で実施する全範囲（時間帯、エリア）のシミュレーション実行直後のパラメータの状態を意味している。
【０１１９】
パラメータ値７０６から７０７に更新する間は、制御ルール７０２に関するパラメータ値の最適化を行うため、他の制御ルール７０１、７０３、７０４に関するパラメータ値を固定した状態で、制御ルール７０２に関するパラメータ値を更新する。
【０１２０】
パラメータ値７０７から７０８、７０８から７０９、７０９から７１０までの更新についても、同様である。
【０１２１】
ステップＳ４１１では、制御ルール優先順部分における制御ルールパラメータ最適化の終了判定を行う。
【０１２２】
終了条件として、例えばＳ４０８において連続した一定回数以上、判定結果がＮＯとなる（最高評価値を更新できない）、または、一定時間経過等が考えられる。
【０１２３】
終了条件を充足した場合は、Ｓ４１３を実施し、ボトルネック時間帯、ボトルネックエリアにおける制御ルールパラメータ最適化の終了判定を行う。
【０１２４】
ステップＳ４１２では、シミュレーション実行結果評価部３０４は、ボトルネック時間帯、ボトルネックエリアにおける制御ルールパラメータ最適化の終了判定を行う。
【０１２５】
終了条件として、例えば、ボトルネック時間帯、及びボトルネックエリアに含まれる全ての制御ルールに対し、ステップＳ４１１の判定がＹＥＳとなる、または、一定時間が経過する等が考えられる。
【０１２６】
終了条件を充足した場合は、ステップＳ４１３へ処理を進め、終了条件を充足しない場合は、ステップＳ４１５へ処理を進める。
【０１２７】
ステップＳ４１５を実施後に再度Ｓ４０６以降の処理を実施することにより、次の優先順位の制御ルールパラメータに対し最適化処理を実施する。
【０１２８】
ステップＳ４１３では、シミュレーション実行結果評価部３０４は、全範囲における制御ルールパラメータ最適化の終了判定を行う。
【０１２９】
終了条件として、例えば各制御ルールパラメータ単位に前回ステップＳ４１３判定時のパラメータ値と現在のパラメータ値を比較し、変化量の絶対値の合計が一定量以下となる、または、一定時間経過等が考えられる。
【０１３０】
終了条件を充足した場合は、ステップＳ４１４へ処理を進め、終了条件を充足しない場合は、ステップＳ４０２以降の処理を実施することにより、再度ボトルネック時間帯、およびボトルネックエリアを特定し、ボトルネック時間帯、ボトルネックエリアにおける全ての制御ルールパラメータの最適化を実施する。
【０１３１】
ステップＳ４１４では、制御ルール出力部３０７は、算出した最良の制御ルールパラメータを、ＲＡＭ２０３の制御ルールパラメータ最適化結果テーブル１３００に出力する。
【０１３２】
ステップＳ４１５では、制御ルール優先順設定部３０１でＲＡＭ２０３に記憶した制御ルール優先順テーブルのボトルネック時間帯における制御ルール優先順を元に、４１６で最適化対象とする制御ルールパラメータを選択する。
【０１３３】
制御ルール優先順テーブル９００のシミュレーション時間帯９０１をボトルネック時間帯として検索し、優先順位９０３が前回４１６で最適化した優先順位よりも１つ大きい優先順位Ｘを特定する。
【０１３４】
制御ルール優先順テーブル９００のシミュレーション時間帯９０１をボトルネック時間帯、優先順位９０３を優先順位Ｘとして検索し、合致した制御ルールに関する制御ルールパラメータを、４１６の最適化対象とする。
【０１３５】
以上、本発明によれば、シミュレーションに対する評価に従って、実行すべきシミュレーションの範囲を特定することによって、シミュレーションを実行する際の処理負荷を軽減することができる。
【０１３６】
また、本発明は、例えば、システム、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。
【０１３７】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３８】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることができる。
【０１３９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４１】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。
【０１４２】
この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１４４】
１００    制御ルール最適化端末
２０１    ＣＰＵ
２０２    ＲＡＭ
２０３    ＲＯＭ
２０４    システムバス
２０５    入力コントローラ
２０６    ビデオコントローラ
２０７    メモリコントローラ
２０８    通信Ｉ／Ｆ（インターフェース）コントローラ
２０９    キーボード（ＫＢ）
２１０    ディスプレイ装置（ＣＲＴ）
２１１    外部メモリ
【図１】
2017117140.tif 000003
【図２】
2017117140.tif 000004
【図３】
2017117140.tif 000005
【図４】
2017117140.tif 000006
【図５】
2017117140.tif 000007
【図６】
2017117140.tif 000008
【図７】
2017117140.tif 000009
【図８】
2017117140.tif 000010
【図９】
2017117140.tif 000011
【図１０】
2017117140.tif 000012
【図１１】
2017117140.tif 000013
【図１２】
2017117140.tif 000014
【図１３】
2017117140.tif 000015