最短路プロジェクト 共同研究 中間報告 2007 年 10 月

34
最最最最最最最最最 最最最最 最最最最 2007 最 10 最 最最 最最

description

最短路プロジェクト 共同研究 中間報告 2007 年 10 月. 久保 幹雄. プロジェクト概要. 高速化+ 拡張モデル ・ a priori strategy ・ robust optimization. メモリ階層の考慮. メモリ階層を考慮した高速化. 従来の「前処理+クエリ」アルゴリズム 数 GB の主記憶にネットワークデータ+補助データが保管されていることを仮定 - PowerPoint PPT Presentation

Transcript of 最短路プロジェクト 共同研究 中間報告 2007 年 10 月

Page 1: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

最短路プロジェクト

共同研究 中間報告2007 年 10 月

久保 幹雄

Page 2: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

プロジェクト概要

高速化+拡張モデル・ a priori strategy・ robust

optimization

高速化+拡張モデル・ a priori strategy・ robust

optimization

メモリ階層の考慮メモリ階層の考慮

Page 3: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

メモリ階層を考慮した高速化

• 従来の「前処理+クエリ」アルゴリズム数 GB の主記憶にネットワークデータ+補助データが保管されていることを仮定

• 実際には...レベル1キャッシュ 1 ナノ秒 10 KBレベル 2 キャッシュ 10 ナノ秒 512KB主記憶 100 ナノ秒 MB-GB フラッシュ,ディスク 10 ミリ秒 数 GB

Page 4: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

メモリ階層と最短路クエリ

クエリに必要な

補助データ

クエリに必要な

補助データ

2000万点の

ネットワーク

2000万点の

ネットワーク

最短路最短路

補助データ補助データフラッシュディスク

主記憶キャッシュ

2 次元ビットベクトル法領域間のネットワーク(数 K )

Transit Points への最短路木(数十K )

Page 5: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

拡張モデル

従来の最短路モデルをナビ用に拡張する.

• 時刻依存最短路• 高速費用(+時刻依存)の考慮• 多目的• 渋滞情報と動的確率的最短路

Page 6: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存の移動時間をもつ最短路

• 時間帯別の平均速度の情報が利用可能• 現在の商用システムでは,現時点における各

道路の移動時間の推定値をもとに,最短路を計算

• 道路だと追い越し不可( FIFO )で待ちは許さない( no-wait ) ⇒ Dijkstra 法の自明な拡張

Page 7: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存最短路

現在時刻

現在の時速=40km到着時=20 km

現状のナビゲーションでは現在時刻での最短時間パス-> 到着時の時速を予測し,時刻依存の最短時間パス

お客さんこの先はいつ

も8時から9時

は渋滞ですよ

Page 8: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

解法のアイディア• 移動時間のかわりに到着時刻関数を使う

-> 通常のダイクストラ法と(ほぼ)同じ計算量の解法

Page 9: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存の移動費用

• 深夜割引( 30%):午前0時~午前4時の間の走行• 早朝・深夜割引( 50%):夜間 22 時~翌 6 時まで

の間に 大都市近郊区間を利用し、かつ総利用距離が100km 以内

• 通勤割引( 50%):朝夕の通勤時間帯(朝 6 ~ 9 時または夕方 17 時~ 20 時の間)に入口もしくは出口料金所を通過し、かつ総利用距離が 100km 以内(大都市近郊区間は除く)

重複適用不可.他に社会実験と称した特例あり.

Page 10: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

通勤割引の例 http://www.go-etc.jp より引用

割引適用回数を状態空間に保管する

Page 11: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

土日祝日 20:00-22: 00にICを通過

50% オフ

Page 12: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

検索したルートに対して ETC 割引料金を表示した例( MapFan HP )

Page 13: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存の移動費用をもつ最短路

• 移動時間の場合と異なり,待ちを許す.• 発時刻も変数として扱う可能性あり. => NP-hard

• 現在のシステムでは,求めた最短時間路に対して費用を計算するだけ.

• 高速ネットワークのみ時刻依存の移動費用を付加したアルゴリズムの提案

Page 14: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存の移動費用をもつ最短路アルゴリズム (1)

料金所高速ネットワーク(完全有向グラフ)

発時刻固定

Page 15: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

時刻依存の移動費用をもつ最短路アルゴリズム (2)

時間

6:00

移動費用が変化する切れ目の時刻

待ちを表す枝

到着時刻関数より着時刻計算 =>枝の費用が決まる( e.g., 9:00 前なら通勤 割引が適用される)

Page 16: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

発時刻が変数のとき

移動費用が変化する切れ目の時刻

2 次元ビットベクトル法などで求めた経由点( Transit Nodes)

着時刻を切れ目の時刻とした逆向きの最短路

Page 17: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

多目的の最短路問題• 現実では意思決定者は最短時間のパスより,種々

の目的のバランスを要求• 移動時間,費用(高速,ガソリン),距離,移動

時間のばらつき,安全性,運転のしやすさなど,複数の目的を有する最短路問題

• 大規模問題でも大丈夫な近似アルゴリズムの開発 ・目的関数のスカラー化による解法 ・メタ解法

• 厳密解法(動的計画)• ユーザの指定したターゲット値を用いた解法

(劣勾配法)

Page 18: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

スカラー化による非劣解の部分集合の生成

費用

時間

Page 19: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

動的計画

• 点上の情報(状態空間)として,(到着時刻,費用,通勤割引適用回数,右折回数,・・・)を保持

• 非劣解を除去しながら探索• 二次元ビットベクトル法によって疎化

されたグラフと共通する点をもつ高速道路グラフ上で探索

Page 20: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

劣勾配法

• 各指標のターゲット値(ユーザーが指定)からの逸脱をペナルティとして,目的関数に組み込む

• 二次元ビットベクトル法による疎化グラフ上で探索

• パスが決まれば高速料金が決まるので,メタ解法で探索しながら,料金を評価

Page 21: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

確率的最短路渋滞情報の分類

• なぜ渋滞しているのか?– 自然渋滞(毎度,この地点は渋滞する)– 事故渋滞(どの程度の規模の事故か?何分くら

いで復旧するのか?)– 工事渋滞(どの程度の工事規模か?何時から何

時まで行うのか?)– 天候渋滞(豪雨のためのスピード低下)– その他のイベント渋滞

• =>双方向通信により入手可能

Page 22: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

分類ごとの情報の違い

• 自然:予測可能だが,ばらつき大.• 事故:事故の事前予測は困難だが,発生した事故の復旧までの時間は,事故の規模と発生地点から予測可能

• 工事:事前に通知されているが,どの程度の渋滞が発生するかは予測する必要がある.

• 天候:天気予報からある程度は分かるが,渋滞に与える影響は予測する必要がある.

Page 23: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

対処法

• 動的確率的時刻依存最短路として定式化• 再ルート計算の可否(ルートの先の方なら変更可能だが,目先のルートの頻繁な更新は避ける) => ローリング・ホライズン方式における freezing

• 事故渋滞 => 寿命モデル(発生時から終了時までの時間の予測)

• 他の渋滞 =>外部情報から道路速度の予測の精度の向上

Page 24: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

拡張モデルに対する前処理

• 時刻依存:発時刻をサンプリング• 多目的:目的間の重みをスカラー化法

で決定• 確率的:確率分布の推定が困難 &生起可能なシナリオの数が膨大

=>ロバスト最適化

Page 25: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト最短路による前処理 (1)

• G=(V,E), 枝 (i,j) に対して移動時間の幅 [Lij,Uij]

• 実現したシナリオ R に対して移動時間 Tij(R) ∈ [Lij,Uij] が定まる.

• シナリオの数が膨大! =>現在の最短路 P に対する最も悪いシナリオを順次生成

P に含まれる枝が最大値,その他の枝が最小値P に含まれる枝が最大値,その他の枝が最小値

Page 26: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト最短路による前処理 (2)

• Bertsimas のロバスト最短路モデル(高々 Γ本の枝の長さが増加する)

• 双対定理を用いて,増加量 Uij-Lij が θ 以上の枝だけ移動時間を Uij として最短路を解く問題に帰着.

• ロバストな a priori network:様々な Γ に対して使われる最短路の和集合 =>様々な θ に対する最短路の和集合

Page 27: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

再最適化の利用

• 初期最短路: θ=0 (すべての枝を上限値としたネットワーク上で最短路を解く)

• 次の閾値まで θ を増やす =>幾つかの枝の距離が減少する =>再最適化の手法により計算量削減

Page 28: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

再最適化

• 1つの点 s に接続する枝の距離が減少:– s に入る枝の最小の被約費用を点のポテン

シャル p(s) とする.– s からでる枝 (s,j) のポテンシャルを p(s)+被約費用 (s,j) とする.

– 他の点のポテンシャルを 0 とする.– 負のポテンシャルの点がなくなるまで,被約費用を枝長とした Dijkstra 法を行う.

Page 29: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例(最悪シナリオ生成法 1 )

sstt

[1,5]

[2,3]

[2,4]

[10,16]

[20,23]

[1,4]

[3,3]

[3,5]

[Lij,Uij]

下限値を用いた最短時間路を求める

Page 30: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例 (最悪シナリオ生成法 2 )

sstt

5

[2,3]

[2,4]

16

[20,23]

4

[3,3]

[3,5]

最短時間路

最短路上の枝だけを上限値に固定,それ以外を下限値にして最短路を求解

Page 31: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例 (最悪シナリオ生成法 3 )

sstt

5

3

4

16

[20,23]

4

[3,3]

[3,5]

最短時間路

最短路上の枝だけを上限値に固定,それ以外を下限値にして最短路を求解

解が変わらないので終了

Page 32: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例( Bertsimas モデルによる方法

1 )

sstt

[1,5]

[2,3]

[2,4]

[10,16]

[20,23]

[1,4]

[3,3]

[3,5]

[Lij,Uij]

下限値を用いた最短時間路を求める.

Page 33: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例( Bertsimas モデルによる方法

2 )

sstt

[1,5]

[2,3]

[2,4]

16

[20,23]

[1,4]

[3,3]

[3,5]

幅の大きいものから上限値に変えて,最短路を求める.(変化なし)

Page 34: 最短路プロジェクト 共同研究 中間報告 2007 年  10 月

ロバスト a priori network の例( Bertsimas モデルによる方法

3 )

sstt

5

[2,3]

[2,4]

16

[20,23]

[1,4]

[3,3]

[3,5]

幅の大きいものから上限値に変えて,最短路を求める.(以下同様;ネットワーク変化なし)