講義録

微分積分学を使って交通の流れを記述してみよう
静岡大学理学部数学教室
田中 直樹
1.交通の流れの数学モデルを作ってみよう
交通の流れの数学モデルは,通常の手段で観測される量,位置 x と時間 t の3つの関数,交通密度 u(x, t),交
通流量 q(x, t),車速度 v(x, t) を用いて記述される法則に従うと考えられる。
交通密度 u は,ある時刻における単位長さあたりの車の数を表すので,おおよそ,
u(x, t)k
は,時刻 t における 位置 x から位置 x + k の間にある車の総数を与える。よって,
u(x, t + h)k − u(x, t)k
(1)
は,位置 x から位置 x + k の区間で,時刻 t から時刻 t + h の間に増えた車の数を表す。
交通流量 q は,ある位置を単位時間に通過する車の数を表すので,おおよそ,
q(x, t)h
は,時刻 t から時刻 t + h の間に位置 x を通過する車の数を表す。よって,
q(x, t)h − q(x + k, t)h
(2)
は,時刻 t から時刻 t + h の間に,位置 x から位置 x + k の区間に流入した車の数を表す。
2つの量 (1) と (2) は等しくなければならないので,
(u(x, t + h) − u(x, t))k + (q(x + k, t) − q(x, t))h = 0
が成り立つ。両辺を kh ̸= 0 で割れば,
u(x, t + h) − u(x, t) q(x + k, t) − q(x, t)
+
=0
h
k
を得る。k → 0, h → 0 とすると,偏微分方程式
∂
∂
u(x, t) +
q(x, t) = 0
∂t
∂x
(3)
を得る。これを,車の数の保存則(微分形)という。
交通密度 u は,ある時刻における単位長さあたりの車の数 (台数/km),車速度 v は,ある位置を通過する車の
速度 (km/h),交通流量 q は,ある位置を単位時間に通過する車の数 (台数/h) であるから,
q(x, t) = u(x, t)v(x, t)
となる。さらに,Lighthill と Whitham は,車速度 v は交通密度 u の関数であるとするモデルを提案した:
v = V (u),
q = uV (u) = Q(u)
このとき,交通の流れの方程式 (3) は
∂
∂
u(x, t) +
Q(u(x, t)) = 0
∂t
∂x
となる。一般に,V (u) の形は観測によって決められるが次の性質を持つと考えられる。
1
(i) 道路上に他の車がいない状況では,車は制限速度 vm で走るであろう
V (0) = vm
(ii) 車の数が多くなるとそれだけ速度を落とさなければならなくなるであろう
dV
(u) = V ′ (u) <
=0
du
(iii) 交通密度がある密度 um に達すると車は停止せざるを得なくなるであろう
V (um ) = 0
このような性質を持つ V (u) としてもっとも単純なものは,
)
(
u
,
V (u) = vm 1 −
um
である。また,Greenberg は a > 0 を適当な定数として
(
)
u
V (u) = −a log
,
um
0<
=u<
= um
0<u<
= um
を提案し,リンカーン・トンネルなどでの観測と十分適合することを報告している。
2.実解析学的手法により交通の流れの数学モデルを解こう
ある性質を持つ関数の集まりである関数空間において定義される作用素(関数空間の各要素に,もう1つの関
数空間のただ1つの要素を対応させる写像)
d
Q(u(x))
dx
(Au)(x) =
を用いて,交通流の方程式
∂
∂
u(x, t) +
Q(u(x, t)) = 0
∂t
∂x
は,常微分方程式
u′ (t) + Au(t) = 0
(4)
に書き直される。もし,A が実数ならば,常微分方程式 (4) のただ1つの解は,指数関数を用いて,
u(t) = e−At u(0)
(5)
と表される。それでは,A が関数空間で定義される作用素の場合は,どうだろうか?
関数空間上の指数関数 e−At を構成することができれば,(5) により,解を求めることができると期待される。
関数空間上の指数関数の構成方法と偏微分方程式の初期値問題への応用を研究する分野として,作用素半群の理
論と発展方程式という分野がある。
現象の解析は,通常,つぎの流れで行われている。上記の話は,下記の1),2)に当たる。
1)現象を記述する方程式の導出
2)実解析学的,関数解析学的方法による方程式の研究
3)数値解法(シミュレーション)
4)観測による現象とシミュレーションとの比較
5)導出した方程式の妥当性の検証
2
3.交通の流れの数学モデルをコンピュータを使って解こう
交通流
∂
∂
u(x, t) +
Q(u(x, t)) = 0
∂t
∂x
の差分近似による数値解法について考えよう。
差分法とは,微分方程式の微分を差分におきかえて得られる差分方程式を解く方法である。では,微分を差分
で近似する方法には,どのようなものがあるのだろうか?
u(x + h) − u(x)
u(x + h) − u(x)
d
関数 u(x) に対して
u(x) = lim
を
により近似するわけだが,よい関数
h→0
dx
h
h
u(x) は
u(b) = u(a) + u′ (a)(b − a) +
u′′ (a)
u(3) (a)
u(4) (a)
(b − a)2 +
(b − a)3 +
(b − a)4 + · · ·
2!
3!
4!
のように,無限級数の形で表示されるので,h > 0 に対して,つぎの3通りの差分が考えられる。
(
)
u(3) (x) 2 u(4) (x) 3
u(x + h) − u(x)
u′′ (x)
′
= u (x) +
h+
h +
h + ···
前進差分・
・
・
h
2!
3!
4!
(
)
u(3) (x) 2 u(4) (x) 3
u(x) − u(x − h)
u′′ (x)
h+
h −
h + ···
後退差分・
・
・
= u′ (x) −
h
2!
3!
4!
(
)
(3)
u(x + h) − u(x − h)
u
(x)
中心差分・
・
・
= u′ (x) +
h2 + · · ·
2h
3!
よって,h の次数だけから判断すれば,中心差分が,前進差分,後退差分に比べて誤差が少ないと考えられる。
これらの考えをもとに,交通流の方程式に対する差分方程式を導こう。
交通流
∂
∂
u(x, t) +
Q(u(x, t)) = 0
∂t
∂x
に対する差分として,初期の状態 u(x, 0) を与えると,帰納的に差分方程式の解を求められるものがふさわしい。
そこで,時間 t に関する差分として,前進差分を採用する。さらに,位置 x に関する差分として,誤差の少ない
中心差分を採用すると,
u(x, t + h) − u(x, t) Q(u(x + k, t)) − Q(u(x − k, t))
+
=0
h
2k
を得る。ところが,さらに工夫が必要となる。交通流
∂
∂
u(x, t) +
Q(u(x, t)) = 0
∂t
∂x
に対する差分として,つぎの Lax-Friedrichs 差分が有名である。
u(x, t + h) −
u(x+k,t)+u(x−k,t)
2
h
+
Q(u(x + k, t)) − Q(u(x − k, t))
=0
2k
Lax-Friedrichs 差分は,安定性条件を満たす差分であり,r =
u(x, t + h) =
h
とすれば,
k
Q(u(x + k, t)) − Q(u(x − k, t))
u(x + k, t) + u(x − k, t)
−r
2
2
と書ける。もし,時刻 t = (i − 1)h までの解
u(x, 0),
u(x, h),
u(x, 2h),
... ,
u(x, (i − 1)h)
が定まったとすると,差分方程式から
u(x, ih)
(−∞ < x < ∞)
が定まる。よって,帰納的に,差分方程式の解を計算できる。この差分解が,真の解に収束するかどうかは,1
つの数学の問題であり,これを研究対象とするものとして,作用素半群の近似理論がある。
3