パラメータ リスト

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

これらのパラメータ テーブルには、検出を容易にするために、最上位オブジェクトとメイン パラメータのみが一覧表示され、簡単に説明されています。詳細な説明とすべてのネストされたパラメータを含む完全なリストについては、API リファレンス ドキュメントをご覧ください。

リクエストの本文

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

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

  • OptimizeToursRequest: モデルと解決パラメータを含む最上位のリクエスト オブジェクト。
    • ShipmentModel: 配送、車両、グローバル制約を含むコアデータ構造。
      • Shipment: 集荷と配達を伴うタスク。
        • VisitRequest: 集荷または配達の場所と制約。
      • Vehicle: : 配送に使用できる車両。
親 パラメータ プロパティのタイプ 説明
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk ブール値(true / false) true の場合、タイムアウトが大きな値(30 分を超える値)に設定されていて、サーバーが中断されるリスクがある場合でも、リクエストは処理されます。
considerRoadTraffic ブール値(true / false) true の場合、ルーティングに交通データを使用します。false の場合、道路網の速度のみを使用します。
geodesicMetersPerSecond 数値 useGeodesicDistances が true の場合、この速度を使用して移動時間が計算されます。
injectedFirstSolutionRoutes[] オブジェクトの配列(ShipmentRoute) 最適化を開始する前のソリューションのルート。
injectedSolutionConstraint オブジェクト(InjectedSolutionConstraint) 既存のルートに類似するようにソリューションを制約し、保持する必要があるプロパティと緩和できるプロパティを指定します。
interpretInjectedSolutionsUsingLabels ブール値(true / false) true の場合、挿入されたルートの配送 / 車両を、配列インデックスではなく label で照合します。
label 文字列 リクエストを識別する任意のラベル。レスポンスで返されます。
maxValidationErrors integer 返される検証エラーの最大数を指定します。指定しない場合、デフォルトの上限が適用されます。
model オブジェクト(ShipmentModel) 必須。最適化する車両と配送のセット。
populatePolylines ブール値(true / false) true の場合、ルートのエンコードされたポリラインを返します。
populateTransitionPolylines ブール値(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 ブール値(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 ブール値(true / false) true の場合、配送は無視され、最適化に使用されません。
label 文字列 レスポンスで返される、配送を識別するためのユーザー定義ラベル。
loadDemands map(キー: string、値: Load) この配送に必要な容量(重量、体積など)。
penaltyCost 数値 配送がサービスされない場合の費用。設定されていない場合、この配送は必須です。
pickups[] オブジェクトの配列(VisitRequest) 荷物の集荷に関する代替手段。
pickupToDeliveryAbsoluteDetourLimit 期間 直接経路と比較して、集荷と配達の間に許容される最大絶対迂回時間。
pickupToDeliveryRelativeDetourLimit 数値 配送に許容される最大相対迂回(例: 値 2.0 は、合計時間が直接移動時間の最大 2 倍になることを意味します)。
pickupToDeliveryTimeLimit 期間 集荷の開始から配達の開始までに許容される最大時間。
shipmentType 文字列 非互換性ルールと要件ルールに使用されるタイプ分類。
VisitRequest
(Shipment の pickups と deliveries のコンポーネント)
arrivalLocation オブジェクト(LatLng) 緯度と経度の座標で表した地理的な到着地。
arrivalWaypoint オブジェクト(Waypoint) 車両が訪問を行うために到着する場所。座標またはプレイス ID で定義されます。
cost 数値 この特定の訪問リクエストがソルバーによって選択された場合に発生する費用。
departureLocation オブジェクト(LatLng) 出発地の地理的位置(緯度 / 経度座標)。
departureWaypoint オブジェクト(Waypoint) 訪問を完了した後に車両が出発する場所。省略すると、arrivalWaypoint と同じであると見なされます。
duration 期間 訪問の所要時間(サービス時間)。たとえば、積み込み / 荷降ろしにかかる時間。
label 文字列 この特定の訪問リクエストのユーザー定義ラベル。レスポンスで返されます。
loadDemands map(キー: string、値: Load) この訪問での負荷の変化を指定する需要(例: 荷物を降ろす場合は -1)。
tags[] array of strings この訪問リクエストに適用されたタグ。これらは、transitionAttributes を使用して、この訪問と他の訪問の間の移動時間を計算するために使用されます。
timeWindows[] オブジェクトの配列(TimeWindow) この訪問の到着に許可される時間枠。
visitTypes[] array of strings 訪問の種類(「配送」、「設置」など)を表す文字列。車両モデルから extraVisitDurationForVisitType を適用するために使用されます。
Vehicle
(ShipmentModel の一部)
breakRule オブジェクト(BreakRule) 休憩のルール(例: 必須の昼休み)を定義します。
costPerHour 数値 ルートの合計所要時間 1 時間あたりの費用。
costPerKilometer 数値 走行距離 1 km あたりの費用。
costPerTraveledHour 数値 車両が移動している間の 1 時間あたりの費用。
endLocation オブジェクト(LatLng) 地理的な終了位置(緯度 / 経度座標)。
endTags[] array of strings 車両の終了状態を定義するタグ。遷移属性に使用されます。
endTimeWindows[] オブジェクトの配列(TimeWindow) 車両がルートを終了できる時間枠。
endWaypoint オブジェクト(Waypoint) ウェイポイント(座標またはプレイス ID)を使用した地理的な終了地点。
extraVisitDurationForVisitType map(キー: string、値: Duration) visitType に基づいて、訪問に時間を追加します。
fixedCost 数値 車両が使用された場合に適用される固定費用。ルートの距離や所要時間には依存しません。
ignore ブール値(true / false) true の場合、車両は無視され、最適化に使用されません。
label 文字列 レスポンスで返される、車両のユーザー定義ラベル。
loadLimits map(キー: string、値: LoadLimit) 車両の容量(最大重量、最大容量など)。
routeDistanceLimit オブジェクト(DistanceLimit) 車両のルートの合計距離に対するハードリミットまたはソフトリミット。
routeDurationLimit オブジェクト(DurationLimit) 車両のルートの合計所要時間に対するハードリミットまたはソフトリミット。
routeModifiers オブジェクト(RouteModifiers) 有料道路、高速道路、フェリーを避けるなどの 1 つまたは複数の制約。
startLocation オブジェクト(LatLng) 地理的な開始位置(緯度 / 経度座標)。
startTags[] array of strings 車両の開始状態を定義するタグ。遷移属性に使用されます。
startTimeWindows[] オブジェクトの配列(TimeWindow) 車両がルートを開始できる時間枠。
startWaypoint オブジェクト(Waypoint) ウェイポイント(座標またはプレイス ID)を使用した地理的な開始位置。
travelDurationLimit オブジェクト(DurationLimit) 車両の合計移動時間(待機時間 / サービス時間を除く)に対するハードリミットまたはソフトリミット。
travelDurationMultiple 数値 移動時間に適用される乗数(1.5 の場合、移動時間が 50% 長くなります)。
travelMode enum(TravelMode) 移動手段(DRIVING、WALKING など)。移動時間と距離に影響します。
unloadingPolicy enum(UnloadingPolicy) アンロードの順序を定義します(例: LIFO、LAST_IN_FIRST_OUT)。
usedIfRouteIsEmpty ブール値(true / false) true の場合、車両は配送がなくても使用済みと見なされます。固定費用が発生し、開始場所と終了場所の間を移動します。

レスポンスの本文

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

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

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