ソリューションアクセラレータ：DatabricksとOSRMによるスケーラブルなルート生成

[Solution Accelerator: Scalable Route Generation With Databricks and OSRM \- The Databricks Blog](https://www.databricks.com/blog/2022/09/02/solution-accelerator-scalable-route-generation-databricks-and-osrm.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

デリバリーは、モダンなリテール体験の重要な一部となりました。顧客は、厳しい時間枠内で自分の家の玄関に商品がデリバリーされることを[これまで以上に期待](https://retailwire.com/discussion/are-retailers-getting-closer-to-nailing-last-mile-delivery/)しています。この需要に応えることができる企業は、顧客を惹きつけ、維持しており、さらに多くの小売業者をデリバリーゲームに追い込んでいます。

しかし、最大規模の小売業者でもラストマイルサービスを提供するコストに苦慮しています。迅速なホームデリバリーを拡大する流れの中でAmazonは大きな役割を担っていますが、Amazonですら[コスト削減に苦慮](https://www.practicalecommerce.com/will-amazon-convert-shipping-expense-into-profit)しています。小規模な小売業者においては多くの場合、[食品や雑貨品](https://techcrunch.com/2022/02/14/food-delivery-profits-remain-elusive/)のような回転の速いアイテムのデリバリーに対しては顧客がお金を払いたくないという収益性の課題を持っているパートナーネットワークを通じてデリバリーを提供しています。

[未来のデリバリー](https://www.mckinsey.com/industries/travel-logistics-and-infrastructure/our-insights/technology-delivered-implications-for-cost-customers-and-competition-in-the-last-mile-ecosystem)に関する多くの議論は自動運転車にフォーカスされていますが、短期においては、小売業者とパートナープロバイダーは、デリバリーの注文によるコストとリターンのマージンを削減する試みの中で、ドライバーを支援するソリューションの効率を改善するために膨大な労力を費やしています。

# 正確なルート情報は重要です

これらの課題を解決することを目的としたソフトウェアのオプションは、ピックアップとデリバリー地点の間の移動時間に関する情報のクオリティに依存します。直線距離を計算し、一般的な移動速度を適用するようなシンプルなソリューションは、ルーティング問題の仮説検証では適切かもしれませんが、現実世界においては、ドライバーが複雑な道路ネットワークを移動できるようにする新規かつ優れた方法、時間と距離を推定するより洗練されたアプローチが必要となります。

これが、多くの企業がオペレーションと分析インフラストラクチャの両方にルーティングソフトウェアを導入している理由となっています。この領域で最も人気のあるソフトウェアの一つがプロジェクトOSRM(Open Source Routing Machine)です。[Project OSRM](http://project-osrm.org/)は[OpenStreetMap project](https://www.openstreetmap.org/)によって提供されるオープンソースの地図データを用いてルートを計算するためのオープンソースプラットフォームです。これは、企業がさまざまなアプリケーションで使用できるように、自分の環境でルーティングAPIをデプロイするための迅速かつ低コストな手段を提供します。
![](https://cms.databricks.com/sites/default/files/inline-images/db-324-mosaic-img-1_0.jpg)
*図1. OSRM Backend Serverによって生成されたニューヨークのタクシー移動と関連づけられ、Databricks Mosaicによって可視化されたルート*

# ルート分析にはスケーラビリティが必要です

通常はコンテナ化されたサービスとしてデプロイされるOSRMサーバーは、多くの場合ITインフラストラクチャ内の共有リソースとして活用されます。これは、ほとんどのインテグレーションシナリオで問題なく動作しますが、データサイエンティストチームが、ルート生成のためにこのようなソリューションに膨大な量のシミュレーション履歴データをプッシュすると、リソースが枯渇することになります。このため、我々はデータサイエンティストからは彼らのルート最適化、ルート分析の取り組みにおけるボトルネックと、アプリケーションチームからは予測分析ワークロードによる困難さでオフラインになってしまうアプリケーションについての不平不満を聞くことになりました。

この問題に対応するために、どのようにしてOSRMサーバーをDatabricksクラスターにデプロイできるのかをデモンストレーションしたいと思います。機械学習、データ分析、データ処理を統合するプラットフォームであるDatabricksは、スケーラブルかつ弾力性のあるクラウド計算リソースへのアクセスを提供します。同様に重要なこととして、OSRMソフトウェアによって生成される複雑なデータ構造や、さまざまな[ネイティブな機能](https://www.databricks.com/blog/2021/12/17/building-a-geospatial-lakehouse-part-1.html)や[オープンソースライブラリ](https://qiita.com/taka_yayoi/items/4469352c8cf86e8da754)による地理空間分析もサポートしています。OSRMサーバーをDatabricksクラスターにデプロイすることで、データサイエンスチームは自分達の環境の他のワークロードを阻害することなしにルーティングの機能にアクセスできるようになります。

このようなソリューションの鍵は、どのようにDatabricksがクラスター内の複数台のサーバーの計算キャパシティを活用するのかにあります。これらのサーバーにOSRMサーバーソフトウェアがデプロイされると、環境のキャパシティはクラスターと共に成長します。クラスターは必要に応じて起動、シャットダウンすることができ、アイドル状態のリソースによって予算を圧迫することを避けることができます。設定を行うことで、OSRMルート生成機能はデータサイエンティストが日々行っている馴染みのあるデータ処理、データ分析の中で容易に利用できる関数として動作するようになります。

OSRMサーバーをDatabricksクラスターにデプロイすることで、データサイエンスチームはキャパシティの制約を受けたり、他のワークロードを阻害することを恐れることなしに、膨大な量のデータに対して新たなアルゴリズムを評価することができます。高速化された評価サイクルは、これらのチームがより迅速に自分達のアルゴリズムに対してイテレーションを行い、イノベーションを加速するために自分達の成果をファインチューニングできることを意味します。我々はまだ、ドライバーを店舗から顧客の自宅に最もコスト効率の高い方法で移動させる完璧なソリューションを知らないかもしれませんが、それを見つけ出すための障害となっているものの多くを排除することはできます。

どのようにOSRMサーバーがDatabricksクラスターにデプロイできるのかを詳細に知りたいのであれば、[Databricks Solution Accelerator for Scalable Route Generation](https://d1r5llqwmkrl74.cloudfront.net/notebooks/RCG/Routing/index.html#Routing_2.html)をチェックしてみてください。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)