本發(fā)明涉及信息技術(shù),尤其涉及一種路線優(yōu)化方法以及系統(tǒng)。
背景技術(shù):
如今大量的外賣公司涌入市場,比如美團(tuán)外賣,百度外賣等,外賣的便捷性使得其在生活中越來越普及。一般而言,用戶在下單時,會選擇預(yù)計送達(dá)時間,當(dāng)外賣數(shù)量很多,外賣配送員如何安排路線,以便按時,高效得將外賣送達(dá)顯得格外重要。
路線涉及到數(shù)學(xué)領(lǐng)域上的一個著名問題,即旅行商問題(tsp,travelingsalesmanproblem),該問題是在尋求單一旅行者由起點出發(fā),通過所有給定的需求點之后,最后再回到原點的最小路徑成本。具體解決該問題的算法主要采用啟發(fā)式近似算法,例如蟻群算法、遺傳算法、免疫算法、模擬退火算法、蛙跳算法等等。傳統(tǒng)的外賣配送方法可以采用這些算法,以達(dá)到從起點出發(fā),最后回到終點,途徑一個或者多個送餐地點,并且走過的路徑最短,使得資源最為節(jié)約。但是新型的送餐方法對于每一份外賣的送餐時間有要求,某些用戶需要在一個時間點之前送達(dá),或者在一個時間段內(nèi)送達(dá),傳統(tǒng)的tsp問題無法解決,亟待一種能夠?qū)τ邶嫶蟮臄?shù)據(jù)量,在滿足送達(dá)時間的基礎(chǔ)上優(yōu)化路線的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提出一種路線優(yōu)化方法以及系統(tǒng),能夠滿足每一個目標(biāo)送達(dá)時間的基礎(chǔ)上優(yōu)化路線。
為解決上述問題,本發(fā)明提供一種路線優(yōu)化方法,包括:
一種路線優(yōu)化方法,包括:
獲取當(dāng)前地點s、一個或者多個目標(biāo)送達(dá)地點pi以及目標(biāo)送達(dá)時間ti(i=1···n,n為大于等于1的整數(shù));
計算優(yōu)化路線并展示。
進(jìn)一步的,在上述方法中,所述計算優(yōu)化路線并展示,包括:
對一個或者多個所述目標(biāo)送達(dá)地點pi,根據(jù)所述目標(biāo)送達(dá)時間ti從小到大進(jìn)行排序,依次將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中。
進(jìn)一步的,在上述方法中,所述計算優(yōu)化路線并展示,包括:
當(dāng)將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中時,查找加入到所述優(yōu)化路線中的上一個所述目標(biāo)送達(dá)地點pi-1到所述目標(biāo)送達(dá)地點pi的所有路徑,根據(jù)所有路徑的擁堵程度cij、距離dij、預(yù)計送達(dá)時間eij(j=1··m,m為大于等于1的整數(shù)),選擇最優(yōu)路徑。
進(jìn)一步的,在上述方法中,所述根據(jù)所有路徑的擁堵程度cij、距離dij、預(yù)計送達(dá)時間eij(j=1··m,m為大于等于1的整數(shù)),選擇最優(yōu)路徑,包括:
獲取所述所有路徑的擁堵程度cij、距離dij,計算出預(yù)計送達(dá)時間eij;
篩選出所述預(yù)計送達(dá)時間eij小于等于所述目標(biāo)送達(dá)時間ti的路徑;
根據(jù)用戶輸入的或者默認(rèn)設(shè)置的擁堵程度cij、距離dij的權(quán)重w1,w2計算出所述路徑的推薦度r=cij*w1+dij*w2,選擇所述推薦度最高的路徑。
進(jìn)一步的,在上述方法中,所述選擇最優(yōu)路徑后,包括:
檢測所述最優(yōu)路徑一定閾值地理范圍內(nèi),是否有未加入的目標(biāo)送達(dá)地點pl(l為大于等于1的整數(shù))并且currenttime(當(dāng)前時間)+t(pi-1,pl)+t(pl,pi)≤ti,若存在pl,將所述目標(biāo)送達(dá)地點pl插入到所述最優(yōu)路線中。
根據(jù)本發(fā)明的另一方面,本發(fā)明提供一種路線優(yōu)化系統(tǒng),所述系統(tǒng),包括:
獲取系統(tǒng),用于獲取當(dāng)前地點s、一個或者多個目標(biāo)送達(dá)地點pi以及目標(biāo)送達(dá)時間ti(i=1···n,n為大于等于1的整數(shù));
處理系統(tǒng),用于計算優(yōu)化路線;
展示系統(tǒng),用于展示所述優(yōu)化路線。
進(jìn)一步的,在上述系統(tǒng)中,所述處理系統(tǒng),用于:
對一個或者多個所述目標(biāo)送達(dá)地點pi,根據(jù)所述目標(biāo)送達(dá)時間ti從小到大進(jìn)行排序,依次將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中。
進(jìn)一步的,在上述系統(tǒng)中,所述處理系統(tǒng),用于:
當(dāng)將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中時,查找加入到所述優(yōu)化路線中的上一個所述目標(biāo)送達(dá)地點pi-1到所述目標(biāo)送達(dá)地點pi的所有路徑,根據(jù)所有路徑的擁堵程度cij、距離dij、預(yù)計送達(dá)時間eij(j=1··m,m為大于等于1的整數(shù)),選擇最優(yōu)路徑。
進(jìn)一步的,在上述系統(tǒng)中,所述處理系統(tǒng),用于:
獲取所述所有路徑的擁堵程度cij、距離dij,計算出預(yù)計送達(dá)時間eij;
篩選出所述預(yù)計送達(dá)時間eij小于等于所述目標(biāo)送達(dá)時間ti的路徑;
根據(jù)用戶輸入的或者默認(rèn)設(shè)置的擁堵程度cij、距離dij的權(quán)重w1,w2計算出所述路徑的推薦度r=cij*w1+dij*w2,選擇所述推薦度最高的路徑。
進(jìn)一步的,在上述系統(tǒng)中,所述處理系統(tǒng),用于:
當(dāng)選擇所述最優(yōu)路徑后,檢測所述最優(yōu)路徑一定閾值地理范圍內(nèi),是否有未加入的目標(biāo)送達(dá)地點pl(l為大于等于1的整數(shù))并且currenttime(當(dāng)前時間)+t(pi-1,pl)+t(pl,pi)≤ti,若存在pl,將所述目標(biāo)送達(dá)地點pl插入到所述最優(yōu)路線中。
附圖說明
圖1是本發(fā)明實施例提供的一種路線優(yōu)化第一實施例的方法流程示意圖;
圖2是本發(fā)明實施例提供的一種路線優(yōu)化第二實施例的功能模塊示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明實施例作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明實施例,而非對本發(fā)明實施例的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明實施例相關(guān)的部分而非全部結(jié)構(gòu)。
實施例一
如圖1所示,本發(fā)明提供一種路線優(yōu)化方法,包括:
步驟s101,獲取當(dāng)前地點s、一個或者多個目標(biāo)送達(dá)地點pi以及目標(biāo)送達(dá)時間ti(i=1···n,n為大于等于1的整數(shù));
步驟s102,計算優(yōu)化路線并展示。
優(yōu)選的,步驟s101,包括:
獲取當(dāng)前地點s,包括配送員當(dāng)前所在地,可能是第一次從商家取餐完畢的地點或者配送員在配送過程中順路到商家取餐的地方。
一個或者多個目標(biāo)送達(dá)地點pi,包括用戶下單時選擇的配送地,由于一般用戶在下單時,也會選擇目標(biāo)送達(dá)時間ti,如果用戶選擇了目標(biāo)送達(dá)時間ti,則獲取該目標(biāo)送達(dá)時間ti,如果用戶未進(jìn)行選擇,則獲取默認(rèn)的目標(biāo)送達(dá)時間ti。
優(yōu)選的,步驟s102,包括:
對一個或者多個所述目標(biāo)送達(dá)地點pi,根據(jù)所述目標(biāo)送達(dá)時間ti從小到大進(jìn)行排序,比如有目標(biāo)送達(dá)地點p1,目標(biāo)送達(dá)時間t1為12:00,目標(biāo)送達(dá)地點p2,目標(biāo)送達(dá)時間t2為12:30,則按照其目標(biāo)送達(dá)時間排序,為目標(biāo)送達(dá)地點p1,目標(biāo)送達(dá)地點p2。
當(dāng)將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中時,查找加入到所述優(yōu)化路線中的上一個所述目標(biāo)送達(dá)地點pi-1到所述目標(biāo)送達(dá)地點pi的所有路徑,cij、距離dij、預(yù)計送達(dá)時間eij(j=1··m,m為大于等于1的整數(shù)),選擇最優(yōu)路徑。比如,目前的優(yōu)化路線為起點、目標(biāo)送達(dá)地點p1,當(dāng)加入目標(biāo)送達(dá)地點p2時,查找出目標(biāo)送達(dá)地點p1到目標(biāo)送達(dá)地點p2之間的所有路徑。
優(yōu)選的,獲取所述所有路徑的擁堵程度cij、距離dij,計算出預(yù)計送達(dá)時間eij;
篩選出所述預(yù)計送達(dá)時間eij小于等于所述目標(biāo)送達(dá)時間ti的路徑;
根據(jù)用戶輸入的或者默認(rèn)設(shè)置的擁堵程度cij、距離dij的權(quán)重w1,w2計算出所述路徑的推薦度r=cij*w1+dij*w2,選擇所述推薦度最高的路徑。通過設(shè)置不同的權(quán)值w1,w2能夠滿足送餐者不同用戶的需求,比如有些送餐員在能夠滿足送餐時間的要求下,可以忍受擁堵程度,距離較短的,節(jié)約耗油等,有些送餐員可以忍受距離長,但不擁堵的。
優(yōu)選的,在選擇最優(yōu)路徑后,檢測所述最優(yōu)路徑一定閾值地理范圍內(nèi),是否有未加入的目標(biāo)送達(dá)地點pl(l為大于等于1的整數(shù))并且currenttime(當(dāng)前時間)+t(pi-1,pl)+t(pl,pi)≤ti,若存在pl,將所述目標(biāo)送達(dá)地點pl插入到所述最優(yōu)路線中。目的是順路經(jīng)過某目標(biāo)送達(dá)地點pl的時候,如果送餐員順路去pl,能夠保證下一家外賣及時送達(dá)的話,可以去pl,這樣可以節(jié)約時間和資源,防止繞路。
當(dāng)用戶每一次獲取了當(dāng)前地點,一個或者多個目標(biāo)送達(dá)地點以及目標(biāo)送達(dá)時間的時候,計算一次優(yōu)化路線,這樣送餐員可以在第一次取單,或者送外賣中途取單的時候重新計算優(yōu)化路線,或者送餐時間長,需要重新計算優(yōu)化路線的時候進(jìn)行重新計算。最終展示方法包括很多,包括地圖、文字、語音中的一種或者多種方式展示。
實施例二
如圖2所示,本發(fā)明提供一種路線優(yōu)化系統(tǒng),包括:
獲取系統(tǒng)201,用于獲取當(dāng)前地點s、一個或者多個目標(biāo)送達(dá)地點pi以及目標(biāo)送達(dá)時間ti(i=1···n,n為大于等于1的整數(shù));
處理系統(tǒng)202,用于計算優(yōu)化路線;
展示系統(tǒng)203,用于展示所述優(yōu)化路線。
優(yōu)選的,所述處理系統(tǒng)202,用于:
對一個或者多個所述目標(biāo)送達(dá)地點pi,根據(jù)所述目標(biāo)送達(dá)時間ti從小到大進(jìn)行排序,依次將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中。
優(yōu)選的,所述處理系統(tǒng)202,用于:
當(dāng)將所述目標(biāo)送達(dá)地點pi加入到所述優(yōu)化路線中時,查找加入到所述優(yōu)化路線中的上一個所述目標(biāo)送達(dá)地點pi-1到所述目標(biāo)送達(dá)地點pi的所有路徑,根據(jù)所有路徑的擁堵程度cij、距離dij、預(yù)計送達(dá)時間eij(j=1··m,m為大于等于1的整數(shù)),選擇最優(yōu)路徑。
優(yōu)選的,所述處理系統(tǒng)202,用于:
獲取所述所有路徑的擁堵程度cij、距離dij,計算出預(yù)計送達(dá)時間eij;
篩選出所述預(yù)計送達(dá)時間eij小于等于所述目標(biāo)送達(dá)時間ti的路徑;
根據(jù)用戶輸入的或者默認(rèn)設(shè)置的擁堵程度cij、距離dij的權(quán)重w1,w2計算出所述路徑的推薦度r=cij*w1+dij*w2,選擇所述推薦度最高的路徑。
優(yōu)選的,所述處理系統(tǒng)202,用于:
當(dāng)選擇所述最優(yōu)路徑后,檢測所述最優(yōu)路徑一定閾值地理范圍內(nèi),是否有未加入的目標(biāo)送達(dá)地點pl(l為大于等于1的整數(shù))并且currenttime(當(dāng)前時間)+t(pi-1,pl)+t(pl,pi)≤ti,若存在pl,將所述目標(biāo)送達(dá)地點pl插入到所述最優(yōu)路線中。
優(yōu)選的,所述展示系統(tǒng)203,用于:
通過地圖、文字、語音中的一種或者多種方式展示。
實施例二的其它詳細(xì)內(nèi)容,具體可參見實施例一的對應(yīng)部分,在此不再贅述。
綜上所述,本發(fā)明通過獲取當(dāng)前地點、一個或者多個目標(biāo)送達(dá)地點以及目標(biāo)送達(dá)時間,計算優(yōu)化路線并展示,能夠在龐大數(shù)據(jù)量的時候,滿足目標(biāo)送達(dá)地點的目標(biāo)送達(dá)時間的基礎(chǔ)上,優(yōu)化路線。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
以上結(jié)合具體實施例描述了本發(fā)明實施例的技術(shù)原理。這些描述只是為了解釋本發(fā)明實施例的原理,而不能以任何方式解釋為對本發(fā)明實施例保護(hù)范圍的限制?;诖颂幍慕忉?,本領(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動即可聯(lián)想到本發(fā)明實施例的其它具體實施方式,這些方式都將落入本發(fā)明實施例的保護(hù)范圍之內(nèi)。