OptimizeToursResponse

ツアー最適化問題の解決後に返されるレスポンス。各車両がたどったルート、スキップされた荷物、ソリューションの全体的な費用が含まれます。

JSON 表現
{
  "routes": [
    {
      object (ShipmentRoute)
    }
  ],
  "requestLabel": string,
  "skippedShipments": [
    {
      object (SkippedShipment)
    }
  ],
  "validationErrors": [
    {
      object (OptimizeToursValidationError)
    }
  ],
  "processedRequest": {
    object (OptimizeToursRequest)
  },
  "metrics": {
    object (Metrics)
  }
}
フィールド
routes[]

object (ShipmentRoute)

各車両に対して計算されたルート。i 番目のルートはモデル内の i 番目の車両に対応します。

requestLabel

string

リクエストでラベルが指定された場合は、OptimizeToursRequest.label のコピー。

skippedShipments[]

object (SkippedShipment)

スキップされたすべての配送のリスト。

validationErrors[]

object (OptimizeToursValidationError)

個別に検出できたすべての検証エラーのリスト。OptimizeToursValidationError メッセージについては、「複数のエラー」の説明を参照してください。エラーではなく、solvingModeDEFAULT_SOLVE の場合は警告が含まれます。

processedRequest

object (OptimizeToursRequest)

場合によっては、受信したリクエストを解決する前に変更(費用の追加など)します。solvingMode == TRANSFORM_AND_RETURN_REQUEST の場合、変更されたリクエストがここで返されます。

試験運用版: 詳しくは、https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request をご覧ください。

metrics

object (Metrics)

このソリューションの期間、距離、使用状況の指標。

OptimizeToursValidationError

OptimizeToursRequest の検証時に発生したエラーまたは警告について説明します。

JSON 表現
{
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object (FieldReference)
    }
  ],
  "errorMessage": string,
  "offendingValues": string
}
フィールド
code

integer

検証エラーは、常に存在するペア(codedisplayName)で定義されます。

このセクションの後のフィールドには、エラーに関する詳細なコンテキストが示されます。

複数のエラー: 複数のエラーがある場合、検証プロセスは複数のエラーを出力しようとします。コンパイラと同様に、これは完璧なプロセスではありません。検証エラーの中には「致命的」なものがあり、検証プロセス全体が停止します。これは、displayName="UNSPECIFIED" エラーなどの場合に該当します。エラーによっては、検証プロセスで他のエラーがスキップされることがあります。

安定性: codedisplayName は非常に安定している必要があります。ただし、新しいコードと表示名が時間の経過とともに表示されることがあります。この場合、新しいエラーによって古いエラーが隠されるため、特定の(無効な)リクエストで異なる(codedisplayName)ペアが生成されることがあります。たとえば、「複数のエラー」をご覧ください。

displayName

string

エラーの表示名。

fields[]

object (FieldReference)

エラー コンテキストには、0 個、1 個(ほとんどの場合)、または複数のフィールドが含まれる場合があります。たとえば、車両 #4 と配送 #2 の最初の集荷を参照するには、次のようにします。

fields { name: "vehicles" index: 4}
fields { name: "shipments" index: 2 subField {name: "pickups" index: 0} }

ただし、特定のエラーコードの fields のカーディナリティは変更しないでください。

errorMessage

string

エラーを説明する、人が読める形式の文字列。codeerrorMessage は 1 対 1 で対応しています(code != "UNSPECIFIED" の場合)。

安定性: 安定していません。特定の code に関連付けられたエラー メッセージは、時間の経過とともに変更される可能性があります(明確化されることが望まれます)。代わりに displayNamecode を使用してください。

offendingValues

string

フィールドの値を 1 つ以上含めることができます。この機能は常に利用できるとは限りません。この機能に依存することは絶対に避けてください。手動のモデル デバッグにのみ使用してください。

FieldReference

検証エラーのコンテキストを指定します。FieldReference は常にこのファイル内の特定のフィールドを参照し、同じ階層構造に従います。たとえば、車両 #5 の startTimeWindows の要素 #2 を指定するには、次のようにします。

name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }

ただし、メッセージが煩雑になるのを避けるため、OptimizeToursRequestShipmentModel などの最上位エンティティは省略します。

JSON 表現
{
  "name": string,
  "subField": {
    object (FieldReference)
  },

  // Union field index_or_key can be only one of the following:
  "index": integer,
  "key": string
  // End of list of possible types for union field index_or_key.
}
フィールド
name

string

フィールドの名前(例: "vehicles"。

subField

object (FieldReference)

必要に応じて、再帰的にネストされたサブフィールド。

共用体フィールド index_or_key

index_or_key は次のいずれかになります。

index

integer

繰り返しの場合のフィールドのインデックス。

key

string

フィールドがマップの場合のキー。

指標

すべてのルートで集計された全体的な指標。

JSON 表現
{
  "aggregatedRouteMetrics": {
    object (AggregatedMetrics)
  },
  "skippedMandatoryShipmentCount": integer,
  "usedVehicleCount": integer,
  "earliestVehicleStartTime": string,
  "latestVehicleEndTime": string,
  "costs": {
    string: number,
    ...
  },
  "totalCost": number
}
フィールド
aggregatedRouteMetrics

object (AggregatedMetrics)

ルート全体で集計されます。各指標は、同じ名前のすべての ShipmentRoute.metrics フィールドの合計(または負荷の場合は最大値)です。

skippedMandatoryShipmentCount

integer

スキップされた必須の配送の数。

usedVehicleCount

integer

使用された車両の数。注: 車両ルートが空で Vehicle.used_if_route_is_empty が true の場合、車両は使用中と見なされます。

earliestVehicleStartTime

string (Timestamp format)

中古車の最も早い開始時間。すべての中古車の ShipmentRoute.vehicle_start_time の最小値として計算されます。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

latestVehicleEndTime

string (Timestamp format)

中古車の最新の終了時間。すべての中古車の ShipmentRoute.vehicle_end_time の最大値として計算されます。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

costs

map (key: string, value: number)

ソリューションの費用(費用関連のリクエスト フィールド別に分類)。キーは、入力 OptimizeToursRequest に相対的な proto パス(例: 「model.shipments.pickups.cost」)で、値は対応する費用フィールドによって生成された合計費用で、ソリューション全体で集計されます。つまり、costs["model.shipments.pickups.cost"] は、ソリューション全体のすべての集荷費用の合計です。モデルで定義されたすべての費用がここに詳細にレポートされます。ただし、2022 年 1 月の時点では、TransitionAttributes に関連する費用は集計された形でしかレポートされません。

totalCost

number

ソリューションの合計費用。費用マップ内のすべての値の合計。