次のページには、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 |
期間 | 次の訪問を開始するまでの待機時間。 |