요청 메시지 작성

경로 최적화 개요에 설명된 대로 기본 요청은 필수 항목으로 모델, 배송, 차량으로 구성됩니다.

  • 모델은 전체 요청의 설정과 제약조건을 캡처합니다. ShipmentsVehicles를 모두 포함합니다.
  • 배송은 수령 및 수령이 포함된 작업 또는 실제 배송을 나타냅니다. VisitRequest에 배송됩니다. 배송에는 현지 설정과 제한사항이 있습니다.
  • 차량은 차량, 운전자 또는 직원을 나타냅니다. 차량에는 제약 조건을 지정할 수 있습니다.

각 항목의 속성은 인코더-디코더에서 최적화 문제의 일부를 지정할 수 있습니다. 모델 전체 제약 조건이 배송 및 차량과 배송에 명시된 제약 조건 및 속성 단일 배송 또는 차량에 해당하는 경우

각 메시지 유형에 대한 전체 문서는 참조 문서를 확인하세요. ShipmentModel (REST, gRPC), Shipment (REST, gRPC)용 및 Vehicle (REST, gRPC) 메시지

숙박 시설 OptimizeToursRequest

최상위 OptimizeToursRequest 메시지의 일반적인 몇 가지 속성 (REST, gRPC)에는 다음이 포함됩니다.

  • searchMode는 조건을 충족하는 첫 번째 솔루션을 반환할지 여부를 나타냅니다. 주어진 제약조건 또는 집합 내에서 최적의 솔루션을 찾습니다. 기한을 연장할 수 있습니다.
  • considerRoadTraffic에서 실시간 트래픽의 사용 여부를 결정합니다. 경로 및 도착예정시간 예측에 사용됩니다.
  • populateTransitionPolylines는 경로 다중선의 표시 여부를 결정합니다. 응답에서 반환됩니다.

모델 속성

ShipmentModel 메시지 (REST, gRPC)에는 다음이 포함됩니다.

  • globalStartTime은 모든 경로의 가장 빠른 시작 시간을 나타냅니다. 교통수단과 배송을 예로 들 수 있습니다. 차량이 첫 전환을 시작할 수 없으며 배송 건을 선택할 수 없습니다.
  • globalEndTime은 모든 차량의 경로의 가장 늦은 종료 시간을 나타냅니다. 정보를 제공합니다 할당된 모든 배송 및 전환이 완료되어야 합니다. 확인하시기 바랍니다.

배송 속성

일반적으로 사용되는 Shipment 메시지 속성 (REST, gRPC) 포함:

  • pickups[]deliveries[]는 상품을 수령할 수 있는 위치를 나타냅니다. 중도 이탈하지 않습니다 pickups[]deliveries[] 속성 모두 VisitRequest 메시지 (REST, gRPC)
  • loadDemands는 차량이 다음 단계를 완료하는 데 필요한 부하를 나타냅니다. 배송을 탭합니다. 차량 해당 load_limits (REST, gRPC) 속성은 차량이 한 번에 수용할 수 있는 하중을 나타냅니다. 부하 수요 및 한도에서 부하에 대해 자세히 알아보세요.
  • penalty_cost: 배송을 건너뛸 경우 발생하는 비용을 나타냅니다. 읽기 비용 모델 매개변수에서 비용에 대해 자세히 알아보세요.

차량 속성

일반적으로 사용되는 Vehicle 메시지 속성 (REST, gRPC) 포함:

  • startLocation는 차량이 경로를 시작해야 하는 위치를 나타냅니다. 이 속성은 선택사항입니다. 지정하지 않으면 차량의 경로가 배송 위치를 확인합니다.
  • endLocation는 차량이 경로를 종료해야 하는 위치를 나타냅니다. 이 속성 선택사항입니다. 지정하지 않으면 차량의 경로가 다음 위치에서 종료됩니다. 배송됩니다
  • startTimeWindows[]는 차량이 경로를 시작할 수 있는 시점을 나타냅니다. 이 속성은 선택사항입니다.
  • endTimeWindows[]는 차량이 경로를 시작하고 종료할 수 있는 시점을 나타냅니다. 두 속성 모두 선택사항입니다.
  • loadLimits는 배송에 사용할 수 있는 차량의 용량을 나타냅니다. 자동으로 확장 및 축소할 수 있습니다 부하 수요 및 한도에 대한 자세한 내용은 부하 수요 및 제한사항.

JSON 형식의 전체 요청 예는 다음과 같습니다.

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.73881799999999,
              "longitude": -122.4161
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.79581,
              "longitude": -122.4218856
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "endLocation": {
          "latitude": 37.73881799999999,
          "longitude": -122.4161
        },
        "costPerKilometer": 1.0
      }
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

OptimizeToursBatchOptimizeTours는 모두 다음과 같은 요청 메시지를 소비합니다. 다른 방식으로 작동합니다 경로를 최적화하기 전에 요청을 사용하는 경우 두 메서드의 차이점을 이해하는 것이 중요합니다.

OptimizeTours와 BatchOptimizeTours의 비교