매개변수 목록

다음 페이지에는 경로 최적화 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 object (InjectedSolutionConstraint) 기존 경로와 유사하도록 솔루션을 제한하여 유지해야 하는 속성과 완화할 수 있는 속성을 지정합니다.
interpretInjectedSolutionsUsingLabels 불리언 (true/false) true인 경우 배열 색인 대신 label로 삽입된 경로의 배송/차량을 일치시킵니다.
label 문자열 요청을 식별하는 임의 라벨로, 응답에 반환됩니다.
maxValidationErrors 정수 반환할 최대 유효성 검사 오류 수를 지정합니다. 지정하지 않으면 기본 한도가 적용됩니다.
model object (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 기간 솔버가 실행되어야 하는 최대 기간입니다 (예: '30초', '300초')
useGeodesicDistances 불리언 (true/false) true인 경우 측지선 (직선) 거리와 geodesicMetersPerSecond 속도를 사용하여 이동 거리와 시간이 계산됩니다.
ShipmentModel
(OptimizeToursRequest의 일부)
durationDistanceMatrices[] 객체 배열 (DurationDistanceMatrix) 위치 간 라우팅에 사용되는 맞춤 소요 시간 및 거리 매트릭스를 지정합니다.
durationDistanceMatrixDstTags[] 문자열 배열 맞춤 시간 및 거리 매트릭스의 대상 (열)을 정의하는 태그입니다.
durationDistanceMatrixSrcTags[] 문자열 배열 맞춤 기간 및 거리 매트릭스의 소스 (행)를 정의하는 태그입니다.
globalDurationCostPerHour 숫자 가장 빠른 차량 시작부터 가장 늦은 차량 종료까지의 경로의 전역 시간 범위의 시간당 비용입니다.
globalEndTime 타임스탬프 모델에 있는 이벤트의 가장 늦은 종료 시간입니다.
globalStartTime 타임스탬프 모델에 있는 이벤트의 가장 빠른 시작 시간입니다.
maxActiveVehicles 정수 솔루션에서 활성화할 수 있는 최대 차량 수입니다.
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 맵 (키: 문자열, 값: Load) 이 배송을 운반하는 데 필요한 용량 (예: 무게, 부피)입니다.
penaltyCost 숫자 배송이 서비스되지 않는 경우의 비용입니다. 설정되지 않은 경우 배송이 필수입니다.
pickups[] 객체 배열 (VisitRequest) 배송을 수령하는 방법의 대안입니다.
pickupToDeliveryAbsoluteDetourLimit 기간 직접 경로와 비교하여 픽업과 배송 사이에 허용되는 최대 절대 우회 시간입니다.
pickupToDeliveryRelativeDetourLimit 숫자 배송에 허용되는 최대 상대 우회입니다 (예: 값 2.0은 총 시간이 직접 이동 시간의 최대 2배일 수 있음을 의미).
pickupToDeliveryTimeLimit 기간 픽업 시작부터 배송 시작까지 허용되는 최대 기간입니다.
shipmentType 문자열 비호환성 및 요구사항 규칙에 사용되는 유형 분류입니다.
VisitRequest
(Shipmentpickupsdeliveries 구성요소)
arrivalLocation object (LatLng) 위도/경도 좌표로 된 지리적 도착 위치입니다.
arrivalWaypoint object (Waypoint) 차량이 방문을 수행하기 위해 도착하는 위치입니다. 좌표 또는 장소 ID로 정의됩니다.
cost 숫자 이 특정 방문 요청이 해결사에 의해 선택된 경우 발생하는 비용입니다.
departureLocation object (LatLng) 위도/경도 좌표로 표시된 지리적 출발 위치입니다.
departureWaypoint object (Waypoint) 방문을 완료한 후 차량이 출발하는 위치입니다. 생략된 경우 arrivalWaypoint과 동일한 것으로 간주됩니다.
duration 기간 방문 시간 (서비스 시간), 예를 들어 로드/언로드하는 데 걸리는 시간입니다.
label 문자열 이 특정 방문 요청에 대한 사용자 정의 라벨로, 응답에 반환됩니다.
loadDemands 맵 (키: 문자열, 값: Load) 이 방문에서 로드 변경을 지정해야 합니다 (예: -1: 패키지를 수령합니다.
tags[] 문자열 배열 이 방문 요청에 연결된 태그입니다. 이 쿠키는 transitionAttributes를 사용하여 이번 방문과 다른 방문 간의 이동 시간을 계산하는 데 사용됩니다.
timeWindows[] 객체 배열 (TimeWindow) 이 방문의 도착에 허용된 시간대입니다.
visitTypes[] 문자열 배열 방문 유형을 설명하는 문자열입니다 (예: '배송', '설치'). 차량 모델에서 extraVisitDurationForVisitType을 적용하는 데 사용됩니다.
Vehicle
(ShipmentModel의 일부)
breakRule object (BreakRule) 휴식 시간 (예: 필수 점심시간)에 대한 규칙을 정의합니다.
costPerHour 숫자 전체 경로 시간의 시간당 비용입니다.
costPerKilometer 숫자 이동 거리당 비용입니다.
costPerTraveledHour 숫자 차량이 이동 중일 때의 시간당 비용입니다.
endLocation object (LatLng) 위도/경도 좌표로 표시된 지리적 종료 위치입니다.
endTags[] 문자열 배열 전환 속성에 사용되는 차량의 최종 상태를 정의하는 태그입니다.
endTimeWindows[] 객체 배열 (TimeWindow) 차량이 경로를 종료할 수 있는 허용된 시간대입니다.
endWaypoint object (Waypoint) 경유지 (좌표 또는 장소 ID)를 사용하는 지리적 종료 위치입니다.
extraVisitDurationForVisitType map (key: string, value: Duration) visitType에 따라 방문에 추가 기간을 더합니다.
fixedCost 숫자 경로의 거리나 시간에 관계없이 차량을 사용하는 경우 적용되는 고정 비용입니다.
ignore 불리언 (true/false) true인 경우 차량이 무시되고 최적화에 사용되지 않습니다.
label 문자열 사용자 정의 차량 라벨로, 응답에 반환됩니다.
loadLimits 맵 (키: 문자열, 값: LoadLimit) 차량 용량 (예: 최대 중량, 최대 부피)
routeDistanceLimit object (DistanceLimit) 차량 경로의 총 거리에 대한 엄격한 제한 또는 유연한 제한입니다.
routeDurationLimit object (DurationLimit) 차량 경로의 총 시간에 대한 엄격한 제한 또는 유연한 제한입니다.
routeModifiers object (RouteModifiers) 유료도로, 고속도로 또는 페리 제외와 같은 하나 이상의 제약 조건입니다.
startLocation object (LatLng) 위도/경도 좌표로 된 지리적 시작 위치입니다.
startTags[] 문자열 배열 전환 속성에 사용되는 차량의 시작 상태를 정의하는 태그입니다.
startTimeWindows[] 객체 배열 (TimeWindow) 차량이 경로를 시작할 수 있는 허용된 시간입니다.
startWaypoint object (Waypoint) 경유지 (좌표 또는 장소 ID)를 사용하는 지리적 시작 위치입니다.
travelDurationLimit object (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: 단일 차량에 할당된 방문 및 이동 경로의 시퀀스입니다.
      • Visit: 승차 또는 배송을 수행하기 위한 경로의 정류장입니다.
      • Transition: 두 경로 정류장 간의 이동 경로와 시간입니다.
      • AggregatedMetrics: 기간, 거리, 기타 측정항목의 합계입니다. 이 요소는 MetricsShipmentRoute에 모두 있을 수 있습니다.
자녀 있음 매개변수 숙소 유형 설명
OptimizeToursResponse metrics object (Metrics) 총비용, 총거리, 총 기간, 차량 사용 횟수를 비롯한 솔루션의 집계된 측정항목입니다.
requestLabel 문자열 요청의 label 필드에서 복사된 라벨입니다. 응답을 원래 요청과 연관시키는 데 사용됩니다.
routes[] 객체 배열 (ShipmentRoute) 각 차량에 대해 계산된 경로 목록입니다. 사용 여부와 관계없이 모든 차량의 항목이 포함됩니다.
skippedShipments[] 객체 배열 (SkippedShipment) 건너뛴 (서비스되지 않은) 배송 목록과 건너뛴 이유입니다.
validationErrors[] 객체 배열 (OptimizeToursValidationError) 입력 모델에서 발견된 유효성 검사 오류 목록입니다. solvingModeVALIDATE_ONLY로 설정되었거나 해결 중에 오류가 발생한 경우에 채워집니다.
Metrics
(OptimizeToursResponse의 일부)
aggregatedRouteMetrics object (AggregatedMetrics) 총 이동 거리, 총 시간, 대기 시간 등 모든 경로의 집계된 통계
costs map (key: string, value: number) 유형별 비용 분석 (예: 'model.vehicles.cost_per_kilometer', 'model.shipments.penalty_cost')
earliestVehicleStartTime 타임스탬프 사용된 모든 차량 중 가장 빠른 시작 시간입니다.
latestVehicleEndTime 타임스탬프 사용된 모든 차량 중 가장 늦은 종료 시간입니다.
skippedMandatoryShipmentCount 정수 건너뛴 필수 배송 수입니다.
totalCost 숫자 모든 경로 비용과 건너뛴 배송 페널티를 합한 솔루션의 총비용입니다.
usedVehicleCount 정수 솔루션에 사용된 차량 수입니다.
AggregatedMetrics
(MetricsShipmentRoute의 일부)
breakDuration 기간 모든 경로에서 취한 휴식의 총 시간입니다.
costs map (key: string, value: number) 유형별 비용 분석 (예: 'model.vehicles.cost_per_kilometer', 'model.shipments.penalty_cost')
delayDuration 기간 모든 경로의 총 지연 시간입니다.
earliestVehicleStartTime 타임스탬프 사용된 모든 차량 중 가장 빠른 시작 시간입니다.
latestVehicleEndTime 타임스탬프 사용된 모든 차량 중 가장 늦은 종료 시간입니다.
maxLoads 맵 (키: 문자열, 값: VehicleLoad) 솔루션의 어느 시점에서든 차량이 운반하는 최대 하중입니다. 하중 유형별로 키가 지정됩니다.
performedShipmentCount 정수 모든 차량에서 수행된 총 배송 수입니다.
skippedMandatoryShipmentCount 정수 건너뛴 필수 배송 수입니다.
totalCost 숫자 모든 경로 비용과 건너뛴 배송 페널티를 합한 솔루션의 총비용입니다.
totalDuration 기간 모든 경로의 총 지속 시간 (이동 + 대기 + 지연 + 휴식 + 방문)입니다.
travelDistanceMeters 숫자 모든 경로의 총 이동 거리(미터)입니다.
travelDuration 기간 모든 경로의 총 이동 시간입니다.
usedVehicleCount 정수 솔루션에 사용된 차량 수입니다.
visitDuration 기간 모든 경로에서 방문 (싣기/내리기)을 수행하는 데 소요된 총 시간입니다.
waitDuration 기간 모든 경로의 총 대기 시간입니다.
ShipmentRoute
(OptimizeToursResponse의 일부)
breaks[] 객체 배열 (Break) 경로 중에 차량이 취한 휴식 목록입니다.
hasTrafficInfeasibilities 불리언 (true/false) 경로에 교통 관련 불가능한 사항이 있는지 나타냅니다.
metrics object (AggregatedMetrics) 이 경로와 관련된 측정항목(예: 총 이동 거리 및 이동 시간)입니다.
routeCosts map (key: string, value: number) 이 경로의 비용 세부정보입니다. 키는 비용 유형입니다 (예: 'cost_per_hour')이고 값은 금액입니다.
routePolyline object (EncodedPolyline) 경로의 전체 경로를 지리적으로 나타내는 인코딩된 다중선입니다.
routeTotalCost 숫자 경로의 총비용으로, routeCosts 맵의 모든 비용의 합계입니다.
transitions[] 객체 배열 (Transition) 방문을 연결하는 전환 (여행 구간)의 순서가 지정된 목록입니다.
vehicleEndTime 타임스탬프 차량이 경로를 완료하는 시간입니다.
vehicleIndex 정수 이 경로를 실행하는 소스 ShipmentModel의 차량 색인입니다.
vehicleLabel 문자열 요청 모델에서 복사된 차량의 사용자 정의 라벨입니다.
vehicleStartTime 타임스탬프 차량이 경로를 시작하는 시간입니다.
visits[] 객체 배열 (Visit) 이 경로에서 차량이 수행한 방문 (픽업 및 배송)의 순서입니다.
Visit
(ShipmentRoute의 일부)
detour 기간 이 방문으로 인해 발생한 추가 우회 시간으로, 이전 방문과 다음 방문 사이의 직접 경로와 비교한 시간입니다.
isPickup 불리언 (true/false) true인 경우 이 방문은 수령입니다. false인 경우 배송입니다.
loadDemands 맵 (키: 문자열, 값: Load) 이 방문으로 충족된 수요 (예: 배송의 경우 -1)입니다. 이는 해당 VisitRequest 로드 요구사항의 사본입니다.
shipmentIndex 정수 이 방문이 서비스하는 소스 모델의 Shipment 필드 색인입니다.
shipmentLabel 문자열 ShipmentModel에서 복사한 배송물 라벨입니다.
startTime 타임스탬프 방문이 시작될 예정인 시간입니다.
visitLabel 문자열 모델의 VisitRequest에서 복사된 방문 요청의 라벨입니다.
visitRequestIndex 정수 이 방문이 해당하는 배송의 수령 또는 배송 목록에 있는 VisitRequest의 색인입니다.
Transition
(ShipmentRoute의 일부)
breakDuration 기간 이 전환 중에 취한 휴식 시간입니다.
delayDuration 기간 이 전환 중에 발생한 지연 시간입니다 (예: 일찍 도착하여 시간대를 기다림).
routePolyline object (EncodedPolyline) 이 특정 전환의 경로를 나타내는 인코딩된 다중선입니다.
routeToken 문자열 내비게이션 중에 경로를 재구성하기 위해 Google Navigation SDK에 전달할 수 있는 불투명 토큰입니다.
startTime 타임스탬프 이 전환의 시작 시간입니다.
totalDuration 기간 이동, 대기, 휴식, 지연을 포함한 전환의 총 지속 시간입니다.
trafficInfoUnavailable 불리언 (true/false) true인 경우 이 전환에 트래픽 데이터를 사용할 수 없음을 나타냅니다.
travelDistanceMeters 숫자 이 전환 중에 이동한 거리(미터)입니다.
travelDuration 기간 이 전환 중 이동 시간입니다.
vehicleLoads 맵 (키: 문자열, 값: VehicleLoad) 이 전환 중에 차량이 운반하는 화물입니다. 화물 유형 (예: 'weight').
waitDuration 기간 다음 방문이 시작되기 전에 대기하는 데 걸린 시간입니다.