Content uploaded by Toru Seo
Author content
All content in this area was uploaded by Toru Seo on Sep 29, 2017
Content may be subject to copyright.
Kinematic Wave 理論の近年の展開:
基礎理論の実装例とその解説
瀬尾亨 ∗
2017 年9月29 日
目 次
1はじめに 1
2 Cell Transmission Model 2
2.1 ファイルの読み方 ..................................... 2
2.2 モデル ........................................... 2
2.3 演習 ............................................ 3
3 Variational Theory 4
3.1 ファイルの読み方 ..................................... 5
3.2 モデル ........................................... 5
3.3 演習 ............................................ 6
4追従モデル 7
4.1 ファイルの読み方 ..................................... 7
4.2 モデル ........................................... 8
4.3 演習 ............................................ 9
5セルオートマトン 10
5.1 ファイルの読み方 ..................................... 10
5.2 モデル ........................................... 10
5.3 演習 ............................................ 13
1はじめに
本稿は,雑誌『交通工学』第 52 巻4号の特集「マクロ交通流理論の最前線と実務への応用」(交通工
学研究会,2017)に関連する練習問題の解説です.本特集で紹介した理論のいくつかについて,Excel
上での実装とその解説を述べています.
紹介した理論の詳細については『交通工学』の特集記事 (和田,2017;瀬尾,2017),土木学会論
文集のサーベイ論文 (和田ら,2017, in press),ResearchGate のワーキングペーパー (和田ら,2017)
(https://www.researchgate.net/publication/313985673),および各理論の原著論文をお読みください.ま
た,ReseachGate のプロジェクトページ(https://www.researchgate.net/project/Kinematic-Wave-Models-
A-Survey)にも関連する情報が記載されています.合わせてご覧ください.
∗東京工業大学 研究員・ミシガン大学 研究員
1
2 Cell Transmission Model
和 田 (2017)で紹介された Cell Transmission Model(CTM)(Daganzo,1994;Lebacque,
1996)の例を解説する.CTM は比較的簡単な構造のためわかりやすく扱いやすい一方,
数値誤差が避けられず精度には限界がある.使用する Excel ファイ ル 01_CTM.xlsx は
https://www.researchgate.net/publication/320087087_Cell_Transmission_Model か ら ダ ウ ン ロ ー ド
できる.
2.1 ファイルの読み方
Excel ファイル 01_CTM.xlsx を開くと図2.1 のようになっている.左側にモデルパラメータ(u,w,
κ)及びモデルの特徴量(kcrit,qmax)が示されており,右側に密度 kの時空間図が表示されている.
時空間図では,横軸が時間,縦軸が空間,右ほど将来,上ほど下流を意味しており,単位は 1列当た
り時間 1 time,1行あたり空間 1 cell である.各セルは密度の大小によって色分けされており,赤い
ほど密度が高いことを意味している.時空間図の一番左の列は初期条件,一番上と下の行は境界条
件であり,その内部が CTM の計算結果である.
図2.1: ファイル 01_CTM.xlsx の内容
太枠で囲まれた部分は編集可能なセルである*1.すなわち,モデルパラメータと初期・境界条件は
自由に変更でき,それに応じて計算結果が変わるようになっている.
2.2 モデル
Fundamental Diagram (FD)を自由流速度 u,渋滞後進波速度 w,渋滞密度 κからなる三角形 FD
とする(図2.2).時空間を時間幅 ∆t,空間幅 ∆xで離散化(セル化)し,タイムステップ iにおける
セル j内の平均密度 ki
jを考える.ki
j≃k(i∆t, j∆x)である.ただし,数値不安定性を抑えるために
∆x≤u∆tは満たす必要があり,∆x=u∆tとするのが望ましい(詳しくは後述).このとき,CTM
の式は
ki
j=ki−1
j+∆t
∆xyi−1
j−1−yi−1
j(2.1a)
yi
j= min uki
j, qmax, w(κ−ki
j+1)(2.1b)
と表される*2.ここに yi
jはタイムステップ iにセル jから流出する車両数,qmax は交通容量 uwκ/(u+w)
である.
*1もちろん,ほかのセルを編集してモデルを改良することもできるが,本稿では扱わない.
*2式(2.1)は数値流体力学の分野で極めて有名な Godunov 法(Godunov,1959)の一種であり,yはGodunov フラックス
と名付けられている.Daganzo (1994)は本手法を Godunov (1959)とは独立に考案したようであり,Lebacque (1996)が
Godunov 法との関係を明確にした.
2
図2.2: 三角形 FD
式(2.1)の意味を簡単に復習しよう.図2.3 にCTM の模式図を示す.式 (2.1a)は,時刻 iにおける
セル j内の車両数(密度)は,【一時刻前の車両数】+【上流から受け入れた車両数】−【下流へ送り
出した車両数】になる,ということを意味している.式 (2.1b)は時刻 iにセル jから送り出す車両数
である.min 内の第一項目はセル jから送り出し可能な最大数を意味しており,これが実際に送り出
された場合には交通流は自由流状態にある.第三項目はセル j+ 1 が受け入れ可能な最大数である.
これがセル jから送り出し可能な数を下回っていた場合には,受け入れられなかった交通流はセル j
にとどまり,渋滞状態となる.第二項目は臨界状態を意味する.
図2.3: CTM の模式図
Excel シートを見てみよう.ここでは,離散化幅は扱いやすさのため ∆t= 1 (time),∆x= 1 (cell)
としてある.タイムステップ S,位置 9であるセル S9 の式は
S9 = R9+MIN(R10*$C$3, $C$8, $C$4*($C$5-R9))-MIN(R9*$C$3, $C$8, $C$4*($C$5-R8))
となっている.これは数式で書くと
kS
9=kR
9+ min ukR
10, qmax , w(κ−kR
9)−min ukR
9, qmax, w(κ−kR
8)(2.2)
であり,要するに式 (2.1)である.なお,空間を意味する下添え字の値は,Excel では小さいほど下流
であり式 (2.1)とは見かけ上逆転している点に注意.
2.3 演習
ファイルの初期設定では,臨海密度は 3 veh/cell になっている.つまり,密度が 3未満であれば自
由流状態,超えていれば渋滞状態となる.境界条件を見ると,上流側からは最初は 1 veh/cell の交通
3
流が流入し,途中で 3 veh/cell に増加し,1 veh/cell に戻り,最後に 0 veh/cell になっている.下流側
では,最初は 0 veh/cell,すなわち自由流状態であり上流から送り出される車両を制限なく受け取れ
る状態になっているが,途中から渋滞密度と同じ 9 veh/cell,すなわち飽和状態であり受け入れ可能
数がゼロの状態に変化する.その結果,下流側で渋滞が発生し,延伸したのち解消する交通状態が
計算されている.
境界条件を変更してみよう.下流側の 9 veh/cell となっている部分を 9未満の値に変更すると,渋
滞の延伸が遅くなる(濃赤と赤の境界の傾きが小さくなる)・渋滞が無くなることがわかる.上流側
の1 veh/cell となっている部分をより大きな値に変更すると,渋滞の延伸が速くなることがわかる.
次に,モデルパラメータを変更してみよう.自由流速度を 1 cell/time 未満の値にすると,自由流状
態の交通流が進むのが遅くなる(薄赤と白の境界の傾きが小さくなる)ことがわかる.後進波速度
の値を 0.5 cell/time より大きくすると渋滞の延伸が速くなり,渋滞密度の値を大きくすると渋滞の延
伸が小さくなることがわかる.
気づかれた読者もおられるかもしれないが,自由流速度や後進波速度を 1 cell/time より大きくする
と,計算結果が明らかに異常な挙動(例:負の密度)を示す.これは数値的不安定性として知られる
現象である.CTM のような差分法の計算法は,基本的に数値誤差が生じることが避けられない.通
常であればその数値誤差は計算結果に壊滅的な影響を及ぼさないが,「ある条件」を破ると数値誤差
が時間とともに増幅し異常な結果を出力してしまう.この「ある条件」は Courant–Friedrichs–Lewy
(CFL)条件として知られ,CTM の場合 u≤∆x/∆tかつ w≤∆x/∆t(本ファイルでは ∆x/∆t= 1)
である*3.
より細かい点として,ファイルの初期設定では,前進波の境界部分(薄赤と白の境界)はくっきり
しているのに,後進波の境界部分(濃赤と赤の境界)は時間とともにぼやけてしまっている(図2.4).
KW モデルの解析解では衝撃波がぼやけるということはないので,後進波では数値誤差が生じてい
るのである.これは数値拡散として知られる.CTM の場合,前進波は u̸= ∆x/∆tの場合,後進波
はw̸= ∆x/∆tの場合にそれぞれ数値拡散が生じる*4.試しに自由流速度を 0.5 cell/time とすると前
進波がぼやけ,後進波速度を 1 cell/time とすると後進波がくっきりすることがわかる.
(a) 前進波:拡散なし (b) 後進波:拡散あり
図2.4: 数値拡散の例
数値的安定性を確保し,かつ数値拡散を最小限に抑えるため,CTM では離散化幅を u= ∆x/∆t
を満たすように設定することが推奨されている.この場合,現実的な交通では u > w であるため,
CFL 条件は満たされ前進波が正確になるものの,後進波には数値拡散が生じることが避けられない.
これは渋滞末尾の位置を正確に予測できないことを意味しており,実用上問題になりうる.
3 Variational Theory
和田 (2017)で紹介された Variational Theory(VT)(Daganzo,2005a,b,2006b)のうち離散化 VT の
*3直感的には「物理現象の伝播が単位時間当たりに 1セルを超えてしまうと数値的に不安定になる」といえる.
*4直感的には「物理現象の伝播が単位時間当たりに 1セルではないと数値拡散が生じる」といえる.
4
例を解説する.離散化 VT は厳密解を正確に求められ,かつ計算効率が良い.使用する Excel ファイ
ル02_VT.xlsx はhttps://www.researchgate.net/publication/320086980_Variational_Theory からダウン
ロードできる.
3.1 ファイルの読み方
Excel ファイル 02_VT.xlsx を開くと図3.1 のようになっている.左側にモデルパラメータ(u,w,
κ)及びモデルの特徴量が示されており,右側に流率の境界条件,累積台数 Nおよび密度 kの時空
間図が表示されている.各セルは累積台数あるいは密度の大小によって色分けされており,累積台
数の場合青いほど値が大きく,密度の場合赤いほど密度が高いことを意味している.
図3.1: ファイル 02_VT.xlsx の内容
右側は,上段の入力された境界条件に基づき中段の累積台数を計算し,下段の密度へと変換する
形態となっている.VT の計算結果自体は累積台数である.境界条件を流率で与える形としたのは,
累積台数を手入力するのは煩雑なためである.密度を表示しているのは,交通状態を直感的に分か
り易くし CTM と比較するためである.
CTM と同様,太枠で囲まれた部分は編集可能なセルである.Excel ファイルを簡潔にする都合上,
自由流速度は 1 cell/time に固定してある.
3.2 モデル
離散化した VT(いわゆる VT ネットワーク上の最短経路探索問題としての VT)を考える.FD を
いつもの u,w,κで定まる三角形 FD とし,離散化幅は時間 ∆x,空間 ∆xとする.ただし,数値誤
差を避けるために u/w は整数,∆x=u∆tとする.すると,時刻 i∆x,位置 j∆xにおける累積台数
Ni
jはVT により
Ni
j= min Ni−1
j−1, N i−θ
j+1 +c(3.1)
と決定できる.ここに,θ=u/w,c= (1 + w/u)qmax /w である.
式(3.1)の意味を簡単に復習しよう.VT の模式図を図3.2 に示す*5.式の min 内の第一項目は,上
流部から自由流速度 uで交通流が進んだとしたときの累積台数を意味する.一方の第二項目は,下
*5CTM(脚注*3,*4)と対比すると,前進波・後進波ともに情報伝播速度と物理的現象の伝播速度が一致していること
がわかる.そのため,本アルゴリズムは数値誤差なく厳密解を計算できるといえる.
5
流部が渋滞していたと仮定したときに,直下流地点の累積台数と「直下流地点とこの地点の間に溜
まっている車両数」を足したものである.
図3.2: VT の模式図
セル S19 の内容を見てみると
S19 = MIN(R20,OFFSET(S18,0,-$C$9)+$C$10/$C$4)
となっている.これは数式で書くと
NS
19 = min NR
20, N S−θ
18 +c(3.2)
であり,要するに式 (3.1)である.
下段のセル S38 の内容を見てみると,
S38=(S20-S19)
となっている.これは数式で書くと
kS
38 =NS
20 −NS
19
∆x(3.3)
であり(ただし Excel の例では ∆x= 1),累積台数を空間方向に数値微分して密度を計算している.
密度と累積台数の理論的関係 k(t, x) = −∂N (t, x)/∂x を思い起こされたい.
3.3 演習
境界条件変更を変更してみよう.流入・流出量を適当に変更すると,それに応じて渋滞の延伸パ
ターンが変化することがわかる.
パラメータを変更する場合も,渋滞の延伸パターンが変化する.ただし,u/w 比は整数に保つ必
要がある.非整数となった場合,計算結果には誤差が含まれてしまう(数値的不安定性・拡散と異な
り見た目ではわかりにくいが).
さて,CTM と大きく異なる点に気づかれただろうか.すなわち,VT ではパラメータの値によら
ず数値拡散が生じないのである.前述したとおり,これは VT の大きな利点である.
最後に,VT の計算結果に基づき流入・流出曲線を描いてみよう(方法は読者への宿題とする).
図3.3 のようなものが得られるだろう.信号の分析などでよく知られているように,流入曲線と流出
曲線に挟まれた領域の縦方向の距離は渋滞待ち台数,横方向の距離は渋滞待ち時間,面積は総遅れ
時間となる.CTM と比較し,任意の二地点間の実旅行時間を正確に計算できる点も便利である.
6
図3.3: 流入・流出曲線の例
4追従モデル
瀬尾 (2017)で紹介され た Xモデル (Newell,2002;Daganzo,2006b)の例を解説す る.これ
は追従モデルとしての KW モデル であり,KW モデルのミクロ的解釈がよくわかるほか,離
散化 VT の一種であるため厳密解を求められる.使用する Excel ファイル 03_Xmodel.xlsx は
https://www.researchgate.net/publication/320086985_Car_following_model からダウンロードできる.
4.1 ファイルの読み方
Excel ファイル 03_Xmodel.xlsx を開くと図4.1 のようになっている.左側にモデルパラメータ(u,
w,κ,∆n)及びモデルの特徴量が示されており,右側に速度の境界条件,車間距離の初期条件,車
両位置 Xおよび速度 vの時間–累積台数図が表示されている.各時間–累積台数図では,横軸が時間,
縦軸が累積台数(車両番号とも解釈できる),右ほど将来,上ほど後続車両を意味している.各セル
は車両位置あるいは速度の大小によって色分けされており,車両位置の場合緑が濃いほど値が大き
く,速度の場合青いほど速く赤いほど遅いことを意味している.
図4.1: ファイル 03_Xmodel.xlsx の内容
右側は,入力された初期・境界条件に基づき上段の車両位置を計算し,下段の速度へと変換する形
態となっている.Xモデルの計算結果自体は車両位置である.初期・境界条件を車間距離・速度で与
7
える形としたのは,車両位置を手入力するのは煩雑なためである.速度を表示しているのは,交通
状態を直感的に分かり易くするためである.
なお,モデルの都合上,これまでのファイルとは異なり時間幅 ∆tが1単位であるとは限らない点
に注意されたい.実際の時間軸は右側上段の車両位置図の直下に示されている.
編集してよい場所はこれまで通り太枠で囲まれた部分であり,モデルパラメータと初期・境界条件
が設定できる.
4.2 モデル
Xモデルでは車両 nの時刻 tにおける位置 X(t, n)が計算される.例えば,
X(t, n) = min X(t−∆t, n) + θ∆x,
X(t−∆t, n −∆n)−∆x(4.1)
と表される.ただし,∆n=κ∆x,∆t= ∆x/w,θ=u/w である.交通工学の特集 (瀬尾,2017)で
紹介した式
X(t, n) = min X(t−τ, n) + uτ,
X(t−τ, n −1) −1/κ (4.2)
(ただし τ= 1/(wκ))とは若干見た目が異なるが,意味は同じである.また,適当に変数を代入すれ
ば互いに等価であることが確かめられる.
式(4.2)の意味を復習すると,車両 n−1の全軌跡(X(t, n −1))とそれを追従する車両車両 nの初
期位置(X(0, n))が与えられたときに車両 nの軌跡を決定する問題である.min 内の第 1項は,車
両nが,τ時間前の位置から自由流速度 uで移動した位置を示す.一方の第 2項は,車両 nの先行車
両の τ時間前の位置よりも最小車頭距離 1/κ だけ後ろの位置を示す.よって,これら二項の最小値
を取るということは,車両は可能な限り速く走るが,先行車両との安全間隔は確保しなければなら
ないことを意味している.以上の解釈を図4.2 に図示する.
式(4.1)と式 (4.2)の違いを簡単に説明する.式 (4.2)は車両 1台1台の軌跡を全て計算していたが,
式(4.1)は車両の離散幅 ∆nを自由に選択できるようになっている.つまり,より大規模な交通流を
効率よく計算できるといえる.
図4.2: Xモデルの模式図
セル S19 の内容を見てみると
S19=MIN(R19+$C$10*$C$12, R20-$C$12)
となっており,要するに式 (4.1)である.
下段のセル S42 の内容を見てみると,
8
S42=(S19-R19)/$C$11
となっている.これは数式で書くと
vS
42 =XS
19 −XR
19
∆t(4.3)
であり,車両位置を時間方向に数値微分して速度を計算している.速度と車両位置の関係 v(t, n) =
∂X (t, n)/∂t を思い起こされたい.
4.3 演習
ファイルの初期設定では,初期条件である時刻 0の車両位置として上流から順番に疎・臨界状態・
疎な車両の並び方が与えられている.そして,境界条件である 1台目の車両軌跡として,最初は自
由流走行だが途中で減速・停止し最後は自由走行を再開するものが与えられている.その結果,2台
目以降の車両軌跡が計算され,左側上段で X(t, n)の値が表(時間–累積台数図とも呼べる)として
羅列されている.
まず,時空間図上の車両軌跡を描いてみよう.これにより CTM やVT との比較が容易になる.具
体的な方法は読者への宿題とするが,簡単にいうと時間と車両位置の散布図を作ればよい.例えば
図4.3 のようになる*6.1台目の車両が途中で減速・停止・再発進し,その結果渋滞が発生している
のがわかる.また,後続車両一台一台に着目すると(例えば,図4.3 の1台目の直後続車両である緑
色がわかりやすい),車間距離が大きいときは高速(軌跡の傾きが大きい)だが,ある程度以上詰ま
ると減速し,最終的に停止する挙動がわかるだろう.時間–累積台数図も,時空間図とは座標が入れ
替わっているため読みにくいかもしれないが,よく読めば同じ交通流を表現していることがわかる.
図4.3: 時空間図上の車両軌跡の例
境界条件変更を変更してみよう.初期車両位置を変更すると,当然車両の並びとその結果生じる
渋滞パターンが変化する.1台目の車両軌跡を変更すると,後続車両の挙動が変化する.
*6Excel 上で手作業で散布図を作るのは手間がかかるので,マクロを使ったり特定の車両だけを抽出して描くと良いだろ
う.
9
パラメータを変更した場合も,それに応じて交通流の挙動が変化することがわかる.∆nを大きく
すると,より多数の車両からなり時間的・空間的に広範囲にわたる交通流をきちんと計算できてい
ることがわかる.この場合,∆nに1台の車両軌跡だけが計算されている.
本モデルは VT の一種なので,厳密解を計算できる.そのため,CTM と異なり数値拡散が存在し
ない.また,うまくモデルパラメータと初期・境界条件を選ぶと,前回計算した VT の累積図と等価
な車両軌跡が得られる.
5セルオートマトン
瀬尾 (2017)で簡潔に紹介されたセルオートマ ト ン(CA)としての KW モデル (Daganzo,
2006a,b)の例を解説する.これは Xモデルと同様に追従モデルとしての KW モデルであ り,
KW モデルのミクロ的解釈がよくわかるほか,離散化 VT の一種であるため厳密解を求めら
れる.また,計算機で非 常 に 効 率 的 に 計 算 で き る .使 用 す る Excel ファイ ル 04_CA.xlsx は
https://www.researchgate.net/publication/320087297_Cellular_automaton からダウンロードできる.
5.1 ファイルの読み方
Excel ファイル 04_CA.xlsx を開くと図5.1 のようになっている.今回はファイルを簡潔にする都
合上モデルパラメータは固定(u= 1 (cell/time),w= 0.5(cell/time),κ= 1 (cell/veh))されており,
車両有無を表す時空間図のみが表示されている.
図5.1: ファイル 04_CA.xlsx の内容
時空間図では,セルの値が 1のときその時刻・位置に車両が存在し,0のとき存在しないことを意
味している.
編集してよい場所は太枠で囲まれた部分であり,初期・境界条件が設定できる.
5.2 モデル
KW モデルの CA 版である CA(L) と呼ばれるモデル (Daganzo,2006a)について解説する.括弧の
中の LはLinear:線形の略であり,区分線形曲線である三角形 FD を意味している.なお,説明およ
びExcel ファイルを簡潔にするため,θ=u/w = 2 のときのみを考える*7.
セルオートマトンのセル状態遷移規則は一般に「あるタイムステップにおけるあるセルの状態 zi
j
は,その一タイムステップ前における近傍セルの状態 (. . . , zi−1
j−1, zi−1
j, zi−1
j+1, . . .)によってある値に定
まる」と表現される.
*7なお,θ= 1 のとき,CA(L) は「初等 CA の規則 184(Wolfram,1983)」と呼ばれる物理学分野で有名な CA と等価
となる.CA(L) に有限加速度を組み込んで拡張すると同じく物理学分野で有名な Nagel–Schleckenbelg モデル (Nagel and
Schreckenberg,1992)となる.これらは交通工学における KW 理論とは独立に発展してきた研究であり,VT の考案により
KW 理論との関係が明確となった (Daganzo,2006a).
10
CA(L) のセル状態遷移規則をいくつか可視化し,交通工学的解釈を重ね合わせると図5.2 となる.
ここで,zi
j= 1 ならば時刻 iのセル jに車両が存在し,0のとき存在しないと解釈する.この時,車
両挙動は前方が 2マス以上開いていれば 2マス前進し,空いていなければ進めるところまで進んで
停止する,と解釈できる.前者は自由流速度 2マス/タイムステップの自由流状態に相当し,後者は
渋滞状態に相当する.
図5.2: θ= 2 のときの CA のルールの例.左:自由流状態.左中:自由流状態(素通り),右中:渋
滞状態(低速),右:渋滞状態(停止)
全ての組合せ(4つのセルそれぞれが 0か1の2通りの状態を取るので,計 24= 16 通り)を列挙
し,ルールを一覧すると図5.3 となる.
0
00
0
0
0
01
0
1
0
00
1
0
0
00
1
1
0
10
0
0
0
10
0
1
0
10
1
0
0
10
1
1
1
00
0
0
1
01
0
1
1
01
1
0
1
01
1
1
1
11
0
0
1
11
0
1
1
11
1
0
1
11
1
1
図5.3: θ= 2 のときの CA のルール一覧
11
図5.3 のルールを数式で表現すると
zn
j=
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,0,0,0)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,0,0,0)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,1,0,0)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,0,1,0)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,0,0,1)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,1,0,0)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,0,1,0)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,0,0,1)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,1,1,0)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,1,0,1)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,0,1,1)
0if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,1,1,0)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,1,0,1)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,0,1,1)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (0,1,1,1)
1if (zi−1
j−2, zi−1
j−1, zi−1
j, zi−1
j+1) = (1,1,1,1)
(5.1)
という式になる.これは人間には読みにくいが,要は一回だけの条件分岐なので計算機上では非常
に効率的に処理できる.
なお,式 (5.1)は車両 mのタイムステップ iにおける位置 xi
mを使い
xi
m= min xi−1
m+θ, xi−1
m−1−1(5.2a)
zi
xi
m= 1 (5.2b)
に
θ:= 2 (5.3)
を代入した場合とも表現できる.Xモデルとの類似性が読み取れ,交通工学的にはこちらの方が分
かり易い.式 (5.2a)は前の車両のすぐ手前(xi−1
m−1−1)に到達しない限り,最大速度(θ)で前進
(xi−1
m+θ)するということを意味している.
セル C9 を見てみると
C9 = if(B11*1000+B10*100+B9*10+B8 = 0000, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1000, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0100, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0010, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0001, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1100, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1010, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1001, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0110, 0, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0101, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0011, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1110, 0, 0)
12
+ if(B11*1000+B10*100+B9*10+B8 = 1101, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1011, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 0111, 1, 0)
+ if(B11*1000+B10*100+B9*10+B8 = 1111, 1, 0)
となっており,要するに式 (5.1)である*8.
5.3 演習
まずは,図5.3 に示されたルールを交通工学的に解釈してみよう.各ルールで,左側に存在してい
た車両は 1タイムステップ後の右側でどこへ行ったのか,考えてみよう(式 (5.1)のCA 自体はこの
点を明示的に記述していない!).注意すべき点は,答えは一意に定まるとは限らないことである.
一方,右側に存在している車両が 1タイムステップ前の左側のどこから来たのかは一意に定まる.
この解釈に留意すると,Excel 上の時空間図がどのような車両軌跡を意味しているのか分かるだろ
う(例えば図5.4 のようになる).最初は疎な自由流であった交通流が,下流側境界条件の影響で混
雑し,渋滞が延伸し,最後は解消する様子が再現されている.境界条件を変更すると,それに応じ
て交通流が変化する様子がわかる.
θを他の値にしたときの CA を作成してみよう.θ= 1 とすると,セル状態遷移ルールは 23= 8 通
りになり,自由流速度 uと後進波速度 wが同一の交通流となる.θ= 3 とすると,ルールが 25= 32
通りとなり列挙が手に負えなくなってくるが,式 (5.2)に基づき実装すれば簡単になる.
本CA はVT の一種であるので,厳密解を計算できる.つまり,CTM のような数値拡散は発生し
ない.境界条件とモデルパラメータをうまく選べば先ほどの VT やXモデルと同じ交通流を再現で
きる.
その他
本ドキュメントおよび関連 Excel ファイルはクリエイティブコモンズ CC BY のもとで公開します
(要するに,出典さえ明示していただければどのように使っていただいても構いません).
本ファイル群の作成には細心の注意を払っておりますが,これらの使用により生じたいかなる損害
に対しても責任は負えません.
参考文献
Daganzo, C. F.: The cell transmission model: A dynamic representation of highway traffic consistent with the
hydrodynamic theory, Transportation Research Part B: Methodological, Vol. 28, No. 4, pp. 269–287, 1994.
Daganzo, C. F.: A variational formulation of kinematic waves: basic theory and complex boundary conditions,
Transportation Research Part B: Methodological, Vol. 39, No. 2, pp. 187–196, 2005a.
Daganzo, C. F.: A variational formulation of kinematic waves: Solution methods, Transportation Research Part B:
Methodological, Vol. 39, No. 10, pp. 934–950, 2005b.
Daganzo, C. F.: In traffic flow, cellular automata =kinematic waves, Transportation Research Part B: Methodological,
Vol. 40, No. 5, pp. 396–403, 2006a.
Daganzo, C. F.: On the variational theory of traffic flow: well-posedness, duality and applications, Networks and
Heterogeneous Media, Vol. 1, No. 4, pp. 601–619, 2006b.
Godunov, S. K.: A difference method for numerical calculation of discontinuous solutions of the equations of
hydrodynamics, Matematicheskii Sbornik, Vol. 89, No. 3, pp. 271–306, 1959. (in Russian).
*8このコードは Excel 上での人間にとっての書きやすさ・読みやすさを優先しており効率が悪い.計算効率的には式 (5.1)
をそのまま実装すべきである.もちろん式 (5.2)を実装しても同じ計算結果が得られる.
13
図5.4: CA のセル状態と車両軌跡の対応
Lebacque, J. P.: The Godunov scheme and what it means for first order traffic flow models, in Lesort, J. B. ed.
Proceedings of the 13th International Symposium on Transportation and Traffic Theory, pp. 647–677, Elsevier,
1996.
Nagel, K. and Schreckenberg, M.: A cellular automaton model for freeway traffic, Journal de Physique I, Vol. 2, No.
12, pp. 2221–2229, 1992.
Newell, G. F.: A simplified car-following theory: a lower order model, Transportation Research Part B:
Methodological, Vol. 36, No. 3, pp. 195–205, 2002.
Wolfram, S.: Statistical mechanics of cellular automata, Reviews of Modern Physics, Vol. 55, No. 3, pp. 601–644,
1983.
交通工学研究会(編)特集『マクロ交通流理論の最前線と実務への応用』,交通工学, Vol. 52, 交通工学研究会,
2017.
瀬尾亨:追従モデルとしての KW モデル,交通工学, Vol. 52, 交通工学研究会, pp. 23–26, 2017.
和田健太郎,瀬尾亨,中西航,佐津川功季,柳原正実: Kinematic Wave 理論の近年の発展に関する研究解説,
Technical Report, 2017.
和田健太郎:交通流の Kinematic Wave モデルの解析法,交通工学, Vol. 52, 交通工学研究会, pp. 15–22, 2017.
和田健太郎,瀬尾亨,中西航,佐津川功季,柳原正実: Kinematic Wave 理論の近年の展開:変分理論とネットワー
ク拡張,土木学会論文集 D3(土木計画学), Vol. 73, No. 5, 2017, in press.
14