在要求中插入的解決方案,包括要限製造訪類型的相關資訊,以及必須限制的造訪方式。
JSON 表示法 |
---|
{ "routes": [ { object ( |
欄位 | |
---|---|
routes[] |
要插入的解決方案路徑。原始解決方案可能會省略部分路線。路線和略過的運送方式必須符合 |
skippedShipments[] |
已略過要插入的解決方案運送。有些可能會從原始解決方案中排除。請參閱 |
constraintRelaxations[] |
如果是零或多個車輛群組,請指定限制條件放寬限制條件的時間和程度。如果這個欄位空白,所有非空白的車輛路線都會完全受限。 |
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 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
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 相同,但車輛也相當放鬆:在達到閾值時間上限或之後,乘客可能就無法充電,而且有可能無法提升效能。 |