溫 昆 ,郭 鵬,2 ,裴 霞 ,吳 曉,2
(1.西南交通大學 機械工程學院,成都 610031;2.軌道交通運維技術與裝備四川省重點實驗室,成都 610031)
快時尚品(譬如女鞋、女裝等)款式更新快且上架展示周期短,需要零售管理方主動控制門店庫存,盡可能保證門店銷售需求得到滿足。管理人員基于門店以往的銷售數據對時下流行貨品進行銷量預測,估算出每種貨品未來時段的銷售量。以此為基礎并結合每個門店現有的庫存,對每個門店的每種貨品進行補貨和調貨。當預測的銷量小于現有的存量時,為了防止門店此類貨品積壓,需及時將多余的貨品運走;當預測的銷量大于現有的存量時,需對門店的此類貨品進行補充。提倡門店之間貨品互補,以降低調配成本。此外,門店取送貨服務時段存在差異。為保證取送貨的順利進行,對配送車輛到達門店的時間也有限制。為此,本文提出帶時間窗和調貨特性的多品類取送貨問題(Multi-commodity Pickup and Delivery Problem with Time Window and Transshipment,M-PDPTWT),以幫助快時尚零售企業(yè)降低成本、提高作業(yè)效率。M-PDPTWT是帶時間窗車輛路徑問題(Vehicle Routing Problem with Time Windows,VRPTW)更一般的描述。VRPTW 旨在考慮各個門店可配送的時間窗,在滿足倉庫輻射范圍內各個門店貨品需求和不超過車輛最大載容量的前提下,以實現配送車輛數最小化、車輛行駛距離最短、車輛裝載均衡等目標。
Braekers等[1]對VRP進行了綜述,討論了精確算法與啟發(fā)式算法應用情況。針對VRPTW,精確算法有基于集劃分的分支定價與切割算法[2]、基于集合覆蓋的列生成算法[3]、改進分支切割算法[4]等,啟發(fā)式算法有遺傳算法[5]、大規(guī)模鄰域搜索算法[6]、進化學習算法[7]、融合禁忌搜索和人工蜂群算法的混合算法[8]、混合蟻群算法[9]以及混合遺傳算法[10]等。VRPTW 作為經典的車輛路徑問題,具有時間窗和車容量約束,但僅考慮送貨需求。同時,帶有取送貨和時間窗的車輛路徑問題(Vehicle Routing Problem with Simultaneous Pickup-Delivery and Time Windows,VRPSPDTW)和帶時間窗的同時取送貨問題(Pickup and Delivery Problem with Time Windows,PDPTW)均考慮了取送貨需求。VRPSPDTW 和PDPTW 都是針對配送時間有要求的顧客,在滿足車載容量、顧客時間窗以及每個顧客對貨物的配送請求,規(guī)劃出車輛數最少、運輸距離最小以及倉庫處理成本最小等目標的運輸方案。VRPSPDTW 規(guī)定顧客需求的貨物必須從倉庫運輸,顧客不需要的貨物也必須帶回倉庫,如快遞員上門取送包裹。Ko?等[11]對同時取送貨問題進行了綜述,分析了取送貨問題的研究趨勢。模擬退火算法[12]、化學反應優(yōu)化算法[13]、基于學習的兩階段搜索算法[14]等被用來求解VRPSPDTW,且面臨最小化車輛數、最小化車輛行駛距離、最小化運營成本以及最大化工作效率等目標。PDPTW 則是將指定節(jié)點(包括倉庫和顧客)的貨物運送到另一指定節(jié)點,是一對一的運輸問題,如經典的電話叫車問題(Dial A Ride Problem,DARP)。自適應大規(guī)模鄰域搜索算法[15]、禁忌搜索算法[16]、基于數學規(guī)劃的混合算法[17]、改進遺傳算法[18]以及列生成算法與啟發(fā)式規(guī)則相結合的CGA 混合算法[19]等用于求解不同場景下的PDPTW。
無論是VRPSPDTW 或PDPTW,配送請求都是針對一種貨物,貨物的配送和交付也不具有可重復使用性。而在快時尚服裝銷售鄰域,需要考慮運送的貨物多達幾十、上百種,甚至上千種,這勢必增加問題的求解難度。文獻[20-21]中針對多貨品調配和門店互補的車輛路徑問題提出了精確與啟發(fā)式求解算法。Li等[20]提出了一種基于強集合劃分模型的分支定價切割算法。Zhang等[21]提出了一種基于自適應內存規(guī)劃算法。對于快時尚品的配送貨問題,欒玉麟等[22]基于頂點拆分策略,設計了遺傳算法求解大規(guī)模實際算例。
上述文獻中,與本文最為相關的文獻[20-22]未考慮各個門店存在不同的取送貨服務時間窗,而考慮VRPTW 的文獻則未考慮多品類與門店間相互調貨的實際情況?;诖?文本提出以車輛數最小化為第一優(yōu)化目標,最小化轉運成本(運輸成本和倉庫處理成本)為第二優(yōu)化目標的M-PDPTWT,構建了混合整數規(guī)劃模型。基于優(yōu)化目標設計了兩階段搜索算法:第1階段,利用最短路徑搜索規(guī)則構建初始解;第2階段,以變鄰域搜索算法為框架。不同搜索時期用不同的適應度函數進行計算,以增強對最小化車輛數的搜索能力,并定義多種鄰域解屬性和優(yōu)先保留策略。在搜索過程中不僅接受可行解,還允許接受具有潛在搜索能力的不可行解,以增強算法對全局解空間的搜索能力。在計算實驗部分,采用標準算例和基于實際運營數據生成的算例進行了算法性能分析。
配送車輛從倉庫出發(fā),攜帶不超過車輛最大載重量Q的多種貨品用以補給缺少貨品的門店。每個門店有規(guī)定的到達時間窗,配送車輛如果早于時刻ei到達則必須等待,但不能晚于li到達。車輛在達到某個門店后耗費停留時間sei用于裝卸貨品。每個門店除了有補貨需求,也須將門店其他多余貨品取走,避免貨品在門店長期積壓。被運走的貨品可以用來補給同一條配送路徑上后續(xù)門店,也可將其運回倉庫。通過提倡貨品在門店之間相互調配的方式,可以降低搭配成本和倉庫對貨品的處理成本。對整個配送網絡體系的路徑優(yōu)化中,需要考慮的目標函數有兩個:配送車輛數最少及在此基礎上配送成本(距離)和倉庫處理成本最小化。
建立模型時假設如下:
(1)每輛車載重量相同,行駛速度相同。
(2)貨品裝車時不考慮體積的影響。
(3)每個門店必須被訪問,且只能訪問一次。
假設有n個門店,每個門店取送貨在同一地點、同一時段內完成。門店用i表示,倉庫用0 和n+1表示。集合N為所有門店的集合,包含倉庫的集合N0=N∪{0,n+1}。配送車輛集合V={1,2,…,h},其中,h為車場提供的車數量。K={1,2,…,m}為貨品種類的集合,其中,m為配送貨品的最大種類數目。
其余符號
cij——從門店i到門店j的運輸成本,i,j∈N0
tij——從門店i到門店j的運輸時間,i,j∈N0
sei——門店i的服務時間,i∈N0,其中,se0=sen+1=0
ei——門店i時間窗的最早達到時間,i∈N0,其中,e0=en+1表示倉庫的最早工作時間
li——門店i時間窗的最晚到達時間,i∈N0,其中,l0=ln+1表示倉庫的最晚工作時間
ω——倉庫的處理成本系數
Q——車輛的最大載容量
決策變量
目標函數式(1)表示最小化車輛數;式(2)表示最小化運輸成本和倉庫處理成本;約束條件式(3)、(4)表示每個門店必須訪問且只能訪問一次;式(5)為車流量守恒約束,表示第v輛車在訪問p點之后必須從p點離開;式(6)表示車輛必須從倉庫0點出發(fā);式(7)表示車輛必須返回倉庫n+1點;式(8)表示到達門店i的時間加上在門店i的服務時間再加上從門店i到達門店j的車輛行駛時間不能晚于門店j的時間窗最大值;式(9)為時間窗約束,表示車輛必須在規(guī)定的時間窗范圍內訪問門店,早于時間窗的最小值到達門店必須等待,不可晚于最晚的到達時間;式(10)為車輛的載重約束,表示車輛的實時載重不能超過車輛的最大載重;式(11)表示當第v輛車從i點到達j點時,離開i點時每類貨品的載重量大于j點對該種貨品的需求量;式(12)為載重平衡約束,表示當第v輛車從i點到達j點時,離開i點時每類貨品的載量加上j點的需求量/供應量等于離開j點時該類貨品的載量;式(13)為載重量守恒約束,表示車輛從車場帶走的k類貨品加上整條路徑上所有門店對該類貨品的需求/供應之和,等于返回車場時車輛裝載k類貨品的載量;式(14)~(16)為變量的取值范圍約束。
本文提出的兩階段搜索算法(Two-Stage Search Algorithm,TSSA)采用自然數編碼,“0”表示倉庫,“1,2,…,i,…,n”分別表示不同的門店,單條車輛路徑序列為“[0,…,i-1,i,i+1,…,0]”。第1階段利用最短路徑插入規(guī)則構建初始解,第2階段以變鄰域搜索算法為框架,通過兩個不同適應度函數進行反復迭代搜索;定義了多種形式的更優(yōu)解,引入多種鄰域解的評價方式,接受各種形式的更優(yōu)解;通過改進的擾動機制,保證算法能夠跳出局部最優(yōu)解的同時,又增強了算法對解空間的搜索能力。
初始解采用一種近似貪心算法的最短路徑插入規(guī)則,在滿足車容量和時間窗約束的前提下,盡可能多地在一條路徑中插入門店。算法步驟如下:
(1)確定未被插入的門店集合A(A=N),生成一條車輛路徑R={[0]};
(2)插入距離倉庫最遠的門店i(i∈A)作為空路徑r(r∈R)的第1個點,A=A{i};
(3)將剩余的門店u(u∈A)依次插入路徑r(r∈R)的每個位置a(不包括0點)前面,計算每個門店u插入路徑r每個位置a的適應度值構成集合B1,集合B2記錄了門店u每一次插入的位置,如果插入之后使得路徑變成不可行解,則設置該次插入的適應度值為無窮大;
(4)若集合B1中記錄所有適應度值均為無窮大,則表示當前所有路徑沒有可行的插入點,新增一條空路徑R=R∪{[0]},當前插入路徑r更新為新的空路徑,循環(huán)步驟(2)~(3),否則執(zhí)行步驟(5);
(5)B1中最小數值對應的門店即為最佳的插入門店u*,B2中門店u*對應的插入位置即為最佳的插入位置a*;
(6)將門店u*插入到路徑r的位置a*,A=A{u*};
(7)循環(huán)步驟(3)~(6),直到A=φ時停止循環(huán);
(8)在所有的路徑最后插入0。
集合B1中每個元素的適應度值按下式計算:
式中:ra表示路徑r的第a個門店;cra,u+cu,ra+1-cra,ra+1表示將u點插入路徑r第a和第a+1個門店后該條路徑運輸成本增加值;frau表示將u點插入當前所有路徑的成本增加值與將u點插入一條新的空路徑的成本增加值的差值。
2.2.1 操作算子 常用的操作算子包括relocate、shift、cross、inter-exchange 以 及intro-exchange。Relocate是路徑間的單點插入算子,是將一個點插入到其他路徑中;shift是指路徑內將一個點插入到其他位置;cross 是指交換兩條路徑的后半段;exchange是指交換兩個點,包括路徑間interexchange和路徑內intro-exchange兩種情況。本文除了使用這5個操作算子,還使用了兩個擴展操作算子和k-opt算子。
圖1 所示為路徑間的隨機長度片段交換算子λ-inter-exchange,對任意兩條路徑,取路徑上的任意一個點后面的隨機長度片段(片段可以只有一個點,不包括0)進行交換。圖2所示為路徑內的隨機片段交換算子λ-intro-exchange,對長度大于等于4的路徑,路徑內任意兩點將路徑分割為3個片段,從第2和第3個片段最左邊開始取隨機長度的片段(片段可以只有一個點,不包括0)進行交換。兩個操作算子是對exchange算子的擴展,增加了每一次鄰域操作片段的長度,采用每次隨機取每條路徑中的某個片段進行交換,擴大了鄰域解的搜索空間,在多次迭代之后保證了對最優(yōu)解的搜索能力。
圖1 λ-inter-exchange
圖2 λ-intro-exchange
由Helsgaun[23-24]提出的k-opt算子是一種對單條路徑尋優(yōu)效果好且效率高的操作算子。k-opt總是在節(jié)點數較少的情況下進行交換,其效率可以相當于2.2-opt。k-opt首先使用不同長度的2-opt優(yōu)化路徑長度,在2-opt無法找到更優(yōu)解時則使用3-opt操作,如果3-opt能找到更優(yōu)解,則回到2-opt繼續(xù)尋找;如果3-opt不能找到更優(yōu)解,就使用4個節(jié)點的交換來尋找更優(yōu)解,以此循環(huán)。
2.2.2 適應度函數 由于服務時間窗的導入,使得從倉庫/門店離開到達下一個門店/倉庫的時間以及在門店開始裝卸的作業(yè)時間存在差異。根據時間窗早到等待的規(guī)則,一是車輛實際開始服務門店的時間,另一是車輛實際達到門店的時間,兩者的計算方式為:
式(18)同式(9),車輛開始服務門店的時間須滿足每個門店的時間窗限制。式(19)中,車輛v路徑上第a個門店的實際到達時間等于路徑上第a-1個門店的服務開始時間加上在該門店的服務時間再加上從該門店到第a個門店的運輸時間,
式(20)計算了上述兩個時間的累積差值。最小化時間差累計和能引導算法朝著時間窗更加緊湊的方向進行搜索。
下式給出了算法的第1 個適應度函數,依次為路徑的運輸成本、倉庫的處理成本、時間窗的違背值、載重量的違背值及鄰域解的緊時間窗引導函數T,計算中后面三部分通過權重系數進行調節(jié),
由式(21)可知,對于鄰域搜索出現的可行解,時間窗和載重量的違背值都等于0,并不影響轉運成本;而不可行解中總有其中之一或兩個違背值都不等于0。因此,在最小化的搜索過程中,算法總是朝著可行解的方向進行搜索。引導函數T的加入,使得適應度函數值總是大于實際的轉運成本,故引導函數T不能一直存在于適應度函數中。
本算法設計通過適應度函數f1在經過連續(xù)Z次迭代后,就不再用引導函數進行評價,故算法提出了第2個適應度函數f2,即
2.2.3 鄰域解評價及優(yōu)先保留算子 鄰域搜索中出現的鄰域解分為可行解和不可行解兩種。其中:①當鄰域解的解序列中車輛的實時載量超過車輛的最大載量;②當鄰域解的解序列中存在某個點的時間窗違背了該點前后兩點的時間窗。只要這兩種情況出現一種,就構成了不可行解??尚薪庵谐霈F車輛數減少的情況,這種解稱為優(yōu)先可行解,記為sol1;可行解中車輛數未減少,但是總的距離縮短,這種解稱為距離更優(yōu)的可行解,記為sol2。同樣,不可行解出現車輛數減少時,稱為車輛數更優(yōu)的不可行解,記為sol3;不可行解中車輛數未減少,總的距離縮短,稱為距離更優(yōu)的不可行解,記為sol4。sol1與sol2是算法前進的方向,并且車輛數減少的sol1是優(yōu)先考慮接受的,但是產生sol3與sol4時也不能被即刻淘汰,也許基于當前不可行解進行搜索會產生sol1與sol2。因此,算法給出了兩種不同情況下的優(yōu)先保留算子:
(1)當產生sol1 時,適應度函數為:f1=f1/ξ1,f2=f2/ξ1。
(2)當產生sol3 時,適應度函數為:f1=f1/ξ2,f2=f2/ξ2。
其中,ξ1~ξ2 >1,?ξ1,ξ2 ∈N*。在尋找最小值的鄰域搜索中,這兩種情況會被優(yōu)先保留下來,兩者的區(qū)別在于,前者的鄰域解在向下傳遞鄰域解時會將空路徑刪除,而后者不能刪除空路徑,除非在接下來的搜索中出現sol1或者sol2。
2.2.4 擾動機制 傳統VNS算法在每次鄰域搜索結束后,將鄰域解傳入新的操作算子中,通過隨機指定操作節(jié)點的方式,在有限的時間內(通常時間小于1 s),將搜索過程中目標值最小的可行鄰域解傳入下一個操作算子進行搜索,如果在有限的時間內未找到可行的鄰域解,則將原鄰域解傳入下一個操作算子進行搜索??梢?傳統的鄰域搜索在每次鄰域搜索完成后都對鄰域解進行擾動,并且擾動采用隨機的方式,保證了VNS算法能夠跳出局部最優(yōu)解。然而,由于搜索過程中擾動頻率太高,使得VNS算法對當前鄰域解的搜索不夠徹底,并且擾動采用隨機的方式,擾動后的鄰域解已大幅偏離原鄰域解,再一次增大了對當前鄰域解搜索不夠徹底的可能。
在最小化的尋優(yōu)算法中,操作算子在遍歷當前所有可能的鄰域解后,找到一個比當前鄰域解更優(yōu)的鄰域解替換當前鄰域解并向下傳遞,如果搜索出現的鄰域解沒有當前的鄰域解好,則不做替換。針對這一特點,本算法設計在連續(xù)迭代Y次后都未找到優(yōu)化解,則將當前鄰域解的目標值設置為無窮大,在下一次操作算子搜索過程中,目標值為無窮大的鄰域解很容易就會被新的鄰域解替換。通過不斷地尋優(yōu)替換,在操作算子一次完整的搜索之后,又能重新得到一個質量較好的局部最優(yōu)解。
如圖3所示,首先產生一個可行的初始解,初始化算法參數并將neibor_obj設置為無窮大,然后將初始解傳入第二階段搜索算法。鄰域搜索過程用8個操作算子中neibor_num 對應的算子進行搜索。對搜索出現的每一個鄰域解按照2.2.2和2.2.3節(jié)進行計算和評價。如果獲得了優(yōu)化解(sol1 或sol2),則將當前鄰域解的目標值更新給neibor_obj,同時將當前優(yōu)化解傳遞給全局優(yōu)化解,然后迭代次數iteration加1,操作算子序號neibor_num 加1,count_break重置為0;如果本次操作算子搜索沒有找到優(yōu)化解,而搜索到更優(yōu)的不可行解(sol3 或sol4)時,同樣將當前鄰域解的適應度函數值更新給neibor_obj,然 后iteration 加1,neibor_num 加1,count_break也加1;當上述4種鄰域解的情況均未出現,即說明本次鄰域搜索未找到任何更新解,只需將iteration加1,neibor_num 加1,count_break加1。在迭代過程中,鄰域搜索算子循環(huán)使用。判斷鄰域解是否需要擾動,如果count_break是參數Y的整數倍,則重置鄰域解目標值為無窮大。直到迭代次數達到最大迭代次數或連續(xù)迭代結果未改善次數超過給定閾值,則終止算法,輸出結果。本文經過計算后將最大迭代次數設置為2 000,連續(xù)迭代結果未改善次數閾值設置為400。
圖3 算法流程
TSSA 算法由Python 語言實現,運行環(huán)境為Intel(R)Core i3-8100@3.60 GHz CPU 及12 GB內存的個人電腦,模型求解采用Gurobi優(yōu)化器,設置每個算例的最大計算時間為3 600 s。
本算法設計針對M-PDPTWT,M-PDPTWT作為VRPTW 變體,在貨品的取送方式上更為復雜,但因其具有同樣的時間窗屬性,使得針對MPDPTWT 的兩階段搜索算法在修改適應度函數和取送貨約束后,算法同樣適用于VRPTW。
算法中的兩個適應度函數修改如下式所示,兩個適應度函數中依次為運輸成本、時間窗違背值、載重量違背值以及引導函數,
式中,Tlv為車輛v總的載重量。
鄰域解中可能會出現Tlv>Q的情況,即
式中,pi為每個顧客/門店需求的貨物量。
2.2.4 節(jié)中的參數Z用以界定兩個適應度函數,其取值會影響算法的收斂速度和可行解的求解質量。表1給出了不同取值的Z所求得的算例結果,其中3個數據依次表示車輛數/距離/求解時間。
當Z=0時,表示算法沒有用適應度函數f1(或f3)進行評價。由表1 結果可見,當Z=0 時,算法將以最快的速度收斂,但是不論是在車輛數的優(yōu)化還是距離的優(yōu)化上,求解結果都不如加入參數Z的求解結果好,證明了本算法設計先用f1(或f3)進行評價再用f2(或f4)進行評價的搜索方式是有效的。當Z=10時,算法的綜合性能保持得最好,在求解質量和求解速度上都能找到一個平衡,故算法采用Z=10作為最優(yōu)參數。
表1 參數Z 的調試(100個門店部分數據)
附表1給出了TSSA 算法求解100 個門店的算例結果,同時給出了算例的最優(yōu)解和近年發(fā)表的一些啟發(fā)式算法的求解結果。計算結果表明,在大多數算例中,TSSA 算法都能找到最優(yōu)的求解路徑。
附表1 Solomon算例結果對比(100個顧客)
采用某女鞋企業(yè)的銷售數據進行算例設計,公司提供了近兩年某城市包括倉庫中心在內的31個門店的銷售數據,數據包括4個季節(jié)中不同品類的女鞋樣式18種。算例按照每個月每種鞋的平均銷量作為該種鞋下一周的預期銷售量,低于平均值就需要補貨,高于平均值就需要運走貨品。同時,為了應對未來城市規(guī)模的擴張,將門店的數量增加到50個,增加的門店位置在已有門店組成的地理位置網絡上隨機取點,新增門店的銷售數據也通過隨機的方式產生。因此,采用門店數S={5,12,18,30,50},貨品數目C={2,3,6,10}組成18組,每組4個共計72個算例進行算例測試。其中,算例時間窗為8:00~20:00,共計720 min,每個門店的時間窗按照間隔大于30 min(服務時間為30 min)進行隨機生成。
表2中S為除去中心倉庫外門店的數量,C為貨品的數量,NO 為算例序號,每組4個。每組算例在兩階段搜索算法中計算10次,Best-TSSA 為10次計算中最好的值,Aver-TSSA 為10次計算的平均值,Gurobi為通過Gurobi優(yōu)化器求得的精確解,每一欄都包括車輛數(Veh)、距離(Dis)和計算時間(Time)。最后一欄為兩階段搜索算法的最好結果與Gurobi結果的差值。在用Gurobi優(yōu)化器求解模型時,對兩個目標函數設置不同的優(yōu)先級順序,具體的設計參數為:priorityobj1=0.9,priorityobj2=0.1。
表2 M-PDPTWT算例計算結果
續(xù)表2
由表2 計算結果可以看出,Gurobi在規(guī)定時間3 600 s內計算出精確解的22個算例中,TSSA算法都能求解到相同的結果,證明了TSSA 算法的準確性和數學模型的正確性。另外,有19個算例Gurobi能夠找到與TSSA 算法相同的車輛數,但是在規(guī)定的時間內無法求解到距離的最優(yōu)值;在剩下的31 個算例中,Gurobi無法找到與TSSA算法相同的車輛數和相同的距離值。在時間方面,Gurobi除了在小規(guī)模算例上(5個門店)花費的時間優(yōu)于TSSA 算法,其余算例的計算時間都長于TSSA 算法。TSSA 算法的平均計算時間隨著算例規(guī)模的增長成比例增長,均保持在合理的計算時間范圍內。
本文針對某快時尚品調配貨品的實際問題,結合問題特性,將其歸類為帶時間窗和調貨特性的多品類取送貨問題(M-PDPTWT)。以最小化車輛數為第一優(yōu)化目標,最小化配送成本為第二優(yōu)化目標,建立了完整的混合整數規(guī)劃模型。針對局部鄰域搜索算法很容易陷入局部最優(yōu)解這一缺點,提出了利用不同的適應度函數和不同的鄰域解評價對鄰域解進行定量和定性的處理方式,在利于減少車輛數的第2階段和利于減少總距離的第3階段反復交替迭代中,實現了對最優(yōu)解的最大可能的尋找。將兩階段搜索算法用于求解Solomon算例的結果表明,兩階段搜索算法能求解到大部分與最優(yōu)解相同的最優(yōu)解。最后,根據企業(yè)提供的銷售數據設計了用于求解M-PDPTWT 問題的測試算例,通過兩階段搜索算法與Gurobi求解的精確解對比發(fā)現,兩階段搜索算法在小規(guī)模算例上都能找到與精確解相同的最優(yōu)解,在無法求解出精確解的較大規(guī)模算例上,兩階段搜索算法也能在較短時間求解出滿意的結果。因此,本文設計的兩階段搜索算法能夠滿足快時尚品企業(yè)對城市各個網點的調配需求,為企業(yè)提供滿足條件且運輸成本最低的車輛行駛路徑。