제한해야 하는 방문 및 제한 방법에 대한 정보를 포함하여 요청에 삽입된 솔루션입니다.
JSON 표현 |
---|
{ "routes": [ { object ( |
입력란 | |
---|---|
routes[] |
삽입할 솔루션의 경로 일부 경로는 원래 솔루션에서 생략될 수 있습니다. 경로 및 건너뛴 배송은 |
skippedShipments[] |
주입할 용액의 배송을 건너뛰었습니다. 일부는 원래 솔루션에서 생략될 수 있습니다. |
constraintRelaxations[] |
0개 이상의 차량 그룹에 대해 제약조건을 완화할 시기와 정도를 지정합니다. 이 필드가 비어 있으면 비어 있지 않은 모든 차량 경로가 완전히 제한됩니다. |
ConstraintRelaxation
차량 그룹의 경우 방문에 대한 제약 조건을 완화할 기준과 그 수준을 지정합니다. skipped_shipment
필드에 표시된 배송은 건너뛸 수 있습니다. 즉, 배송을 수행할 수 없습니다.
JSON 표현 |
---|
{
"relaxations": [
{
object ( |
입력란 | |
---|---|
relaxations[] |
|
vehicleIndices[] |
방문 제약 조건 차량 색인은 |
휴식
relaxations
가 비어 있으면 routes
에서 모든 방문의 시작 시간과 순서가 완전히 제한되며 해당 경로에 새 방문을 삽입하거나 추가할 수 없습니다. 또한 routes
에서 차량의 시작 및 종료 시간은 차량이 비어 있지 않은 경우 (즉, 모델에서 방문 횟수가 없고 usedIfRouteIsEmpty
가 false로 설정된 경우) 완전히 제한됩니다.
relaxations(i).level
는 다음을 충족하는 방문 #j에 적용되는 제약 조건 완화 수준을 지정합니다.
route.visits(j).start_time >= relaxations(i).threshold_time
및j + 1 >= relaxations(i).threshold_visit_count
마찬가지로 다음을 충족하면 차량 시작이 relaxations(i).level
로 완화됩니다.
vehicleStartTime >= relaxations(i).threshold_time
및relaxations(i).threshold_visit_count == 0
이며 다음을 충족하는 경우 차량 끝이relaxations(i).level
로 완화됩니다.vehicleEndTime >= relaxations(i).threshold_time
및route.visits_size() + 1 >= relaxations(i).threshold_visit_count
방문이 thresholdVisitCount
또는 thresholdTime
를 충족하는 경우 휴식 수준을 적용하려면 level
가 동일한 relaxations
두 개를 추가합니다. 하나는 thresholdVisitCount
만 설정하고 다른 하나는 thresholdTime
만 설정합니다. 방문이 여러 relaxations
의 조건을 충족하는 경우 가장 완화된 수준이 적용됩니다. 그 결과, 차량 출발 경로부터 차량 도착 지점까지 운행하는 경로를 통과하면 휴식 수준이 더 완화됩니다. 즉, 경로가 진행됨에 따라 완화 수준은 감소하지 않습니다.
relaxations
의 임계값 조건을 충족하지 않는 경로 방문의 타이밍 및 순서는 완전히 제한되며 이러한 시퀀스에는 방문을 삽입할 수 없습니다. 또한 차량의 시작 또는 종료 지점이 완화 조건을 충족하지 않으면 차량이 비어 있지 않은 한 시간이 고정됩니다.
JSON 표현 |
---|
{
"level": enum ( |
입력란 | |
---|---|
level |
|
thresholdTime |
완화 RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
thresholdVisitCount |
완화
|
수준
방문에 적용되는 제약조건 완화 수준과 기준점 조건을 충족할 때 이어지는 제약조건 완화 수준을 표현합니다.
아래 열거는 완화를 높이기 위한 것입니다.
열거형 | |
---|---|
LEVEL_UNSPECIFIED |
암시적 기본 완화 수준: 제약 조건이 완화되지 않습니다. 즉, 모든 방문이 완전히 제한됩니다. 이 값은 |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
방문 시작 시간과 차량 시작/종료 시간은 완화되지만 각 방문은 동일한 차량에 구속된 상태로 유지되며 방문 순서를 관찰해야 합니다. 이러한 차량 사이나 앞에 방문을 삽입할 수 없습니다. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AFTER_THRESHOLD 와 동일하지만 방문 시퀀스도 완화됩니다. 방문은 단순히 차량에 구속된 상태로 유지됩니다. |
RELAX_ALL_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD 와 동일하지만 차량도 완화됩니다. 기준점 시간 이후에는 방문이 완전히 무료이며 수행되지 않을 수 있습니다. |