경로 최적화 개요에 간단히 설명한 것처럼 기본 요청은 Model, Shipment, Vehicles로 필수 항목으로 구성됩니다.
- 모델은
Shipments
및Vehicles
를 모두 포함하여 전체 요청의 설정과 제약조건을 캡처합니다. - 배송은 수령 및 배송
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"
}
}
OptimizeTours
와 BatchOptimizeTours
는 모두 위의 예와 같이 요청 메시지를 사용하지만 방식은 다릅니다. 경로 최적화 요청을 하기 전에 다음 두 가지 방법의 차이를 이해하는 것이 중요합니다.