ダイクストラ法!できた!!

以前から、取りためた走行記録でダイクストラ法をやってみたいと思い、Excelの関数だけで仕組みは作れたものの、計算回数を50回以上に増やそうとすると回りきらなくて諦めたのが2年前。

この春、仕事の都合(というより趣味を仕事に持ちこんだ結果?)、Pythonに手を出し、PandasをつかってCSVを使った簡単な計算くらいなら処理出来るようになり、ここ1週間くらいで思いついて取りかかってみたら出来た!

立場を10時に出発した際の最短経路がグレー背景で、実線が時間帯別の速度、破線は時間帯実績がないので規制速度で代用。とりあえず200回繰り返して見てもエラーが出なくなりました。

完全な自己満足ですが、あとはこれに耐えられるデータを蓄積、作成するだけだが、何処をめざしているんだか…(苦笑

出来たこと

  • 任意地点を起点に設定
  • 起点の出発時刻の設定
  • 区間毎の通過時間毎の平均所要時間を摘要
    (例えば、9時台から10時台にまたがる際に、それぞれの時間帯の通過時間を採用)

出来ていないこと・課題

  • 通行不可方向への進行
    • 地点にたどり着く方向に応じて、次の計算に用いていいリンクを制限しようと。厳密には最短ルート探索にならなくなる恐れがある(Uターン出来る場所で帰ってくれば最短になり得る)がそこは割り切りでいいかと…