(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以降、本発明を実施するための形態(「本実施形態」という)を、図等を参照しながら詳細に説明する。
【0010】
(用語の説明等)
図1に沿って路線網を説明する。路線網は、複数の駅と路線からなる。
図1(a)において、駅は、駅a、駅b、駅c、駅d、駅e及び駅fの6つである。路線は、ある1つの駅と他の1つの駅との間の線として定義される。例えば、
図1(a)では、駅aと駅cとの間に路線Aが存在する。路線Aは、駅aと駅cとの間に駅bを有する。同様に、駅cと駅dとの間に路線Bが存在し、駅cと駅eとの間に路線Cが存在し、駅eと駅fとの間に路線Dが存在し、駅dと駅eとの間に路線Eが存在する。これらの路線の中間には、駅は存在しない。路線を定義する両端の2つの駅を、当該路線の「特徴駅」ともいう。
図1(a)においては、駅bを除くすべての駅は特徴駅である。
【0011】
路線網は、通常、1つに繋がったメッシュ状又はスター状の形状を有する。つまり、旅客は、ある駅から列車を利用して他のすべての駅に到達できる。そして、2つの駅を想定したとき、当該駅の1つから他の駅に行く道筋は、複数ある場合が多い。例えば、
図1(a)において、駅aから駅fに行く道筋としては、「路線A→路線C→路線D」という道筋と、「路線A→路線B→路線E→路線D」という2つの道筋が考えられる。
【0012】
このように旅客の立場で想定した2つの駅のうち起点となる方を「出発駅」と呼び、終点となる方を「到着駅」と呼ぶ。そして、このような道筋の候補を「経路」と呼ぶ。経路は複数の路線を含む場合もあり、1つの路線内で完結する場合もある。障害が発生していない場合の経路のうち、出発駅を出発してから到着駅に到着するまでの時間が最短である経路を「平常経路」と呼び、その他の1又は複数の経路を「迂回経路」と呼ぶ。出発駅と到着駅の1つの組合せに対して、1つの平常経路と通常1又は複数の迂回経路とが定義される。ただし、迂回経路が存在しない場合もある。迂回経路が複数ある場合、出発駅を出発してから到着駅に到着するまでの時間が短い順に「迂回経路1」、「迂回経路2」、・・・と呼ぶことがある。また、列車運行が計画時からの遅れ時間を有することを遅延とする。「信号故障」などにより、路線が不通となった場合も、計画時の列車運行から遅れている状態であり、遅延に含める。
【0013】
図1(a)において、出発駅である駅aから到着駅である駅fに行く経路のうち、平常経路は、「路線A→路線C→路線D」という経路であるとする。そして、本実施形態においては、路線の障害などの事情がない限り、旅客の流れは専ら平常経路を通るものとする。
図1(b)において、平常経路に含まれる路線Cで障害が発生し、当該路線に遅延が発生している。この場合、平常経路「路線A→路線C→路線D」を通っていた旅客の流れの一部あるいは全部が、迂回経路である「路線A→路線B→路線E→路線D」に振り変わる。迂回経路へ振り変わる旅客の人数は、障害が発生している場合の、平常経路と迂回経路の所要時間差、乗換回数、運賃などを考慮して決める。
【0014】
なお、詳細は後記するが、旅客の流れを説明する概念として「旅客束」及び「旅客流動」が存在する。「旅客束」は、出発駅、到着駅、経路、及び、出発駅から到着駅まで移動する旅客の人数によって特定される概念である。「旅客流動」は、出発駅、到着駅、経路、出発駅から到着駅まで移動する旅客の人数、及び、列車によって特定される概念である。つまり旅客流動は、旅客束の下位概念であり、旅客束を列車ごとに区分したものである。
本実施形態の処理を大まかにいえば、(1)所与のデータを基にある1日の現在時点以降の旅客束及び旅客流動を予想し、(2)それらを視認が容易な形で表示し、(3)ある路線に障害が発生した場合は、平常経路の旅客束及び旅客流動を、平常経路及び迂回経路のそれぞれ旅客束及び旅客流動に配分し、(4)当該配分を正確に行うための最適な経路配分定数を学習する、ということである(詳細後記)。
【0015】
(旅客流動予測装置)
図2に沿って、旅客流動予測装置1を説明する。旅客流動予測装置1は、一般的なコンピュータである。旅客流動予測装置1は、中央制御装置11、主記憶装置12、補助記憶装置13、入力装置14及び出力装置15を有する。これらは、バスを介して相互に接続されている。補助記憶装置13は、路線データ31、駅データ32、乗換時間データ33、ダイヤ情報34、列車乗車人数データ35、カメラ計測データ36、改札入出場情報37、OD(origin destination)データ38、経路配分定数表39、最適経路配分定数テーブル40及び障害情報41を格納する(詳細後記)。
【0016】
主記憶装置12は、OD予測部21、経路配分部22、列車割当部23及び経路配分定数事前評価部24を格納する。これらはプログラムである。以降の説明で「○○部は」と主体を記した場合は、中央制御装置11が、各プログラムを補助記憶装置13から読み出し主記憶装置12にロードしたうえで、各プログラムの機能(詳細後記)を実行することを意味する。各プログラムは、予め補助記憶装置13に記憶されていてもよいし、他の記憶媒体又は通信媒体を介して、必要なときに旅客流動予測装置1に取り込まれてもよい。
主記憶装置12は、旅客束データ42、旅客流動データ43及び経路データ44も格納する。これらのデータは、各プログラムによる処理の過程で、一時的に作成され主記憶装置12に記憶されるデータである(詳細後記)。これらのデータは、恒久的に補助記憶装置13に格納されてもよい。
【0017】
旅客流動予測装置1は、通常、列車の運行管理を行うユーザの近辺に1台設置される。しかしながら、例えば、各プログラムを含む構成を独立させ、相互間でネットワークを介して必要なデータの送受信を行う構成としてもよい。
さらに、中央制御装置、主記憶装置、補助記憶装置、入力装置及び出力装置を有する独立した一般的なコンピュータである1又は複数の利用者端末装置(図示せず)と、旅客流動予測装置1とが、ネットワーク(駅と列車間の無線ネットワーク、列車内の有線又は無線ネットワークを含む)を介して通信を確保されている構成としてもよい。このようにすれば、駅において駅員が、列車内において車掌が利用者端末装置を携帯し、旅客流動予測装置1が作成する画面(詳細後記)が利用者端末装置の出力装置に表示されるのを視認し、相互連携した上で、運転整理をすることが可能になる。
【0018】
(路線データ)
図3(a)に沿って、路線データ31を説明する。路線データ31においては、路線名欄101に記憶された路線名に関連付けて、特徴駅欄102には特徴駅名が、移動時間欄103には移動時間が、接続可能路線欄104には接続可能路線名が、障害フラグ欄105には障害フラグが記憶されている。
路線名欄101の路線名は、路線の名称である。
特徴駅欄102の特徴駅名は、当該路線の特徴駅の名称である。1つの路線について特徴駅は2つ存在するので、特徴駅名は、「駅a,駅b」のような2つの駅名の組合せである。
【0019】
移動時間欄103の移動時間は、列車が一方の特徴駅から他方の特徴駅まで当該路線を走行するのに要する時間(単位:秒)である。移動時間は、各駅に停車する列車に限らず、特定の駅に停車しない列車も考慮した最短時間とする。また、移動時間は、当該路線内のすべての駅間の走行に要する時間及び、各駅における平均的な停車時間を加算したものである。実際の路線の移動時間は、例に記した移動時間よりも長い。ここでは、説明の単純化・容易化のために「900秒」のような小さな値を採用している。
接続可能路線欄104の接続可能路線名は、当該路線内のいずれかの駅において乗り換えが可能な路線の名称である。
障害フラグ欄105の障害フラグは、当該路線に障害が発生しており当該路線が遅延していることを示す「ON」、又は、当該路線に障害が発生しておらず当該路線は平常通り運行されていることを示す「OFF」の何れかである。なお、後記する障害情報41(
図7(c))のレコードの路線名を有する路線データ31のレコードについては、その障害フラグが「ON」になっている。
路線データのレコード(行)は、路線の数だけ存在する。
【0020】
(駅データ)
図3(b)に沿って、駅データ32を説明する。駅データ32においては、駅名欄111に記憶された駅名に関連付けて、特徴駅1欄112には特徴駅名が、所要時間1欄113には所要時間が、特徴駅2欄114には特徴駅名が、所要時間2欄115には所要時間が、路線欄116には路線名が記憶されている。
【0021】
駅名欄111の駅名は、駅の名称である。
特徴駅1欄112の特徴駅名は、当該駅が属する路線の2つの特徴駅のうち、一方の特徴駅の名称である。
所要時間1欄113の所要時間は、列車が当該駅から特徴駅1欄112の特徴駅まで走行するのに要する時間である。
特徴駅2欄114の特徴駅名は、当該駅が属する路線の2つの特徴駅のうち、他方の特徴駅の名称である。
所要時間2欄115の所要時間は、列車が当該駅から特徴駅2欄114の特徴駅まで走行するのに要する時間である。
路線欄116の路線名は、当該駅が属する路線の名称である。当該駅が複数の路線に属する場合は、その複数の路線の名称の組である。
なお、当該駅が特徴駅である場合、特徴駅1欄112、所要時間1欄113、特徴駅2欄114及び所要時間2欄115は空欄である(例えば1行目のレコードが該当)。駅データ32のレコードは、駅の数だけ存在する。
【0022】
(乗換時間データ)
図3(c)に沿って、乗換時間データ33を説明する。乗換時間データ33においては、路線名欄121に記憶された路線名に関連付けて、乗換路線1欄122には路線名が、乗換時間1欄123には乗換時間が、乗換路線2欄124には路線名が、乗換時間2欄125には乗換時間が記憶されている。
【0023】
路線名欄121の路線名は、
図3(a)の路線名と同じである。
乗換路線1欄122の路線名は、当該路線(欄121の路線)から乗換可能な路線のうちの一つの名称である。
乗換時間1欄123の乗換時間は、旅客が当該路線から乗換路線1欄122の路線に乗換るために要する時間である。
乗換路線2欄124の路線名は、当該路線から乗換可能な路線のうちの他の一つの名称である。
乗換時間2欄125の乗換時間は、旅客が当該路線から乗換路線2欄124の路線に乗換るために要する時間である。
乗換可能な路線の数だけ乗換路線欄及び、乗換時間欄は存在する。
【0024】
(ダイヤ情報)
図4に沿って、ダイヤ情報34を説明する。ダイヤ情報34においては、列車番号欄131に記憶された列車番号に関連付けて、路線欄132には路線名が、定員欄133には定員が、駅名欄134には駅名が、着時刻欄135には着時刻が、発時刻欄136には発時刻が記憶されている。
列車番号欄131の列車番号は、すべての路線を走行する列車を一意に識別する識別子であり、本実施形態では、番号及び列車を示す慣用文字「レ」の組合せである。
路線欄132の路線名は、当該列車が走行する路線の名称であり、駅名欄134に記載されている駅が終着駅以外の駅である場合、当該列車が当該駅を出発した直後に、当該列車はどの路線を現に走行しているかを示している。駅名欄134に記載されている駅が終着駅である場合、当該列車がその終着駅に到着する直前にどの路線を現に走行しているかを示している。因みに、駅dが始発駅になる場合、路線欄132の値は、路線B又は路線Eの何れかである。
定員欄133の定員は、当該列車に乗車可能な旅客の人数である。
駅名欄134の駅名は、当該列車が旅客の取扱いを行う駅の名称である。
着時刻欄135の着時刻は、当該駅に当該列車が到着する時刻である。実際の着時刻は、時分秒で表記される。しかしながら、ここでは、説明の単純化・容易化のために、「秒」部分を省略して表記している(次に説明する発時刻についても同様である)。
発時刻欄136の発時刻は、当該駅を当該列車が発車する時刻である。
【0025】
ダイヤ情報34のレコードは、列車番号及び駅名の組合せの数だけ存在し、駅名が始発駅である場合、着時刻欄135は空欄である。駅名が終着駅である場合、発時刻欄136は空欄である。因みに、
図4の1〜4行目のレコードは以下のことがらを示している。すなわち、列車番号が「1レ」である列車は、定員が800人であり、駅aを「8:30」に出発したあと、駅bに「8:37」に到着し、駅bを「8:37」に出発し、駅cに「8:45」に到着し、駅cを「8:45」に出発し、駅dに「8:58」に到着すること、その間、駅cまでは路線Aを走行し、駅dまでは路線Bを走行するということである。ダイヤ情報34は、例えば路線ごとに及び/又は日ごとに異なるものが用意されてもよいが、本実施形態においては、すべての路線を走行するすべての列車についてのダイヤ情報34が1つだけ存在するものとする。
【0026】
(列車乗車人数データ)
図5(a)に沿って、列車乗車人数データ35を説明する。列車乗車人数データ35においては、列車番号欄141に記憶された列車番号に関連付けて、出発駅欄142には出発駅名が、出発時刻欄143には出発時刻が、乗車人数欄144には乗車人数が記憶されている。
列車番号欄141の列車番号は、
図4の列車番号と同じである。
出発駅欄142の出発駅名は、当該列車が実際に発車した駅の名称である。
出発時刻欄143の出発時刻は、当該列車が当該駅を実際に発車した時刻である。
乗車人数欄144の乗車人数は、出発時刻において当該列車に実際に乗車していると思われる旅客の人数である。ここでの乗車人数の誤差は許容される。
【0027】
例えば、列車の床面に搭載された応荷重装置(図示せず)がリアルタイムで乗車人数を把握しており、列車番号、出発駅名及び各駅における出発時刻(ドアが閉まった時刻等)に関連付けて乗車人数を旅客流動予測装置1に、有線及び/又は無線ネットワークを介して送信するものとする。列車乗車人数データ35は、日ごとに作成されたうえで、その日の日付を付されて補助記憶装置13に記憶される。各日付の列車乗車人数データ35には、列車番号及び出発駅名の組合せの数だけレコードが存在する。
【0028】
(カメラ計測データ)
図5(b)に沿って、カメラ計測データ36を説明する。カメラ計測データ36においては、時間帯欄151に記憶された時間帯に関連付けて、観測場所欄152には観測場所が、人数欄153には待ち人数が記憶されている。
時間帯欄151の時間帯は、1日を等間隔に区切った範囲であり、本実施形態では間隔は15分である。
観測場所欄152の観測場所は、列車が発着する場所である。本実施形態では、各駅について上り方面列車が発着するホーム(ホームa)及び下り方面列車が発着するホーム(ホームb)の2つがあるものとする。
人数欄153の待ち人数は、観測場所において、列車を待っている旅客の人数の平均値である。
【0029】
例えば、ホームに設置されたカメラ装置(図示せず)は所定の間隔ごとに、ホームにおいて列車を待つ旅客の人数を取得する。時間帯の長さが15分であり、所定の間隔が1分である場合、カメラ装置は、取得された15の値を平均して「待ち人数」とする。カメラ装置は、時間帯及び観測場所に関連付けて待ち人数を旅客流動予測装置1に、有線及び/又は無線ネットワークを介して送信するものとする。カメラ計測データ36は、日ごとに作成されたうえで、その日の日付を付されて補助記憶装置13に記憶される。各日付のカメラ計測データ36には、時間帯及び観測場所の組合せの数だけレコードが存在する。
【0030】
(改札入出場情報)
図6(a)に沿って、改札入出場情報37を説明する。改札入出場情報37においては、時間帯欄161に記憶された時間帯に関連付けて、入出場欄162には入出の向きが、人数欄163には人数が記憶されている。
時間帯欄161の時間帯は、
図5(b)の時間帯と同じである。
入出場欄162の入出の向きは、旅客が駅の改札口を通過する向きであって、改札口に入る「入場」及び改札口から出る「出場」のうちの何れかである。
人数欄163の人数は、改札口を通過した旅客の人数である。
【0031】
例えば、各駅に設置された自動改札機(図示せず)は、ある時間帯において、自動改札機を通過した旅客の人数(又は自動改札機が読み取った乗車券や定期券の数)を取得し、旅客の人数や乗車券等の数の累計を計算する。自動改札機は、時間帯及び入出の向きに関連付けて人数を旅客流動予測装置1に、有線及び/又は無線ネットワークを介して送信するものとする。改札入出場情報37は、日ごとかつ駅ごとに作成される。そして、レコードが作成される都度、作成されたレコードが、その日の日付及び駅名を付されて旅客流動予測装置1に送信され、補助記憶装置13に記憶される。つまり、ある時間帯が経過した時点において、旅客流動予測装置1は、当該時間帯に係るレコード及びそれより前の時間帯に係るレコードを各駅について記憶している。
特定日付の特定駅の改札入出場情報37には、時間帯及び入出の向きの組合せの数だけレコードが存在する。
【0032】
(ODデータ)
図6(b)に沿って、移動人数を示す、ODデータ38を説明する。ODデータ38においては、時間帯欄171に記憶された時間帯に関連付けて、出発駅欄172には出発駅名が、到着駅欄173には到着駅名が、移動人数欄174には移動人数が記憶されている。
時間帯欄171の時間帯は、
図5(b)の時間帯と同じである。当該時間帯に含まれる時刻は、各駅(出発駅)に設置された自動改札機(図示せず)が、旅客が投入した乗車券や定期券を読み取った時刻である。
出発駅欄172の出発駅名は、出発駅の名称である。
到着駅欄173の到着駅名は、到着駅の名称である。
移動人数欄174の移動人数は、出発駅から到着駅に向かう旅客の人数である。
例えば、各駅(出発駅)に設置された自動改札機は、旅客が投入した乗車券及び定期券の「到着駅」を読み取る。そして読み取った回数を「到着駅」ごとに累計する。自動改札機は、時間帯、出発駅名及び到着駅名に関連付けて移動人数を旅客流動予測装置1に、有線及び/又は無線ネットワークを介して送信するものとする。
【0033】
なお、旅客が無記名式プリペイドカードを投入する場合のように、到着駅名が出発駅においては取得できない場合もある。しかしながら、出発駅の自動改札機は、出発駅において当該カードの識別番号及び出発駅名を取得したうえでこれらの情報を旅客流動予測装置1に送信し、到着駅の自動改札機は、到着駅において当該識別番号及び到着駅名を取得したうえでこれらの情報を旅客流動予測装置1に送信し、その後、旅客流動予測装置1が同じ識別番号同士を照合することにすれば、旅客が到着駅の改札を出る時点において、ODデータ38のレコードを作成するのに必要なデータが揃うことになる。ODデータ38は、日ごとかつ駅ごとに作成されたうえで、その日の日付及び駅名を付されて補助記憶装置13に記憶される。特定日付の特定駅のODデータ38には、時間帯、出発駅名及び到着駅名の組合せの数だけレコードが存在する。ODデータ38は、旅客束データ42(詳細後記)と類似するが、経路が考慮されていない点が旅客束データ42とは異なる。
【0034】
(経路配分定数)
ある出発駅からある到着駅までの経路が複数存在する場合、各経路の「効用」を算出することが一般に行われている。
【0035】
U
m=β
1×X
1m+β
2×X
2m+α (式1)
【0036】
式1は、変数としてX
1m及びX
2mを入力すると、効用U
mを出力する「効用関数」の一例である。ここで、mは個々の経路を示しており(m=1,2,・・・,n)、「n」は特定の出発駅から特定の到着駅に向かう経路の総数であり、U
mは経路「m」の効用である。変数X
1mは、経路「m」の所要時間(詳細後記)である。変数X
2mは、経路「m」が平常経路であれば「0」であり、経路「m」が迂回経路であれば「1」である。変数X
1m及びX
2mのそれぞれの係数β
1及びβ
2と、定数項αは、様々に値を変化して設定され得るパラメータである。これらパラメータの組(β
1,β
2,α)をまとめて経路配分定数と呼ぶ。
【0037】
効用が算出された経路が複数存在するとき、それぞれの経路が旅客によって選択される確率を算出することができる。
【0038】
P
m=exp(U
m)/(exp(U
1)+exp(U
2)+・・・+exp(U
n))
(式2)
【0039】
式2において、exp(U
m)は、e(自然対数の底)を底とするU
mの指数関数である。P
mは、n個の経路の候補のうちから経路「m」が選択される確率である。そして当該確率に比例する形で、平常経路の旅客束が複数の迂回経路に配分されることになる。さらに、経路配分定数を様々に変えて学習することにより、経路配分定数を最適化することができる(詳細後記)。
【0040】
(経路配分定数表)
図7(a)に沿って、経路配分定数表39を説明する。経路配分定数表39においては、番号欄181に記憶された番号に関連付けて、β
1欄182にはパラメータβ
1の値が、β
2欄183にはパラメータβ
2の値が、α欄184にはパラメータαの値が記憶されている。
番号欄181の番号は、パラメータの組を一意に特定する識別子である。
β
1欄182のパラメータβ
1の値、β
2欄183のパラメータβ
2の値及びα欄184のパラメータαの値は、任意の設定値である。本実施形態では、3つのパラメータがすべて同じ値である経路配分定数が重複して存在しないということを条件として、所定のアルゴリズムにしたがって規則的に(例えばあるパラメータの値だけを少しずつ変化させる等)、又は無作為的に、パラメータの組を発生させた結果が記憶されている。
経路配分定数表39のレコードの数は任意である。
【0041】
(最適経路配分定数テーブル)
図7(b)に沿って、最適経路配分定数テーブル40を説明する。最適経路配分定数テーブル40においては、日付欄191に記憶された日付に関連付けて、β
1欄192にはパラメータβ
1の値が、β
2欄193にはパラメータβ
2の値が、α欄194にはパラメータαの値が、予測誤差欄195には予測誤差が記憶されている。
日付欄191の日付は、過去の日付である。
β
1欄192のパラメータβ
1の値、β
2欄193のパラメータβ
2の値及びα欄194のパラメータαの値は、
図7(a)の、それぞれ、β
1欄182のパラメータβ
1の値、β
2欄183のパラメータβ
2の値及びα欄184のパラメータαの値と同じであり、これらは経路配分定数を構成する。しかしながら、
図7(b)に記憶されているパラメータの値は、いわゆる「教師付学習」を行った結果、日付ごとに最適化されたものである(詳細後記)。
【0042】
予測誤差欄195の予測誤差は、当該経路配分定数を使用して予測した当該日付の旅客流動データ43と、実際に測定された列車乗車人数データ35(
図5(a))及び/又はカメラ計測データ36(
図5(b))のデータとの差違である(詳細後記)。
因みに、1行目のレコードは、経路配分定数の複数の候補を使用して、式1及び式2に基づいて、過去の○年○月X日について旅客束及び旅客流動がどのように迂回経路に配分されるかを事後的に予想したところ、経路配分定数(β
1,β
2,α)=(−0.004,2.2,10)が、実際に測定されたデータに最も近い予想値を算出したこと、を示している。最適経路配分定数テーブル40のレコードは、過去の日付の数だけ存在する。過去の日付は、過去のどのような日付でもよいが、ある路線に障害が発生した日付であることが望ましい。
【0043】
(障害情報)
図7(c)に沿って、障害情報41を説明する。障害情報41においては、路線名欄201に記憶された路線名に関連付けて、障害の種類欄202には障害の種類が、遅延見込時間欄203には遅延見込時間が記憶されている。
路線名欄201の路線名は、
図3(a)の路線名と同じである。
障害の種類欄202の障害の種類は、当該路線が遅延するに至った原因であり、例えば「信号故障」、「人身事故」、「強風」などがある。
遅延見込時間欄203の遅延見込時間は、当該路線を移動して到着するまでに、平常時よりも多くかかるであろう時間である。「信号故障」などで一時的に路線が不通となった場合には、「信号故障」など不通となっている状態からの復旧見込み時間とする。路線を列車が運行している場合は、現時点での路線内の列車運行が計画時から遅れている時間の平均を遅延見込時間とする。実際の路線においては、遅延見込時間は例として記載した数値よりもはるかに大きくなる場合が多い。しかしながら、ここでは、説明の単純化・容易化のために、「5分」のような小さな値を採用している。
障害情報41のレコードの情報は、例えば、ユーザが、入力装置14を介して入力するものとする。障害情報41のレコードは、現時点において遅延している路線の数だけ存在する。
【0044】
(旅客束データ)
図8に沿って、旅客束データ42を説明する。旅客束データ42においては、時間帯欄211に記憶された時間帯に関連付けて、出発駅欄212には出発駅名が、到着駅欄213には到着駅名が、経路欄214には経路が、移動人数欄215には移動人数が、迂回フラグ欄216には迂回フラグが記憶されている。
時間帯欄211の時間帯は、
図6(b)の時間帯と同じである。
出発駅欄212の出発駅名は、
図6(b)の出発駅名と同じである。
到着駅欄213の到着駅名は、
図6(b)の到着駅名と同じである。
経路欄214の経路は、出発駅から到着駅に向かう経路であり、1又は複数の路線の名称によって表記されている。路線が複数ある場合は、列車が走行する順に左から並べられている。なお、迂回フラグが「OFF」であるレコードの路線は平常経路であり、迂回フラグが「ON」であるレコードの路線は迂回経路である(詳細後記)。
移動人数欄215の移動人数は、当該経路を通って出発駅から到着駅に向かう旅客の人数である。
迂回フラグ欄216の迂回フラグは、経路欄214の経路が迂回経路であることを示す「ON」、又は、路線欄204の経路が平常経路であることを示す「OFF」の何れかである。
【0045】
旅客束データ42のレコードの数は、遅延している路線が存在しない場合は、時間帯、出発駅名及び到着駅名の組合せの数だけ存在する。遅延している路線が存在する場合は、時間帯、出発駅名、到着駅名及び経路(平常経路及び迂回経路)の組合せの数だけ存在する。
因みに、
図8の4行目のレコードに注目すると、経路「路線A,路線C」は平常経路である。仮に路線Cが遅延した場合、当該レコードに対応して、経路が「路線A,路線B,路線E」であり、迂回フラグが「ON」であるレコードが作成される(
図8の5行目)。この場合、遅延している路線Cに代替可能な路線は「路線B,路線E」しかない。しかしながら、実際の路線網は本実施形態の例よりもはるかに複雑であり、路線の数も多いので、出発駅名と到着駅名の1つの組合せに対して複数の迂回経路が対応し得る。
図8の例でいえば、例えば4行目のレコードに対応して、別々の経路を有する2以上のレコードが作成され得る。そして移動人数「10」(4行目の「3」と5行目の「7」との和)はそれらの3以上の経路に配分されることになる(詳細後記)。
【0046】
(旅客流動データ)
図9に沿って、旅客流動データ43を説明する。旅客流動データ43においては、列車番号欄221に記憶された列車番号に関連付けて、路線欄222には路線名が、定員欄223には定員が、駅名欄224には駅名が、着時刻欄225には着時刻が、発時刻欄226には発時刻が、乗降人数欄227には乗降人数が、乗車中人数欄228には乗車中人数が、迂回乗降人数欄229には迂回乗降人数が、迂回乗車中人数欄220には迂回乗車中人数が記憶されている。
列車番号欄221〜発時刻欄226についての説明は、ダイヤ情報34(
図4)の列車番号欄131〜発時刻欄136についての説明と同様である。
【0047】
乗降人数欄227の乗降人数は、当該駅において当該列車に乗車する旅客の人数(乗車人数)、当該駅において当該列車から降車する旅客の人数(降車人数)及び乗車人数から降車人数を控除した数(ネット乗降人数)の3つの値をその順で並べたものであり、それぞれの値は予測値である。
乗車中人数欄228の乗車中人数は、当該駅を出発する直後に当該列車に乗車している旅客の人数の予測値である。当該駅が終着駅である場合、乗車人数は常に「0」である。
【0048】
迂回乗降人数欄229の迂回乗降人数は、ある他の路線が遅延した結果当該路線が迂回経路の一部となる場合において、当該駅において当該列車に乗車する旅客の人数のうち迂回に起因する人数(迂回乗車人数)、当該駅において当該列車から降車する旅客の人数のうち迂回に起因する人数(迂回降車人数)及び迂回乗車人数から迂回降車人数を控除した数(ネット迂回乗降人数)の3つの値をその順で並べたものであり、それぞれの値は予測値である。
迂回乗車中人数欄230の迂回乗車中人数は、当該駅を出発する直後に当該列車に乗車している旅客の人数のうち迂回に起因する人数の予測値である。当該駅が終着駅である場合、迂回乗車人数は常に「0」である。
つまり、迂回乗降人数及び迂回乗車中人数は、それぞれ、乗降人数及び乗車中人数の内数である。迂回乗降人数欄229及び迂回乗車中人数欄230は、遅延している路線が存在しない場合は空欄である。
【0049】
旅客流動データ43のレコードは、列車番号及び駅名の組合せの数だけ存在し、駅名が始発駅である場合、着時刻欄225は空欄である。駅名が終着駅である場合、発時刻欄226は空欄である。因みに、
図9の1〜4行目のレコードを例にとって説明する。これらのレコードは、
図4において説明した列車番号が「1レ」である列車についてのレコードである。乗降人数欄227及び乗車中人数欄228を参照すると、駅aでは、400人が乗車し、0人が降車する結果、発車直後の乗車中人数は400人である。駅bでは、100人が乗車し、100人が降車する結果、発車直後の乗車中人数は400人である。駅cでは、200人が乗車し、100人が降車する結果、発車直後の乗車中人数は500人である。駅dでは、0人が乗車し、500人が降車する結果、乗車中人数は0人である。迂回乗降人数欄229及び迂回乗車中人数欄230についても、値が内数となることを除いて、同様である。
【0050】
(経路データ)
図10に沿って、経路データ44を説明する。経路データ44においては、出発駅欄231に記憶された出発駅名に関連付けて、到着駅欄232には到着駅名が、平常経路欄233には平常経路が、所要時間欄234には所要時間が、迂回経路1欄235には迂回経路が、所要時間1欄236には所要時間が、影響範囲1欄237には影響範囲が、それより右には、迂回経路2(3、・・・)欄238、241、・・・、所要時間2(3、・・・)欄239、242、・・・、影響範囲2(3、・・・)欄240、243、・・・が、その順で繰り返し記憶されている。つまり、出発駅及び到着駅の1つの組合せについて、複数の迂回経路が存在する場合は、迂回経路、所要時間及び影響範囲の2つ目以降の組合せが、欄237の右側に記憶される。
【0051】
出発駅欄231の出発駅名は、
図6(b)の出発駅名と同じである。
到着駅欄232の到着駅名は、
図6(b)の到着駅名と同じである。
平常経路欄233の平常経路は、出発駅から到着駅に向かう平常経路であり、1又は複数の路線の名称によって表記されている。
所要時間欄234の所要時間は、列車が平常経路を通って出発駅から到着駅に向かうのに必要な時間である。なお、あるレコードの迂回経路1欄235(迂回経路2欄238、迂回経路3欄241、・・・)が空欄でない場合の当該レコードの所要時間欄234の所要時間は、当該レコードの迂回経路1欄235他が空欄である場合、つまり障害が発生していない場合の当該レコードの所要時間欄234の所要時間に比して、遅延見込時間(
図7(c))の分だけ値が大きい。
【0052】
迂回経路1欄235の迂回経路は、出発駅から到着駅に向かう迂回経路であり、1又は複数の路線の名称によって表記されている。なお、平常経路のうちのどの路線が遅延しているかによって、迂回経路は異なってくる。
所要時間1欄236の所要時間は、迂回経路1欄235の迂回経路を通って出発駅から到着駅に向かうのに必要な時間である。
影響範囲1欄237の影響範囲は、平常経路と迂回経路1欄235の迂回経路の相違点である路線名を示したものである。例えば「路線C→路線B,路線E」は、平常経路における「路線C」が迂回経路1欄235の迂回経路においては「路線B,路線E」に代替されていること、すなわち「路線C」が遅延した結果、旅客が「路線B,路線E」に流れていることを示している。
欄238、239、240、241、242、243、・・・については、欄235〜237の説明と同様である。経路データ44のレコードは、出発駅名及び到着駅名の組合せの数だけ存在する。
【0053】
図10の経路データ44は、路線Cに障害が生じ路線Cが遅延した場合(
図1(b))に作成される経路データ44の例である。
1〜3行目のレコードについては、迂回経路1欄235及びそれより右の欄236、・・・が空欄である。このことは、路線Cの遅延によって平常経路「路線A」及び「路線A,路線B」は、影響を受けないことを示している。
4、5行目のレコードについては、迂回経路1欄235及びそれより右の欄236、277に情報が記憶されている。このことは、路線Cの遅延によって平常経路「路線A,路線C」及び「路線A,路線C,路線D」が遅延の影響を受け、それらの経路に代替するものとして、それぞれ迂回経路「路線A,路線B,路線E」及び迂回経路「路線A,路線B,路線E,路線D」が存在することを示している。
【0054】
(処理手順)
処理手順には、(1)ODデータ決定処理手順、(2)経路決定処理手順、(3)列車割当処理手順、及び(4)経路配分定数学習処理手順が存在する。(2)の処理を行うためには(1)及び(4)の処理が終了していることが前提になる。(3)の処理を行うためには(2)の処理が終了していることが前提になる。(1)、(2)及び(3)の処理手順は、列車が運行されている間に実行されるのに対し、(4)の処理手順は、適宜のタイミングで(通常は夜間のバッチ処理)実行される。
【0055】
(ODデータ決定処理手順)
図11(a)、(b)及び(c)に沿って、ODデータ決定処理手順の基本的な考え方を説明する。
図11(b)は、過去の○年○月X日のある駅における改札入出場情報37(
図6(a))をヒストグラムで表現したものであり、すべての時間帯について、入場に係る人数(左から数えて奇数番目の棒グラフの数値)及び出場に係る人数(左から数えて偶数番目の棒グラフの数値)が記載されている。
図11(c)は、過去の○年○月Y日の当該駅における改札入出場情報37をヒストグラムで表現したものであり、すべての時間帯について、入場に係る人数及び出場に係る人数が記載されている。
【0056】
図11(a)は当日の当該駅における改札入出場情報37をヒストグラムで表現したものであるが、現時点は例えば午前中のある時点であり、当然(深夜までの)すべての時間帯について入場に係る人数及び出場に係る人数が取得されているわけではない。いうまでもなく、特定の日付の改札入出場情報37は、その日の旅客の流れを物語っている。例えば、天候が雨の時間帯は、天候が晴れの時間帯に比して、入場に係る人数及び出場に係る人数が低位安定する傾向がある。さらに、混雑や事故の様子も反映される。極端な例では、ある時間帯の入場に係る人数及び出場に係る人数が共に0であれば、その時間帯は不通になっていると判断してよい。
【0057】
このような視点から
図11を見ると、○年○月Y日は朝からしばらくは雨であった可能性が高く、○年○月X日及び「当日」は朝からずっと晴天であった可能性が高い。
当日において既に取得されているヒストグラムの部分と過去の対応するヒストグラムの部分(破線で囲んだ部分)を比較することによって、
図11(a)の当該部分が、
図11(b)の当該部分、
図11(c)の当該部分の何れにより近似するかを決定することができる。すなわち、当該比較は、ある1日の途中までの時間帯について実際に取得された旅客の向き及び旅客の人数により特徴付けられる経時的なパターンに近似すると認められるパターンを有する、過去の日付の改札入出場情報を決定するための比較にほかならない。この例の場合は、
図11(a)の当該箇所は、
図11(b)の当該箇所により近似している。そして、当日の現在時点以降の時間帯についても、
図11(b)に近似した結果となると予測することには統計的な合理性がある。このように、ODデータ決定処理手順においては、旅客流動予測装置1は、当日の改札入出場情報37の一部に近似する過去の改札入出場情報37を決定し、その過去の日付のODデータを特定できる。
【0058】
説明の都合上
図12〜18の説明は後回しにし、
図19に沿ってODデータ決定処理手順を説明する。
ステップS401において、当日のОDデータを予測するOD予測部21は、当日の改札入出場情報を取得する。具体的には、OD予測部21は、現在時点までに補助記憶装置13に記憶されている、当日の日付を有する改札入出場情報36(
図6(a))のすべてのレコードを、すべての駅について取得する。例えば、現在時刻が2010年5月10日の「9:05」である場合、前記したように、旅客流動予測装置1は、「2010年5月10日:駅a」が付されており、時間帯「8:45-9:00」までのレコードを有する改札入出場情報36を既に記憶している。他の駅についても同様である。
【0059】
ステップS402において、OD予測部21は、当日の人数を取得する。具体的には、OD予測部21は、ステップS401において取得したすべてのレコードの人数を取得する。例えば、時間帯が「8:30-8:45」から始まっており、現在時刻が「9:05」である場合、「駅a」に関しては、「駅a、8:30-8:45、入場」について「10」、「駅a、8:30-8:45、出場」について「20」、「駅a、8:45-9:00、入場」について「15」、「駅a、8:45-9:00、出場」について「25」という人数が取得される(
図6(a))。また、
図6(a)には図示されていないが、「駅b」に関しては、「駅b、8:30-8:45、入場」について「12」、「駅b、8:30-8:45、出場」について「22」、「駅b、8:45-9:00、入場」について「18」、「駅b、8:45-9:00、出場」について「28」という人数が取得され、他の駅c、駅d、・・・についても同様であるとする。
【0060】
ステップS403において、OD予測部21は、当日の入出場人数ベクトルを作成する。具体的には、OD予測部21は、ステップS402において取得した人数を、駅a、駅b、・・・の順に(10,20,15,25,12,22,18,28,・・・)のように並べてこれを当日の入出場人数ベクトルとする。「・・・」の箇所には、駅c、駅d、・・・についての人数が、4つずつ順に並ぶことになる。
【0061】
ステップS404において、OD予測部21は、過去の入出場人数ベクトルを作成する。具体的には、OD予測部21は、ある日付を有する改札入出場情報37を、補助記憶装置13から取得する。そして、取得した改札入出場情報37のレコードの現在時点を含む時間帯より前のすべての時間帯について、かつすべての駅について、ステップS402及びS403において説明した方法で、人数を取得し、過去の入出場情報ベクトルを作成する。なお、当該処理をすべての過去の日付について繰り返す。当該繰り返しが終了した時点で、過去の日付の数だけ過去の入出場人数ベクトルが作成されていることになる。
【0062】
ステップS405において、OD予測部21は、当日の入出場ベクトルと過去の入出場ベクトルとの距離を算出する。具体的には、OD予測部21は、ステップS403において作成した当日の入出場人数ベクトルとステップS404において作成した過去の入出場人数ベクトルとのマハラノビス距離を計算する。当該処理は、すべての過去の入出場人数ベクトルについて繰り返す。当該繰り返しが終了した時点で、過去の日付の数だけマハラノビス距離が計算されていることになる。マハラノビス距離の計算は周知の技術であるので説明を省略する。
【0063】
ステップS406において、OD予測部21は、当日に最も近似した過去の改札入出場情報を決定する。具体的には、OD予測部21は、ステップS405において計算したマハラノビス距離のうち、最小のマハラノビス距離に対応する過去の日付を決定する。
【0064】
ステップS407において、OD予測部21は、当日に最も近似した過去のODデータを取得する。具体的には、OD予測部21は、ステップS406において決定した過去の日付を検索キーとして補助記憶装置13を検索し、該当したODデータ38(
図6(b))を取得する。そして当該取得したODデータ38を「当日のODデータ」とする。駅ごとに駅の数だけ当日のODデータ38が取得されることになる。
なお、当日の改札入出場情報37と、ステップS406において取得した過去の日付を有する改札入出場情報37とを、現在時点を含む時間帯より前のすべての時間帯について比較し、各時間帯の人数の差分の平均値を、当日のODデータの移動人数に加算することによって、当日のODデータを修正してもよい。
【0065】
なお、OD予測部21は、ベクトル間のマハラノビス距離を計算する代わりに他の方法によって定義される距離を計算してもよい。さらに、ベクトル間の距離に代替してベクトルの内積やベクトルのなす角度を計算してもよい。つまり、当日の入出場ベクトルと過去の入出場ベクトルとの近似の度合いを数値化できればどのような値を計算してもよい。
【0066】
(経路決定処理手順)
図20に沿って経路決定処理手順を説明する。
ステップS501において、経路配分部22は、ODデータのレコードを取得する。具体的には、経路配分部22は、当日のODデータ38から、現時点を含む時間帯以降の時間帯を有する未処理のレコードのうち最も早い時間帯(「処理対象時間帯」という)のレコードを取得する。
【0067】
ステップS502において、経路配分部22は、経路データのレコードを作成する。具体的には、経路配分部22は、第1に、経路データ43(
図10)の各欄が空欄である新たなレコードを、出発駅名と到着駅名の組合せの数だけ作成する。
第2に、出発駅名と到着駅名の組合せを、新たに作成したレコードの出発駅欄231及び到着駅欄232に記憶する。
【0068】
ステップS503において、経路配分部22は、経路データを完成する。当該ステップの詳細は後記する。当該ステップが終了した時点において、経路データ44(
図10)が完成された状態で主記憶装置12に記憶されていることになる。但し、この段階では、影響範囲1(2、3、・・・)欄237、240、243、・・・は空欄のままである。
【0069】
ステップS504において、経路配分部22は、遅延している路線はあるか否かを判断する。具体的には、経路配分部22は、障害情報41(
図7(c))を参照し、レコードが存在する場合(ステップS504“YES”)は、当該レコードの路線名(「遅延路線名」と呼ぶ)、障害の種類及び遅延見込時間を保持して、ステップS505に進む。それ以外の場合(ステップS504“NO”)は、何も保持せずにステップS507に進む。
【0070】
ステップS505において、経路配分部22は、平常経路及び迂回経路を見直す。具体的には、経路配分部22は、第1に、遅延路線名を検索キーとして、経路データ43(
図10)の平常経路欄233、迂回経路1欄235、迂回経路2欄238、・・・を検索する。そして、平常経路(又は迂回経路)に含まれる路線名のうち、遅延路線名と同じものに、例えば「路線A#」のように「#」を付加する。
第2に、「#」を付加した路線を含む経路を有するレコード(「見直しレコード」という)について、遅延路線を有する迂回経路及び対応する所要時間を削除する(欄を空欄にする)。さらに、削除されずに残された迂回経路及びその所要時間を、左から順に空欄を埋めるように移動する。
第3に、平常経路欄233の平常経路のなかに「#」を付加した路線が含まれている場合は、当該レコードの所要時間欄234の所要時間に、ステップS504において保持した遅延見込時間を加算して記憶する。
第4に、見直しレコードについて、平常経路と迂回経路を比較し、その差分となっている路線を「路線C→路線B,路線E」のように、影響範囲1欄237他に記憶する。「→」の左側が「#」を付加した路線であり、「→」の右側がその路線に代替する路線である。
第5に、「第1」において付加した「#」を抹消し、例えば「路線A#」を「路線A」のようにもとに戻す。
【0071】
ステップS506において、経路配分部22は、各経路に移動人数を配分する。当該ステップの詳細は後記する。当該ステップが終了した時点で、出発駅名及び到着駅名のすべての組合せに関連付けて、平常経路、平常経路の移動人数、迂回経路1、迂回経路1の移動人数、迂回経路2、迂回経路2の移動人数、・・・・が主記憶装置12に記憶されていることになる。
【0072】
ステップS507において、経路配分部22は、旅客束データを作成する。具体的には、経路配分部22は、第1に、各欄が空欄である旅客束データ42(
図8)の新たなレコードを作成する。
第2に、新たに作成したレコードの出発駅欄212、到着駅欄213、経路欄214及び移動人数欄215に、主記憶装置12に記憶されている、出発駅名、到着駅名、平常経路、平常経路の移動人数を記憶する。出発駅名及び到着駅名の1つの組合せに1又は複数の迂回経路が関連付けられている場合は、別に新たなレコードを作成し、出発駅欄212、到着駅欄213、経路欄214及び移動人数欄215に、当該出発駅名、当該到着駅名、迂回経路、迂回経路の移動人数を記憶する(例えば
図8の5、7行目のレコード)。
第3に、新たに作成したレコードの時間帯欄211に処理対象時間帯を記憶する。
第4に、新たに作成したレコードの経路が平常経路である場合は迂回フラグ欄216に「OFF」を記憶し、新たに作成したレコードの経路が迂回経路である場合は迂回フラグ欄216に「ON」を記憶する。
【0073】
経路配分部22は、ステップS501〜S507の処理を、すべての処理対象時間帯ごとに繰り返す。
【0074】
ステップS508において、経路配分部22は、旅客束データを表示するためのデータを作成する。具体的には、経路配分部22は、旅客束データ42(
図8)のレコードを、同じ時間帯を有するレコード同士でグルーピングする。そして、すべてのグループについて、各レコードの移動人数を、駅間に振り分け、駅間ごとに合計する。
【0075】
例えば、経路配分部22が、時間帯「8:30-8:45」について、旅客束データ42(
図8)の1〜7行目のレコードから、旅客束データを表示するためのデータ(
図12)の1〜7行目のレコードを作成する場合を説明する。
(1)
図8の1行目のレコードの出発駅名及び到着駅名を、
図12の1行目の、それぞれ出発駅欄251及び到着駅欄252に記憶する。そして、
図8の1行目のレコードの経路欄214の路線内に含まれ、出発駅と到着駅の間にある駅間を特定する。この場合、駅間は「駅a−駅b」だけである。次に、
図12の当該特定された駅間の欄に
図8の1行目のレコードの移動人数を記憶する。この例では、駅a−駅b欄253に「10」を記憶する。
(2)
図8の2行目のレコードの出発駅名及び到着駅名を、
図12の2行目の、それぞれ出発駅欄251及び到着駅欄252に記憶する。そして、
図8の2行目のレコードの経路欄214の路線内に含まれ、出発駅と到着駅の間にある駅間を特定する。この場合、駅間は「駅a−駅b」及び「駅b−駅c」の2つである。次に、
図12の当該特定されたすべての駅間の欄に
図8の2行目のレコードの移動人数を記憶する。この例では、駅a−駅b欄253に「20」を記憶し、駅b−駅c欄254に同じく「20」を記憶する。当該「20」は、駅aから駅cに向かう移動人数(
図8の2行目)であるので、駅a−駅b欄243にも、駅b−駅c欄244にも、同じ「20」が記憶される。(当該20人のうち、駅bで降車する旅客はいない。)
(3)同様に、
図8の3〜7行目のレコードをもとにして、
図12の3〜7行目のレコードを作成する。ただし、旅客束データ42のレコードに迂回フラグ「ON」が記憶されている場合は、当該レコードの移動人数には「*」を付して、
図12に記憶する(
図12の5、7行目)。
【0076】
図12において、「*」付の移動人数は、遅延路線が存在しない場合は、同じ出発駅及び同じ到着駅を有するレコードの、「*」が付されていない移動人数に加算されているはずであった移動人数である。
例えば、まず、「*」が存在する5行目のレコードを削除し、その代わりに、4行目のレコードのすべての駅間の「3」に「7
*」を加算して「10」として上書きする。同様に、「*」が存在する7行目のレコードを削除し、その代わりに、6行目のレコードのすべての駅間の「3」に「9
*」を加算して「12」として上書きする。次に、合計行の値を再度計算する。このようにすることによって、「路線C」が遅延していない場合の各駅間の移動人数も計算できる。当該計算を「平常化シミュレーション」と呼ぶ。
【0077】
経路配分部22は、このようにして、旅客束データ42のすべてのレコードについて旅客束データを表示するためのデータ(
図12)に転記し終わった後、移動人数を駅間ごとに合計する。
図12では、合計行の値は右に行くほど小さくなっている。しかしながら、
図8の8行目以降のレコードの出発駅欄212には、「駅b」、「駅c」、・・・が並ぶことになるので、実際には、合計行の値は、平均化される。
経路配分部22は、ステップS508の処理をすべての時間帯について繰り返す。
【0078】
ステップS509において、経路配分部22は、旅客束データを表示する。具体的には、経路配分部22は、旅客束データを表示するためのデータの合計の値を、時間帯ごとかつ駅間ごとに、出力装置15に表示する。
図13(a)及び(b)は、その表示例である。
図13(a)の駅間「駅c−駅d」に表示されている台形261の高さは、
図12の合計行の「駅c−駅d」欄255の値「31」に相当する。
図13(b)の駅間「駅c−駅d」に表示されている台形262の高さは、
図12において平常化シミュレーションが行われた場合における、合計行の「駅c−駅d」欄255の値「15」に相当する。経路配分部22は、ユーザからの指示を契機にして、平常化シミュレーションを実行し、その結果を表示する。
図13(a)及び(b)の線「輸送量」263、264は、ダイヤ情報34(
図4)から、当該時間帯に当該駅間を通過する列車を抽出し、その定員を合計した数値である。図では、各駅間に亘って水平な線として表示されているが、線の高さは、駅間ごとに算出される。
【0079】
ステップS510において、経路配分部22は、経路の移動人数を比較表示する。具体的には、経路配分部22は、第1に、旅客束データ42(
図8)のレコードのうち、迂回フラグ「ON」を有するレコードと、当該レコードと出発駅名及び到着駅名を共有し迂回フラグが「OFF」であるレコードを、組として取得する。
図8の例では、このように取得される組の1つに、4、5行目のレコードが該当する。
第2に、組となったレコードの経路の差分と、移動人数を取得する。例の場合では、4行目のレコードから、差分「路線C」と移動人数「3」が取得され、5行目のレコードから、差分「路線B,路線E」と移動人数「7」が取得される。このことは、遅延している路線Cに代替して路線B及び路線Eが使用されることを意味する。
第3に、時間帯ごとに、路線及び特徴駅を、迂回表示として出力装置15に表示する(
図14(b)参照)。このとき、路線を表す線の太さは、路線の移動人数が容易に比較できるように、移動人員に比例する太さを有する、又は移動人数の段階別の色彩を有するものとする。
第4に、平常経路から迂回経路に向かう矢印を、迂回経路の移動人数を付して表示する。
図14(b)の場合は、矢印は「路線C」から「路線B,路線E」に向かう矢印であり、移動人数は「7」である。
【0080】
ステップS511において、経路配分部22は、障害モニタ(
図14(a))を表示する。具体的には、経路配分部22は、第1に、障害情報41(
図7(c))のレコードから路線名及び障害の種類を取得する。取得した路線名を検索キーとして路線データ31(
図3(a))を検索し、特徴駅を取得する。そして、取得した障害の種類と2つの特徴駅とを、出力装置15を介して、障害モニタ(
図14(a))の「障害」欄271に、「駅c,駅e間の信号故障」のように表示する。障害情報41のレコードが複数ある場合は、取得した障害の種類と2つの特徴駅の複数の組合せを表示する。
第2に、「障害」欄271に表示された1又は複数の「駅c,駅e間の信号故障」のような情報のうちの任意の1つをユーザが選択するのを受け付けると(選択されると)、経路配分部22は、対応する障害情報41のレコードの路線名、障害の種類及び遅延見込時間を取得する。そして、取得した路線名を検索キーとして経路データ44(
図10)の影響範囲1欄237影響範囲2欄240、影響範囲3欄243、・・・を検索し、影響範囲を取得する。
第3に、「第2」において取得した影響範囲(例えば「路線C→路線B,路線E」など)に基づいて路線データ31を検索し、影響範囲に対応する特徴駅の駅間を取得する。影響範囲が「路線C→路線B,路線E」であるとする。路線Cの特徴駅は駅c及び駅eである。路線Bの特徴駅は駅c及び駅dである。路線Eの特徴駅は駅d及び駅eである。結局、駅c−駅e間の移動が、駅c−駅d間及び駅d−駅e間に影響することとなる。そこで、経路配分部22は、障害モニタの欄272に、「駅c−駅e間の移動が、駅c−駅d間及び駅d−駅e間に影響・・・」のメッセージを表示する。そして、「第2」において取得した障害の種類及び遅延見込時間とともに、図案化された影響範囲の路線を、障害モニタの「障害の状況」欄273に表示する。
その後、経路決定処理手順を終了する。
【0081】
(経路決定処理手順のステップS503の詳細)
ステップS503は、経路配分部22が所与の出発駅と到着駅の組合せごとに平常経路及び1又は複数の迂回経路を決定する処理である。当該処理においては、経路配分部22は「最短経路探索モデル」(
図18(a))を使用する。
【0082】
(最短経路探索モデル)
図18(a)には、路線網が記載されている。当該路線網は専ら最短経路探索モデルを説明するための路線網であって、
図1に記載する路線網とは別のものである。
特徴駅は4個あり(特徴駅p、特徴駅q、特徴駅r、特徴駅s)、特徴駅でない駅が11個ある(駅1〜駅11)。路線が分岐する駅及び行き止まりの駅は常に特徴駅となっている。この路線網のなかで、「想定旅客」は以下のルールにしたがって自由に動く。
(ルール1)想定旅客は、最初に、ある出発駅に置かれる。
(ルール2)想定旅客は、出発駅において進める方向が複数ある場合、その方向の数に分身する。そしてそれぞれの分身がそれぞれの方向に進む。
(ルール3)想定旅客は、複数の路線に分岐する特徴駅に達すると、分岐する路線の数に分身する。そしてそれぞれの分身がそれぞれの路線を進む。
(ルール4)想定旅客は、行き止まりの駅に達した後はもと来た路線を引き返す。
(ルール5)想定旅客は、経過した駅名を経過した順に記憶する。
最初、1人の想定旅客をある駅(出発駅)に置いたのち、所定の時間が経過すると、路線網内には複数の分身が存在する。そして分身の数は時間の経過にしたがって増加して行く。例えばある出発駅からある到着駅への経路をその所要時間とともに取得するには、経路配分部22は次の処理を行う。
【0083】
図21に沿って、経路決定処理手順のステップS503の詳細を説明する。
ステップS601において、経路配分部22は、想定旅客を出発駅に置く。その後所定の時間が経過するまで想定旅客及びその分身(以下分身を含めて単に「想定旅客」という。)を自由に進ませる。例として、出発駅は
図18(a)の「駅2」であるとする。
【0084】
ステップS602において、経路配分部22は、すべての想定旅客に停止を命じる。停止を命じるタイミングは任意のタイミングでよい。
【0085】
ステップS603において、経路配分部22は、各想定旅客から想定旅客が経過した順番に記憶された駅名(「駅順リスト」という)を取得する。
【0086】
ステップS604において、経路配分部22は、駅順リストから、到達駅までの部分を取得する。例として、到着駅は「駅10」であるとする。経路配分部22は、ステップS603において取得した駅順リストのうち「駅10」が含まれていない駅順リストは廃棄する。そして、残った駅順リストのうち、初めて「駅10」に達した後の部分を削除する。このようにして取得された駅順リストは複数個存在する。その一例を挙げると「駅2→駅3→特徴駅q→駅6→駅7→駅8→特徴駅r→駅9→駅10」(
図18(b))のようになる。
【0087】
ステップS605において、経路配分部22は、出発駅→特徴駅→到着駅の組合せを作成する。具体的には、経路配分部22は、ステップS604において取得されたすべての駅順リストから、2つの特徴駅に挟まれた駅、出発駅と特徴駅に挟まれた駅、及び、到着駅と特徴駅に挟まれた駅を削除する。前記した例の駅順リストは、「駅2→特徴駅q→特徴駅r→駅10」という形にかわる。
【0088】
ステップS606において、経路配分部22は、特徴駅間の路線及び移動時間を取得する。具体的には、経路配分部22は、駅順リストに含まれる隣接して現れる2つの特徴駅の組合せを検索キーとして路線データ31(
図3(a))を検索し、該当したレコードの路線名及び移動時間を取得する。当該例では、特徴駅の組合せ「特徴駅q,特徴駅r」を検索キーとして路線名「路線F」及び移動時間「650秒」が取得されたとする。駅順リスト中に、隣接して現れる2つの特徴駅の組合せが他にも存在する場合は、同様に順にその組合せを検索キーとして次の路線名及び移動時間を取得する。
【0089】
ステップS607において、経路配分部22は、特徴駅までの路線及び所要時間を取得する。具体的には、経路配分部22は、第1に、駅順リストに含まれる出発駅の駅名及び特徴駅の駅名を検索キーとして駅データ32(
図3(b))を検索し、該当したレコードの所要時間(検索キーとした特徴駅の駅名が該当した欄の直ぐ右の所要時間)及び路線名を取得する。この例では、「駅2」及び「特徴駅q」を検索キーとして、「200秒」及び「路線G」が取得されたとする。
第2に、駅順リストに含まれる到着駅の駅名及び特徴駅の駅名を検索キーとして駅データ32(
図3(b))を検索し、該当したレコードの所要時間(検索キーとした特徴駅の駅名が該当した欄の直ぐ右の所要時間)及び路線名を取得する。この例では、「駅10」及び「特徴駅r」を検索キーとして、「150秒」及び「路線H」が取得されたとする。
【0090】
ステップS608において、経路配分部22は、経路と経路の所要時間を取得する。具体的には、経路配分部22は、第1に、ステップS606において取得された路線名(複数ある場合もある)及びステップS607において取得された路線名を組合せて経路を作成する。この例では、「路線G,路線F,路線H」が作成されることになる。
第2に、作成した経路から、路線間の乗換時間を取得する。経路中の連続する2路線をキーとして乗換時間データ33(
図3c)を検索し、各経路間の乗換時間を取得する。この例では「路線G」と「路線F」を検索キーとして乗換時間「300秒」、「路線F」と「路線H」を検索キーとして乗換時間「0秒」が取得されたとする。
第3に、ステップS606において取得された移動時間(複数の移動時間が取得されている場合はそれらの合計)にステップS607において取得された所要時間及び「第2」において取得された乗換時間を加算して経路の所要時間を取得する。この例では、200+650+150+300+0=1300秒が取得される。
第4に、「第1」において作成された経路に関連付けて「第3」において取得された経路の所要時間を一時的に主記憶装置12に記憶する。
【0091】
経路配分部22は、ステップS605〜S608の処理を、ステップS604において取得されたすべての駅順リストについて繰り返す。当該繰り返しが終了した時点で、「路線G,路線F,路線H」:「1300秒」のような経路と経路の所要時間の組合せが、所定の出発駅及び所定の到着駅の組合せについて、複数個記憶されていることになる。
【0092】
ステップS609において、経路配分部22は、経路に順位をつける。具体的には、経路配分部22は、第1に、ステップS605〜S608の繰り返し処理において取得された経路と経路の所要時間の組合せを、経路の所要時間が短い順に並べて主記憶装置12に一時的に記憶する。
第2に、経路の所要時間が最も短い経路を「平常経路」とし、他の経路については、それらのなかで経路の所要時間が短い順に「迂回経路1」、「迂回経路2」、・・・とする。
【0093】
さらに、経路配分部22は、ステップS601〜S609の処理を、ステップS502の「第2」において記憶した出発駅名と到着駅名のすべての組合せについて繰り返す。当該繰り返し処理(外側のループ)が終了した時点で、「出発駅,到着駅」の組合せに関連付けて、「平常経路、平常経路の所要時間、迂回経路1、迂回経路1の所要時間、迂回経路2、迂回経路2の所要時間、・・・」という情報が記憶されていることになる。迂回経路とその所要時間の数は、0であることもそれより多いこともある。
【0094】
ステップS610において、経路配分部22は、経路データを完成する。具体的には、経路配分部22は、ステップS502において新たに作成した経路データ44のレコードに、平常経路、平常経路の所要時間、迂回経路1、迂回経路1の所要時間、迂回経路2、迂回経路2の所要時間、・・・を、新たなレコードに既に記憶されている出発駅名及び到着駅名の組合せに関連付けて記憶する。
その後、ステップS504に戻る。
【0095】
(経路決定処理手順のステップS506の詳細)
図22に沿って、経路決定処理手順のステップS506の詳細を説明する。
ステップS701において、経路配分部22は、最適路線配分定数を取得する。具体的には、経路配分部22は、ODデータ決定処理手順のステップS407において取得されたODデータ38の日付を検索キーとして、最適路線配分定数テーブル40(
図7(b))を検索し、該当したレコードのパラメータβ
1の値、パラメータβ
2の値及びパラメータαの値を取得する。このとき取得されたパラメータの値が、(β
1,β
2,α)=(−0.004,2.2,10)であったとする。
【0096】
ステップS702において、経路配分部22は、効用を比較すべき経路を決定する。具体的には、経路配分部22は、経路データ44(
図10)の任意のレコード(「移動人数配分対象レコード」という)の、平常経路、所要時間、迂回経路(複数ある場合もある)及び迂回経路の所要時間(複数ある場合もある)を取得する。このとき取得されたレコードが、
図10の5行目のレコードであったとする。
【0097】
ステップS703において、経路配分部22は、各経路の効用を計算する。具体的には、経路配分部22は、第1に、式1のβ
1、β
2及びαに、それぞれ、ステップS701において取得したパラメータβ
1の値、パラメータβ
2の値及びパラメータαの値を代入する。式1は「U
m=−0.004×X
1m+2.2×X
2m+10」となる。
第2に、式1のX
1m及びX
2mに、それぞれ、ステップS702において取得した所要時間及び「0」を代入することによって平常経路の効用を計算する。前記の例の場合、平常経路「路線A,路線C,路線D」の効用は、−0.004×2200+2.2×0+10=1.2である。
【0098】
第3に、式1のX
1m及びX
2mに、それぞれ、ステップS702において取得した迂回経路の所要時間及び「1」を代入することによって迂回経路の効用を計算する。経路配分部22は、迂回経路が複数ある場合はそれぞれの迂回経路について「第3」の処理を実行し、迂回経路が存在しない場合は「第3」の処理を実行しない。前記の例の場合、迂回経路1「路線A,路線B,路線E,路線D」の効用は、−0.004×2550+2.2×1+10=2.0である。
【0099】
ステップS704において、経路配分部22は、各経路の選択確率を計算する。具体的には、経路配分部22は、式2を使用して平常経路の選択確率及び各迂回経路の選択確率(P)を計算する。迂回経路が存在しない場合、平常経路の選択確率は「1」である。
前記例の場合、平常経路「路線A,路線C,路線D」の選択確率は、exp(1.2)/(exp(1.2)+exp(2.0))=0.31である。迂回経路1「路線A,路線B,路線E,路線D」の選択確率は、exp(2.0)/(exp(1.2)+exp(2.0))=0.69である。
【0100】
ステップS705において、経路配分部22は、各経路に移動人数を配分する。具体的には、経路配分部22は、ОDデータ38の処理対象時間帯のレコードのうち、経路データ44の移動人数配分対象レコードの出発駅名及び到着駅名と同じ出発駅名及び到着駅名を有するレコードの移動人数を取得する。例の場合「10」が取得される。
第2に、「第1」において取得した移動人数に対して、ステップS704において取得した平常経路の選択確率及び各迂回経路の選択確率を乗算して、平常経路の移動人数及び各迂回経路の移動人数を計算する。
例の場合、平常経路の移動人数は、10×0.31=3人(少数点以下四捨五入)であり、迂回経路の移動人数は、10×0.69=7人(少数点以下四捨五入)である。
【0101】
経路配分部22は、ステップS702〜S705の処理を経路データ44(
図10)のすべてのレコードについて繰り返す。当該繰り返しが終了した時点で、出発駅名及び到着駅名のすべての組合せに関連付けて、平常経路、平常経路の移動人数、迂回経路1、迂回経路1の移動人数、迂回経路2、迂回経路2の移動人数、・・・が主記憶装置12に記憶されていることになる。迂回経路が存在しない場合は迂回経路の移動人数も存在しない。
その後、ステップS507に戻る。
なお、前記においては、各経路の効用は、式1のような所定の効用関数を用いて計算することとした。しかしながら、経路配分部22は、ユーザが各経路の効用を示す設定値を入力装置14を介して入力するのを受け付けてもよい。
【0102】
(列車割当処理手順)
図23に沿って、列車割当処理手順を説明する。
ステップS801において、列車割当部23は、旅客束データのレコードを取得する。具体的には、列車割当部23は、旅客束データ42(
図8)の最初のレコードの、時間帯、出発駅名、到着駅名、経路、及び移動人数を取得する。ここでは、例えば、1行目のレコードの「8:30-8:45」、「駅a」、「駅b」、「路線A」及び「10」が取得されたとする。
【0103】
ステップS802において、列車割当部23は、列車を取得する。具体的には、列車割当部23は、ダイヤ情報34(
図4)のなかから、以下のすべての条件を同時に満たすすべての列車を特定し、特定した列車のレコードをすべて取得する。
(条件1)路線欄132に、ステップS801において取得した経路に含まれる路線名を有すること。
(条件2)駅名欄134に、ステップS801において取得した出発駅名を有すること。
(条件3)発時刻欄136に、ステップS801において取得した時間帯に含まれる発時刻を有すること。
例の場合は、
図4の列車「1レ」及び「3レ」が特定され、
図4の1〜8行目のレコードが取得されたとする。
【0104】
ステップS803において、列車割当部23は、列車に移動人員を配分する。具体的には、列車割当部23は、第1に、ステップS802において特定された列車が出発駅を発車する発時刻と、当該列車の直前の列車が出発駅を発車する発時刻の間隔(「発車間隔」という)を取得する。例の場合、
図4には記載がないが、「1レ」の直前に駅aを「8:18」に発車する列車があったとする。そして「3レ」の直前に駅aを発車する列車は「1レ」であり、その発時刻は「8:30」である。このとき、「1レ」について12分の発車間隔が取得され、「3レ」について5分の発車間隔が取得される。
第2に、ステップS801において取得された移動人数を、発車間隔に基づき、特定された列車に配分する。例の場合、「1レ」には7人(=10×12/(12+5))の移動人数が配分され、「3レ」には3人(=10×5/(12+5))の移動人数が配分される。
【0105】
ステップS804において、列車割当部23は、乗降人数を決定する。具体的には、列車割当部23は、第1に、列車ごとかつ駅ごとに乗降人数を決定する。例の場合は、移動人数「7」が、「駅a」において「1レ」に乗車し、「駅b」において「1レ」から降車することが予測されている。このとき、「1レ」及び「駅a」に関連付けて、乗車人数、降車人数及びネット乗降人数の組合せ「7,0,7」を主記憶装置12に記憶する。そして、「1レ」及び「駅b」に関連付けて、乗車人数、降車人数及びネット乗降人数の組合せ「0,7,−7」も記憶する。同様に「1レ」及び「駅c」に関連付けて、同様の組あわせ「0,0,0」を記憶し、「1レ」及び「駅d」に関連付けて、同様の組あわせ「0,0,0」を記憶する。
【0106】
同様に、移動人数「3」が、「駅a」において「3レ」乗車し、「駅b」において「3レ」から降車することが予測されている。このとき、「3レ」及び「駅a」に関連付けて、乗車人数、降車人数及びネット乗降人数の組合せ「3,0,3」を主記憶装置12に記憶する。そして、「3レ」及び「駅b」に関連付けて、乗車人数、降車人数及びネット乗降人数の組合せ「0,3,−3」も記憶する。同様に「3レ」及び「駅c」に関連付けて、同様の組あわせ「0,0,0」を記憶し、「3レ」及び「駅d」に関連付けて、同様の組あわせ「0,0,0」を記憶する。
【0107】
列車割当部23は、ステップS801〜S804の処理を、旅客束データ42(
図8)のすべてのレコードについて繰り返す。当該繰り返しが終了した時点で、各列車の列車番号及び駅名の組合せに関連付けて、複数の(乗車人数,降車人数,ネット乗降人数)が記憶されていることになる。
【0108】
ステップS805において、列車割当部23は、旅客流動データを作成する。具体的には、列車割当部23は、ダイヤ情報34(
図4)の右に乗降人数欄227、乗車中人数欄228、迂回乗降人数欄229及び迂回乗車中人数欄230を追加して、旅客流動データ43(
図9)とする。
【0109】
ステップS806において、列車割当部23は、乗車中人数を計算する。具体的には、列車割当部23は、第1に、ステップS804において主記憶装置12に記憶された、「乗車人数,降車人数,ネット乗降人数」の複数の組を、同じ列車番号及び駅名に関連付けられているもの同士で合計し、旅客流動データ43(
図9)の当該列車番号及び駅名を有するレコードの乗降人数欄227に、合計した結果を記憶する。
第2に、列車ごとに、乗車中人数欄228を埋める。始発駅のレコードにおいては、乗降人数欄227に記憶されているネット乗降人数を乗車中人数として記憶する。以降の駅のレコードにおいては、直前のレコードの乗車中人数に、当該レコードのネット乗降人数を加算した数を乗車中人数として記憶する。
【0110】
ステップS807において、列車割当部23は、迂回乗車中人数を計算する。具体的には、列車割当部23は、第1に、ステップS804において主記憶装置12に記憶された「乗車人数,降車人数,ネット乗降人数」の複数の組のうち、迂回フラグが「ON」である旅客束データ42のレコードについて処理されたもののみを、同じ列車番号及び駅名に関連付けられているもの同士で合計し、旅客流動データ43の当該列車番号及び駅名を有するレコードの迂回乗降人数欄229に、合計した結果を記憶する。
第2に、列車ごとに、迂回乗車中人数欄230を埋める。始発駅のレコードにおいては、迂回乗降人数欄229に記憶されているネット乗降人数を迂回乗車中人数として記憶する。以降の駅のレコードにおいては、直前のレコードの迂回乗車中人数に、当該レコードのネット乗降人数を加算した数を迂回乗車中人数として記憶する。
【0111】
次のステップの説明を行う前に、
図15(a)、
図15(b)、
図16(a)及び
図16(b)に沿って、旅客流動データ43の表示例を説明する。これらの図において、横軸は時刻であり、縦軸は終着駅(駅d)からの距離である。各駅の終着駅からの距離に相当する水準に水平線281〜284が引かれている。これらの水平線281〜284は各駅を表している。ある列車を、時刻とその時刻における位置(終着駅からの距離)を座標値とする点の動きとして表すと、駅aから駅dに向かう列車は右下がりの直線として表され、駅dから駅aに向かう列車は右下がりの直線として表される。実際の列車運行においては、列車ごと駅間ごとに速度も異なり、各駅での停車時間もまちまちであり、列車間の発車間隔もまちまちである。しかしながら、
図15(a)ほかでは、説明の単純化のために、すべての駅間の距離、すべての列車間の発車間隔は等しく、すべての列車は常に同じ速度で走行するものとし、各駅での停車時間は捨象する。つまり、各列車は、駅aと駅dとの間の同じ傾きの直線として表される。垂直に引かれている太い破線275は現在時刻を表す。
【0112】
図15(a)及び
図15(b)では、列車を表す直線(例えば符号286)は、駅を表す水平線281〜284によって複数の線分に区切られる。各線分は当該駅間での乗車人数を表す太さ(符号287a他。太い実線と細い破線との間にドットを記して表した)を有する。なお、直前の列車との発車間隔が大きくなると、当該列車に旅客が集中する結果、当該列車の線分はより太くなる(
図15(b)の符号287b)。なお、図では、ある列車を示す直線について、すべての駅間で太さが同じように表示されているが、太さは、駅間ごとに(線分ごとに)定義されるものである。
【0113】
図16(a)及び
図16(b)では、駅を表す水平線281〜284は、列車を表す直線(例えば符号286)によって複数の線分に区切られる。当該線分の上又は下に、時間の進行とともに斜辺が立ちあがる(又は下がる)直角三角形(例えば符号288a)が表示されている。当該直角三角形の縦軸方向の高さは、次の列車に乗車するために、各駅において待っている旅客の人数(「駅待機人数」という)を表す。そして、駅を表す水平線281〜284の下側の直角三角形の高さは、駅aから駅dに向かう列車の駅待機人数を表し、上側の直角三角形の高さは、駅dから駅aに向かう列車の駅待機人数を表す。なお、直前の列車との間隔が大きくなると、当該列車に旅客が集中する結果、当該列車の直角三角形はより高くなる(
図16(b)の符号288b)。
【0114】
ステップS808において、列車割当部23は、乗車中人数を表示する。具体的には、列車割当部23は、「列車乗車人数表示」ボタン292を「ON」にするユーザからの指示を受け付けると、第1に、旅客流動データ43(
図9)からある列車番号を有する複数のレコードを取得し、これらのレコードの駅名、発時刻及び乗車中人数を取得する。そして、各駅名を示す各水平線上に、当該駅名に対応する発時刻を表す点をプロットし、点同士を線分で結ぶ。次に、各線分に、対応する乗車中人数に比例する第1の太さを付加する(
図17(a)の例えば符号293a)。
【0115】
第2に、旅客流動データ43(
図9)から当該列車番号を有する複数のレコードを取得し、これらのレコードの駅名、発時刻及び迂回乗車中人数を取得する。そして、各駅名を示す各水平線上に、当該駅名に対応する発時刻を表す点をプロットし、点同士を線分で結ぶ。次に、各線分に、対応する迂回乗車中人数に比例する第2の太さを付加する(
図17(a)の例えば符号293b)。
図17(a)においては、各線分に、第1の太さ及び第2の太さが付加されている。第2の太さ293bは、迂回した結果当該列車に乗車することになる旅客の人数を示しており、第1の太さ293aの内数である。
【0116】
ステップS809において、列車割当部23は、駅待機人数を表示する。列車割当部23は、「駅待機人数表示」ボタン291を「ON」にするユーザからの指示を受け付けると、第1に、旅客流動データ43(
図9)からある列車番号を有する複数のレコードを取得し、これらのレコードの駅名、発時刻及び乗降人数を取得する。そして、各駅名を示す各水平線281〜284上の発時刻を表す点を起点として、当該駅名に対応する乗降人数のうちの「乗車人数」を表す線分を真上に立ち上げる(又は真下に立ち下げる)。さらに、当該立ち上げた(又は下げた)線分の終点から、当該駅を表す水平線281〜284上の直前の列車の発時刻を表す点に向かって線分を記載して、第1の直角三角形を完成させる(
図17(b)の例えば符号294aを高さとする直角三角形)。
「列車乗車人数表示」ボタン292を「ON(OFF)」にすると、「駅待機人数表示」ボタン291は自動的に「OFF(ON)」に切り替わるものとする。
【0117】
第2に、旅客流動データ43(
図9)から当該列車番号を有する複数のレコードを取得し、これらのレコードの駅名、発時刻及び迂回乗降人数を取得する。そして、各駅名を示す各水平線281〜284上の発時刻を表す点を起点として、当該駅名に対応する乗車人数(前記「第1」において取得したもの)から当該駅名に対応する迂回乗降人数のうちの「迂回乗車人数」控除した値を表す線分を真上に立ち上げる(又は真下に立ち下げる)。さらに、当該立ち上げた(又は下げた)線分の終点から、当該駅を表す水平線281〜284上の直前の列車の発時刻を表す点に向かって線分を記載して、第2の直角三角形を完成させる(
図17(b)の例えば符号294bを高さとする直角三角形)。
図17(b)においては、第1の直角三角形と第2の直角三角形が重ねて表示されている。第1の直角三角形の高さ294aと第2の直角三角形の高さ294bとの差は、迂回した結果当該列車に乗車することになる駅待機人数を示しており、第1の直角三角形の高さ294aの内数である。
その後、列車割当処理手順を終了する。
【0118】
(経路配分定数学習処理手順)
図24に沿って、経路配分定数学習処理手順を説明する。
ステップS901において、経路配分定数事前評価部24は、ある日付を有するODデータをすべて取得する。なお、ある日付を「学習基準日」と呼ぶ。
【0119】
ステップS902において、経路配分定数事前評価部24は、1組の経路配分定数を取得する。具体的には、経路配分定数事前評価部24は、経路配分定数表39(
図7(a))から、未処理のレコードのうち番号が最も若いレコードの、パラメータβ
1の値、パラメータβ
2の値及びパラメータαの値の組合せを取得する。
【0120】
ステップS903において、経路配分部22は、経路決定処理手順のステップS501〜S508の処理を実行する。各ステップの処理については前記した通りである。
但し、ステップS501の処理については「ステップS501において、経路配分部22は、ODデータのレコードを取得する。具体的には、経路配分部22は、ステップS901において取得されたすべてのODデータから、最も早い時間帯(「処理対象時間帯」という)のレコードを取得する。」と読み替える。
さらに、ステップS506の詳細であるステップS701の処理については、「ステップS701において、経路配分部22は、最適路線配分定数の候補を取得する。具体的には、経路配分部22は、ステップS902において取得されたパラメータβ
1の値、パラメータβ
2の値及びパラメータαの値の組合せを、そのまま最適路線配分定数の候補とする。このとき取得されたパラメータの値が、(β
1,β
2,α)=(−0.004,2.2,10)であったとする。」と読み替える。
【0121】
ステップS904において、列車割当部23は、列車割当処理手順のステップS801〜S807の処理を実行する。
この段階で、学習基準日についての旅客流動データ43が完成していることになる。
【0122】
ステップS905において、経路配分定数事前評価部24は、評価ポイントを決定する。評価ポイントは、例えば、ある列車がある駅を出発した直後の乗車人数のように、旅客流動データ43の値(予測値)と、列車乗車人数データ35(
図5(a))又はカメラ計測データ36(
図5(b))の値(実測値)とが比較できるような項目であれば何でもよい。経路配分定数事前評価部24は、ユーザの指定を受け付けることによって、評価ポイントを決定してもよいが、評価ポイントの数は多ければ多いほど、処理時間を要する代わりに、最適路線配分定数の統計的信頼性は高まる。
ここでは、すべての列車の始発駅における乗車人数を評価ポイントとして決定したものとし、その前提で以下の処理の説明をする。
【0123】
ステップS906において、経路配分定数事前評価部24は、予測値と実測値とを比較する。具体的には、経路配分定数事前評価部24は、第1に、旅客流動データ43のレコードのうち、着時刻欄225が空欄であるレコードの、列車番号、駅名及び乗車人数の組合せを取得する。当該組合せは列車番号の数だけ取得される。
図9を例に取れば、「1レ、駅a、400」及び「3レ、駅a、200」が取得される。
第2に、学習基準日を有する列車乗車人数データ35(
図5(a))を取得する。そして「第1」において取得された組合せの列車番号及び駅名を検索キーとして、取得された列車乗車データ35を検索し、該当したレコードの乗車人数を取得する。例の場合は、「1レ、駅a、400」については「974」が取得され、「3レ、駅a、200」については「300」が取得されたものとする。
第3に、予測値と実測値の差の2乗和を計算する。例の場合は(400−974)
2+(200−300)
2を計算し、その値を予測誤差とする。
第4に、ステップS902において取得した経路配分定数に関連付けて、予測誤差を主記憶装置12に記憶する。
【0124】
経路配分定数事前評価部24は、ステップS902〜S906の処理を経路配分定数表39(
図7(a))のすべてのレコードについて繰り返す。
【0125】
ステップS907において、経路配分定数事前評価部24は、最適経路配分定数を決定する。具体的には、経路配分定数事前評価部24は、最小の予測誤差に関連付けられた経路配分定数を、最適経路配分定数として決定する。そして、最適経路配分定数テーブル40(
図7(b))の新たなレコードを作成し、日付欄191に学習基準日を記憶し、β
1欄192、β
2欄193及びα欄194に最適経路配分定数の各値を記憶し、予測誤差欄195に最小の予測誤差を記憶する。
【0126】
経路配分定数事前評価部24は、ステップS901〜S907の処理をすべて過去の日付について繰り返す。
その後、経路配分定数学習処理手順を終了する。
【0127】
(変形例1)
前記した例の他にも、評価ポイントの例はある。例えば、経路配分定数事前評価部24は、ステップS905において、すべての駅でのある時刻における駅待機人数を評価ポイントとして決定しともよい。
この場合、ステップS906の処理については、『ステップS906において、経路配分定数事前評価部24は、第1に、旅客流動データ43のレコードのうち、発時刻がある時刻の前であり当該時刻に最も近い時刻であるすべてのレコードの、駅名、発時刻、及び、乗降人数のうちの乗車人数の組合せを各駅について取得する。
図9を例に取れば、ある時刻が「8:40」であるとすると、「駅a、8:35、200」及び「駅b、8:37、100」が取得される。
第2に、学習基準日を有するカメラ計測データ36(
図5(b))を取得する。そして「第1」において取得された駅名を含む観測場所、及び、「第1」において取得された発時刻を含む時間帯を検索キーとして、カメラ計測データ36を検索し、該当したレコードの人数を取得する。例の場合は、「駅a、8:35、200」については「150」が取得され、「駅b、8:37、100」については「170」が取得されたものとする。
第3に、予測値と実測値の差の2乗和を計算する。例の場合は(200−150)
2+(100−170)
2を計算し、その値を予測誤差とする。
第4に、ステップS902において取得した経路配分定数に関連付けて、予測誤差を主記憶装置12に記憶する。』と読み替える。
【0128】
(変形例2)
最適経路配分定数テーブル40(
図7(b))の予測誤差欄195の右側に、さらに、検索条件1欄196、検索条件2欄197、・・・を設けてもよい。
例えば、検索条件1欄196には、当該日付の天候を、「雨」、「雪」のように記憶し、検索条件2欄197には、当該日付における遅延路線名を記憶してもよい。
ステップS701において、経路配分部22は、ユーザが当日の天候及び/又は当日の遅延路線名を入力するのを受け付け、受け付けた天候及び/又は当日の遅延路線名を検索キーとして、最適経路配分定数テーブル40を検索し、該当したレコードの最適路線配分定数を取得することにしてもよい。該当したレコードが複数ある場合は、各パラメータ値の平均値を最適路線配分定数としてもよい。
【0129】
さらに、列車乗車人数データ35(
図5(a))又はカメラ計測データ36(
図5(b))を、当日の一部分(例えば午前中のみ)について使用可能な状態で補助記憶装置13に格納してもよい。そして、ステップS701において、経路配分部22は、当日の列車乗車人数データ35又はカメラ計測データ36と、過去の列車乗車人数データ35又はカメラ計測データ36とを、ОDデータ決定処理手順において説明した方法と同様にして比較し、当日の列車乗車人数データ35又はカメラ計測データ36に最も近似する過去の列車乗車人数データ35又はカメラ計測データ36の日付を取得するようにしてもよい。そして、当該取得した日付を検索キーとして最適経路配分定数テーブル40を検索し、該当したレコードの最適路線配分定数を取得することにしてもよい。
【0130】
本発明は、前記した実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で、変更実施が可能である。