パラメータ リスト

次のページには、Route Optimization API の optimizeTours メソッドの次のコンポーネントのパラメータ テーブルがアルファベット順で記載されています。

これらのパラメータ テーブルには、見つけやすいように、最上位オブジェクトとメイン パラメータのみが記載され、簡単に説明されています。完全な説明とすべてのネストされたパラメータを含む完全なリストについては、API リファレンス ドキュメントをご覧ください。

リクエストの本文

リクエスト本文のデータ構造。

リクエスト本文には、次の要素が含まれます。これらの要素は、右側の図に示され、下の表に記載されています。

  • OptimizeToursRequest: モデルと解決パラメータを含む最上位のリクエスト オブジェクト。
    • ShipmentModel: 配送、車両、グローバル制約を含むコアデータ構造。
      • Shipment: 集荷と配達を含むタスク。
        • VisitRequest: 集荷または配達の場所と制約。
      • Vehicle: 配送を実行できる車両。
パラメータ プロパティのタイプ 説明
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk boolean(true/false true の場合、タイムアウトがサーバーの中断のリスクがある大きな値(30 分超)に設定されていても、リクエストは処理されます。
considerRoadTraffic boolean(true/false true の場合、ルーティングにトラフィック データを使用します。false の場合、道路ネットワークの速度のみを使用します。
geodesicMetersPerSecond 数値 useGeodesicDistances が true の場合、この速度は移動時間の計算に使用されます。
injectedFirstSolutionRoutes[] オブジェクトの配列(ShipmentRoute 最適化の開始元となる以前のソリューションのルート。
injectedSolutionConstraint object(InjectedSolutionConstraint 既存のルートと類似したソリューションに制約し、どのプロパティを保持する必要があるか、どのプロパティを緩和できるかを指定します。
interpretInjectedSolutionsUsingLabels boolean(true/false true の場合、配列インデックスではなく label で挿入されたルートの配送/車両を照合します。
label 文字列 リクエストを識別するための任意のラベル。レスポンスで返されます。
maxValidationErrors integer 返される検証エラーの最大数を指定します。指定しない場合は、デフォルトの上限が適用されます。
model object(ShipmentModel 必須。最適化する車両と配送のセット。
populatePolylines boolean(true/false true の場合、ルートのエンコードされたポリラインを返します。
populateTransitionPolylines boolean(true/false true の場合、訪問間の個々の遷移のエンコードされたポリラインを返します。
refreshDetailsRoutes[] オブジェクトの配列(ShipmentRoute 更新するルートのリスト。これにより、訪問順序を変更せずに、既存のルートのポリライン、所要時間、距離が再計算されます。
searchMode enum(SearchMode RETURN_FAST(高速結果)または CONSUME_ALL_AVAILABLE_TIME(タイムアウト内の最高品質)。
solvingMode enum(SolvingMode DEFAULT_SOLVE(デフォルト)または VALIDATE_ONLY を使用して、解決せずにモデルを検証します。
timeout 期間 ソルバーの最大実行時間(例: "30s"、"300s")。
useGeodesicDistances boolean(true/false true の場合、移動距離と時間は、測地線(直線)距離と geodesicMetersPerSecond 速度を使用して計算されます。
ShipmentModel
OptimizeToursRequest の一部)
durationDistanceMatrices[] オブジェクトの配列(DurationDistanceMatrix 場所間のルーティングに使用されるカスタムの所要時間と距離の行列を指定します。
durationDistanceMatrixDstTags[] array of strings カスタムの所要時間と距離のマトリックスの目的地(列)を定義するタグ。
durationDistanceMatrixSrcTags[] array of strings カスタムの所要時間と距離のマトリックスのソース(行)を定義するタグ。
globalDurationCostPerHour 数値 ルートのグローバルな時間範囲(最も早い車両の出発から最も遅い車両の到着まで)の 1 時間あたりの費用。
globalEndTime タイムスタンプ モデル内のイベントの最新の終了時間。
globalStartTime タイムスタンプ モデル内のイベントの最も早い開始時刻。
maxActiveVehicles integer ソリューションでアクティブにできる車両の最大数。
precedenceRules[] オブジェクトの配列(PrecedenceRule 特定の配送間の順序制約を定義するルール。
shipments[] オブジェクトの配列(Shipment サービス対象の配送のリスト。
shipmentTypeIncompatibilities[] オブジェクトの配列(ShipmentTypeIncompatibility 特定の種類の荷物の配送を同じ車両で行うことを禁止するルール。
shipmentTypeRequirements[] オブジェクトの配列(ShipmentTypeRequirement 特定の種類の荷物の配送に同じ車両を使用することを義務付けるルール。
transitionAttributes[] オブジェクトの配列(TransitionAttributes 特定のタグが付いた訪問間の移行の追加費用、遅延、距離の制限を指定します。
vehicles[] オブジェクトの配列(Vehicle 配送に使用できる車両のリスト。
Shipment
ShipmentModel の一部)
allowedVehicleIndices[] 整数の配列 この配送を実行できる車両のインデックス。
costsPerVehicle[] マップ(キー: 整数、値: 数値) 特定の車両がこの配送を行う場合に発生する追加費用。
costsPerVehicleIndices[] 整数の配列 costsPerVehicle 値が適用される車両のインデックス。
deliveries[] オブジェクトの配列(VisitRequest 荷物の配送方法の代替案。
ignore boolean(true/false true の場合、配送は無視され、最適化に使用されません。
label 文字列 配送を識別するためのユーザー定義ラベル。レスポンスで返されます。
loadDemands map(キー: 文字列、値: Load この配送に必要な容量(重量、体積など)。
penaltyCost 数値 配送サービスが提供されない場合の費用。設定されていない場合、配送は必須です。
pickups[] オブジェクトの配列(VisitRequest 荷物の受け取り方法の代替手段。
pickupToDeliveryAbsoluteDetourLimit 期間 直接経路と比較して、集荷から配達までの間に許容される最大絶対迂回時間。
pickupToDeliveryRelativeDetourLimit 数値 配送で許容される最大相対迂回(値が 2.0 の場合、合計時間は直接移動時間の最大 2 倍になります)。
pickupToDeliveryTimeLimit 期間 集荷の開始から配達の開始までの最大許容時間。
shipmentType 文字列 非互換性と要件のルールに使用されるタイプの分類。
VisitRequest
Shipmentpickupsdeliveries のコンポーネント)
arrivalLocation object(LatLng 緯度と経度の座標で表した地理上の到着地点。
arrivalWaypoint object(Waypoint 車両が訪問を行うために到着する場所。座標またはプレイス ID で定義されます。
cost 数値 この特定の訪問リクエストがソルバーによって選択された場合に発生する費用。
departureLocation object(LatLng 緯度と経度の座標で表した出発地の地理的位置。
departureWaypoint object(Waypoint 車両が訪問を完了した後に出発する場所。省略すると、arrivalWaypoint と同じであると見なされます。
duration 期間 訪問時間(サービス時間)。たとえば、積み込み/荷降ろしにかかる時間。
label 文字列 この特定の訪問リクエストのユーザー定義ラベル。レスポンスで返されます。
loadDemands map(キー: 文字列、値: Load この訪問での負荷の変更を指定する要求(例: -1(荷物を配達する場合)。
tags[] array of strings この訪問リクエストに付加されたタグ。これらは、transitionAttributes を使用して、この訪問と他の訪問の間の移動時間を計算するために使用されます。
timeWindows[] オブジェクトの配列(TimeWindow この訪問の到着が許可されている時間枠。
visitTypes[] array of strings 訪問のタイプを表す文字列(例: 「delivery」、「installation」)。車両モデルから extraVisitDurationForVisitType を適用するために使用されます。
Vehicle
ShipmentModel の一部)
breakRule object(BreakRule 休憩のルール(必須の昼休みなど)を定義します。
costPerHour 数値 ルートの合計所要時間 1 時間あたりの費用。
costPerKilometer 数値 走行距離 1 キロメートルあたりの費用。
costPerTraveledHour 数値 車両の移動中の 1 時間あたりの費用。
endLocation object(LatLng 緯度と経度の座標で表した地理的な終点。
endTags[] array of strings 遷移属性に使用される、車両の最終状態を定義するタグ。
endTimeWindows[] オブジェクトの配列(TimeWindow 車両がルートを終了できる時間帯。
endWaypoint object(Waypoint ウェイポイント(座標またはプレイス ID)を使用した地理的な最終地点。
extraVisitDurationForVisitType map(キー: 文字列、値: Duration visitType に基づいて、サイト訪問の期間を延長します。
fixedCost 数値 ルートの距離や所要時間に関係なく、車両が使用された場合に適用される固定費用。
ignore boolean(true/false true の場合、車両は無視され、最適化に使用されません。
label 文字列 車両のユーザー定義ラベル。レスポンスで返されます。
loadLimits map(キー: 文字列、値: LoadLimit 車両の容量(最大重量、最大容量など)。
routeDistanceLimit object(DistanceLimit 車両のルートの合計距離に対するハード制限またはソフト制限。
routeDurationLimit object(DurationLimit 車両のルートの合計時間のハード制限またはソフト制限。
routeModifiers object(RouteModifiers 有料道路、高速道路、フェリーを使わないなどの制約が 1 つ以上。
startLocation object(LatLng 緯度と経度の座標で表した地理的な開始位置。
startTags[] array of strings 遷移属性に使用される、車両の開始状態を定義するタグ。
startTimeWindows[] オブジェクトの配列(TimeWindow 車両がルートを開始できる時間帯。
startWaypoint object(Waypoint Waypoint を使用した地理的な開始位置(座標またはプレイス ID)。
travelDurationLimit object(DurationLimit 車両の合計移動時間(待機時間/サービス時間を除く)の上限(ハードまたはソフト)。
travelDurationMultiple 数値 移動時間に適用される乗数(例: 1.5 にすると、移動速度が 50% 遅くなります)。
travelMode enum(TravelMode 移動手段(例: DRIVINGWALKING)。移動時間と距離に影響します。
unloadingPolicy enum(UnloadingPolicy 荷降ろし順序を定義します(例: LIFO または LAST_IN_FIRST_OUT)。
usedIfRouteIsEmpty boolean(true/false true の場合、出荷がなくても車両は使用済みと見なされます。固定費が発生し、開始地点と終了地点の間を移動します。

レスポンスの本文

レスポンス本文のデータ構造。

レスポンスの本文には、次の要素が含まれます。これらの要素は、右の図に示され、下の表に記載されています。

  • OptimizeToursResponse: 最適化されたルートと指標を含む最上位のレスポンス オブジェクト。
    • Metrics: ソリューションの全体的な費用と実行の統計情報。
    • ShipmentRoute: 1 台の車両に割り当てられた訪問と移動経路のシーケンス。
      • Visit: 集荷または配達を行うルート上の停車地。
      • Transition: 2 つのルートの停車場所間の移動経路と所要時間。
      • AggregatedMetrics: 時間、距離、その他の指標の合計値。この要素は、MetricsShipmentRoute の両方に存在できます。
パラメータ プロパティのタイプ 説明
OptimizeToursResponse metrics object(Metrics ソリューションの集計指標(合計費用、合計距離、合計時間、車両の使用回数など)。
requestLabel 文字列 リクエストの label フィールドからコピーされたラベル。レスポンスを元のリクエストに関連付けるために使用されます。
routes[] オブジェクトの配列(ShipmentRoute 各車両について計算されたルートのリスト。使用状況に関係なく、すべての車両のエントリが含まれます。
skippedShipments[] オブジェクトの配列(SkippedShipment スキップされた(サービス対象外の)配送のリストと、スキップされた理由。
validationErrors[] オブジェクトの配列(OptimizeToursValidationError 入力モデルで見つかった検証エラーのリスト。solvingModeVALIDATE_ONLY に設定されている場合、または解決中にエラーが発生した場合に入力されます。
Metrics
OptimizeToursResponse の一部)
aggregatedRouteMetrics object(AggregatedMetrics すべてのルートの集計統計情報(合計移動距離、合計所要時間、待ち時間など)。
costs map(キー: 文字列、値: 数値) タイプ別の費用の内訳(例: "model.vehicles.cost_per_kilometer"、"model.shipments.penalty_cost")。
earliestVehicleStartTime タイムスタンプ 使用されたすべての車両の中で最も早い開始時間。
latestVehicleEndTime タイムスタンプ すべての使用済み車両の中で最も遅い終了時間。
skippedMandatoryShipmentCount integer スキップされた必須の配送の数。
totalCost 数値 ソリューションの合計費用。すべてのルート費用とスキップされた配送のペナルティを合計したものです。
usedVehicleCount integer ソリューションで使用される車両の数。
AggregatedMetrics
MetricsShipmentRoute の一部)
breakDuration 期間 すべてのルートで取得した休憩時間の合計。
costs map(キー: 文字列、値: 数値) タイプ別の費用の内訳(例: "model.vehicles.cost_per_kilometer"、"model.shipments.penalty_cost")。
delayDuration 期間 すべてのルートの合計遅延時間。
earliestVehicleStartTime タイムスタンプ 使用されたすべての車両の中で最も早い開始時間。
latestVehicleEndTime タイムスタンプ すべての使用済み車両の中で最も遅い終了時間。
maxLoads map(キー: 文字列、値: VehicleLoad ソリューション内の任意の時点で任意の車両が運ぶ最大積載量。積載量のタイプでキー設定されます。
performedShipmentCount integer すべての車両で行われた配送の合計数。
skippedMandatoryShipmentCount integer スキップされた必須の配送の数。
totalCost 数値 ソリューションの合計費用。すべてのルート費用とスキップされた配送のペナルティを合計したものです。
totalDuration 期間 すべてのルートの合計時間(移動 + 待ち時間 + 遅延 + 休憩 + 訪問)。
travelDistanceMeters 数値 すべてのルートの合計移動距離(メートル単位)。
travelDuration 期間 すべてのルートの合計移動時間。
usedVehicleCount integer ソリューションで使用される車両の数。
visitDuration 期間 すべてのルートで訪問(積み込み/荷降ろし)に費やされた合計時間。
waitDuration 期間 すべてのルートの合計待機時間。
ShipmentRoute
OptimizeToursResponse の一部)
breaks[] オブジェクトの配列(Break ルート中に車両が休憩したリスト。
hasTrafficInfeasibilities boolean(true/false ルートに交通状況に関連する実行不可能性があるかどうかを示します。
metrics object(AggregatedMetrics このルートに固有の指標(総移動距離や所要時間など)。
routeCosts map(キー: 文字列、値: 数値) このルートの費用の内訳。キーは費用タイプ(cost_per_hour など)で、値は金額です。
routePolyline object(EncodedPolyline ルートの全パスを地理的に表すエンコードされたポリライン。
routeTotalCost 数値 ルートの合計費用。routeCosts マップ内のすべての費用の合計。
transitions[] オブジェクトの配列(Transition 訪問をつなぐ遷移(旅行区間)の順序付きリスト。
vehicleEndTime タイムスタンプ 車両がルートを完了する時刻。
vehicleIndex integer このルートを実行するソース ShipmentModel 内の車両のインデックス。
vehicleLabel 文字列 リクエスト モデルからコピーされた、車両のユーザー定義ラベル。
vehicleStartTime タイムスタンプ 車両がルートを開始する時刻。
visits[] オブジェクトの配列(Visit このルートで車両が実行する訪問(集荷と配達)の順序。
Visit
ShipmentRoute の一部)
detour 期間 この訪問によって発生した、前の訪問と次の訪問の間の直接経路と比較した余分な迂回時間。
isPickup boolean(true/false true の場合、この訪問は集荷です。false の場合、配達です。
loadDemands map(キー: 文字列、値: Load この訪問で満たされる負荷の需要(配達の場合は -1 など)。これは、対応する VisitRequest ロード需要のコピーです。
shipmentIndex integer このアクセスがサービスを提供するソースモデルの Shipment フィールドのインデックス。
shipmentLabel 文字列 ShipmentModel からコピーされた配送のラベル。
startTime タイムスタンプ 訪問が開始される予定の時刻。
visitLabel 文字列 モデルの VisitRequest からコピーされた、訪問リクエストのラベル。
visitRequestIndex integer この訪問に対応する配送の集荷または配達リスト内の VisitRequest のインデックス。
Transition
ShipmentRoute の一部)
breakDuration 期間 この移行中に取得した休憩時間。
delayDuration 期間 この切り替え中に発生した遅延時間(早く到着して時間枠を待つなど)。
routePolyline object(EncodedPolyline この特定のトランジションのパスを表すエンコードされたポリライン。
routeToken 文字列 ナビゲーション中にルートを再構築するために Google Navigation SDK に渡すことができる不透明なトークン。
startTime タイムスタンプ この遷移の開始時間。
totalDuration 期間 移動、待機、休憩、遅延などを含む、移行の合計時間。
trafficInfoUnavailable boolean(true/false true の場合、この遷移のトラフィック データが利用できなかったことを示します。
travelDistanceMeters 数値 この遷移中に移動した距離(メートル単位)。
travelDuration 期間 この移行期間中の移動時間。
vehicleLoads map(キー: 文字列、値: VehicleLoad この移行中に車両が運ぶ荷物。荷物の種類(乗客、貨物など)でキー設定されます。「weight」)。
waitDuration 期間 次の訪問を開始するまでの待機時間。