부하 수요 및 한도는 용량을 관리하는 데 사용할 수 있는 일종의 제약 조건입니다. 배송의 필수 용량과 차량의 최대 용량을 지정하면 이러한 제약 조건에 따라 경로 할당을 최적화할 수 있습니다.
부하 수요 및 한도는 다음과 같은 목표를 지원할 수 있습니다.
- 차량에 과부하가 걸리지 않도록 합니다.
- 배송 상품이 수거되고 배송되면서 차량의 적재량이 어떻게 달라지는지 모니터링합니다.
- 차량이 특정 위치를 방문할 수 있는 횟수를 제한합니다.
부하 수요 및 한도는 다음 속성에 지정됩니다.
loadDemands
는 특정 배송에 필요한 용량을 지정합니다.loadLimits
는 지정된 차량의 최대 수용 인원을 지정합니다.
구조
다이어그램에서 볼 수 있듯이 부하 수요 및 한도는 다음과 같이 구성됩니다.
loadDemands
는Shipment
의 속성입니다.Shipment
에는 여러 부하 수요가 있을 수 있습니다.loadLimits
는Vehicle
의 속성입니다.Vehicle
에는 여러 부하 한도가 있을 수 있습니다.
속성
이 섹션에서는 부하 수요 및 한도의 속성을 설명합니다. 다음과 같습니다.
로드 유형
적재 유형은 배송의 적재 수요 유형과 차량의 적재 한도를 식별하는 문자열 키입니다. 로드 유형에는 다음과 같은 중요한 특성이 있습니다.
- 사용자 정의: 사용자가 정의하는 부하 유형입니다. 로드 유형에 사전 정의된 시스템 변수는 없습니다.
- 공유: 로드 유형은 배송과 차량 간에 공유됩니다. 즉, 짐 유형이 일치하는 경우에 만 차량의 용량을 한도까지 사용합니다. 차량이 특정 유형에 대한 짐 한도를 지정하지 않으면 해당 짐 유형을 무제한으로 실을 수 있습니다.
로드 유형을 나타내는 문자열 키는 프로토콜 버퍼 맵 유형 문법을 사용합니다. 문제를 방지하려면 이러한 문자열 키가 null이 아니어야 합니다. 부하 유형의 이름을 지정할 때는 부하 유형과 단위를 설명하는 식별자를 사용하는 것이 좋습니다. 예: weightKg, volume_gallons, palletcount, frequencyDaily
Load
및 LoadLimit
Load
및 LoadLimit
객체에는 배송 및 차량의 용량 요구사항을 정의하는 특정 속성이 포함되어 있습니다. 다음 표에서는 이러한 속성을 설명합니다.
객체 | 자녀 있음 | 속성 | 숙소 유형 | 숙박 시설 설명 |
---|---|---|---|---|
Load |
loadDemands |
amount |
문자열 (int64 형식) | 지정된 유형에서 배송의 용량 요구사항을 정의합니다. |
LoadLimit |
loadLimits |
maxLoad |
문자열 (int64 형식) | 지정된 유형의 차량 최대 적재 용량을 정의합니다. |
예
다음 예는 loadDemands
유형을 문자열로, amount
속성을 int64 형식의 문자열로 설정할 수 있는 부하 수요의 구조를 보여줍니다.
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
다음 예는 loadLimits
유형을 문자열로, maxLoad
속성을 int64 형식의 문자열로 설정할 수 있는 가장 기본적인 부하 한도의 구조를 보여줍니다.
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
사용해 보기
위의 코드 예시를 사용하여 가상의 시나리오를 만듭니다. 이 시나리오에서는 배송물의 무게가 10kg이고 차량의 적재량이 100kg입니다.
loadDemands
예에서는 로드 유형을weightKg
로 정의합니다.이렇게 하면
loadLimits
예시의 부하 유형도 채워져 부하 유형을 공유합니다. 배송에서 차량 한도를 사용하려면loadDemands
및loadLimits
유형이 일치해야 합니다.동일한
loadDemands
예에서amount
속성을10
로 설정합니다.즉, 배송물의 무게가 10kg입니다.
loadLimits
예에서maxLoad
속성을100
로 설정합니다.즉, 차량은 최대 100kg을 실을 수 있습니다.
사전 정의된 유형 집합은 없습니다. 이 예에서는 킬로그램을 포인트로 변경하거나 무게 대신 선형 측정값으로 변경할 수 있습니다. 이러한 유연성을 통해 부하 수요와 한도를 특정 요구사항에 맞게 조정할 수 있습니다.
요청 예
다음 예는 배송에 loadDemands
, 차량에 loadLimits
가 있는 기본 optimizeTours
요청의 구조를 보여줍니다.
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
배송에 여러 개의 적재 요구사항이 있을 수 있고 차량에 여러 개의 적재 한도가 있을 수 있으므로 차량의 경로를 최적화할 때 고려할 복잡한 제약 조건을 제공할 수 있습니다.