本發(fā)明涉及車輛管理
技術(shù)領(lǐng)域:
,尤其涉及一種車輛調(diào)度方法和裝置。
背景技術(shù):
:VRPTW(VehicleRoutingProblemswithTimeWindows,有時間窗車輛路徑問題)是指:一定數(shù)量的客戶,各自有不同數(shù)量的貨物需求,配送中心向客戶提供貨物,由車隊負責分送貨物,組織適當?shù)男熊嚶肪€,目標是使客戶需求得到滿足,在一定的約束下,達到如路程最短、成本最小、耗費時間最少等目的。目前,對VRPTW問題的研究,主要集中在各種啟發(fā)式算法上。例如,使用遺傳算法、禁忌搜索法和模擬退火法等啟發(fā)式算法,解決VRPTW問題。但是,當前只是使用單個啟發(fā)式算法來解決VRPTW問題,啟發(fā)式算法主要依賴隨機嘗試,判斷單次迭代的好壞,這個過程的計算量很大,占用大量計算資源。技術(shù)實現(xiàn)要素:本發(fā)明提供一種車輛調(diào)度方法,所述方法包括:步驟A、生成多個車輛調(diào)度計劃,每個車輛調(diào)度計劃包括一個車輛以及所述車輛需要處理的運輸任務(wù),所述運輸任務(wù)包括一個或者多個貨物;步驟B、利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標,并利用所述車輛評價指標選取待拆解的車輛調(diào)度計劃;步驟C、針對所述待拆解的車輛調(diào)度計劃中的每個貨物,為所述貨物選取目標的車輛調(diào)度計劃,并將所述貨物分配到所述目標的車輛調(diào)度計劃的運輸任務(wù)中,得到修改后的車輛調(diào)度計劃,并刪除所述待拆解的車輛調(diào)度計劃;步驟D、判斷是否已經(jīng)滿足預設(shè)的調(diào)度結(jié)束策略,如果是,則輸出當前的車輛調(diào)度計劃,如果否,則使用當前的車輛調(diào)度計劃繼續(xù)執(zhí)行步驟B。所述利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標的過程,具體包括:針對每個車輛調(diào)度計劃,利用所述車輛調(diào)度計劃中的每個貨物的重量與車輛承載重量的比例、所述每個貨物的體積與車輛承載體積的比例、所述每個貨物的最短行駛距離、車輛實際行駛距離獲取所述車輛調(diào)度計劃的車輛評價指標。所述利用所述車輛評價指標選取待拆解的車輛調(diào)度計劃的過程,具體包括:利用每個車輛調(diào)度計劃的車輛評價指標,為每個車輛調(diào)度計劃分配一個選取權(quán)重;其中,車輛調(diào)度計劃的車輛評價指標越大,則其對應(yīng)的選取權(quán)重越?。焕妹總€車輛調(diào)度計劃的選取權(quán)重,從所述多個車輛調(diào)度計劃中隨機選取一個車輛調(diào)度計劃,并將選取的車輛調(diào)度計劃確定為所述待拆解的車輛調(diào)度計劃;其中,車輛調(diào)度計劃的選取權(quán)重越大,則其被選取的概率越大。針對所述待拆解的車輛調(diào)度計劃中的每個貨物,為所述貨物選取目標的車輛調(diào)度計劃的過程,具體包括:針對所述每個貨物,從所述待拆解的車輛調(diào)度計劃之外的其它車輛調(diào)度計劃中,確定出與所述貨物滿足時間窗約束、容積約束、重量約束的每個車輛調(diào)度計劃,并依次獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度,并將所述貨物分配到貨物相似度最高的車輛調(diào)度計劃的運輸任務(wù)中;利用當前所有的車輛調(diào)度計劃中的運輸任務(wù),獲得本輪的車輛行駛開銷值;若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定滿足接受條件,則將貨物相似度最高的車輛調(diào)度計劃確定為所述貨物的目標的車輛調(diào)度計劃。所述獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度的過程,具體包括:針對確定出的每個車輛調(diào)度計劃,獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)后,該車輛調(diào)度計劃對應(yīng)的第一車輛行駛開銷值,并獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)之前,該車輛調(diào)度計劃對應(yīng)的第二車輛行駛開銷值;將所述第一車輛行駛開銷值與所述第二車輛行駛開銷值的比值,確定為所述貨物與該車輛調(diào)度計劃的貨物相似度。所述方法進一步包括:若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定不滿足接受條件,拒絕為所述貨物選取目標的車輛調(diào)度計劃,基于每個車輛調(diào)度計劃的車輛評價指標,重新執(zhí)行利用所述車輛評價指標選取待拆解的車輛調(diào)度計劃的步驟。本發(fā)明提供一種車輛調(diào)度裝置,所述裝置具體包括:生成模塊,用于生成多個車輛調(diào)度計劃,每個車輛調(diào)度計劃包括一個車輛以及所述車輛需要處理的運輸任務(wù),所述運輸任務(wù)包括一個或者多個貨物;獲取模塊,用于利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標,利用車輛評價指標選取待拆解的車輛調(diào)度計劃;處理模塊,用于針對所述待拆解的車輛調(diào)度計劃中的每個貨物,為所述貨物選取目標的車輛調(diào)度計劃,并將所述貨物分配到所述目標的車輛調(diào)度計劃的運輸任務(wù)中,得到修改后的車輛調(diào)度計劃,并刪除所述待拆解的車輛調(diào)度計劃;判斷模塊,用于判斷是否已經(jīng)滿足預設(shè)的調(diào)度結(jié)束策略;輸出模塊,用于當判斷結(jié)果為是時,則輸出當前的車輛調(diào)度計劃;所述獲取模塊,還用于當判斷結(jié)果為否時,則基于當前的車輛調(diào)度計劃,利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標,并利用車輛評價指標選取待拆解的車輛調(diào)度計劃。所述獲取模塊,具體用于在利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標的過程中,針對每個車輛調(diào)度計劃,利用所述車輛調(diào)度計劃中的每個貨物的重量與車輛承載重量的比例、所述每個貨物的體積與車輛承載體積的比例、所述每個貨物的最短行駛距離、車輛實際行駛距離獲取所述車輛調(diào)度計劃的車輛評價指標。所述獲取模塊,具體用于在利用車輛評價指標選取待拆解的車輛調(diào)度計劃的過程中,利用每個車輛調(diào)度計劃的車輛評價指標,為每個車輛調(diào)度計劃分配一個選取權(quán)重;其中,車輛調(diào)度計劃的車輛評價指標越大,則其對應(yīng)的選取權(quán)重越小;利用每個車輛調(diào)度計劃的選取權(quán)重,從所述多個車輛調(diào)度計劃中隨機選取一個車輛調(diào)度計劃,并將選取的車輛調(diào)度計劃確定為所述待拆解的車輛調(diào)度計劃;其中,車輛調(diào)度計劃的選取權(quán)重越大,則其被選取的概率越大。所述處理模塊,具體用于在針對每個貨物,為所述貨物選取目標的車輛調(diào)度計劃的過程中,針對所述每個貨物,從所述待拆解的車輛調(diào)度計劃之外的其它車輛調(diào)度計劃中,確定出與所述貨物滿足時間窗約束、容積約束、重量約束的每個車輛調(diào)度計劃,并依次獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度,并將所述貨物分配到貨物相似度最高的車輛調(diào)度計劃的運輸任務(wù)中;利用當前所有的車輛調(diào)度計劃中的運輸任務(wù),獲得本輪的車輛行駛開銷值;若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定滿足接受條件,則將貨物相似度最高的車輛調(diào)度計劃確定為所述貨物的目標的車輛調(diào)度計劃。所述處理模塊,進一步用于在獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度的過程中,針對確定出的每個車輛調(diào)度計劃,獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)后,該車輛調(diào)度計劃對應(yīng)的第一車輛行駛開銷值,并獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)之前,該車輛調(diào)度計劃對應(yīng)的第二車輛行駛開銷值;將所述第一車輛行駛開銷值與所述第二車輛行駛開銷值的比值,確定為所述貨物與該車輛調(diào)度計劃的貨物相似度。所述處理模塊,進一步用于在利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定不滿足接受條件時,則拒絕為所述貨物選取目標的車輛調(diào)度計劃,并通知所述獲取模塊基于每個車輛調(diào)度計劃的車輛評價指標,重新利用所述車輛評價指標選取待拆解的車輛調(diào)度計劃?;谏鲜黾夹g(shù)方案,本發(fā)明實施例中,可以利用貨物的重量和體積,獲取車輛評價指標,并利用車輛評價指標選取待拆解的車輛調(diào)度計劃,將待拆解的車輛調(diào)度計劃中的每個貨物,分配到目標的車輛調(diào)度計劃的運輸任務(wù)中,從而得到更優(yōu)的車輛調(diào)度計劃。在上述方式下,通過考慮重量體積的雙重約束,解決車輛路徑問題,融合了模擬退火、禁忌搜索等算法的優(yōu)點,與傳統(tǒng)的使用單個啟發(fā)式算法進行搜索的方案相比,采用上述方式進行啟發(fā)式搜索時,收斂速度更快,通過保留隨機因素,使得整個迭代過程不容易陷入局部最優(yōu),且不依賴隨機嘗試,計算量較小,節(jié)約大量的計算資源,改善啟發(fā)式搜索的效果。附圖說明為了更加清楚地說明本發(fā)明實施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明實施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明一種實施方式中的車輛調(diào)度方法的流程圖;圖2A和圖2B是本發(fā)明一種實施方式中的應(yīng)用場景示意圖;圖3是本發(fā)明一種實施方式中的控制設(shè)備的硬件結(jié)構(gòu)圖;圖4是本發(fā)明一種實施方式中的車輛調(diào)度裝置的結(jié)構(gòu)圖。具體實施方式在本發(fā)明使用的術(shù)語僅僅是出于描述特定實施例的目的,而非限制本發(fā)明。本發(fā)明和權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當理解,本文中使用的術(shù)語“和/或”是指包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。應(yīng)當理解,盡管在本發(fā)明可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,此外,所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應(yīng)于確定”。參見圖1所示,為本發(fā)明實施例中的車輛調(diào)度方法的流程圖,該方法可以應(yīng)用于車輛調(diào)度中心的控制設(shè)備上,該車輛調(diào)度方法用于解決車輛路徑問題。步驟101,生成多個車輛調(diào)度計劃,每個車輛調(diào)度計劃包括一個車輛以及該車輛需要處理的運輸任務(wù),該運輸任務(wù)包括一個或者多個貨物。步驟102,利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標,并利用車輛評價指標選取待拆解的車輛調(diào)度計劃。步驟103,針對待拆解的車輛調(diào)度計劃中的每個貨物,為該貨物選取目標的車輛調(diào)度計劃,并將該貨物分配到目標的車輛調(diào)度計劃的運輸任務(wù)中,得到修改后的車輛調(diào)度計劃,并刪除待拆解的車輛調(diào)度計劃。步驟104,判斷是否已經(jīng)滿足預設(shè)的調(diào)度結(jié)束策略,如果是,則執(zhí)行步驟105,如果否,則使用當前的車輛調(diào)度計劃繼續(xù)執(zhí)行步驟102。步驟105,輸出當前的車輛調(diào)度計劃,完成車輛調(diào)度過程。在一個例子中,上述的車輛調(diào)度方法,可以用于解決車輛路徑問題,例如,在快遞公司的配送業(yè)務(wù)中、物流O2O平臺的配送業(yè)務(wù)中、外賣送餐O2O平臺的配送業(yè)務(wù)中,都會涉及到車輛路徑問題。在這些應(yīng)用場景下,都可以使用上述的車輛調(diào)度方法,完成貨物的配送過程,從而得到最小的車輛行駛開銷值。例如,在某個時間段,假設(shè)有一些貨物需要進行配送,每個貨物均指定了裝貨地點、卸貨地點、裝貨的時間窗、卸貨的時間窗,需要使用車輛調(diào)度中心提供的一些車輛,將所有貨物送往目的地,并使得車輛行駛開銷值最小。假設(shè)配送費用只和車輛行駛的總距離有關(guān),則車輛行駛開銷值可以為車輛行駛的總距離。在一個應(yīng)用場景下,如圖2A所示,有A,B,C,D四個地點,各地點之間的距離可以如圖2A所示,在圖2A中的距離單位是公里。有3輛車可用,每輛車的規(guī)格都一樣,均可以是:最大容積為10立方米,最大載重量為1000公斤,車輛行駛速度為20公里/小時。車輛1和車輛2的初始位置是A,在運送貨物后需要返回A,車輛3的初始位置是B,在運送貨物后需要返回C。假設(shè)有下列貨物需要配送:貨物1、從A送到B,體積為5立方米,重量為500公斤,裝貨的時間窗為[9:00,10:00],即最早9:00開始裝貨,最晚10:00開始裝貨,后面的時間窗與此類似,卸貨的時間窗為[10:00,12:00]。貨物2、從C送到A,體積為3立方米,重量為500公斤,裝貨的時間窗為[11:00,12:00],卸貨的時間窗為[12:00-15:00]。貨物3、從C送到D,體積為3立方米,重量為100公斤,裝貨的時間窗為[11:00,12:00],卸貨的時間窗為[11:00,15:00]。貨物4、從A送到C,體積為6立方米,重量為100公斤,裝貨的時間窗為[8:00,9:00],卸貨的時間窗為[10:00,12:00]。此外,上述每個貨物的裝(卸)時間均為20分鐘。在上述應(yīng)用場景下,圖2B給出了一種配送方案,車輛1在A點裝貨物1,送到B點卸貨,再到C點裝貨物2,送回A點卸貨。車輛2從A點裝貨物4,送到C點卸貨,再裝貨物3,送到D點卸貨,再返回A點。上述方案就是一種簡單的車輛調(diào)度方法,當然還可以有其它配送方案,且需要選擇最優(yōu)方案。而且,在實際應(yīng)用中,會涉及到大量貨物和大量車輛,為了從大量貨物和大量車輛中選取出最優(yōu)方案輸出,則本發(fā)明實施例中提供了上述車輛調(diào)度方法。在本發(fā)明實施例中,為了完成車輛調(diào)度方法,可以進行如下約束:完全配送約束,即所有貨物均需要完成配送。車輛起止點約束,即車輛從初始點出發(fā),完成配送后回到返回點。體積約束,即每輛車在任何時刻裝載的貨物體積之和,不得大于車輛承載體積。重量約束,即每輛車在任何時刻裝載的貨物重量之和,不得大于車輛承載重量。時間窗約束,即每個貨物的裝(卸)貨開始時間需要在裝(卸)貨時間窗內(nèi)。等待時間約束,即如果車輛到達某地點的時間,早于貨物的最早裝(卸)貨時間,則可以等到最早裝(卸)貨時間再開始裝(卸)貨,但等待時間不大于30分鐘。裝(卸)貨過程所用時間約束,即在同一地點裝(卸)貨,或者卸貨之后再裝貨,該過程所用的時間都設(shè)為20分鐘。其中,上述約束條件中的數(shù)值只是一個例子,在實際應(yīng)用中并不局限于上述數(shù)值。在本發(fā)明實施例中,為了完成車輛調(diào)度方法,還可以提供如下的初始數(shù)據(jù):(1)、地點數(shù)據(jù),即給出多個地點(如50個地點)的數(shù)據(jù),貨物需要從這50個地點中的一個地點發(fā)往另一個地點,如表1所示的地點數(shù)據(jù)。(2)交通數(shù)據(jù),即這些地點兩兩之間的距離,如表2所示的交通數(shù)據(jù)。(3)貨物數(shù)據(jù),即給出多個貨物(如500個貨物)的數(shù)據(jù),如表3所示的貨物數(shù)據(jù)。其中,每個貨物數(shù)據(jù)可以包括如下字段:ID,即貨物的標識;start,即裝貨點,對應(yīng)地點數(shù)據(jù)中的標識;end,即卸貨點,對應(yīng)地點數(shù)據(jù)中的標識;volume,即貨物體積,單位是立方米;weight,即貨物重量,單位是公斤;t1,即最早裝貨時間,用字符表示,例如0930表示9:30,后續(xù)的時間表示方式與此類似;t2,即最晚裝貨時間;t3,即最早卸貨時間;t4,即最晚卸貨時間。(4)車輛數(shù)據(jù),即給出多個車輛(如500輛車)的數(shù)據(jù),如表4所示的車輛數(shù)據(jù)。其中,每個車輛數(shù)據(jù)可以包括如下字段:ID,即車輛的標識;start,即初始點,對應(yīng)地點數(shù)據(jù)中的標識;end,即返回點,對應(yīng)地點數(shù)據(jù)中的標識;volume,即車輛承載體積,單位是立方米;weight,即車輛承載重量,單位是公斤;speed,即車輛速度,單位是公里/小時。表1IDname1地點12地點23地點34地點45地點56地點6……表2startenddistance125.5135.3………1508.8235.9………25012.9………表3IDstartendvolumeweightt1t2t3t41121.0330800120090018002141.01009001000800180031103.01008001200800180041103.033011301200800180051102.01008001200800180061252.02008001200800180071431.020080012008001800表4IDstartendvolumeweightspeed11110100020211101000203111010002041110100020511101000206111010002071110100020在一個例子中,在表1中,只是給出了幾個地點的示例,在實際應(yīng)用中的地點數(shù)量,遠遠大于表1的示例,在此不再贅述。在表2中,只是給出了幾個地點之間的距離的示例,在實際應(yīng)用中的距離數(shù)量,遠遠大于表2的示例,在此不再贅述。在表3中,只是給出了幾個貨物的示例,在實際應(yīng)用中的貨物數(shù)量,遠遠大于表3的示例,在此不再贅述。在表4中,只是給出了幾個車輛的示例,在實際應(yīng)用中的車輛數(shù)量,遠遠大于表4的示例,在此不再贅述。在上述應(yīng)用場景下,可以執(zhí)行上述步驟101-步驟105,從而選取出最優(yōu)的車輛調(diào)度計劃,并最終輸出該最優(yōu)的車輛調(diào)度計劃,以完成車輛調(diào)度過程。針對步驟101,在一個例子中,針對生成多個車輛調(diào)度計劃的過程,可以基于表3所示的貨物數(shù)據(jù)和表4所示的車輛數(shù)據(jù),在滿足體積約束、重量約束和時間窗約束的前提下,根據(jù)實際需要,為每個貨物分配車輛,并將該貨物分配到該車輛的運輸任務(wù)中,從而生成多個車輛調(diào)度計劃,這多個車輛調(diào)度計劃就是初始的車輛調(diào)度計劃,后續(xù)過程需要對這些初始的車輛調(diào)度計劃進行調(diào)整。在一個例子中,可以為每個貨物分配一個唯一的車輛,并將該貨物分配到該車輛的運輸任務(wù)中。也可以為多個貨物分配一個車輛,并將該多個貨物分配到該車輛的運輸任務(wù)中。例如,以一共生成10個車輛調(diào)度計劃為例進行說明,對于車輛調(diào)度計劃1,包括車輛1以及車輛1需要處理的運輸任務(wù)1,該運輸任務(wù)1包括貨物1。對于車輛調(diào)度計劃2,包括車輛2以及車輛2需要處理的運輸任務(wù)2,該運輸任務(wù)2包括貨物2。以此類推,對于車輛調(diào)度計劃10,包括車輛10以及車輛10需要處理的運輸任務(wù)10,該運輸任務(wù)10包括貨物10。針對步驟102,在一個例子中,在利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標的過程中,可以包括但不限于如下方式:針對每個車輛調(diào)度計劃,可以利用該車輛調(diào)度計劃中的每個貨物的重量與車輛承載重量的比例、每個貨物的體積與車輛承載體積的比例、每個貨物的最短行駛距離、車輛實際行駛距離獲取該車輛調(diào)度計劃的車輛評價指標。在一個例子中,針對每個車輛調(diào)度計劃,可以采用如下公式獲取該車輛調(diào)度計劃的車輛評價指標:在該公式中,Z為車輛調(diào)度計劃的車輛評價指標,i表示該車輛調(diào)度計劃中的每個貨物的序號,N為該車輛調(diào)度計劃中的貨物數(shù)量,且N為大于等于1的正整數(shù)。wi為第i給貨物的重量,W為車輛承載重量。vi為第i給貨物的體積,V為車輛承載體積。Di為第i給貨物的最短行駛距離,如第i給貨物需要從地點1送到地點2時,則其最短行駛距離為地點1與地點2之間的距離。K為車輛實際行駛距離,車輛實際行駛距離為車輛從出發(fā)地行駛至第一個裝(卸)貨地的距離、第一個裝(卸)貨地的距離行駛至第二個裝(卸)貨地的距離、以此類推,一直到卸完最后一個貨物,并到返回地的距離之和,例如,當車輛需要將貨物1從地點1送到地點2,并將貨物2從地點2送到地點3時,假設(shè)返回地為地點1(實際應(yīng)用中,返回地還可以為其它地點,如地點4,對此不再贅述),則車輛實際行駛距離為地點1與地點2之間的距離+地點2與地點3之間的距離+地點3與地點1之間的距離。通過上述方式確定的車輛評價指標,由于考慮了每個貨物的重量與車輛承載重量的比例、每個貨物的體積與車輛承載體積的比例、每個貨物的最短行駛距離、車輛實際行駛距離,因此可以評判出每個車輛評價指標的優(yōu)劣程度。若車輛評價指標的值越大,則說明采用車輛運輸該車輛評價指標對應(yīng)的車輛調(diào)度計劃內(nèi)的各貨物時,運輸效果越好。若車輛評價指標的值越小,則說明采用車輛運輸該車輛評價指標對應(yīng)的車輛調(diào)度計劃內(nèi)的各貨物時,運輸效果越差。針對步驟102,在一個例子中,利用車輛評價指標選取待拆解的車輛調(diào)度計劃的過程,可以包括:利用每個車輛調(diào)度計劃的車輛評價指標,為每個車輛調(diào)度計劃分配一個選取權(quán)重;其中,車輛調(diào)度計劃的車輛評價指標越大,則其對應(yīng)的選取權(quán)重越小。利用每個車輛調(diào)度計劃的選取權(quán)重,從多個車輛調(diào)度計劃中隨機選取一個車輛調(diào)度計劃,并將選取的車輛調(diào)度計劃確定為待拆解的車輛調(diào)度計劃;其中,車輛調(diào)度計劃的選取權(quán)重越大,則其被選取的概率越大。例如,按照車輛評價指標從大到小的順序,對車輛調(diào)度計劃1-車輛調(diào)度計劃10進行排序,假設(shè)排序結(jié)果為車輛調(diào)度計劃1-車輛調(diào)度計劃10,則為車輛調(diào)度計劃1分配的選取權(quán)重1最小,為車輛調(diào)度計劃2分配的選取權(quán)重2次小,以此類推,為車輛調(diào)度計劃10分配的選取權(quán)重10最大。利用選取權(quán)重1-選取權(quán)重10,可以從車輛調(diào)度計劃1-車輛調(diào)度計劃10中隨機選取一個車輛調(diào)度計劃。由于車輛調(diào)度計劃10的選取權(quán)重最大,則車輛調(diào)度計劃10被選取的概率最大,由于車輛調(diào)度計劃1的選取權(quán)重最小,則車輛調(diào)度計劃1被選取的概率最小。在一個例子中,由于是從車輛調(diào)度計劃1-車輛調(diào)度計劃10中隨機選取一個車輛調(diào)度計劃,因此,雖然車輛調(diào)度計劃10被選取的概率最大,但并不意味著一定會選取到車輛調(diào)度計劃10,雖然車輛調(diào)度計劃1被選取的概率最小,也不意味著一定不會選取到車輛調(diào)度計劃1。此選取過程是一個隨機選取過程,可能選取到車輛調(diào)度計劃1-車輛調(diào)度計劃10中的任意一個車輛調(diào)度計劃,只是每個車輛調(diào)度計劃被選取的概率有所不同。假設(shè)隨機選取的車輛調(diào)度計劃是車輛調(diào)度計劃9,則可以將選取的車輛調(diào)度計劃9確定為待拆解的車輛調(diào)度計劃。在一個例子中,為了實現(xiàn)“從車輛調(diào)度計劃1-車輛調(diào)度計劃10中隨機選取一個車輛調(diào)度計劃”的過程,在為車輛調(diào)度計劃1-車輛調(diào)度計劃10依次分配選取權(quán)重1-選取權(quán)重10后,可以采用輪盤賭算法從車輛調(diào)度計劃1-車輛調(diào)度計劃10中隨機選取一個車輛調(diào)度計劃。其中,輪盤賭算法可以簡單理解為:若車輛調(diào)度計劃的選取權(quán)重越大,則該車輛調(diào)度計劃在輪盤中分配的面積越大,若車輛調(diào)度計劃的選取權(quán)重越小,則該車輛調(diào)度計劃在輪盤中分配的面積越小。這樣,在轉(zhuǎn)動輪盤后,指針停留在面積大區(qū)域的概率大,而停留在面積小區(qū)域的概率小。但是指針是隨機停留在某個區(qū)域,且選中該區(qū)域?qū)?yīng)的車輛調(diào)度計劃。針對步驟103,在一個例子中,針對待拆解的車輛調(diào)度計劃中的每個貨物,為該貨物選取目標的車輛調(diào)度計劃的過程,可以包括:針對每個貨物,從待拆解的車輛調(diào)度計劃之外的其它車輛調(diào)度計劃中,確定出與貨物滿足時間窗約束、容積約束、重量約束的每個車輛調(diào)度計劃,并依次獲取貨物與確定出的每個車輛調(diào)度計劃的貨物相似度,并將貨物分配到貨物相似度最高的車輛調(diào)度計劃的運輸任務(wù)中。利用當前所有的車輛調(diào)度計劃中的運輸任務(wù),獲得本輪的車輛行駛開銷值。若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定滿足接受條件,則將貨物相似度最高的車輛調(diào)度計劃確定為貨物的目標的車輛調(diào)度計劃。若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定不滿足接受條件,則拒絕為貨物選取目標的車輛調(diào)度計劃,并基于每個車輛調(diào)度計劃的車輛評價指標,重新執(zhí)行利用車輛評價指標選取待拆解的車輛調(diào)度計劃的步驟。假設(shè)待拆解的車輛調(diào)度計劃為車輛調(diào)度計劃9,則車輛調(diào)度計劃9中包括貨物9(此時只有一個貨物9,但在實際應(yīng)用中,貨物的數(shù)量可能為多個,每個貨物的處理方式相同,后續(xù)不再贅述)。針對貨物9,可以從車輛調(diào)度計劃9之外的其它車輛調(diào)度計劃(如車輛調(diào)度計劃1-車輛調(diào)度計劃8、車輛調(diào)度計劃10等)中,確定出與該貨物9滿足時間窗約束、容積約束、重量約束的車輛調(diào)度計劃。其中,對于時間窗約束、容積約束、重量約束等相關(guān)內(nèi)容,已經(jīng)在上述過程中介紹,在此不再贅述,假設(shè)確定出的車輛調(diào)度計劃為車輛調(diào)度計劃1、車輛調(diào)度計劃2、車輛調(diào)度計劃3。之后,依次獲取貨物9與車輛調(diào)度計劃1的貨物相似度1,貨物9與車輛調(diào)度計劃2的貨物相似度2,貨物9與車輛調(diào)度計劃3的貨物相似度3,并從貨物相似度1-貨物相似度3中選取出最高的貨物相似度,如貨物相似度2,并將貨物9分配到貨物相似度2的車輛調(diào)度計劃2的運輸任務(wù)中。在經(jīng)過上述處理后,假設(shè)車輛行駛開銷值為車輛行駛的總距離,當前所有的車輛調(diào)度計劃為車輛調(diào)度計劃1-車輛調(diào)度計劃8、車輛調(diào)度計劃10。基于此,獲取車輛1運輸貨物1時的行駛距離,獲取車輛2運輸貨物2和貨物9時的行駛距離,獲取車輛3運輸貨物3時的行駛距離,以此類推,獲取車輛10運輸貨物10時的行駛距離,將上述獲取的行駛距離之和確定為本輪的車輛行駛開銷值。進一步的,若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定滿足接受條件,則將車輛調(diào)度計劃2確定為貨物9的目標的車輛調(diào)度計劃。若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定不滿足接受條件,則拒絕為貨物9選取目標的車輛調(diào)度計劃,即沒有成功選取到目標的車輛調(diào)度計劃,基于車輛調(diào)度計劃1-車輛調(diào)度計劃10的車輛評價指標,重新選取待拆解的車輛調(diào)度計劃,具體選取方式已經(jīng)在上述過程介紹,在此不再贅述,重新選取的待拆解的車輛調(diào)度計劃可能仍然為車輛調(diào)度計劃9,也可能不是車輛調(diào)度計劃9。在一個例子中,針對獲取貨物與確定出的每個車輛調(diào)度計劃的貨物相似度的過程,可以包括但不限于如下方式:針對確定出的每個車輛調(diào)度計劃,獲得將該貨物分配到該車輛調(diào)度計劃的運輸任務(wù)后,該車輛調(diào)度計劃對應(yīng)的第一車輛行駛開銷值,并獲得將該貨物分配到該車輛調(diào)度計劃的運輸任務(wù)之前,該車輛調(diào)度計劃對應(yīng)的第二車輛行駛開銷值;將該第一車輛行駛開銷值與該第二車輛行駛開銷值的比值,確定為該貨物與該車輛調(diào)度計劃的貨物相似度。例如,在將貨物9分配到車輛調(diào)度計劃1的運輸任務(wù)之后,獲取車輛1運輸貨物1和貨物9時的行駛距離1。在將貨物9分配到車輛調(diào)度計劃1的運輸任務(wù)之前,獲取車輛1運輸貨物1時的行駛距離2。將行駛距離1與行駛距離2的比值,確定為貨物9與車輛調(diào)度計劃1的貨物相似度1。同理,可以獲得貨物9與車輛調(diào)度計劃2的貨物相似度2、貨物9與車輛調(diào)度計劃3的貨物相似度3。針對利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值,確定是否滿足接受條件的過程,在一個例子中,若本輪的車輛行駛開銷值小于上輪的車輛行駛開銷值,確定滿足接受條件,若本輪的車輛行駛開銷值不小于上輪的車輛行駛開銷值,確定不滿足接受條件。在另一個例子中,基于本輪的車輛行駛開銷值和上輪的車輛行駛開銷值,可以采用模擬退火算法,確定是否滿足接受條件。其中,模擬退火算法是一種貪心算法,但是在模擬退火算法的搜索過程中引入了隨機因素,以一定的概率來接受一個比當前解要差的解,因此有可能會跳出局部的最優(yōu)解,從而達到全局最優(yōu)解?;诖四M退火算法的原理,通過模擬退火算法確定是否滿足接受條件可以簡單理解為:若本輪的車輛行駛開銷值小于上輪的車輛行駛開銷值,則確定滿足接受條件。若本輪的車輛行駛開銷值不小于上輪的車輛行駛開銷值,則確定滿足接受條件或者不滿足接受條件。其中,若本輪的車輛行駛開銷值不小于上輪的車輛行駛開銷值,則說明得到了一個比當前解要差的新解,而模擬退火算法是以一定的概率來接受這個新解,而不是一定不接受這個新解,即有可能接受這個新解,也有可能不接受這個新解。這個概率是在不斷變化的,具體變化過程不再贅述。如果接受這個新解,則確定滿足接受條件,如果不接受這個新解,則確定不滿足接受條件。針對步驟103,在一個例子中,假設(shè)目標的車輛調(diào)度計劃為車輛調(diào)度計劃2,則將貨物9分配到車輛調(diào)度計劃2的運輸任務(wù)中,得到修改后的車輛調(diào)度計劃2,并刪除待拆解的車輛調(diào)度計劃9。這樣,當前的車輛調(diào)度計劃可以為車輛調(diào)度計劃1-車輛調(diào)度計劃8、車輛調(diào)度計劃10,而車輛調(diào)度計劃2的運輸任務(wù)中可以包括貨物2和貨物9,其它車輛調(diào)度計劃的運輸任務(wù)中的貨物沒有發(fā)生變化。針對步驟104和步驟105,針對判斷是否已經(jīng)滿足預設(shè)的調(diào)度結(jié)束策略的過程,在一個例子中,可以預先配置一個迭代次數(shù)閾值,若當前的迭代次數(shù)已經(jīng)達到該迭代次數(shù)閾值,則說明滿足預設(shè)的調(diào)度結(jié)束策略,否則,說明沒有滿足預設(shè)的調(diào)度結(jié)束策略。在另一個例子中,若針對每個貨物,已經(jīng)無法將貨物分配到其它車輛調(diào)度計劃的運輸任務(wù)中(如無法滿足時間窗約束、容積約束、重量約束),也可以確定滿足預設(shè)的調(diào)度結(jié)束策略。當然,在實際應(yīng)用中,還可以采用其它調(diào)度結(jié)束策略,本發(fā)明實施例中對此不做限制,在此不再贅述。其中,每執(zhí)行一次步驟102-步驟104,就表示完成一次迭代,迭代次數(shù)加1。其中,若滿足預設(shè)的調(diào)度結(jié)束策略,則輸出車輛調(diào)度計劃1-車輛調(diào)度計劃8、車輛調(diào)度計劃10,完成車輛調(diào)度過程。若沒有滿足預設(shè)的調(diào)度結(jié)束策略,則使用車輛調(diào)度計劃1-車輛調(diào)度計劃8、車輛調(diào)度計劃10,返回執(zhí)行步驟102?;谏鲜黾夹g(shù)方案,本發(fā)明實施例中,可以利用貨物的重量和體積,獲取車輛評價指標,并利用車輛評價指標選取待拆解的車輛調(diào)度計劃,將待拆解的車輛調(diào)度計劃中的每個貨物,分配到目標的車輛調(diào)度計劃的運輸任務(wù)中,從而得到更優(yōu)的車輛調(diào)度計劃。在上述方式下,通過考慮重量體積的雙重約束,解決車輛路徑問題,融合了模擬退火、禁忌搜索等算法的優(yōu)點,與傳統(tǒng)的使用單個啟發(fā)式算法進行搜索的方案相比,采用上述方式進行啟發(fā)式搜索時,收斂速度更快,通過保留隨機因素,使得整個迭代過程不容易陷入局部最優(yōu),且不依賴隨機嘗試,計算量較小,節(jié)約大量的計算資源,改善啟發(fā)式搜索的效果。基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種車輛調(diào)度裝置,該車輛調(diào)度裝置應(yīng)用在控制設(shè)備上。其中,該車輛調(diào)度裝置可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在的控制設(shè)備的處理器,讀取非易失性存儲器中對應(yīng)的計算機程序指令形成的。從硬件層面而言,如圖3所示,為本發(fā)明提出的車輛調(diào)度裝置所在的控制設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、非易失性存儲器外,控制設(shè)備還可以包括其他硬件,如負責處理報文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來講,該控制設(shè)備還可能是分布式設(shè)備,可能包括多個接口卡,以便在硬件層面進行報文處理的擴展。如圖4所示,為本發(fā)明提出的車輛調(diào)度裝置的結(jié)構(gòu)圖,所述裝置包括:生成模塊11,用于生成多個車輛調(diào)度計劃,每個車輛調(diào)度計劃包括一個車輛以及所述車輛需要處理的運輸任務(wù),所述運輸任務(wù)包括一個或者多個貨物;獲取模塊12,用于利用每個車輛調(diào)度計劃中的貨物的重量和體積獲取每個車輛調(diào)度計劃的車輛評價指標,利用車輛評價指標選取待拆解的車輛調(diào)度計劃;處理模塊13,用于針對所述待拆解的車輛調(diào)度計劃中的每個貨物,為所述貨物選取目標的車輛調(diào)度計劃,將所述貨物分配到所述目標的車輛調(diào)度計劃的運輸任務(wù)中,得到修改后的車輛調(diào)度計劃,并刪除所述待拆解的車輛調(diào)度計劃;判斷模塊14,用于判斷是否已經(jīng)滿足預設(shè)的調(diào)度結(jié)束策略;輸出模塊15,用于當判斷結(jié)果為是時,則輸出當前的車輛調(diào)度計劃;所述獲取模塊12,還用于當判斷結(jié)果為否時,則基于當前的車輛調(diào)度計劃,利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標,并利用車輛評價指標選取待拆解的車輛調(diào)度計劃。在一個例子中,所述獲取模塊12,具體用于在利用每個車輛調(diào)度計劃中的貨物的重量和體積,獲取每個車輛調(diào)度計劃的車輛評價指標的過程中,針對每個車輛調(diào)度計劃,利用所述車輛調(diào)度計劃中的每個貨物的重量與車輛承載重量的比例、所述每個貨物的體積與車輛承載體積的比例、所述每個貨物的最短行駛距離、車輛實際行駛距離獲取所述車輛調(diào)度計劃的車輛評價指標。所述獲取模塊12,具體用于在利用車輛評價指標選取待拆解的車輛調(diào)度計劃的過程中,利用每個車輛調(diào)度計劃的車輛評價指標,為每個車輛調(diào)度計劃分配一個選取權(quán)重;其中,車輛調(diào)度計劃的車輛評價指標越大,則其對應(yīng)的選取權(quán)重越??;利用每個車輛調(diào)度計劃的選取權(quán)重,從所述多個車輛調(diào)度計劃中隨機選取一個車輛調(diào)度計劃,并將選取的車輛調(diào)度計劃確定為所述待拆解的車輛調(diào)度計劃;其中,車輛調(diào)度計劃的選取權(quán)重越大,則其被選取的概率越大。所述處理模塊13,具體用于在針對每個貨物,為所述貨物選取目標的車輛調(diào)度計劃的過程中,針對所述每個貨物,從所述待拆解的車輛調(diào)度計劃之外的其它車輛調(diào)度計劃中,確定出與所述貨物滿足時間窗約束、容積約束、重量約束的每個車輛調(diào)度計劃,并依次獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度,并將所述貨物分配到貨物相似度最高的車輛調(diào)度計劃的運輸任務(wù)中;利用當前所有的車輛調(diào)度計劃中的運輸任務(wù),獲得本輪的車輛行駛開銷值;若利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定滿足接受條件,則將貨物相似度最高的車輛調(diào)度計劃確定為所述貨物的目標的車輛調(diào)度計劃。所述處理模塊13,進一步用于在獲取所述貨物與確定出的每個車輛調(diào)度計劃的貨物相似度的過程中,針對確定出的每個車輛調(diào)度計劃,獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)后,該車輛調(diào)度計劃對應(yīng)的第一車輛行駛開銷值,并獲得將所述貨物分配到該車輛調(diào)度計劃的運輸任務(wù)之前,該車輛調(diào)度計劃對應(yīng)的第二車輛行駛開銷值;將所述第一車輛行駛開銷值與所述第二車輛行駛開銷值的比值,確定為所述貨物與該車輛調(diào)度計劃的貨物相似度。在一個例子中,所述處理模塊13,進一步用于在利用本輪的車輛行駛開銷值和上輪的車輛行駛開銷值確定不滿足接受條件時,則拒絕為所述貨物選取目標的車輛調(diào)度計劃,并通知所述獲取模塊12基于每個車輛調(diào)度計劃的車輛評價指標,重新利用所述車輛評價指標選取待拆解的車輛調(diào)度計劃。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。當前第1頁1 2 3