実用的な時間(目標は10分以内)で、名古屋市営地下鉄の全6路線の最短完乗ルートの検索を行えるようんするため、更にプログラムを改善。
少し前、改善:最短所要時間予測により検索ルート削減 ということで、ルートが完成する前に所要時間を予想し、それまでの最短所要時間よりも長い場合はそれ以上のルート検索を行わないようにし、評価するルート数を減らした。
最短所要時間は、
- 作成したルートの所要時間
- 未乗車区間の所要時間の合計
未乗車の区間が複数路線あれば乗り換え時間も掛かるし、折り返し時間が必要なルートも考えられるので、もう少しルールを追加。
- (ルートの最後のセグメントの路線と未乗車の路線の種類-1)×乗換え時間(10分)
- (未乗車のセグメントのうち、終端駅を含むセグメントの数-1)×折り返し時間(10分)
マイナス1しているのは、乗換え回数なので。
実際にはもっと多いこともあるが 最低でもこれだけ掛かる ということで。
2の方は同じくこの後の折り返し時間が最低でもどれだけ掛かるかを数えて加算。
マイナス1しているのは、最後は終端駅になるケースを考慮してその分を除外。
これで、所要時間の予測精度が上がり無駄な検索を打ち切ることで検索ルート数を減らし検索時間を減らせるはず。
プログラムを改修して実行。
結果は次回。
つづく。
0 件のコメント:
コメントを投稿