経路にバリエーションを出すための工夫
こんにちは、TMです。
ナビタイムジャパンで経路探索エンジンの開発を担当しています。
ナビタイムジャパンの経路探索について
ナビタイムジャパンの経路探索では、出発地から目的地までの最適な経路だけでなく、距離を優先した経路や時間を優先した経路など、多様なコストモデルを構築することで、それぞれの特徴に応じた経路を実現しています。
バリエーションへの要望
前述の通り、ナビタイムジャパンの経路探索エンジンでは、それぞれのコストモデルに合わせた経路を算出することができます。
ですが、時が経つにつれて「経路にバリエーションが欲しい」というニーズが出てきました。
※ ここでいうバリエーションとは
例えば「高速道路を優先した経路が複数欲しい」というようなものです。
実際にユーザーから届いた「東京 - 名古屋間を走行する場合」を例に紹介します。
これまでの経路探索エンジンでは、通常時(規制や大規模な渋滞が発生していない場合)は、新東名高速道路を経由する経路を出力していました。
この経路に対して、ユーザーから「東名高速道路や中央自動車道を経由するような経路も出してほしい」というご意見をいただきました。
これまでの経路探索エンジンでは、各コストモデルに対して1つの経路を返却していたため、要望①や②のような経路を返却することができませんでした。
しかし、ユーザーから要望のあった経路は、これまで出力していた新東名の経路と比較しても選択肢になりうる経路です。
このようなニーズに応えるため、経路のバリエーションを増やす開発に取り組みました。
バリエーションの実現方法について
経路のバリエーションを増やす方法ですが、 既存のコストモデルを利用して複数回の経路探索を素直に実行してしまうと、 同じ経路が返却されてしまい、「バリエーションを増やす」という当初の目的が実現できません。
そこで、同一の探索条件内でコストチューニングを行うことで経路のバリエーションを実現しています。
バリエーションの工夫①
バリエーションの出し方も、経路探索の条件に合わせて下記のように変化させています。
長距離の経路では高速優先の経路のバリエーションを増やす
大型車の経路では幅員を考慮した経路のバリエーションを増やす
etc.
バリエーションの工夫②
複数経路を出す際にはネットワークの形状によっては、ほぼ同じような形状の経路が出る、といったパターンも存在します。
下記の例は、「東京 - 横浜間を走行する場合」の経路のバリエーションの一部です。
分かりづらいですが、出発地からの高速道路の乗り方に差分はありますが、それ以外は全く同じ経路です。
このようなケースをケアするために、経路同士で比較を行い、同じような経路は出力しないようにする等、地道なチューニングも行いました。
まとめ
上記のような開発を経て、経路のバリエーションを増やすことができ、ユーザーからのニーズに応えることができるようになりました。
また、異なる経路を提示することで経路の比較が行えるようになり、
ユーザーがより納得感を持って経路を選択することができるようになります。
開発した経路は下記サービス等で利用されています。
今後は、他サービスへの横展開も行っていきたいと考えています。
また、今回で経路探索エンジンのチューニングは終わりではなく、
今後もユーザーからのフィードバックを元により良い経路を提供してまいります。
最後に
この記事では、
「経路にバリエーションを出すための工夫」についてご紹介いたしました。
ナビタイムジャパンが提供するサービスの裏側にある経路探索エンジンの工夫を感じていただけたら幸いです。
これからもユーザーの皆さまが安心して移動できる最適な経路を提供できるように邁進してまいります。
最後までお読みいただきありがとうございました。