以前から、取りためた走行記録でダイクストラ法をやってみたいと思い、Excelの関数だけで仕組みは作れたものの、計算回数を50回以上に増やそうとすると回りきらなくて諦めたのが2年前。
この春、仕事の都合(というより趣味を仕事に持ちこんだ結果?)、Pythonに手を出し、PandasをつかってCSVを使った簡単な計算くらいなら処理出来るようになり、ここ1週間くらいで思いついて取りかかってみたら出来た!
立場を10時に出発した際の最短経路がグレー背景で、実線が時間帯別の速度、破線は時間帯実績がないので規制速度で代用。とりあえず200回繰り返して見てもエラーが出なくなりました。
完全な自己満足ですが、あとはこれに耐えられるデータを蓄積、作成するだけだが、何処をめざしているんだか…(苦笑
出来たこと
- 任意地点を起点に設定
- 起点の出発時刻の設定
- 区間毎の通過時間毎の平均所要時間を摘要
(例えば、9時台から10時台にまたがる際に、それぞれの時間帯の通過時間を採用)
出来ていないこと・課題
- 通行不可方向への進行
- 地点にたどり着く方向に応じて、次の計算に用いていいリンクを制限しようと。厳密には最短ルート探索にならなくなる恐れがある(Uターン出来る場所で帰ってくれば最短になり得る)がそこは割り切りでいいかと…
コメントを残す