경로 최적화 개요에 간략하게 설명된 대로 기본 요청은 필수 항목인 모델, 배송, 차량으로 구성됩니다.
- 모델은
Shipments와Vehicles를 모두 포함한 전체 요청의 설정과 제약 조건을 캡처합니다. - 배송은 픽업 및 배송
VisitRequest를 포함하는 작업 또는 실제 배송을 나타냅니다. 배송에는 현지 설정과 제약 조건이 있습니다. - 차량은 차량, 운전자 또는 인력을 나타냅니다. 차량에는 로컬 설정과 제약 조건도 있습니다.
각 항목의 속성은 특정 세부사항 수준에서 최적화 문제의 일부를 설명합니다. 모델 전체 제약 조건은 모든 배송 및 차량에 적용되는 반면 배송 또는 차량에 지정된 제약 조건과 속성은 단일 배송 또는 차량에만 적용됩니다.
각 메시지 유형에 관한 전체 문서는 ShipmentModel (REST, gRPC), Shipment (REST, gRPC), Vehicle (REST, gRPC) 메시지의 참조 문서를 참고하세요.
숙박 시설 OptimizeToursRequest개
최상위 OptimizeToursRequest 메시지(REST, gRPC)의 일반적으로 사용되는 속성은 다음과 같습니다.
searchMode는 지정된 제약 조건을 충족하는 첫 번째 솔루션을 반환할지 아니면 정해진 기한 내에 최적의 솔루션을 찾을지를 나타냅니다.considerRoadTraffic는 라우팅 및 ETA 추정에 실시간 교통정보를 사용할지 여부를 결정합니다.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는 모두 위의 예와 같은 요청 메시지를 사용하지만 방식은 다릅니다. 경로 최적화 요청을 하기 전에 다음 두 가지 방법의 차이점을 이해하는 것이 중요합니다.
OptimizeTours와 BatchOptimizeTours 비교