この記事の概要
前回の記事に続いて, 今回も量子アニーリングを用いた交通最適化の論文を紹介します.
前回はこちら
jijtech.hatenablog.com
信号制御による交通最適化の目標は一貫して, 車の流れを良くすることです.
今回の論文でも, 最終的な目標は車の流れを良くすることになります.
この目標に対して, 今回の論文では交通量の多い道路の車が優先的に交差点を通れるようなモデルを作るアプローチを取っています.
そして, 最適化計算とシミュレーションの両方行い, 逐次的に一連の時間の信号制御を求めています.
結果(得られた解)の良し悪しもシミュレーション上で評価を行います.
本記事の具体的な説明の流れは以下のようになります.
1. 問題設定の説明:どういう交差点の状況を考えるのか
2. 具体的な目的の説明:車のフローを良くするために, 具体的にどのような評価指標を採用するのか
3. モデル化:1,2を数式で表すとどうなるか
4. 実験:3のモデルを用いて具体的な数値実験を行う
5. 結論
目次
今回紹介する論文
今回紹介する論文がこちらになります.
Optimal Control of Traffic Signals using Quantum Annealing.
問題設定
今回考える問題設定を説明します.
今回の問題は, ある時刻において, 与えられた交差点において信号のパターンを決定することによって車の流れを良くすることが目的です.
これに対しまず, 与えられる道路はどういうものかとそれに対し何を決定するのかについて説明します.
そして, 車のフローを良くするために, どういう評価指標を用いるのか(目的関数)について説明します.
車の振る舞い
今回車は, 直進 or 右折するとします(左折は考えません).
信号機のパラメーター
今回は信号機の割当にただ単に青 or 赤だけでなく, 左折信号なども含めます(下図に例).
1つの信号機に対して, 割当てる信号のパラメーターは以下の6つがあるとします.
論文ではこれをモードと呼んでいます.
以上より今回は, それぞれの時刻のそれぞれの交差点で, 信号機にどのモードを割当てるか, を決定します.
目的
大きな目標は, 道路の車の流れを良くする(最大化)することです.
この車の流れを良くするために, この論文では以下のアプローチを取っています.
1. 一番交通量の多い道路の車が優先的に交差点を進めるようにモードを決定する.
2. 車が通る連続した交差点において, 連続的に車が通れるようにする.
1は混雑している道路を解消し, 交通の流れを良くする意味合いがありそうです.
2の着想は, 赤信号で止まっていた車が, 青信号に変わり出発した後に通る次の交差点で, 再び赤信号で止まることの無いように,
というところから来ています.
道路の交通状況は時間と共に常に変化するので, 目的1&2ともに, 時間とともに変化します.
今回の論文では, 時間に対してある程度の時間間隔を含みながら, 逐次的に解を求めていきます.
モデル化
上で述べた問題を、数式でモデル化していきます.
変数定義
まずは, 変数の定義を行います.
決定することは, それぞれの交差点の信号に対して, 6つのどのモードを割当てです.
よって, 以下の0-1の決定変数を用います.
目的1
式(1)を用いれば, 目的1「交通量の多い道路の車を優先的に流す」は以下のようにかくことができます.
ここで, は後述する目的2との重みを調節するパラメーター, は考える交差点の数, は交差点にモードを割当てることによって減らせる車の量の最大値です.
すなわち, はとしたときに, 何台の車が交差点を通過することができるかの量になります.
は, 交差点を通過する車の量が多くなればなるほど, 小さい値を取ることになります.
よって, を最小となるようなを求めることによって, 目的1を達成することができます.
の計算方法
の計算方法を説明します.
そのため, 交差点に接続する道路の交通量を以下のように定義します.
車は, 直進したり右折したりします.
なので直進する割合を以下の図のようにとします.
今定義した2つの量より, を計算することができます.
具体的に以下のようになります.
は問題においては, 与えられるパラメーターとなります.
実際には, はシミューレーションを用いて逐次測定を行います.
そこからを計算することになります.
目的2
目的2「車が通る連続した交差点において, 連続的に車が交差点を通れるようにする」を式でかくと以下のようになります.
少し長くてわかりずらいので抜き出して考えてみます.
ここで, 交差点にモードが割り当てられて, それに伴い交差点を通過した車について考えてみます.
この車が次に差し掛かる交差点をとします.
式(10)は, これらの車が交差点で止まることなる, 連続して通過できるようなモードを選べば,
それによって移動できる車の台数に応じたコストが減少するような構成になっています.
もちろん, 交差点からに着くまでに時間がかかるので,
その時間に関する0-1のパラメーターがです.
ある交差点に隣接する交差点は4つ存在するので, (9)式は4つの項からなっています.
交差点でのモードの決定によって移動した車が, 次にどの交差点に着くか,
また, その交差点でどのモードを割り当てればコストが下がるのかを表したのが次の図です.
もちろん, 全ての車が連続して交差点を通過することは不可能なので,
連続して通過できる車の台数に応じてコストが減少するように, が係数にかかっています.
はそれぞれ右折する車 or 直進する車, どちらに重点を置くかのパラメーターです.
時間に関するパラメーター
今回, 連続した信号機では, なるべく連続して通れるように信号機のモードを割り当てたいわけですが,
連続する交差点を同期させるのは, そこには時間差が必要です.
その時間に関するパラメーターがです(前述).
今所与の値として, 以下のモノがわかっているとします.
- 交差点の道路の長さ
- 交差点間を走行する車の平均速度
するとこの2つから, 車の交差点間の走行にかかる平均的な時間がわかります.
それをとします.
また現在の時刻をとしたときに, そこから時間たったときのみ, が1となるように設定します.
数式でかくと,
もし, ならば, 以下のようにします.
これによって, ある車が差し掛かっている現在の交差点と, 次に差し掛かる交差点の信号の同期は, 交差点間を横断してからになります.
制約条件
今回の制約条件は, それぞれの交差点で割り当てられるモードはちょうど1つです.
なので, 制約式は以下のようになります.
シミュレーション
今回の論文では, シミュレーションと最適化問題を交互に行います.
まず, 初期状態で最適化問題を解きます.
それを元に信号機の色を配置し, シミュレーション上で車を動かします.
そのシミュレーションの結果を元に, 次の最適化問題で用いるパラメーターを計算します(など).
車の混雑度などから, 交差点間の移動にかかる平均時間を求め, 最適化問題を解く時間間隔を元に同期させる信号を選びます(の決定).
そしてそれを元に次から全体の最適化問題である(14)式を解きます.
これを所定の回数繰り返します.
実験
以下の問題設定で, 実験を行ってみます.
- 交差点の数 : 6×6 = 36
- 車の台数 : 4320
- 道路の制限速度 : 11, 17, 22, 28(ランダムに割当てる)
- 道路の長さ : 1km
- = 0.7
- 1回のシミュレーションで動かす時間 : 150s
- 5秒ごとに最適化問題を解く.
上記の設定を元に, シミュレーションと最適化計算を繰り返し行います.
最適化問題の解放として, Quantum Annealingとタブサーチを比較します.
また, 目的2がある場合とない場合も比較します.
解の評価
今回の目的は, 交通の流れを良くすることなので,
解の評価を, 目的関数とは別の指標で評価します.
今回はシミュレーション上で, 全ての車がどれだけの時間を無駄にしたかを比べます.
無駄にしたというのは, 単に赤信号で待った時間を計算するだけではなく,
高速に走れる道路の手前の信号で待った場合には, 同じ時間でより遠くに行けたハズであるため, こういった道路での待ちは重めに計算します.
具体的には, 以下を計算します.
ここでは, 交差点で待っている車の台数です.
(15)式の分子は, 待っている車の次に進行する道路での移動速度です.
シミュレーションを行うごとに, 全ての交差点, 道路で(15)式を計算して, 累積していきます.
よって, 間接的に赤信号で待っている時間も換算されます.
結果
最適化問題をタブサーチで解いた結果は以下のようになりました.
一番右は, 交通状況の情報を無視して時間が来たら切り替える, という方法で解いた結果です.
実際に, Q1 + Q2 + Q3で解いたモノが一番コストが良くなっています.
ちなみに, D-WaveのQAで解くとタブサーチより悪い解が出力されてしまったそうです.
Q1 + Q2 + Q3の問題で, Time Wasted = 31.28 となりました.
結言
交通最適化の論文をいくつか読んで, 交通最適化では
1. 抽象的な交通の流れを良くするために, 具体的にどういう量に着目するか?
2. 時間とともに変わり続ける交通状況をどのように扱うか?
というのが重要な部分になってくることがわかりました.
1は車の量に着目すること, 2は最適化問題とシミュレーションを繰り返すこと, がよくあるアプローチになるかと思います.
他にどのようなアプローチがあるのか気になります.
調査や勉強を続けていきたいと思います.
文責
篠原 秀人、株式会社 Jij
Hideto Shinohara, Jij Inc.
※ 疑問点や間違いなどございましたら、お気軽にブログ上でご質問ください。