ルートの最適化は Google Maps Platform API であり、車両のルート目標と運用上の制約を構造化データの形式で受け入れて、1 つ以上の車両のルートプランを提供します。
ルートの最適化を使用する理由
Route Optimization API を使用すると、自動化された配車プロセスやルート計画プロセスを確立または改善し、輸送ニーズの運用効率を改善できます。独自の運用目標と制約を表すパラメータと、信頼できる Google マップのデータを基に構築されたアルゴリズムを使用して、それらの制約を満たす最適なルートプランを生成します。いくつかのユースケースの例を以下に示します。
- 物流会社は、ルートの最適化を使用してすべての翌日配送の割り当てを最適化し、配送ごとのルートを提供し、距離と時間の効率性、コスト削減、時間どおりの配達、ドライバーとエンド カスタマーの満足度を最適化しています。
- オンデマンドのフード デリバリー会社は、リアルタイムの配達プロセスでルートの最適化を使用して、複数の新しい注文を受け取り、既存のルートに挿入する最適なアクティブなドライバーを選択します。
- 医療サービス プロバイダは、ルートの最適化を使用して医療従事者を予約にマッピングし、各医療従事者の 1 日のルートの効率を向上させます。
- フィールド サービス プロバイダは、ルートの最適化を使用して、技術者のサービスの予約に最適なルートと順序を見つけ、ルートの遅延など、条件が変化したときに再最適化します。
ルートの最適化でできること
Route Optimization API を使用すると、さまざまな目標と制約を考慮して、車両フリートのルートとタスクの割り当てを最適化できます。
目標の例:
- 旅行の効率性: 距離や目的地までの所要時間などのパラメータに基づいて、旅行の効率性の要件を定義します。
- 定刻到着: 車両が時間どおりにタスクに到着していることを確認します。たとえば、受け取り、配達、サービス アクションの特定の時間枠を定義します。
- 車両の使用料金: タスクの実行に必要な車両の数を最小限に抑えてコストを削減します。
- ロード バランシング: 車両と人員のフリート全体にタスクが公平に分散されるようにします。
制約の例:
- ドライバーの業務時間: 仕事の開始時間と終了時間、休憩時間。
- 車両の積載量: 車両が一度に運べる最大積載量。
- 時間枠: 顧客の空き時間や店舗の営業時間など、到着が必要な特定の時間枠。
依存関係と互換性: 次のいずれかの方法で処理の依存関係を定義します。
- 特定の種類の車両または人員が必要
- 最初に他の作業を実行する必要がある
- 車両には、常に 1 つの荷物だけが必要です。
詳細と使用可能なすべてのパラメータについては、デベロッパー リファレンス ガイド(REST、gRPC)をご覧ください。
ルートの最適化の仕組み
Route Optimization API は、さまざまな入力を使用してルートプランを返します。入力には、車両、タスクまたは出荷、目標、制約が含まれます。ルート計画には、車両へのタスクの割り当て、各車両の複数の停車場所のルート、関連する指標が含まれます。
Route Optimization API は、次の 2 つの方法を使用してこれを実現します。
- OptimizeTours: 同期 API。クライアントはサーバーのレスポンスを待ってから他のタスクを続行する必要があります。
- BatchOptimizeTours: サーバーが終了して応答する前に、クライアントが他のタスクを続行できる非同期 API。
どちらのメソッドも、同じインターフェースとサポートされているパラメータを共有します。BatchOptimizeTours の詳細については、同期エンドポイントと非同期エンドポイントをご覧ください。
Route Optimization API は、入力の詳細を含む JSON リクエスト本文を含む HTTP POST リクエストを受け入れます。
OptimizeTours のリクエスト
リクエストは、次の必須エンティティで構成されています。
- モデル: グローバル レベルの設定と制約が構成されるグローバル エンティティ。配送と車両も含まれます。
- 配送: 集荷タスクと配達訪問を含むタスクまたは実際の配送と、対応する属性(場所やその他の属性、制約、費用関数など)を定義するために使用されます。詳しくは、配送リファレンス ドキュメント(REST、gRPC)をご覧ください。
- 車両: 車両(またはドライバー、従業員)と、それに対応する移動属性(出発場所やその他の車両属性や移動属性、制約、費用関数など)を定義するために使用します。詳細については、REST、gRPC をご覧ください。
簡単な例については、受け取りと配達中止の注文の最適化をご覧ください。
OptimizeTours のレスポンス
Route Optimization API は、車両とタスクまたは出荷のルート計画を含む JSON レスポンスを返します。
- ルート: 各車両のルートと、割り当てられたタスク(出荷)が含まれます。
- 指標: 生成されたルートプランに関する集計指標
簡単な例については、受け取りと配達中止の注文の最適化をご覧ください。
リクエストの作成とレスポンスの解釈の詳細については、レスポンスを解釈するをご覧ください。
リソース
次の表は、Route Optimization API で使用可能なリソースと返されるデータをまとめたものです。
データリソース | 返されるデータ | 戻り値の形式 |
batchOptimizeTours (REST、gRPC) |
長時間実行オペレーションのリソース名を返します。これは、処理の完了を示します。 | JSON または gRPC プロトコル |
optimizeTours (REST、gRPC) |
訪問数と指標の詳細と、最適化されたルートを返します。 | JSON または gRPC プロトコル |
ルートの最適化の使用方法
1 | セットアップする | Google Cloud プロジェクトの設定から始めて、次の設定手順を完了します。 |
2 | 基本的なリクエストを実行してレスポンスを受信する | 設定が完了したら、リクエストの作成とレスポンスの解釈に従って、基本的なリクエストを送信してレスポンスを取得します。 |
3 | より高度なシナリオを試し、独自のリクエストを作成してみましょう | 受け取りと配達中止の注文の最適化から始まるサンプル シナリオを確認し、ユースケースに一致するリクエストの作成を始めましょう。 |
利用可能なクライアント ライブラリ
Route Optimization API で使用可能なクライアント ライブラリのリストについては、クライアント ライブラリの使用をご覧ください。
次のステップ
- Route Optimization API の使用を開始する: 基本的なリクエストを実行するに進みます。
- 課金について: 使用量と請求額
- サンプルコードとライブラリを見る: クライアント ライブラリとオープンソース