IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-170260OD決定方法およびOD決定プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170260
(43)【公開日】2024-12-06
(54)【発明の名称】OD決定方法およびOD決定プログラム
(51)【国際特許分類】
   G08G 1/00 20060101AFI20241129BHJP
【FI】
G08G1/00 C
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023087326
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】陳 彬
(72)【発明者】
【氏名】瀬川 英吾
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181BB04
5H181DD04
5H181EE03
(57)【要約】
【課題】OD交通量の推定にかかる処理時間の短縮化を図ること。
【解決手段】情報処理装置101は、第1のOD交通量q1を用いて、第1の時間フレームごとに、各リンクの交通量を推定する第1のシミュレーション110を実行する。情報処理装置101は、第1のOD交通量q1を調整しながら第1のシミュレーション110を繰り返して、第1の時間フレームごとのOD交通量を決定する。情報処理装置101は、決定した第1の時間フレームごとのOD交通量に基づいて、第1の時間フレームを分割した第2の時間フレームごとに、第2のOD交通量q2を算出する。情報処理装置101は、算出した第2のOD交通量q2を用いて、各リンクの交通量を推定する第2のシミュレーション120を実行する。情報処理装置101は、第2のOD交通量q2を調整しながら第2のシミュレーション120を繰り返して、第2の時間フレームごとのOD交通量を決定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達する第1のOD交通量を用いて、前記第1の地点から前記第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第1のOD交通量を調整しながら前記第1の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第1の時間フレームごとのOD交通量を決定し、
決定した前記第1の時間フレームごとのOD交通量に基づいて、前記第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに前記第1の地点を出発して前記第2の地点に到達する第2のOD交通量を算出し、
算出した前記第2のOD交通量を用いて、前記第2の時間フレームごとに、前記リンクごとの交通量を推定する第2の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第2のOD交通量を調整しながら前記第2の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第2の時間フレームごとのOD交通量を決定する、
処理をコンピュータが実行することを特徴とするOD決定方法。
【請求項2】
前記算出する処理は、
決定した前記第1の時間フレームごとのOD交通量を、所定の比率に応じて前記第2の時間フレームごとに配分することにより、前記第2のOD交通量を算出する、ことを特徴とする請求項1に記載のOD決定方法。
【請求項3】
前記第1の地点と前記第2の地点とのペアと対応付けて、決定した前記第2の時間フレームごとのOD交通量を出力する、
処理を前記コンピュータが実行することを特徴とする請求項1に記載のOD決定方法。
【請求項4】
前記比率は、前記第1の時間フレームと前記第2の時間フレームとの時間幅をもとに設定される、ことを特徴とする請求項2に記載のOD決定方法。
【請求項5】
対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達する第1のOD交通量を用いて、前記第1の地点から前記第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第1のOD交通量を調整しながら前記第1の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第1の時間フレームごとのOD交通量を決定し、
決定した前記第1の時間フレームごとのOD交通量に基づいて、前記第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに前記第1の地点を出発して前記第2の地点に到達する第2のOD交通量を算出し、
算出した前記第2のOD交通量を用いて、前記第2の時間フレームごとに、前記リンクごとの交通量を推定する第2の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第2のOD交通量を調整しながら前記第2の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第2の時間フレームごとのOD交通量を決定する、
処理をコンピュータに実行させることを特徴とするOD決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OD決定方法およびOD決定プログラムに関する。
【背景技術】
【0002】
近年、自治体や企業などにおいて、都市部の交通渋滞の軽減や交通によるCO2排出量の削減などを実現するために、様々な交通施策が検討されている。例えば、様々な交通状況をデジタルツイン上で再現して、交通移動需要の推定を行って、施策効果を評価することが行われている。交通移動需要は、例えば、Origin(出発地点)を出発してDestination(到着地)に到達する車両数などのOD交通量によって表される。
【0003】
先行技術としては、プローブ情報や統計情報に基づいてOD交通量を推定し、道路ネットワーク情報、信号情報、推定されたOD交通量に基づいて、交通状態をシミュレーションし、シミュレーションされた交通状態に基づいて算出されるリンクの交通量の計算値と、リンクの交通量の目標値との差が小さくなるように、OD交通量を修正し、修正されたOD交通量を用いて、交通状態をシミュレーションするものがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-259158号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、OD交通量(交通移動需要)の推定に膨大な処理時間がかかる場合がある。
【0006】
一つの側面では、本発明は、OD交通量の推定にかかる処理時間の短縮化を図ることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達する第1のOD交通量を用いて、前記第1の地点から前記第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行し、推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第1のOD交通量を調整しながら前記第1の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第1の時間フレームごとのOD交通量を決定し、決定した前記第1の時間フレームごとのOD交通量に基づいて、前記第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに前記第1の地点を出発して前記第2の地点に到達する第2のOD交通量を算出し、算出した前記第2のOD交通量を用いて、前記第2の時間フレームごとに、前記リンクごとの交通量を推定する第2の交通シミュレーションを実行し、推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第2のOD交通量を調整しながら前記第2の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第2の時間フレームごとのOD交通量を決定する、OD決定方法が提供される。
【発明の効果】
【0008】
本発明の一側面によれば、OD交通量の推定にかかる処理時間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかるOD決定方法の一実施例を示す説明図である。
図2図2は、情報処理システム200のシステム構成例を示す説明図である。
図3図3は、OD推定装置201のハードウェア構成例を示すブロック図である。
図4図4は、道路ネットワークの具体例を示す説明図である。
図5図5は、道路ネットワーク表の具体例を示す説明図である。
図6図6は、出発地点表の具体例を示す説明図である。
図7図7は、目的地点表の具体例を示す説明図である。
図8図8は、ODペア表の具体例を示す説明図である。
図9図9は、経路表の具体例を示す説明図である。
図10図10は、OD推定装置201の機能的構成例を示すブロック図である。
図11図11は、第2のODフローの算出例を示す説明図である。
図12図12は、OD推定装置201の第1の動作例を示す説明図である。
図13図13は、初期ODフローの具体例を示す説明図である。
図14図14は、経路選択表の具体例を示す説明図(その1)である。
図15図15は、リンクフロー(割合)の具体例を示す説明図(その1)である。
図16図16は、リンクフロー(交通量)の具体例を示す説明図(その1)である。
図17図17は、観測行列の一例を示す説明図(その1)である。
図18図18は、観測可能なリンクフロー(交通量)の具体例を示す説明図(その1)である。
図19図19は、リンクフロー(交通量)の誤差の具体例を示す説明図(その1)である。
図20図20は、ODフローの更新例を示す説明図(その1)である。
図21図21は、粗い時間フレームでのODフローの推定結果を示す説明図である。
図22図22は、OD推定装置201の第2の動作例を示す説明図である。
図23図23は、ODフローの配分例を示す説明図である。
図24図24は、経路選択表の具体例を示す説明図(その2)である。
図25図25は、リンクフロー(割合)の具体例を示す説明図(その2)である。
図26図26は、リンクフロー(交通量)の具体例を示す説明図(その2)である。
図27図27は、観測行列の一例を示す説明図(その2)である。
図28図28は、観測可能なリンクフロー(交通量)の具体例を示す説明図(その2)である。
図29図29は、リンクフロー(交通量)の誤差の具体例を示す説明図(その2)である。
図30図30は、ODフローの更新例を示す説明図(その2)である。
図31図31は、細かい時間フレームでのODフローの推定結果を示す説明図である。
図32図32は、OD推定装置201のOD決定処理手順の一例を示すフローチャート(その1)である。
図33図33は、OD推定装置201のOD決定処理手順の一例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかるOD決定方法およびOD決定プログラムの実施の形態を詳細に説明する。
【0011】
(実施の形態)
図1は、実施の形態にかかるOD決定方法の一実施例を示す説明図である。図1において、情報処理装置101は、出発地点と目的地点とのペアについて、指定された時間フレームごとのOD(Origin Destination)交通量を決定するコンピュータである。
【0012】
ここで、OD交通量とは、交通移動需要を表す指標であり、ある時間フレームに出発地点を出発して目的地点に到達する交通量を表す。OD交通量は、例えば、交通シミュレーションを利用して推定される。時間フレームは、ある期間を等間隔に分割した時間区間(タイムスロット)である。交通量は、例えば、車両数や人数によって表される。
【0013】
既存の交通需要推定技術として、例えば、交通シミュレーションを利用して、時間フレームごとのOD交通量を推定する技術(従来技術1)がある。交通シミュレーションは、例えば、道路上で起こる交通現象をコンピュータ上で再現し、交通渋滞や交通の乱れなどの交通状況がどのように変化するのかを模擬することである。
【0014】
従来技術1は、まず、初期値として与えられたOD交通量を用いた交通シミュレーションを行って、出発地点から目的地点までの経路上の各リンクを通過した車両数を推定する。つぎに、従来技術1は、推定したリンクを通過した車両数と、実際に観測したリンクを通過した車両数との誤差に基づいて、OD交通量を更新する。
【0015】
そして、従来技術1は、更新したOD交通量を用いて、交通シミュレーションを再度行う。従来技術1では、この一連の処理(交通シミュレーション→OD交通量の更新→交通シミュレーション)を、リンクを通過した車両数の誤差が、あらかじめ決められた範囲内となるまで繰り返し行う。
【0016】
このようにして、従来技術1は、時間フレームごとのOD交通量を推定する。時間フレームは、例えば、15分や30分ごとの時間区間である。なお、従来技術1については、下記非特許文献1を参照することができる。
【0017】
非特許文献1:Wei Ma,Xidong Pi,Sean Qian:Estimating multi-class dynamic origin-destination demand through a forward-backward algorithm on computational graphs,Transportation Research Part C 119(2020)102747.
【0018】
しかしながら、従来技術1では、時間フレーム(例えば、30分、15分など)ごとのOD交通量の推定に膨大な処理時間がかかる場合がある。従来技術1では、OD交通量の推定で取り扱う行列のサイズは、道路ネットワークのノード数、リンク数、ODペア数、移動経路数によって二乗的に増える。また、従来技術1では、時間を分割して細かい時間フレームでのOD交通量を必要とする場合、行列のサイズはさらに時間フレーム数の二乗倍になり、OD交通量の推定に膨大な処理時間を要する。
【0019】
そこで、本実施の形態では、時間フレームごとのOD交通量を推定する際に、交通シミュレーションの反復回数を減らして最適解を得るまでの処理時間の短縮化を図るOD決定方法について説明する。ここで、情報処理装置101の処理例(下記(1)~(5)の処理に対応)について説明する。
【0020】
(1)情報処理装置101は、第1のOD交通量q1を用いて、第1のシミュレーション110を実行する。ここで、第1のシミュレーション110は、対象期間を分割した第1の時間フレームごとに、第1の地点から第2の地点までの経路に含まれるリンクごとの交通量を推定する交通シミュレーションである。
【0021】
第1の地点は、出発地点に相当する。第2の地点は、目的地点に相当する。出発地点から目的地点までの経路は、例えば、道路ネットワークによって表される。道路ネットワークは、道路網に関する情報であり、交差点をノード、交差点間の道路をリンクとするネットワークである。
【0022】
第1のOD交通量q1は、対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達するOD交通量を表す。第1のOD交通量q1は、例えば、あらかじめ決められた定数であってもよく、また、ランダムに生成される乱数によって表されてもよい。対象期間は、任意に設定可能であり、例えば、6時00分~11時00分などの期間に設定される。また、第1の時間フレームの時間幅は、任意に設定可能であり、例えば、1時間などに設定される。
【0023】
(2)情報処理装置101は、推定したリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第1のOD交通量q1を調整しながら第1のシミュレーション110を繰り返し実行する。これにより、情報処理装置101は、第1の地点と第2の地点とのペアについて、第1の時間フレームごとのOD交通量を決定する。
【0024】
具体的には、例えば、情報処理装置101は、推定したリンクの交通量と当該リンクについて観測された交通量との誤差を算出する。情報処理装置101は、算出した誤差が閾値より大きい場合、算出した誤差に基づいて、第1のOD交通量q1を更新する(図1中、符号111)。閾値は、任意に設定可能である。
【0025】
そして、情報処理装置101は、更新した第1のOD交通量q1を用いて、第1のシミュレーション110を実行する。一方、情報処理装置101は、算出した誤差が閾値以下の場合、直前の第1のシミュレーション110に用いた第1のOD交通量q1を、第1の時間フレームごとのOD交通量に決定する。
【0026】
(3)情報処理装置101は、決定した第1の時間フレームごとのOD交通量に基づいて、第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに第1の地点を出発して第2の地点に到達する第2のOD交通量q2を算出する。第2の時間フレームの時間幅は、第1の時間フレームの時間幅に応じて任意に設定可能であり、例えば、30分などに設定される。
【0027】
例えば、対象期間を「6:00~11:00」とする。また、第1の時間フレームを、「6:00~11:00」を1時間ごとに区切った各時間区間とする。この場合、第2の時間フレームは、例えば、第1の時間フレームそれぞれを30分ごとに区切った各時間区間(例えば、6:00~6:30)となる。
【0028】
具体的には、例えば、情報処理装置101は、決定した第1のOD交通量q1を、所定の比率に応じて第2の時間フレームごとに配分することにより、第2のOD交通量q2を算出する。所定の比率は、例えば、第1の時間フレームと第2の時間フレームとの時間幅の比をもとに設定される。
【0029】
例えば、第1の時間フレームの時間幅を「60分」とし、第2の時間フレームの時間幅を「30分」とする。この場合、情報処理装置101は、第1の時間フレームごとの第1のOD交通量q1を、第2の時間フレームごとに「1:1」で配分(2分割)することにより、第2の時間フレームごとの第2のOD交通量q2を算出する。
【0030】
例えば、「6:00~7:00」の第1の時間フレームの第1のOD交通量q1を「第1のOD交通量q1_1」とする。また、「6:00~6:30」の第2の時間フレームの第2のOD交通量q2を「第2のOD交通量q2_1」とする。また、「6:30~7:00」の第2の時間フレームの第2のOD交通量q2を「第2のOD交通量q2_2」とする。
【0031】
この場合、第1のOD交通量q1_1が、「6:00~6:30」の第2の時間フレームと「6:30~7:00」の第2の時間フレームとに「1:1」で配分され、第2のOD交通量q2_1,q2_2が算出される。第2のOD交通量q2_1は、「q2_1=q1_1×0.5」となる。また、第2のOD交通量q2_2は、「q2_2=q1_0×0.5」となる。
【0032】
(4)情報処理装置101は、算出した第2のOD交通量q2を用いて、第2のシミュレーション120を実行する。ここで、第2のシミュレーション120は、第1の時間フレームを分割した第2の時間フレームごとに、第1の地点から第2の地点までの経路に含まれるリンクごとの交通量を推定する交通シミュレーションである。
【0033】
(5)情報処理装置101は、推定したリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第2のOD交通量q2を調整しながら第2のシミュレーション120を繰り返し実行する。これにより、情報処理装置101は、第1の地点と第2の地点とのペアについて、第2の時間フレームごとのOD交通量を決定する。
【0034】
具体的には、例えば、情報処理装置101は、推定したリンクの交通量と当該リンクについて観測された交通量との誤差を算出する。情報処理装置101は、算出した誤差が閾値より大きい場合、算出した誤差に基づいて、第2のOD交通量q2を更新する。
【0035】
そして、情報処理装置101は、更新した第2のOD交通量q2を用いて、第2のシミュレーション120を実行する。一方、情報処理装置101は、算出した誤差が閾値以下の場合、直前の第2のシミュレーション120に用いた第2のOD交通量q2を、第2の時間フレームごとのOD交通量に決定する。決定された第2の時間フレームごとのOD交通量は、例えば、OD推定結果として出力される。
【0036】
このように、情報処理装置101によれば、粗い時間フレーム(第1の時間フレーム)で推定したOD交通量を利用して、細かい時間フレーム(第2の時間フレーム)でのOD交通量を推定することができる。これにより、情報処理装置101は、細かい時間フレームでのOD交通量を推定するにあたり、最適解を得るまでの反復回数を減らして処理時間を短縮することができる。
【0037】
(情報処理システム200のシステム構成例)
つぎに、実施の形態にかかる情報処理システム200のシステム構成例について説明する。以下の説明では、図1に示した情報処理装置101を、情報処理システム200内のOD推定装置201に適用した場合について説明する。
【0038】
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、OD推定装置201と、クライアント装置202と、を含む。情報処理システム200において、OD推定装置201およびクライアント装置202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
【0039】
OD推定装置201は、例えば、サーバである。クライアント装置202は、情報処理システム200のユーザが使用するコンピュータである。ユーザは、例えば、交通施策を検討したり、交通施策を評価したりする者である。クライアント装置202は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0040】
なお、ここでは、OD推定装置201とクライアント装置202とを別体に設けることにしたが、これに限らない。例えば、OD推定装置201は、クライアント装置202により実現されてもよい。また、情報処理システム200には、複数のクライアント装置202が含まれてもよい。
【0041】
(OD推定装置201のハードウェア構成例)
つぎに、OD推定装置201のハードウェア構成例について説明する。
【0042】
図3は、OD推定装置201のハードウェア構成例を示すブロック図である。図3において、OD推定装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0043】
ここで、CPU301は、OD推定装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0044】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304は、例えば、磁気ディスク、光ディスクなどである。
【0045】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したクライアント装置202)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305は、例えば、モデムやLANアダプタなどである。
【0046】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307は、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどである。
【0047】
なお、OD推定装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有してもよい。また、図2に示したクライアント装置202についても、OD推定装置201と同様のハードウェア構成により実現することができる。ただし、クライアント装置202は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0048】
(道路ネットワークの具体例)
つぎに、道路ネットワークについて説明する。道路ネットワークは、交通需要の推定対象となる道路に対応する。
【0049】
図4は、道路ネットワークの具体例を示す説明図である。図4において、道路ネットワークNW1は、ノードN1~N4と、リンクL1~L3とを含む。各ノードN1~N4は、交差点を表す。各リンクL1~L3は、交差点間の道路を表す。
【0050】
図4中、node1は、ノードN1の名称(ノード名)である。node2は、ノードN2の名称である。node3は、ノードN3の名称である。node4は、ノードN4の名称である。link1は、リンクL1の名称(リンク名)である。link2は、リンクL2の名称である。link3は、リンクL3の名称である。
【0051】
道路ネットワークNW1は、例えば、図5に示すような道路ネットワーク表500によって表現される。
【0052】
図5は、道路ネットワーク表の具体例を示す説明図である。図5において、道路ネットワーク表500は、図4に示した道路ネットワークNW1のネットワーク構造を示す。道路ネットワーク表500では、道路ネットワークNW1に含まれる2つのノードの組み合わせごとに、ノード間を接続するリンク名が示されている。ただし、接続関係にないノード間は、「None」となっている。
【0053】
例えば、node1とnode3との組み合わせについて、link1が示されており、ノードN1,N3間がリンクL1によって接続されていることが特定可能である。また、node1とnode2との組み合わせについて、Noneが示されており、ノードN1,N2間が接続されていないことが特定可能である。
【0054】
(出発地点表の具体例)
つぎに、OD推定装置201が用いる出発地点表の具体例について説明する。
【0055】
図6は、出発地点表の具体例を示す説明図である。図6において、出発地点表600は、道路ネットワークNW1において、O(Origin)となるノード名「node1,node2,node3」を示す。O(Origin)は、出発地点を表す。図6中の#は、O(Origin)を識別する識別子である。
【0056】
(目的地点表の具体例)
つぎに、OD推定装置201が用いる目的地点表の具体例について説明する。
【0057】
図7は、目的地点表の具体例を示す説明図である。図7において、目的地点表700は、道路ネットワークNW1において、D(Destination)となるノード名「node4」を示す。D(Destination)は、目的地点を表す。図7中の#は、D(Destination)を識別する識別子である。
【0058】
(ODペア表の具体例)
つぎに、OD推定装置201が用いるODペア表の具体例について説明する。
【0059】
図8は、ODペア表の具体例を示す説明図である。図8において、ODペア表800は、道路ネットワークNW1におけるODペアを示す。ODペアは、O(Origin)とD(Destination)との組み合わせである。図8中の#は、ODペアを識別する識別子である。
【0060】
ODペアは、例えば、図6に示した出発地点表600と、図7に示した目的地点表700とから特定される。例えば、ODペア1は、O:ノードN1(node1)とD:ノードN4(node4)との組み合わせである。
【0061】
(経路表の具体例)
つぎに、OD推定装置201が用いる経路表の具体例について説明する。
【0062】
図9は、経路表の具体例を示す説明図である。図9において、経路表900は、道路ネットワークNW1におけるODペアに対応する経路(path)を示す。経路(path)は、O(Origin)からD(Destination)までの経路である。図9中の#は、経路(path)を識別する識別子である。
【0063】
例えば、path1は、O:ノードN1(node1)からD:ノードN4(node4)までの経路「node1-link1-link3-node4」である。なお、pathでは、経由地点となるノード(例えば、node3)の表示は省略されている。
【0064】
(OD推定装置201の機能的構成例)
つぎに、OD推定装置201の機能的構成例について説明する。
【0065】
図10は、OD推定装置201の機能的構成例を示すブロック図である。図10において、OD推定装置201は、取得部1001と、設定部1002と、第1の実行部1003と、第1の決定部1004と、算出部1005と、第2の実行部1006と、第2の決定部1007と、出力部1008と、を含む。取得部1001~出力部1008は制御部1000となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0066】
取得部1001は、道路ネットワーク表を取得する。ここで、道路ネットワーク表は、交通需要の推定対象となる道路(例えば、図4に示した道路ネットワークNW1)を表す情報である。具体的には、例えば、取得部1001は、図2に示したクライアント装置202から受信することにより、図5に示したような道路ネットワーク表500を取得する。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、道路ネットワーク表500を取得してもよい。
【0067】
また、取得部1001は、出発地点表および目的地点表を取得する。ここで、出発地点表は、出発地点を表す情報であり、例えば、道路ネットワーク内のO(Origin)となるノードを表す。目的地点表は、目的地点を表す情報であり、例えば、道路ネットワーク内のD(Destination)となるノードを表す。
【0068】
具体的には、例えば、取得部1001は、クライアント装置202から受信することにより、図6に示したような出発地点表600および図7に示したような目的地点表700を取得する。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、出発地点表600および目的地点表700を取得してもよい。
【0069】
また、取得部1001は、ODペア表を取得する。ここで、ODペア表は、O(Origin)とD(Destination)との組み合わせ(ODペア)を表す情報である。具体的には、例えば、取得部1001は、出発地点表600および目的地点表700から作成することにより、図8に示したようなODペア表800を取得する。
【0070】
また、取得部1001は、例えば、クライアント装置202から受信することにより、ODペア表800を取得してもよい。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、ODペア表800を取得してもよい。
【0071】
また、取得部1001は、経路表を取得する。ここで、経路表は、道路ネットワークにおけるODペアに対応する、O(Origin)からD(Destination)までの経路(path)を示す情報である。具体的には、例えば、取得部1001は、道路ネットワーク表500およびODペア表800から作成することにより、図9に示したような経路表900を取得する。
【0072】
また、取得部1001は、例えば、クライアント装置202から受信することにより、経路表900を取得してもよい。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、経路表900を取得してもよい。
【0073】
また、取得部1001は、経路選択表を取得する。ここで、経路選択表は、道路ネットワークにおけるODペアに対応する経路(path)が選択される確率(経路選択確率)を示す情報である。具体的には、例えば、取得部1001は、クライアント装置202から受信することにより、経路選択表を取得する。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、経路選択表を取得してもよい。
【0074】
なお、経路選択表の具体例については、例えば、図14を用いて後述する。
【0075】
また、取得部1001は、リンクフロー観測データを取得する。ここで、リンクフロー観測データは、道路ネットワーク内のリンクについて実際に観測された交通量を示す情報である。交通量は、例えば、リンクを通過した車両数によって表される。交通量は、例えば、道路に設置されて、当該道路上を走行する車両を検知するセンサ(例えば、車両カウンタ)を利用して観測される。
【0076】
ただし、道路ネットワーク内の全てのリンクにセンサを設置することは難しい。このため、道路ネットワーク内の少なくとも一部のリンクにセンサが設置され、そのリンクを通過した車両数などが観測される。
【0077】
具体的には、例えば、取得部1001は、クライアント装置202から受信することにより、リンクフロー観測データを取得する。また、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、リンクフロー観測データを取得してもよい。また、取得部1001は、不図示のデータ提供サービスから、リンクフロー観測データを取得してもよい。
【0078】
設定部1002は、第1の交通シミュレーションを実行するにあたり、初期ODフローを設定する。ここで、交通シミュレーション(例えば、第1の交通シミュレーション)は、道路上で起こる交通現象をコンピュータ上で再現し、交通状況がどのように変化するのかを模擬することである。交通シミュレーションは、例えば、交通シミュレータを利用して実行される。
【0079】
初期ODフローは、交通シミュレーションに初期値として与えるODフローである。ODフローは、時間フレームごとに、当該時間フレームに出発地点(第1の地点)を出発して目的地点(第2の地点)に到達する交通量を表す情報であり、OD交通量に相当する。
【0080】
交通シミュレーションでは、ODフローを用いて、出発地点から目的地点までの経路に含まれるリンクごとの交通量が推定される。交通量は、例えば、車両数によって表される。初期ODフローは、例えば、あらかじめ決められた定数であってもよく、また、ランダムに生成される乱数によって表されてもよい。
【0081】
具体的には、例えば、設定部1002は、対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに出発地点を出発して目的地点に到達する車両数を、定数または乱数によって表すODフローを作成する。そして、設定部1002は、初期ODフローとして、作成したODフローを設定する。
【0082】
ここで、対象期間は、あらかじめ任意に設定される期間であり、例えば、1日のうちのいずれかの時間帯であってもよく、2日以上の期間であってもよい。第1の時間フレームは、あらかじめ任意に設定される期間であり、最終的に推定したいODフローの時間フレームよりも粗い時間フレーム(時間幅が長い)が設定される。出発地点(第1の地点)と目的地点(第2の地点)との組み合わせ(ODペア)は、例えば、ODペア表800から特定される。
【0083】
なお、初期ODフローの具体例については、例えば、図13を用いて後述する。
【0084】
第1の実行部1003は、設定された初期ODフローを第1のODフローとする。第1のODフローは、第1のOD交通量に相当する。そして、第1の実行部1003は、第1のODフローを用いて、第1の交通シミュレーションを実行する。第1の交通シミュレーションは、対象期間を分割した第1の時間フレームごとに、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれるリンクごとの交通量を推定する交通シミュレーションである。
【0085】
具体的には、例えば、第1の実行部1003は、道路ネットワーク表(道路ネットワーク)、初期ODフロー、経路表および経路選択表を、交通シミュレータに与えることにより、第1の交通シミュレーションを実行する。交通シミュレータとしては、例えば、既存のいかなるシミュレータを用いてもよい。
【0086】
これにより、リンクフローが得られる。リンクフローは、推定されたリンクの交通量を表す情報である。例えば、リンクフローは、対象期間を分割した第1の時間フレームごとに、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれるリンクごとの交通量を表す。
【0087】
なお、リンクフローの具体例については、例えば、図15を用いて後述する。
【0088】
第1の決定部1004は、推定されたリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第1のODフローを調整しながら、第1の交通シミュレーションを繰り返し実行する。これにより、第1の決定部1004は、ODペアについて、第1の時間フレームごとのODフローを決定する。ODペアは、出発地点(第1の地点)と目的地点(第2の地点)との組み合わせである。リンクについて観測された交通量は、リンクフロー観測データから特定される。
【0089】
具体的には、例えば、第1の決定部1004は、推定されたリンクの交通量(リンクフロー)と当該リンクについて観測された交通量との誤差を算出する。ただし、道路ネットワーク内のリンクのうち一部のリンクだけにセンサ(例えば、車両カウンタ)が設置され、そのリンクについてのみ交通量が観測される場合がある。
【0090】
この場合、第1の決定部1004は、道路ネットワークから交通量(例えば、車両数)を観測可能なリンクを抽出する。リンクの抽出には、例えば、観測行列が用いられる。観測行列は、道路ネットワーク内のリンクのうち、対象期間の交通量を観測可能なリンクを抽出するための行列である。
【0091】
つぎに、第1の決定部1004は、第1の時間フレームごとに、推定された各リンクのリンクフローのうち、抽出したリンクのリンクフローを抽出する。そして、第1の決定部1004は、第1の時間フレームごとに、抽出したリンクのリンクフロー(推定リンクフロー)と当該リンクについて観測されたリンクフロー(実測リンクフロー)との誤差を算出する。
【0092】
つぎに、第1の決定部1004は、算出した誤差が許容範囲内であるか否かを判断する。より詳細に説明すると、例えば、第1の決定部1004は、算出したリンクごとの誤差を足し合わせることにより、誤差の合計を算出する。そして、第1の決定部1004は、算出した誤差の合計が閾値α以下の場合に、誤差が許容範囲内であると判断する。一方、第1の決定部1004は、誤差の合計が閾値αより大きい場合、誤差が許容範囲内ではないと判断する。閾値αは、任意に設定可能である。
【0093】
また、第1の決定部1004は、算出した誤差の合計の変動量が閾値β以下の場合に、誤差が許容範囲内であると判断してもよい。誤差の合計の変動量とは、第1の交通シミュレーションを繰り返し実行した場合の、前回の誤差の合計に対する、今回の誤差の合計の割合によって特定される。一方、第1の決定部1004は、誤差の合計の変動量が閾値βより大きい場合、誤差が許容範囲内ではないと判断する。閾値βは、任意に設定可能であり、例えば、10%程度の値に設定される。
【0094】
なお、ここでは、誤差の合計を算出する場合を例に挙げて説明したが、これに限らない。例えば、第1の決定部1004は、算出したリンクごとの誤差それぞれが閾値γ以下の場合に、誤差が許容範囲内であると判断してもよい。一方、第1の決定部1004は、算出したリンクごとの誤差の少なくともいずれかが閾値γより大きい場合、誤差が許容範囲内ではないと判断してもよい。閾値γは、任意に設定可能である。
【0095】
ここで、算出した誤差が許容範囲内ではない場合、第1の決定部1004は、算出した誤差に基づいて、第1のODフローを更新する。より詳細に説明すると、例えば、第1の決定部1004は、算出した誤差に基づいて、第1のODフローの補正値を算出する。つぎに、第1の決定部1004は、算出した補正値を用いて、第1のODフローを更新する。
【0096】
なお、第1のODフローの更新例については、図20を用いて後述する。
【0097】
そして、第1の決定部1004は、更新した第1のODフローを用いて、第1の交通シミュレーションを実行する。また、第1の決定部1004は、算出した誤差が許容範囲内の場合、直前の第1の交通シミュレーションに用いた第1のODフローを、第1の時間フレームごとのODフローに決定する。
【0098】
決定された第1の時間フレームごとのODフローの具体例については、図21を用いて後述する。
【0099】
算出部1005は、決定された第1の時間フレームごとのODフローに基づいて、第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに出発地点(第1の地点)を出発して目的地点(第2の地点)に到達する第2のODフローを算出する。第2の時間フレームは、例えば、第1の時間フレームを2分割した時間フレームである。
【0100】
具体的には、例えば、算出部1005は、決定された第1の時間フレームごとのODフローを、所定の比率に応じて第2の時間フレームごとに配分することにより、第2のODフローを算出する。所定の比率は、例えば、第1の時間フレームと第2の時間フレームとの時間幅の比をもとに設定されてもよい。
【0101】
また、所定の比率は、例えば、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれる第1のリンクについて観測された第2の時間フレームごとの交通量の比をもとに設定されてもよい。例えば、第1のリンクは、例えば、出発地点(第1の地点)のノードに接続されたリンクである。
【0102】
第2のODフローの算出例については、図11を用いて後述する。
【0103】
第2の実行部1006は、算出された第2のODフローを用いて、第2の交通シミュレーションを実行する。第2の交通シミュレーションは、第1の時間フレームを分割した第2の時間フレームごとに、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれるリンクごとの交通量を推定する交通シミュレーションである。
【0104】
具体的には、例えば、第2の実行部1006は、道路ネットワーク表(道路ネットワーク)、第2のODフロー、経路表および経路選択表を、交通シミュレータに与えることにより、第2の交通シミュレーションを実行する。これにより、第2の時間フレームごとに、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれるリンクごとの交通量を表すリンクフローが得られる。
【0105】
第2の決定部1007は、推定されたリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第2のODフローを調整しながら、第2の交通シミュレーションを繰り返し実行する。これにより、第1の決定部1004は、ODペアについて、第2の時間フレームごとのODフローを決定する。
【0106】
具体的には、例えば、第2の決定部1007は、推定されたリンクの交通量(リンクフロー)と当該リンクについて観測された交通量との誤差を算出する。より詳細に説明すると、例えば、第2の決定部1007は、観測行列を用いて、道路ネットワークから交通量を観測可能なリンクを抽出する。
【0107】
つぎに、第2の決定部1007は、第2の時間フレームごとに、推定された各リンクのリンクフローのうち、抽出したリンクのリンクフローを抽出する。そして、第2の決定部1007は、第2の時間フレームごとに、抽出したリンクのリンクフロー(推定リンクフロー)と当該リンクについて観測されたリンクフロー(実測リンクフロー)との誤差を算出する。
【0108】
つぎに、第2の決定部1007は、算出した誤差が許容範囲内であるか否かを判断する。ここで、算出した誤差が許容範囲内ではない場合、第2の決定部1007は、算出した誤差に基づいて、第2のODフローを更新する。より詳細に説明すると、例えば、第2の決定部1007は、推定されたリンクのリンクフローと、算出した誤差とに基づいて、第2のODフローの補正値を算出する。つぎに、第2の決定部1007は、算出した補正値を用いて、第2のODフローを更新する。
【0109】
なお、第2のODフローの更新例については、図30を用いて後述する。
【0110】
そして、第2の決定部1007は、更新した第2のODフローを用いて、第2の交通シミュレーションを実行する。また、第2の決定部1007は、算出した誤差が許容範囲内の場合、直前の第2の交通シミュレーションに用いた第2のODフローを、第2の時間フレームごとのODフローに決定する。
【0111】
決定された第2の時間フレームごとのODフローの具体例については、図31を用いて後述する。
【0112】
出力部1008は、ODペアと対応付けて、決定した第2の時間フレームごとのODフローを出力する。ODペアは、出発地点(第1の地点)と目的地点(第2の地点)との組み合わせである。出力部1008の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0113】
具体的には、例えば、出力部1008は、図31に示すようなODフロー2202(OD推定結果)をクライアント装置202に送信する。これにより、クライアント装置202において、ユーザは、ODペア(出発地点、目的地点)について、第2の時間フレームごとのODフロー(例えば、車両数)を参照することができる。
【0114】
なお、第2の時間フレームよりもさらに細かい時間幅のODフローを推定したい場合がある。そこで、第2の決定部1007は、第2の時間フレームが、あらかじめ指定された時間フレームであるか否かを判断してもよい。時間フレームの指定は、例えば、クライアント装置202から受け付ける。
【0115】
例えば、第2の時間フレームが30分間隔の時間フレームであるとする。また、指定された時間フレームが15分間隔の時間フレームであるとする。この場合、第2の決定部1007は、第2の時間フレームが、指定された時間フレームではないと判断する。算出部1005は、指定された時間フレームではないと判断された場合、決定された第2の時間フレームごとのODフローを、第1の時間フレームごとのODフローとする。
【0116】
そして、算出部1005は、当該第1の時間フレームを分割した第2の時間フレームごとに、第2のODフローを算出してもよい。これにより、OD推定装置201は、例えば、段階的に時間フレームを細かくしながら、ODフローの推定を繰り返して、指定された時間フレームごとのODフローを推定することができる。
【0117】
(第2のODフローの算出例)
つぎに、図11を用いて、第2のODフローの算出例について説明する。
【0118】
図11は、第2のODフローの算出例を示す説明図である。図11において、対象期間を「6:00~11:00」とする。また、第1の時間フレームの時間幅を「60分」とし、第2の時間フレームの時間幅を「30分」とする。
【0119】
この場合、第1の時間フレームは、例えば、「6:00~7:00」、「7:00~8:00」などである。また、第1の時間フレームを「6:00~7:00」とすると、第2の時間フレームは、「6:00~6:30」と「6:30~7:00」となる。また、第1の時間フレームを「7:00~8:00」とすると、第2の時間フレームは、「7:00~7:30」と「7:30~8:00」となる。
【0120】
ここで、あるODペアの「6:00~7:00」の第1のODフローを「q1_0」とし、「7:00~8:00」の第1のODフローを「q2_0」とする。この場合、同じODペアの「6:00~6:30」の第2のODフローを「q1_1」とすると、q1_1は、下記式(1)を用いて算出される。また、同じODペアの「6:30~7:00」の第2のODフローを「q2_1」とすると、q2_1は、下記式(2)を用いて算出される。
【0121】
また、同じODペアの「7:00~7:30」の第2のODフローを「q3_1」とすると、q3_1は、下記式(3)を用いて算出される。また、同じODペアの「7:30~8:00」の第2のODフローを「q4_1」とすると、q4_1は、下記式(4)を用いて算出される。ただし、w1は、0より大きく、1未満の定数である。w2は、0より大きく、1未満の重み(定数)である。
【0122】
q1_1=q1_0*w1 ・・・(1)
q2_1=q1_0*(1.0-w1)・・・(2)
q3_1=q2_0*w2 ・・・(3)
q4_1=q2_0*(1.0-w2)・・・(4)
【0123】
重みw1,w2は、例えば、第1の時間フレームと第2の時間フレームとの時間幅をもとに設定される。図11の例では、第1の時間フレームと第2の時間フレームとの時間幅の比は、「2:1」である。この場合、重みw1は、「w1=1÷2=0.5」となる。同様に、重みw2は、「w2=1÷2=0.5」となる。
【0124】
また、重みw1,w2は、例えば、出発地点(第1の地点)から目的地点(第2の地点)までの経路に含まれるリンクについて観測された第2の時間フレームごとの交通量の比をもとに設定されてもよい。
【0125】
ここで、出発地点を道路ネットワークNW1内のnode1とし、出発地点を道路ネットワークNW1内のnode4とする(図4参照)。node1(O)からnode4(D)までの経路は、「node1-link1-link3-node4」である。
【0126】
例えば、第1の時間フレーム「6:00~7:00」の第1のODフローq1_0が「q1_0=10両」であったとする。また、link1に設置されたセンサ(車両カウンタ)により観測された、第2の時間フレーム「6:00~6:30」の交通量(リンクフロー)が「2両」であり、第2の時間フレーム「6:30~7:00」の交通量が「8両」であったとする。
【0127】
第2の時間フレーム「6:00~6:30」の重みw1は、例えば、「w1=2/10=0.2」となる。この場合、第2の時間フレーム「6:00~6:30」の第2のODフローq1_1は、上記式(1)から「10×0.2=2両」となる。また、第2の時間フレーム「6:30~7:00」の第2のODフローq2_1は、上記式(2)から「10×(1-0.2)=8両」となる。
【0128】
(ODフローの推定例)
つぎに、OD推定装置201におけるODフローの推定例について説明する。ここでは、図5図9に示した道路ネットワーク表500、出発地点表600、目的地点表700、ODペア表800および経路表900をもとに、図4に示した道路ネットワークNW1における各ODペアに対応する細かい時間フレーム(第2の時間フレーム)でのODフローを推定する場合について説明する。
【0129】
・粗い時間フレームでのODフロー推定
OD推定装置201は、第1の交通シミュレーションにより、粗い時間フレーム(第1の時間フレーム)でのODフローを推定する。ここでは、粗い時間フレーム(第1の時間フレーム)を60分ごとの時間フレームとする。また、説明の都合上、対象期間を「h1:6:00~7:00」とし、対象期間内に時間フレーム(第1の時間フレーム)が1つのみ含まれる場合を例に挙げて説明する。また、時間フレーム「h1:6:00~7:00」を、単に時間フレームh1と表記する場合がある。
【0130】
以下、粗い時間フレーム(第1の時間フレーム)でのODフローを推定する際の具体的な処理内容について説明する。
【0131】
図12は、OD推定装置201の第1の動作例を示す説明図である。図12において、OD推定装置201が、粗い時間フレーム(第1の時間フレーム)でのODフローを推定する際に反復して行う動作が示されている。
【0132】
まず、OD推定装置201は、事前準備として、初期ODフロー1201を設定する。初期ODフロー1201は、第1の交通シミュレーションに初期値として与えるODフローであり、各ODペアに対応する60分ごとのODフロー(例えば、乱数または定数)を示す。
【0133】
図13は、初期ODフローの具体例を示す説明図である。図13において、初期ODフロー1201は、各ODペア1~3に対応する時間フレームh1でのODフローを示す。各ODフローは、車両数を示す。例えば、符号1301で示す「2」は、時間フレームh1にnode2を出発してnode4に到達する車両数(ODフロー)を示す。
【0134】
つぎに、OD推定装置201は、Forward処理1210(図12参照)において、初期ODフロー1201をODフローq(第1のODフロー)とする。そして、OD推定装置201は、ODフローqを用いて、第1の交通シミュレーションを実行する。
【0135】
具体的には、例えば、OD推定装置201は、道路ネットワーク表500、ODフローq(初期ODフロー1201)、経路表900、ODペア表800および経路選択表(図14参照)を、交通シミュレータに与えることにより、第1の交通シミュレーションを実行する。
【0136】
ここで、図14を用いて、経路選択表の具体例について説明する。
【0137】
図14は、経路選択表の具体例を示す説明図(その1)である。図14において、経路選択表1400は、時間フレームh1:6:00~7:00の間に、道路ネットワークNW1における各ODペアに対応する経路(path)が選択される確率(経路選択確率)を示す。図14中の#は、経路(path)を識別する識別子である。
【0138】
例えば、OD<node1,node4>に対応するpath1(node1-link1-link3-node4)が選択される確率は、「1.0」である。各経路の経路選択確率は、時間帯に依存する。例えば、同じ経路であっても、朝6時台と昼12時台での経路選択確率が異なる場合がある。
【0139】
図14の例では、各ODペアに対応する経路は、1本しかない。このため、各ODペアについて、OからDへ移動するときに他に選択できる経路がなく、各経路の経路選択確率は、「1.0」となる。ただし、同一のODペアについて、複数の経路(path)が存在する場合がある。この場合、複数の経路の経路選択確率の合計は、「1.0」となる。
【0140】
第1の交通シミュレーションでは、例えば、「6:00~7:00」の間に5分ごとに仮想車両を出発地点から出発させ、目的地点に向けて走行させる。ただし、同じ時間フレーム内に出発した車両は、同じ時間フレーム内に目的地点に到達するものとする。例えば、「6:00~7:00」にnode1(出発地点)を出発した車両は、「7:00」までにnode4(目的地点)に全て到達する。渋滞は、ないものとする。
【0141】
第1の交通シミュレーションが完了すると、時間フレームh1における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(交通量)の推定結果が得られる。リンクフローは、例えば、リンクを通過した車両数である。
【0142】
ここで、図15および図16を用いて、第1の交通シミュレーションにより推定されるリンクフローの具体例について説明する。
【0143】
図15は、リンクフロー(割合)の具体例を示す説明図(その1)である。図15において、リンクフロー1500は、第1の交通シミュレーションにより得られる情報(ρ)であり、時間フレームh1:6:00~7:00における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(割合)を表す。
【0144】
リンクフロー(割合)は、各ODペアに対応する経路(path)を通って、出発地点から目的地点に向かう車両のうち、時間フレームh1に各リンクを通過した車両の割合を示す。リンクフロー(割合)は、例えば、図14に示した経路選択表1400内の各ODペアに対応する経路(path)の経路選択確率に応じた値となる。
【0145】
例えば、符号1501で示す「1.0」は、時間フレームh1にpath1を通って、node1からnode4に向かう車両のうち、 link1を通過する車両の割合を示す。また、符号1502で示す「0.0」は、時間フレームh1にpath3を通って、node3からnode4に向かう車両のうち、 link2を通過する車両の割合を示す。
【0146】
OD推定装置201は、例えば、下記式(5)を用いて、リンクフロー1500に基づいて、リンクフロー(交通量)を算出する。ただし、xは、リンクフロー(交通量)を示す。ρは、リンクフロー(割合)を示す。pは、経路選択確率を示す。qは、ODフローを示す。
【0147】
x=ρpq ・・・(5)
【0148】
ここで、ρを、図15に示したリンクフロー1500とすると、xは、下記式(6)のように計算され、図16に示すようなリンクフロー1600となる。
【0149】
【数1】
【0150】
図16は、リンクフロー(交通量)の具体例を示す説明図(その1)である。図16において、リンクフロー1600は、第1の交通シミュレーションにより推定される情報(x)であり、時間フレームh1:6:00~7:00における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(交通量)を表す。
【0151】
リンクフロー(交通量)は、時間フレームh1に各リンクを通過した車両数を示す。例えば、符号1601で示す「2」は、時間フレームh1にlink2を通った車両数を示す。これにより、OD推定装置201は、各ODペアに対応する経路(path)に含まれる全てのリンクでの交通量(車両数)を推定することができる。
【0152】
ここで、シミュレータ上では全てのリンクの交通量を算出可能なものの、現実世界では、道路ネットワーク上の全てのリンク(道路)にセンサ(車両カウンタなど)を設置することは難しい。このため、OD推定装置201は、実際に交通量を観測可能なリンクの交通量を抽出する。
【0153】
ここでは、道路ネットワークNW1内のlink1,link3のみにセンサ(車両カウンタ)が設置されていると仮定する。このため、OD推定装置201は、図17に示すような観測行列1700を用いて、道路ネットワークNW1から、交通量を観測可能なリンクを抽出する。
【0154】
図17は、観測行列の一例を示す説明図(その1)である。図17において、観測行列1700は、道路ネットワークNW1内のlink1,link2,link3のうち、時間フレームh1に交通量を観測可能なlink1,link3を抽出するための行列である。例えば、符号1701で示す「1」は、時間フレームh1にlink1を通る交通量(車両数)を観測可能であることを示すフラグである。
【0155】
なお、図17中、b11は、時間フレームh1のlink1を抽出するための情報に対応する。b12は、時間フレームh1のlink3を抽出するための情報に対応する。
【0156】
OD推定装置201は、例えば、下記式(7)を用いて、道路ネットワークNW1内のlink1,link2,link3のうち、時間フレームh1に交通量を観測可能なlink1,link3のリンクフロー(交通量)を抽出する。ただし、yは、観測可能なリンクフロー(交通量)を示す。Lは、観測行列を示す。xは、シミュレータ上で算出されたリンクフロー(交通量)を示す。
【0157】
y=Lx ・・・(7)
【0158】
ここで、xを、図16に示したリンクフロー1600とし、Lを、図17に示した観測行列1700とすると、yは、下記式(8)のように計算され、図18に示すようなリンクフロー1800が抽出される。
【0159】
【数2】
【0160】
図18は、観測可能なリンクフロー(交通量)の具体例を示す説明図(その1)である。図18において、リンクフロー1800は、時間フレームh1:6:00~7:00に実際に観測されたlink1,link3のリンクフロー(交通量)を表す。例えば、符号1801で示す「6」は、時間フレームh1にlink2を通った車両数を示す。図18中の#は、観測されたリンクフロー(交通量)を識別する識別子である。
【0161】
つぎに、OD推定装置201は、例えば、下記式(9)を用いて、シミュレータ上で算出(推定)されたリンクフロー(交通量)と、実際に観測されたリンクフロー(交通量)との誤差を算出する。ただし、Δyは、リンクフロー(交通量)の誤差を示す。y’は、実際に観測されたリンクフロー(交通量)を示す。yは、シミュレータ上で算出されたリンクフロー(交通量)を示す。
【0162】
Δy=y’-y ・・・(9)
【0163】
ここで、yを、図18に示したリンクフロー1800とすると、Δyは、図19に示すように算出される。y’は、リンクフロー観測データから特定される。
【0164】
図19は、リンクフロー(交通量)の誤差の具体例を示す説明図(その1)である。図19において、リンクフロー(交通量)の誤差1900は、時間フレームh1:6:00~7:00における、交通量を観測可能なlink1,link3のリンクフロー(交通量)の誤差を表す。なお、リンクフロー1901は、実際に観測されたリンクフロー(交通量)であり、リンクフロー観測データから特定される。
【0165】
ここで、算出されたリンクフロー(交通量)の誤差1900が、あらかじめ決められた許容範囲内ではなかった場合を想定する。
【0166】
この場合、OD推定装置201は、Backward処理1220(図12参照)において、リンクフロー(交通量)の誤差1900に基づいて、ODフローqを更新する。この時点の更新前のODフローqは、図13に示した初期ODフロー1201である。
【0167】
具体的には、例えば、まず、OD推定装置201は、下記式(10)を用いて、ODフローqの補正値を算出する。ただし、Δqは、ODフローqの補正値を示す。wは、重み(定数)を示す。wは、例えば、0~1の値である。pTは、pの転置行列を示す。ρTは、ρの転置行列を示す。LTは、Lの転置行列を示す。Δyは、リンクフロー(交通量)の誤差を示す。
【0168】
Δq=wpTρTTΔy ・・・(10)
【0169】
ここで、wを「w=0.5」とし、pを図14に示した経路選択表1400とし、ρを、図15に示したリンクフロー1500とし、Lを、図17に示した観測行列1700とし、Δyを、図19に示したリンクフロー(交通量)の誤差1900とする。この場合、Δqは、下記式(11)のように計算される。
【0170】
【数3】
【0171】
つぎに、OD推定装置201は、例えば、下記式(12)を用いて、ODフローqを更新する。
【0172】
q=Δq+q ・・・(12)
【0173】
ここで、Δqを、上記式(11)のように計算された値とすると、ODフローqは、図20に示すように更新される。
【0174】
図20は、ODフローの更新例を示す説明図(その1)である。図20において、ODフロー2000は、図13に示した初期ODフロー1201を、上記式(10)のように計算されたΔq(ODフローqの補正値2001)を用いて更新した更新後のODフローqを示す。
【0175】
つぎに、OD推定装置201は、ODフロー2000をODフローq(第1のODフロー)とする。そして、OD推定装置201は、Forward処理1210(図12参照)に戻って、ODフローqを用いて、第1の交通シミュレーションを実行する。
【0176】
OD推定装置201は、Forward処理1210およびBackward処理1220を、算出されるリンクフロー(交通量)の誤差が許容範囲内となるまで反復する。ここでは、反復を4回行った結果、ODフロー1202が推定された場合を想定する。
【0177】
図21は、粗い時間フレームでのODフローの推定結果を示す説明図である。図21において、ODフロー1202は、粗い時間フレーム(第1の時間フレーム)でのODフローの推定結果を示す。粗い時間フレーム(第1の時間フレーム)は、60分ごとの時間フレームである。
【0178】
・細かい時間フレームでのODフロー推定
つぎに、OD推定装置201は、第2の交通シミュレーションにより、細かい時間フレーム(第2の時間フレーム)でのODフローを推定する。ここでは、細かい時間フレーム(第2の時間フレーム)を30分ごとの時間フレームとする。また、粗い時間フレーム「6:00~7:00」を30分間隔で分割した細かい時間フレームを、「h1:6:00~6:30」および「h2:6:30~7:00」と表記する場合がある。また、時間フレーム「h1:6:00~6:30」を、単に時間フレームh1と表記し、時間フレーム「h2:6:30~7:00」を、単に時間フレームh2と表記する場合がある。
【0179】
以下、細かい時間フレーム(第2の時間フレーム)でのODフローを推定する際の具体的な処理内容について説明する。
【0180】
図22は、OD推定装置201の第2の動作例を示す説明図である。図22において、OD推定装置201が、細かい時間フレーム(第2の時間フレーム)でのODフローを推定する際に反復して行う動作が示されている。
【0181】
まず、OD推定装置201は、図21に示したODフロー1202(粗い時間フレームでのODフロー)に基づいて、第2の交通シミュレーションに初期値として与えるODフロー2201を設定する。
【0182】
具体的には、例えば、OD推定装置201は、図21に示したODフロー1202(粗い時間フレームでのODフロー)を、細かい時間フレーム(第2の時間フレーム)ごとに配分することにより、ODフロー2201を算出する。ここでは、重みを0.5として、粗い時間フレームでのODフローを「1:1」で、細かい時間フレーム(第2の時間フレーム)に配分する場合を想定する。
【0183】
図23は、ODフローの配分例を示す説明図である。図23において、ODフロー2201は、粗い時間フレームでのODフロー1202(図21参照)を、細かい時間フレームごとに配分することにより算出されたODフローを示す。
【0184】
例えば、符号2301で示す「315.5」は、時間フレームh1にnode2を出発してnode4に到達する車両数(ODフロー)を示す。また、符号2302で示す「315.5」は、時間フレームh2にnode3を出発してnode4に到達する車両数(ODフロー)を示す。
【0185】
つぎに、OD推定装置201は、Forward処理2210(図22参照)において、ODフロー2201をODフローq(第2のODフロー)とする。そして、OD推定装置201は、ODフローqを用いて、第2の交通シミュレーションを実行する。
【0186】
具体的には、例えば、OD推定装置201は、道路ネットワーク表500、ODフローq(ODフロー2201)、経路表900、ODペア表800および経路選択表(図24参照)を、交通シミュレータに与えることにより、第2の交通シミュレーションを実行する。
【0187】
図24は、経路選択表の具体例を示す説明図(その2)である。図24において、経路選択表2400は、各時間フレームh1:6:00~6:30,h2:6:30~7:00の間に、道路ネットワークNW1における各ODペアに対応する経路(path)が選択される確率(経路選択確率)を示す。図24中の#は、経路(path)を識別する識別子である。
【0188】
例えば、時間フレームh1:6:00~6:30に、OD<node1,node4>に対応するpath1(node1-link1-link3-node4)が選択される確率は、「1.0」である。また、時間フレームh2:6:30~7:00に、OD<node3,node4>に対応するpath3(node3-link3-node4)が選択される確率は、「1.0」である。
【0189】
第2の交通シミュレーションでは、例えば、「6:00~7:00」の間に5分ごとに仮想車両を出発地点から出発させ、目的地点に向けて走行させる。ただし、同じ時間フレーム内に出発した車両は、同じ時間フレーム内に目的地点に到達するものとする。例えば、「6:00~7:00」にnode1(出発地点)を出発した車両は、「7:00」までにnode4(目的地点)に全て到達する。渋滞は、ないものとする。
【0190】
第2の交通シミュレーションが完了すると、各時間フレームh1,h2における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(交通量)の推定結果が得られる。
【0191】
ここで、図25および図26を用いて、第2の交通シミュレーションにより推定されるリンクフローの具体例について説明する。
【0192】
図25は、リンクフロー(割合)の具体例を示す説明図(その2)である。図25において、リンクフロー2500は、第2の交通シミュレーションにより得られる情報(ρ)であり、各時間フレームh1:6:00~6:30,h2:6:30~7:00における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(割合)を表す。
【0193】
リンクフロー(割合)は、例えば、図24に示した経路選択表2400内の各ODペアに対応する経路(path)の経路選択確率に応じた値となる。
【0194】
例えば、符号2501で示す「1.0」は、時間フレームh1にpath2を通って、node2からnode4に向かう車両のうち、 時間フレームh1にlink3を通過する車両の割合を示す。また、符号2502で示す「0.0」は、時間フレームh1にpath1を通って、node1からnode4に向かう車両のうち、時間フレームh2にlink2を通過する車両の割合を示す。
【0195】
OD推定装置201は、例えば、上記式(5)を用いて、リンクフロー2500に基づいて、リンクフロー(交通量)を算出する。ここで、ρを、図25に示したリンクフロー1500とすると、xは、下記式(13)のように計算され、図26に示すようなリンクフロー2600となる。
【0196】
【数4】
【0197】
図26は、リンクフロー(交通量)の具体例を示す説明図(その2)である。図26において、リンクフロー2600は、第2の交通シミュレーションにより推定される情報(x)であり、各時間フレームh1:6:00~6:30,h2:6:30~7:00における、各ODペアに対応する経路(path)に含まれるリンクごとのリンクフロー(交通量)を表す。
【0198】
例えば、符号2601で示す「315.5」は、時間フレームh1にlink2を通過した車両数を示す。また、符号2602で示す「916.5」は、時間フレームh2にlink3を通過した車両数を示す。これにより、OD推定装置201は、各ODペアに対応する経路(path)に含まれる全てのリンクでの交通量(車両数)を推定することができる。
【0199】
つぎに、OD推定装置201は、実際に交通量を観測可能なリンクの交通量を抽出する。ここでは、道路ネットワークNW1内のlink1,link3のみにセンサ(車両カウンタ)が設置されていると仮定する。このため、OD推定装置201は、図27に示すような観測行列2700を用いて、道路ネットワークNW1から、交通量を観測可能なリンクを抽出する。
【0200】
図27は、観測行列の一例を示す説明図(その2)である。図27において、観測行列2700は、道路ネットワークNW1内のlink1,link2,link3のうち、各時間フレームh1,h2に交通量を観測可能なlink1,link3を抽出するための行列である。
【0201】
例えば、符号2701で示す「1」は、時間フレームh1にlink1を通る交通量(車両数)を観測可能であることを示すフラグである。また、符号2702で示す「1」は、時間フレームh1にlink3を通る交通量を観測可能であることを示すフラグである。また、符号2703で示す「1」は、時間フレームh2にlink1を通る交通量を観測可能であることを示すフラグである。また、符号2704で示す「1」は、時間フレームh2にlink3を通る交通量を観測可能であることを示すフラグである。
【0202】
なお、図27中、b11は、時間フレームh1のlink1を抽出するための情報に対応する。b12は、時間フレームh1のlink3を抽出するための情報に対応する。b21は、時間フレームh2のlink1を抽出するための情報に対応する。b22は、時間フレームh2のlink3を抽出するための情報に対応する。
【0203】
OD推定装置201は、例えば、上記式(7)を用いて、道路ネットワークNW1内のlink1,link2,link3のうち、各時間フレームh1,h2に交通量を観測可能なlink1,link3のリンクフロー(交通量)を抽出する。
【0204】
ここで、xを、図26に示したリンクフロー2600とし、Lを、図27に示した観測行列2700とすると、yは、下記式(14)のように計算され、図28に示すようなリンクフロー2800が抽出される。
【0205】
【数5】
【0206】
図28は、観測可能なリンクフロー(交通量)の具体例を示す説明図(その2)である。図28において、リンクフロー2800は、各時間フレームh1:6:00~6:30,h2:6:30~7:00に実際に観測されたlink1,link3のリンクフロー(交通量)を表す。
【0207】
例えば、符号2801で示す「916.5」は、時間フレームh1にlink3を通った車両数を示す。図28中の#は、観測されたリンクフロー(交通量)を識別する識別子である。
【0208】
つぎに、OD推定装置201は、例えば、上記式(9)を用いて、シミュレータ上で算出(推定)されたリンクフロー(交通量)と、実際に観測されたリンクフロー(交通量)との誤差を算出する。
【0209】
ここで、yを、図28に示したリンクフロー2800とすると、Δyは、図29に示すように算出される。y’は、リンクフロー観測データから特定される。
【0210】
図29は、リンクフロー(交通量)の誤差の具体例を示す説明図(その2)である。図29において、リンクフロー(交通量)の誤差2900は、各時間フレームh1:6:00~6:30,h2:6:30~7:00における、交通量を観測可能なlink1,link3のリンクフロー(交通量)の誤差を表す。なお、リンクフロー2901は、実際に観測されたリンクフロー(交通量)であり、リンクフロー観測データから特定される。
【0211】
ここで、算出されたリンクフロー(交通量)の誤差2900が、あらかじめ決められた許容範囲内ではなかった場合を想定する。
【0212】
この場合、OD推定装置201は、Backward処理2220(図22参照)において、リンクフロー(交通量)の誤差2900に基づいて、ODフローqを更新する。この時点の更新前のODフローqは、図23に示したODフロー2201である。
【0213】
具体的には、例えば、まず、OD推定装置201は、上記式(10)を用いて、ODフローqの補正値を算出する。ここで、wを「w=0.5」とし、pを図24に示した経路選択表2400とし、ρを、図25に示したリンクフロー2500とし、Lを、図27にしめした観測行列2700とし、Δyを、図29に示したリンクフロー(交通量)の誤差2900とする。この場合、Δqは、下記式(15)のように計算される。
【0214】
【数6】
【0215】
つぎに、OD推定装置201は、例えば、上記式(12)を用いて、ODフローqを更新する。
【0216】
ここで、Δqを、上記式(15)のように計算された値とすると、ODフローqは、図30に示すように更新される。
【0217】
図30は、ODフローの更新例を示す説明図(その2)である。図30において、ODフロー3000は、図23に示したODフロー2201を、上記式(14)のように計算されたΔq(ODフローqの補正値3001)を用いて更新した更新後のODフローqを示す。
【0218】
つぎに、OD推定装置201は、ODフロー3000をODフローq(第2のODフロー)とする。そして、OD推定装置201は、Forward処理2210(図22参照)に戻って、ODフローqを用いて、第2の交通シミュレーションを実行する。
【0219】
OD推定装置201は、Forward処理2210およびBackward処理2220を、算出されるリンクフロー(交通量)の誤差が許容範囲内となるまで反復する。ここでは、反復を10回行った結果、ODフロー2202が推定された場合を想定する。
【0220】
図31は、細かい時間フレームでのODフローの推定結果を示す説明図である。図31において、ODフロー2202は、細かい時間フレーム(第2の時間フレーム)でのODフローの推定結果を示す。細かい時間フレーム(第2の時間フレーム)は、30分ごとの時間フレームである。
【0221】
これにより、OD推定装置201は、ODフローの推定にかかる処理時間を抑えて、細かい時間フレーム(第2の時間フレーム)でのODフローを推定することができる。
【0222】
(OD推定装置201のOD決定処理手順)
つぎに、図32および図33を用いて、OD推定装置201のOD決定処理手順について説明する。
【0223】
図32および図33は、OD推定装置201のOD決定処理手順の一例を示すフローチャートである。図32のフローチャートにおいて、まず、OD推定装置201は、第1の交通シミュレーションを実行するにあたり、初期ODフローを設定する(ステップS3201)。
【0224】
つぎに、OD推定装置201は、第1の交通シミュレーションにおける第1の時間フレームの幅(時間幅)を設定する(ステップS3202)。第1の時間フレームの幅には、初期ODフローの時間フレームの幅が設定される。
【0225】
そして、OD推定装置201は、初期ODフローを第1のODフローに設定し(ステップS3203)、第1のODフローを用いて、第1の交通シミュレーションを実行する(ステップS3204)。つぎに、OD推定装置201は、第1の交通シミュレーションにより得られる第1の時間フレームごとのリンクフロー(割合)から、第1の時間フレームごとのリンクフロー(交通量)を算出する(ステップS3205)。
【0226】
そして、OD推定装置201は、算出したリンクフロー(交通量)から、交通量を観測可能なリンクのリンクフロー(交通量)を抽出する(ステップS3206)。つぎに、OD推定装置201は、抽出したリンクのリンクフロー(交通量)と当該リンクについて実際に観測されたリンクフロー(交通量)との誤差を算出する(ステップS3207)。実際に観測されたリンクフロー(交通量)は、リンクフロー観測データから特定される。
【0227】
そして、OD推定装置201は、算出したリンクフロー(交通量)の誤差が許容範囲内であるか否かを判断する(ステップS3208)。ここで、誤差が許容範囲内ではない場合(ステップS3208:No)、OD推定装置201は、算出した誤差に基づいて、第1のODフローの補正値を算出する(ステップS3209)。
【0228】
つぎに、OD推定装置201は、算出した補正値を用いて、第1のODフローを更新する(ステップS3210)。そして、OD推定装置201は、ステップS3203に戻って、更新後の第1のODフローを、第1のODフローに設定して、以降の処理を実行する。
【0229】
また、ステップS3208において、算出したリンクフロー(交通量)の誤差が許容範囲内の場合(ステップS3208:Yes)、OD推定装置201は、直前の第1の交通シミュレーションに用いた第1のODフローを、第1の時間フレームごとのODフローに決定する(ステップS3211)。
【0230】
そして、OD推定装置201は、決定した第1の時間フレームごとのODフローを、第1の時間フレームを分割した第2の時間フレームごとに配分することにより、第2のODフローを算出して(ステップS3212)、図33に示すステップS3301に移行する。
【0231】
図33のフローチャートにおいて、まず、OD推定装置201は、第2の交通シミュレーションを実行するにあたり、初期ODフローを設定する(ステップS3301)。初期ODフローには、図32に示したステップS3212において算出された第2のODフローが設定される。
【0232】
つぎに、OD推定装置201は、第2の交通シミュレーションにおける第2の時間フレームの幅を設定する(ステップS3302)。そして、OD推定装置201は、初期ODフローを第2のODフローに設定し(ステップS3303)、第2のODフローを用いて、第2の交通シミュレーションを実行する(ステップS3304)。
【0233】
つぎに、OD推定装置201は、第2の交通シミュレーションにより得られる第2の時間フレームごとのリンクフロー(割合)から、第2の時間フレームごとのリンクフロー(交通量)を算出する(ステップS3305)。そして、OD推定装置201は、算出したリンクフロー(交通量)から、交通量を観測可能なリンクのリンクフロー(交通量)を抽出する(ステップS3306)。
【0234】
つぎに、OD推定装置201は、抽出したリンクのリンクフロー(交通量)と当該リンクについて実際に観測されたリンクフロー(交通量)との誤差を算出する(ステップS3307)。そして、OD推定装置201は、算出したリンクフロー(交通量)の誤差が許容範囲内であるか否かを判断する(ステップS3308)。
【0235】
ここで、誤差が許容範囲内ではない場合(ステップS3308:No)、OD推定装置201は、算出した誤差に基づいて、第2のODフローの補正値を算出する(ステップS3309)。つぎに、OD推定装置201は、算出した補正値を用いて、第2のODフローを更新する(ステップS3310)。
【0236】
そして、OD推定装置201は、ステップS3303に戻って、更新後の第2のODフローを、第2のODフローに設定して、以降の処理を実行する。
【0237】
また、ステップS3308において、算出したリンクフロー(交通量)の誤差が許容範囲内の場合(ステップS3308:Yes)、OD推定装置201は、直前の第2の交通シミュレーションに用いた第2のODフローを、第2の時間フレームごとのODフローに決定する(ステップS3311)。
【0238】
そして、OD推定装置201は、決定した第2の時間フレームごとのODフローを出力して(ステップS3312)、本フローチャートによる一連の処理を終了する。
【0239】
これにより、OD推定装置201は、粗い時間フレーム(第1の時間フレーム)で推定したODフローを利用して、細かい時間フレーム(第2の時間フレーム)でのODフローを推定することができる。
【0240】
以上説明したように、実施の形態にかかるOD推定装置201によれば、対象期間を分割した第1の時間フレームごとに、第1のODフローを用いて、第1の地点から第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行することができる。第1のODフローは、第1の時間フレームに第1の地点を出発して第2の地点に到達する交通量(例えば、車両数)をあらわす。そして、OD推定装置201によれば、推定したリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第1のODフローを調整しながら第1の交通シミュレーションを繰り返し実行することにより、第1の地点と第2の地点とのペア(ODペア)について、第1の時間フレームごとのODフローを決定することができる。
【0241】
これにより、OD推定装置201は、出発地点(O)と目的地点(D)とのODペアについて、本来推定したい時間フレームよりも粗い時間フレーム(第1の時間フレーム)でのODフローを推定することができる。粗い時間フレームでのODフロー推定では、最適解を得るまでの反復回数が多くなっても、取り扱い行列サイズ(L,ρ,p,q)が比較的小さいため、1反復にかかる処理時間は短くなることが期待できる。
【0242】
また、OD推定装置201によれば、決定した第1の時間フレームごとのODフローに基づいて、第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに第1の地点を出発して第2の地点に到達する第2のODフローを算出することができる。算出された第2のODフローは、第2の交通シミュレーションの初期ODフローに相当する。また、OD推定装置201によれば、算出した第2のODフローを用いて、第2の時間フレームごとに、リンクごとの交通量を推定する第2の交通シミュレーションを実行することができる。そして、OD推定装置201によれば、推定したリンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、第2のODフローを調整しながら第2の交通シミュレーションを繰り返し実行することにより、第1の地点と第2の地点とのペアについて、第2の時間フレームごとのODフローを決定することができる。
【0243】
これにより、OD推定装置201は、出発地点(O)と目的地点(D)とのODペアについて、粗い時間フレーム(第1の時間フレーム)でのODフローを利用して、本来推定したい時間フレーム(第2の時間フレーム)でのODフローを推定することができる。OD推定装置201は、細かい時間フレームでのODフロー推定の初期値として、粗い時間フレームで推定されたODフローを利用することで、最適解を得るまでの反復回数を減らすことができる。
【0244】
また、OD推定装置201によれば、決定した第1の時間フレームごとのODフローを、所定の比率に応じて第2の時間フレームごとに配分することにより、第2のODフローを算出することができる。
【0245】
これにより、OD推定装置201は、第1の時間フレームごとのODフローを、当該第1の時間フレームから分割された第2の時間フレームそれぞれに分配して利用することができる。
【0246】
また、OD推定装置201によれば、第1の地点と第2の地点とのペア(ODペア)と対応付けて、決定した第2の時間フレームごとのODフローを出力することができる。
【0247】
これにより、OD推定装置201は、出発地点(O)と目的地点(D)とのODペアについて、細かい時間フレーム(第2の時間フレーム)でのODフローをOD推定結果として出力することができる。
【0248】
また、OD推定装置201によれば、第1の時間フレームと第2の時間フレームとの時間幅をもとに設定される比率に応じて、決定した第1の時間フレームごとのODフローを第2の時間フレームごとに配分することにより、第2のODフローを算出することができる。
【0249】
これにより、OD推定装置201は、第1の時間フレームと第2の時間フレームとの時間幅の比に応じて、第1の時間フレームごとのODフローを、第2の時間フレームそれぞれに分配して利用することができる。例えば、第1の時間フレームと第2の時間フレームとの時間幅の比が「2:1」の場合、第1の時間フレームのODフローを2分割したものが第2の時間フレームそれぞれに分配される。このため、OD推定装置201は、第2の交通シミュレーションの初期値として利用するODフローの算出精度を高めることができる。
【0250】
また、OD推定装置201によれば、第1の地点から第2の地点までの経路に含まれる第1のリンクについて観測された、第2の時間フレームごとの交通量をもとに設定される比率に応じて、決定した第1の時間フレームごとのODフローを第2の時間フレームごとに配分することにより、第2のODフローを算出することができる。第1のリンクは、例えば、第1の地点に接続されたリンクである。
【0251】
これにより、OD推定装置201は、第2の時間フレームごとに実際に観測されたリンクフロー(交通量)の比に応じて、第1の時間フレームごとのODフローを、第2の時間フレームそれぞれに分配して利用することができる。このため、OD推定装置201は、第2の交通シミュレーションの初期値として利用するODフローの算出精度を高めることができる。
【0252】
また、OD推定装置201によれば、第1の交通シミュレーションにより推定したリンクの交通量と、当該リンクについて観測された交通量との誤差を算出し、算出した誤差が許容範囲内であるか否かを判断し、誤差が許容範囲内ではない場合、誤差に基づいて、第1のODフローを更新し、更新した第1のODフローを用いて、第1の交通シミュレーションを実行することができる。そして、OD推定装置201によれば、算出した誤差が許容範囲内の場合、直前の第1の交通シミュレーションに用いた第1のODフローを、第1の時間フレームごとのODフローに決定することができる。
【0253】
これにより、OD推定装置201は、第1の交通シミュレーションにより推定したリンクフローと、実際に観測されたリンクフローとの誤差が許容範囲内となるまで、第1のODフローを更新しながら、第1の交通シミュレーションを繰り返すことができる。
【0254】
また、OD推定装置201によれば、第2の交通シミュレーションにより推定したリンクの交通量と、当該リンクについて観測された交通量との誤差を算出し、算出した誤差が許容範囲内であるか否かを判断し、誤差が許容範囲内ではない場合、誤差に基づいて、第2のODフローを更新し、更新した第2のODフローを用いて、第2の交通シミュレーションを実行することができる。そして、OD推定装置201によれば、算出した誤差が許容範囲内の場合、直前の第2の交通シミュレーションに用いた第2のODフローを、第2の時間フレームごとのODフローに決定することができる。
【0255】
これにより、OD推定装置201は、第2の交通シミュレーションにより推定したリンクフローと、実際に観測されたリンクフローとの誤差が許容範囲内となるまで、第2のODフローを更新しながら、第2の交通シミュレーションを繰り返すことができる。
【0256】
これらのことから、OD推定装置201によれば、粗い時間フレームで推定したODフローを利用して、細かい時間フレームでのODフローを推定することができる。これにより、所望の時間フレームでのODフローの推定にかかる処理時間を大幅に短縮することができる。
【0257】
例えば、OD推定装置201は、時間フレームの幅が大きい層では、時間フレームの幅が小さい層に比べて、取り扱い行列サイズを小さくできるため、全体の処理時間を短縮することができる。また、OD推定装置201は、時間フレームの幅の小さい層では、ODフローが既に真値に近い値に近づいているため、最適化されるまでにかかる反復回数を少なくすることができる。
【0258】
また、本OD決定方法によれば、細かい時間フレームでのODフロー(交通量)を短時間かつ高精度に推定することが可能となる。このため、例えば、ODフローを推定するサービスをクラウドで提供することが可能となる。また、交通局やタクシーなどの配車サービスを提供する企業において、交通施策やサービス向上にOD推定結果を役立てることができる。
【0259】
なお、本実施の形態で説明したOD決定方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本OD決定プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本OD決定プログラムは、インターネット等のネットワークを介して配布してもよい。
【0260】
また、本実施の形態で説明したOD推定装置201は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0261】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0262】
(付記1)対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達する第1のOD交通量を用いて、前記第1の地点から前記第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第1のOD交通量を調整しながら前記第1の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第1の時間フレームごとのOD交通量を決定し、
決定した前記第1の時間フレームごとのOD交通量に基づいて、前記第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに前記第1の地点を出発して前記第2の地点に到達する第2のOD交通量を算出し、
算出した前記第2のOD交通量を用いて、前記第2の時間フレームごとに、前記リンクごとの交通量を推定する第2の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第2のOD交通量を調整しながら前記第2の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第2の時間フレームごとのOD交通量を決定する、
処理をコンピュータが実行することを特徴とするOD決定方法。
【0263】
(付記2)前記算出する処理は、
決定した前記第1の時間フレームごとのOD交通量を、所定の比率に応じて前記第2の時間フレームごとに配分することにより、前記第2のOD交通量を算出する、ことを特徴とする付記1に記載のOD決定方法。
【0264】
(付記3)前記第1の地点と前記第2の地点とのペアと対応付けて、決定した前記第2の時間フレームごとのOD交通量を出力する、
処理を前記コンピュータが実行することを特徴とする付記1に記載のOD決定方法。
【0265】
(付記4)前記比率は、前記第1の時間フレームと前記第2の時間フレームとの時間幅をもとに設定される、ことを特徴とする付記2に記載のOD決定方法。
【0266】
(付記5)前記比率は、前記経路に含まれる第1のリンクについて観測された、前記第2の時間フレームごとの交通量をもとに設定される、ことを特徴とする付記2に記載のOD決定方法。
【0267】
(付記6)前記第1のリンクは、前記第1の地点に接続されたリンクである、ことを特徴とする付記5に記載のOD決定方法。
【0268】
(付記7)前記第1の時間フレームごとのOD交通量を決定する処理は、
前記第1の交通シミュレーションにより推定した前記リンクの交通量と、当該リンクについて観測された交通量との誤差を算出し、算出した前記誤差が許容範囲内であるか否かを判断し、
前記誤差が許容範囲内ではない場合、前記誤差に基づいて、前記第1のOD交通量を更新し、更新した前記第1のOD交通量を用いて、前記第1の交通シミュレーションを実行し、
算出した前記誤差が許容範囲内の場合、直前の前記第1の交通シミュレーションに用いた前記第1のOD交通量を、前記第1の時間フレームごとのOD交通量に決定する、
ことを特徴とする付記1に記載のOD決定方法。
【0269】
(付記8)前記第2の時間フレームごとのOD交通量を決定する処理は、
前記第2の交通シミュレーションにより推定した前記リンクの交通量と、当該リンクについて観測された交通量との誤差を算出し、算出した前記誤差が許容範囲内であるか否かを判断し、
前記誤差が許容範囲内ではない場合、前記誤差に基づいて、前記第2のOD交通量を更新し、更新した前記第2のOD交通量を用いて、前記第2の交通シミュレーションを実行し、
算出した前記誤差が許容範囲内の場合、直前の前記第2の交通シミュレーションに用いた前記第2のOD交通量を、前記第2の時間フレームごとのOD交通量に決定する、
ことを特徴とする付記1に記載のOD決定方法。
【0270】
(付記9)対象期間を分割した第1の時間フレームごとに、当該第1の時間フレームに第1の地点を出発して第2の地点に到達する第1のOD交通量を用いて、前記第1の地点から前記第2の地点までの経路に含まれるリンクごとの交通量を推定する第1の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第1のOD交通量を調整しながら前記第1の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第1の時間フレームごとのOD交通量を決定し、
決定した前記第1の時間フレームごとのOD交通量に基づいて、前記第1の時間フレームを分割した第2の時間フレームごとに、当該第2の時間フレームに前記第1の地点を出発して前記第2の地点に到達する第2のOD交通量を算出し、
算出した前記第2のOD交通量を用いて、前記第2の時間フレームごとに、前記リンクごとの交通量を推定する第2の交通シミュレーションを実行し、
推定した前記リンクの交通量と当該リンクについて観測された交通量との誤差が小さくなるように、前記第2のOD交通量を調整しながら前記第2の交通シミュレーションを繰り返し実行することにより、前記第1の地点と前記第2の地点とのペアについて、前記第2の時間フレームごとのOD交通量を決定する、
処理をコンピュータに実行させることを特徴とするOD決定プログラム。
【符号の説明】
【0271】
101 情報処理装置
110 第1のシミュレーション
120 第2のシミュレーション
200 情報処理システム
201 OD推定装置
202 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
500 道路ネットワーク表
600 出発地点表
700 目的地点表
800 ODペア表
900 経路表
1000 制御部
1001 取得部
1002 設定部
1003 第1の実行部
1004 第1の決定部
1005 算出部
1006 第2の実行部
1007 第2の決定部
1008 出力部
1201 初期ODフロー
1202,2000,2201,2202,3000 ODフロー
1210,2210 Forward処理
1220,2220 Backward処理
1400,2400 経路選択表
1500,1600,1800,1901,2500,2600,2800,2901 リンクフロー
1700,2700 観測行列
1900,2900 誤差
2001,3001 補正値
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33