成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種用于訂單可中轉(zhuǎn)的無人機配送調(diào)度模型及其求解算法

文檔序號:41850931發(fā)布日期:2025-05-09 18:10閱讀:2來源:國知局
一種用于訂單可中轉(zhuǎn)的無人機配送調(diào)度模型及其求解算法

本發(fā)明涉及一種用于訂單可中轉(zhuǎn)的無人機配送調(diào)度模型及其求解算法。


背景技術(shù):

0、技術(shù)背景

1、隨著科技的不斷進步,各種配送模式興起。其中,無人機配送受到了廣泛的關(guān)注。這種轉(zhuǎn)變不僅極大提升了配送效率,還改變了配送服務(wù)的運作方式。對比傳統(tǒng)的人工配送,無人機配送有以下優(yōu)點:能夠穿越復(fù)雜的城市地形;具備穩(wěn)定的配送時間;降低地面交通壓力。

2、在實際的無人機城市配送的場景中,無人機在電池續(xù)航不滿足繼續(xù)執(zhí)行下一段飛行時,通常采用在無人機站更換電池的策略來保證其剩余續(xù)航滿足接下來執(zhí)行其他訂單配送任務(wù)的需求。但是有些距離較長的訂單,其取貨點和送貨點間的距離已經(jīng)超過了無人機滿電時的最大飛行距離。無人機在執(zhí)行這種訂單時,可以讓其在電池續(xù)航不足時降落至一個空置的無人機站,更換電池進行補電,然后繼續(xù)飛往送貨點。但是這種針對長距離訂單的在執(zhí)行訂單過程中進行補電的策略效率較低,一方面,能夠補電的無人機站可能偏離訂單起始點的距離較遠,這會增加無人機的飛行距離,耗費額外的時間。另一方面,一架無人機配送一個長距離訂單消耗較長時間,就導致該無人機長時間內(nèi)不可被用于配送其他訂單,降低單個無人機的使用率。


技術(shù)實現(xiàn)思路

1、針對現(xiàn)有的技術(shù)存在的上述技術(shù)問題,本發(fā)明的目的在于提供一種用于訂單可中轉(zhuǎn)的無人機配送調(diào)度模型及其求解算法。

2、所述的一種用于訂單可中轉(zhuǎn)的無人機配送調(diào)度模型,模型的建立包括以下過程:

3、3.1符號定義

4、k={1,...,k}:無人機編號集合;

5、k′={1,...,k′}:無人機起始位置集合;

6、r={1,...,n}:所有訂單編號的集合;

7、p={1+k,2+k,...,n+k}:訂單取貨點集合;

8、d={1+k+n,2+k+n,...,2n+k}:訂單送貨點集合;

9、t={1+k+2n,2+k+2n,...,t+k+2n}:中轉(zhuǎn)站節(jié)點集合,t為中轉(zhuǎn)站數(shù)量;

10、s=k+2n+t+1:虛擬終止節(jié)點,即無人機的最終匯集節(jié)點;

11、n={k∪p∪d∪d∪s}:網(wǎng)絡(luò)中所有節(jié)點集合;

12、節(jié)點間弧的集合;

13、g=(n,a):有向圖;

14、o(k):無人機k的起始節(jié)點;

15、p(r):訂單r的取貨點;

16、d(r):訂單r的送貨點;

17、tij:無人機從節(jié)點i飛到節(jié)點j的時間;

18、ei:節(jié)點i的最早服務(wù)時間,即無人機到達節(jié)點i的最早時間;

19、li:節(jié)點i的最晚服務(wù)時間,即無人機到達節(jié)點i的最晚時間;

20、qi:節(jié)點i的載重需求;若節(jié)點i是某個訂單的取貨點,qi則為這個訂單的貨物的重量,若節(jié)點i是某個訂單的送貨點,則qi=-qi-n;

21、qr:訂單r的需求重量,即是訂單r的貨物的重量;

22、q:無人機的最大負載重量;

23、w:無人機自重;

24、α:能耗因子;

25、σ:無人機滿電電量;

26、3.2變量

27、如果無人機k從節(jié)點i飛往節(jié)點j,則否則

28、如果無人機k攜帶訂單r的貨物從節(jié)點i飛往節(jié)點j,則否則

29、如果訂單r的貨物在中轉(zhuǎn)站節(jié)點i從無人機k轉(zhuǎn)移到無人機l,則否則

30、如果訂單r的貨物在中轉(zhuǎn)站節(jié)點i從無人機l轉(zhuǎn)移到無人機k,則取值為1,否者取值為0;

31、無人機k到達節(jié)點i的時間;

32、無人機k離開節(jié)點i時的負載載重;

33、fik:無人機k到達節(jié)點i時的累計耗電量。

34、3.3模型目標函數(shù)

35、將問題定義在一個有向圖g=(n,a)中,其中n={1,2,...k+2r+t+1}是網(wǎng)絡(luò)中所有節(jié)點的集合,為節(jié)點之間弧的集合。定義k={1,...,k}為無人機起始位置的集合。r={1,...,n}為所有訂單的編號集合,每個訂單都有對應(yīng)的取貨點和送貨點,p={1+k,2+k,...,n+k}為所有訂單的取貨點的集合,d={1+k+n,2+k+n,...,2n+k}為所有訂單的送貨節(jié)點的集合。假設(shè)訂單的編號為r,那么訂單r對應(yīng)的取貨節(jié)點為集合p中的r+k,訂單r對應(yīng)的送貨節(jié)點為集合d中的k+n+r。定義t={1+k+2n,2+k+2n,...,t+k+2n}為中轉(zhuǎn)站節(jié)點集合,s=k+2n+t+1為無人機虛擬終點。網(wǎng)絡(luò)中除中轉(zhuǎn)站節(jié)點外,每個節(jié)點都有一個載重需求其中訂單取貨節(jié)點的載重需求為送貨節(jié)點的載重需求為對于無人機的初始節(jié)點和虛擬終點s,其載重需求每個取貨節(jié)點和送貨節(jié)點都有時間窗限制由于每個顧客都希望訂單能夠盡早的送達,因此將取貨節(jié)點和送貨的節(jié)點的最早到達時間ei設(shè)置為0。和為決策變量,如果無人機k從節(jié)點i飛往節(jié)點j,否則如果無人機k攜帶訂單r的貨物從節(jié)點i飛往節(jié)點j,則否則如果訂單r的貨物從無人機k轉(zhuǎn)移到無人機l,則否則tij為無人機從節(jié)點i飛到節(jié)點j所消耗的時間。

36、對于無人機配送網(wǎng)絡(luò)的調(diào)度,其優(yōu)化目標應(yīng)該為最小化所有無人機完成訂單的時間,因此基于以上符號定義,將所有無人機路徑上的消耗時間求和,得到以下目標函數(shù):

37、

38、本次設(shè)計建模中的目標函數(shù)為最小化無人機完成所有訂單配送的總時間。

39、3.4約束

40、

41、

42、

43、

44、

45、

46、

47、

48、

49、

50、

51、

52、

53、

54、

55、

56、

57、

58、

59、

60、表達式(2)表示每架無人機必須從其起始位置出發(fā);

61、表達式(3)表示每架無人機必須回到終點(無人機的最終匯集節(jié)點);

62、表達式(4)表示網(wǎng)絡(luò)中的取貨節(jié)點、送貨節(jié)點以及中轉(zhuǎn)站節(jié)點滿足流平衡約束,即進入節(jié)點的弧的數(shù)量必須等于從該節(jié)點出去的弧的數(shù)量;

63、表達式(5)表示每個訂單的取貨節(jié)點只能被一架無人機訪問一次;

64、表達式(6)表示每個訂單的送貨節(jié)點只能被一架無人機訪問一次;

65、表達式(7)表示如果一個訂單進入了中轉(zhuǎn)站節(jié)點,那么它必須由同一架無人機或另一家無人機攜帶著離開中專節(jié)點;

66、表達式(8)表示如果一個訂單進入的節(jié)點不是其取貨、送貨或中轉(zhuǎn)站節(jié)點,則該訂單必須由相同的無人機攜帶離開該節(jié)點;

67、表達式(9)將兩個決策變量和關(guān)聯(lián)起來,這條約束表示如果無人機沒有經(jīng)過弧(i,j),那它就不能通過弧(i,j)攜帶訂單;

68、表達式(10)表示網(wǎng)絡(luò)中各節(jié)點的到達時間的邏輯約束;

69、表達式(11)表示無人機到達取貨節(jié)點和送貨節(jié)點的時間滿足時間窗約束;

70、表達式(12)保證了當且僅當訂單r由無人機k攜帶進入中轉(zhuǎn)站節(jié)點并由無人機l攜帶離開中轉(zhuǎn)點時,變量取值為1;

71、表達式(13)保證了訂單需要中轉(zhuǎn)時,兩架無人機到達中轉(zhuǎn)站節(jié)點的時間的同步。該表達式表示當訂單由無人機k轉(zhuǎn)運至另一架無人機l時,無人機l到達中轉(zhuǎn)站節(jié)點的時間不能早于無人機k到達該節(jié)點的時間;

72、表達式(14)表示無人機訪問網(wǎng)絡(luò)中各節(jié)點時,對無人機當前載重的更新的邏輯約束;

73、表達式(15)和(16)分別表示無人機將訂單送至中轉(zhuǎn)點和到中轉(zhuǎn)點取訂單時無人機上載重的更新;

74、表達式(17)表示無人機載重不能超過其最大載重限制;

75、表達式(18)表示無人機到達各節(jié)點時,無人機累計消耗電量的更新;

76、表達式(19)表示無人機的累計消耗電量不能超過其滿電時的電量;

77、表達式(20)表示無人機在其起始位置節(jié)點時的累計消耗電量和載重為0;

78、表達式(21)-(22)表示變量的類型。

79、3.5分支定價算法

80、經(jīng)過上述的建模,可以得到一個無人機配送網(wǎng)絡(luò)的混合整數(shù)規(guī)劃模型,但是當訂單數(shù)量和無人機的數(shù)量較多時,該模型的變量和約束會變得非常多,使用商業(yè)求解器直接對該模型進行求解的效率會非常低?;诖耍景l(fā)明使用分支定價算法對該問題進行求解。該算法的基本結(jié)構(gòu)由列生成算法和分支定界算法構(gòu)成。列生成算法將問題分解為主問題和子問題。其中,主問題是一個集合覆蓋模型,該模型也是一個混合整數(shù)規(guī)劃模型,模型中的每一列即為一條路徑。子問題是一個受限資源最短路問題,其目標為找到一條reducedcost為負的路徑。子問題由標簽算法求解,然后將得到的解加入到松弛后的主問題中。列生成算法得到的解通常不是整數(shù)解,此時需要對非整數(shù)解進行分支,得到兩個新的子問題并對其求解,同時更新上下界,直到上界和下界的gap為0,得到最優(yōu)的整數(shù)解。

81、3.5.1建立主問題集合覆蓋模型

82、由于原本建立的配送網(wǎng)絡(luò)中,中轉(zhuǎn)站節(jié)點會被不同的無人機訪問多次,每個無人機離開中轉(zhuǎn)站節(jié)點的時間不易于表達,因此將原本的網(wǎng)絡(luò)即有向圖g(n,a)進行拓展,加入新的節(jié)點。將每個中轉(zhuǎn)站節(jié)點t復(fù)制2×n份,n為訂單的數(shù)量,每個訂單都對應(yīng)有t個節(jié)點和t個節(jié)點,其中表示訂單r進入中轉(zhuǎn)站節(jié)點,表示訂單離開中轉(zhuǎn)站節(jié)點。tr-為訂單r對應(yīng)的進入中轉(zhuǎn)站節(jié)點集合。拓展后的網(wǎng)絡(luò)的節(jié)點間弧的集合記為a',基于拓展后的網(wǎng)絡(luò),建立式(23)-(31)的集合覆蓋模型。

83、

84、

85、

86、

87、

88、

89、

90、

91、

92、表達式(23)為主問題的目標函數(shù),表示最小化所有無人機的路徑上的時間。其中ω為所有路徑的集合,cp為路徑p的完成時間。xp為0-1變量,如果路徑p被選中,則xp=1,否則xp=0;

93、表達式(24)表示每架無人機最多只能被使用一次。其中aip為0-1變量,表示路徑p中是否包含節(jié)點i,如果路徑p中包含節(jié)點i,則aip=1,否則aip=0;

94、表達式(25)表示每個取貨節(jié)點和送貨節(jié)點都必須被訪問一次;

95、表達式(26)保證了如果在一條路徑p中,訂單r被送至對應(yīng)的中轉(zhuǎn)站節(jié)點,那么一定有另一條路徑p′到該中轉(zhuǎn)站節(jié)點將訂單取走并送至送貨點;其中pr和dr分別為訂單r的取貨節(jié)點和送貨節(jié)點,表示路徑p中包含節(jié)點pr和節(jié)點即訂單r的貨物從取貨節(jié)點送到中轉(zhuǎn)站節(jié)點;

96、表達式(27)表示路徑p中,各個節(jié)點到達時間的邏輯約束;其中m為一個設(shè)定的很大數(shù);βi表示到達節(jié)點i的時間;為0-1變量,表示路徑p中是否包含弧(i,j),包含弧(i,j)則取值為1,否者取值為0;m表示很大的數(shù),例如106。

97、表達式(28)表示無人機到達取貨節(jié)點和送貨節(jié)點的時間要滿足時間窗約束。其中βi為無人機到達節(jié)點i的時間,ei和分別表示節(jié)點i的最早到達時間和最晚到達時間;

98、表達式(29)為邏輯約束,控制了兩條不同的路徑到達中轉(zhuǎn)站節(jié)點的時間上的同步。它表示如果訂單r被轉(zhuǎn)運,那么節(jié)點的到達時間不能早于節(jié)點的到達時間;

99、表達式(30)-(31)表示變量的類型和屬性。

100、3.5.2子問題標簽算法

101、受限資源的最短路問題為一個np-hard問題。本文使用基于動態(tài)規(guī)劃思想的標簽算法進行求解。標簽算法的大致框架為:從源節(jié)點出發(fā),向每個可達的節(jié)點擴展,擴展到的每個節(jié)點都會生成一個新的標簽,將新生成的標簽與該節(jié)點列表中存儲的標簽進行對比,使用占優(yōu)準則進行修剪以減少搜索空間。

102、首先定義標簽l:對于標簽l,標簽的節(jié)點記為a(l),它記錄著標簽的節(jié)點編號;到達時間記為t(l);當前載荷記為q(l);當前剩余電量記為e(l);標簽的累計成本記為c(l)。此外,定義o(l)為已經(jīng)開始但尚未完成的訂單集合(即,請求已從取貨節(jié)點或中轉(zhuǎn)站節(jié)點被接收,但尚未被送達其送貨節(jié)點或中轉(zhuǎn)站節(jié)點);ot(l)為從中轉(zhuǎn)站節(jié)點開始的訂單集合;c(l)為已完成訂單的集合。

103、當標簽沿弧(a(l),j)拓展到節(jié)點j時,必須滿足(32)-(34)

104、t(l)+ta(l),j≤ltj??(32)

105、q(l)+qj≤q??(33)

106、e(l)-eca(l),j≥0??(34)

107、其中l(wèi)tj表示節(jié)點j的最晚到達時間,ta(l),j表示節(jié)點a(l)到達節(jié)點j的時間;表達式(32)表示滿足節(jié)點j的時間窗約束;表達式(33)表示需滿足容量約束;表達式(34)表示需滿足電量約束,其中eca(l),j表示由節(jié)點a(l)飛往節(jié)點j消耗的電量。

108、如果節(jié)點j滿足(32)-(34),則在節(jié)點j生成新的標簽l′,標簽l′的信息由以下方式更新:

109、a(l′)=j(luò)(35)

110、t(l′)=t(l)+ta(l),j(36)

111、q(l′)=q(l)+qj(37)

112、e(l′)=e(l)-eca(l),j(38)

113、c(l′)=c(l)+ta(l),j(39)

114、

115、

116、

117、(35)-(39)分別表示更新節(jié)點編號、到達節(jié)點j的時間、到達節(jié)點j時的負載、到達節(jié)點j的累計消耗電量、到達節(jié)點j的累計成本;(40)-(42)分別表示對集合o(l)、c(l)和o?t(l)的更新,其中,t+和t-分別為所有的t+和t-節(jié)點的集合。

118、3.5.3構(gòu)造初始路徑的啟發(fā)式算法

119、列生成算法的主問題是一個線性規(guī)劃問題,而子問題則用于生成新的列。為了開始這個過程,算法需要一個初始解來構(gòu)造主問題的第一個可行解。因此需要設(shè)計一個用于構(gòu)造一個初始解的啟發(fā)式算法,在本文的場景下,初始解即為一組可行的路徑。本文設(shè)計一個針對訂單可中轉(zhuǎn)場景下的大領(lǐng)域搜索算法來構(gòu)造一組初始的路徑。大領(lǐng)域算法會隨機的從路徑中移除一定數(shù)量的訂單的取貨節(jié)點和送貨節(jié)點,然后將這些節(jié)點再插入到路徑中,形成新的解。

120、在將某節(jié)點插入到路徑中時,會影響路徑中在該插入位置之后的節(jié)點到達時間和累計消耗電量,因此,每插入一個位置時,需檢驗是否滿足時間窗約束、電量約束以及最大載重約束。除此之外,由于本文的場景中涉及訂單的中轉(zhuǎn),因此插入節(jié)點時,可以將一個訂單的取貨節(jié)點和送貨節(jié)點分別插入到兩條不同的路徑中,此時還需在插入的取貨節(jié)點之后的任一位置和送貨節(jié)點之前的任一位置分別插入一個中轉(zhuǎn)節(jié)點,以保證兩條路徑分別將訂單送至中轉(zhuǎn)節(jié)點和從中轉(zhuǎn)節(jié)點將訂單取走。需要注意的是,為保證兩架無人機到達中轉(zhuǎn)節(jié)點的先后順序,在送貨節(jié)點之前插入的中轉(zhuǎn)節(jié)點還需滿足到達時間不早于另一條路徑里中轉(zhuǎn)節(jié)點的到達時間。

121、構(gòu)造初始解的大領(lǐng)域算法過程如下:

122、1)獲取無人機配送的初始可行路徑可行解

123、對于每個訂單,找到距離該訂單取貨點最近的無人機,判斷該無人機當前剩余續(xù)航是否支持無人機到達取貨點,并從取貨點飛往送貨點;如果不支持,則找到距離該訂單取貨點第二近的無人機,以此類推,直到找到續(xù)航滿足的無人機;

124、如果該訂單為長距離訂單,即取貨點到送貨點的距離超過無人機滿電時的最長飛行距離,則先把取貨點加到當前無人機路徑里,再把最近的中轉(zhuǎn)站節(jié)點加到當前無人機路徑里,如果該中轉(zhuǎn)站節(jié)點到送貨點的距離還是比無人機的最遠續(xù)航大,那么轉(zhuǎn)換為第二近的中轉(zhuǎn)站節(jié)點加到當前無人機路徑里,以此類推,直至中轉(zhuǎn)站節(jié)點到送貨點的距離不大于無人機的最遠續(xù)航,找到續(xù)航滿足的無人機和相應(yīng)的中轉(zhuǎn)站節(jié)點,將選擇的中轉(zhuǎn)站節(jié)點和送貨點加到長距離訂單的當前無人機路徑里,長距離訂單的貨物由第一架無人機從取貨點送至中轉(zhuǎn)站節(jié)點,再由第二架無人機從中轉(zhuǎn)站節(jié)點送至送貨點;

125、通過以上方式獲得無人機配送的初始可行路徑可行解;

126、2)步驟1)獲得無人機配送的初始可行路徑可行解后,使用破壞算子隨機從初始可行路徑中刪除q個訂單的取貨點和送貨點,如果該訂單為長距離訂單,還要刪除路徑中取貨點之后的和送貨點之前的中轉(zhuǎn)站節(jié)點,獲得破壞后路徑;

127、3)然后使用修復(fù)算子隨機將已經(jīng)移除的訂單的取貨點和送貨點插入到步驟2)所得破壞后路徑中,同樣的,如果需要插入的訂單為長距離訂單,需要在取貨點之后和送貨點之前插入中轉(zhuǎn)站節(jié)點,需要注意的是,插入到送貨點之前的中轉(zhuǎn)站節(jié)點的到達時間不能早于插入到取貨點之前的中轉(zhuǎn)站節(jié)點的到達時間,以此保證兩個無人機到達同一個中轉(zhuǎn)站節(jié)點的時間的同步;其中,插入一個訂單的取貨節(jié)點和送貨節(jié)點的時候,是逐個把取貨點和送貨點插入到路徑中的每個位置,每插入到一個位置時,計算一下插入后這條路徑的完成時間,所有無人機路徑的每個位置都按照此方法插入一次,并分別計算插入后路徑的完成時間且進行大小對比,找出插入后總完成時間最小的那個位置,由此確定最終取貨點和送貨點在路徑中的插入位置。

128、通過以上描述的破壞和修復(fù)過程后,算法不斷迭代,完成迭代后算法會將迭代過程中的最優(yōu)解輸出,該最優(yōu)解就是無人機最優(yōu)初始路徑。

129、大領(lǐng)域算法的運算過程如下:

130、輸入:初始可行解s

131、1:將初始解s初始化為sbest和當前解scur,即是將初始解s賦值給sbest和當前解scur;

132、2:while循環(huán),算法終止條件未滿足,即是未達到設(shè)置的迭代次數(shù)時:

133、3:將當前解復(fù)制:sc′ur=scur;

134、4:用移除算子從sc′ur中移除q個訂單的取貨點和送貨點;

135、5:用插入算子將這q個訂單的取貨點和送貨點插入到sc′ur中;

136、6:如果f(sc′ur)≤f(sbest),更新最優(yōu)解:sbest=sc′ur;

137、7:如果不滿足步驟6,生成一個0-1之間的隨機數(shù)p′;如果p′≤p,以次優(yōu)解接受概率接受當前解sc′ur。

138、符號定義:

139、s:初始可行解,即一組初始路徑解;

140、n:訂單數(shù)量;

141、scur:當前無人機路徑;

142、sb′est:當前最優(yōu)無人機路徑;

143、f(sc′ur):當前無人機路徑對應(yīng)的目標函數(shù),即當前的總完成時間;

144、f(sbest):當前最優(yōu)無人機路徑對應(yīng)的目標函數(shù),即當前最小總完成時間;

145、p:次優(yōu)解接受概率,計算方式為隨機生成一個0-1之間的隨機數(shù)p′,如果p′≤p,則接受當前解sc′ur。

146、本發(fā)明基于大領(lǐng)域算法生成的初始路徑,對于初始路徑,求解松弛主問題,得到對偶變量。使用得到的對偶變量定義的reduced?cost,使用標簽算法求解子問題,生成新的路徑。如果子問題找到reduced?cost為負的路徑,將其添加到主問題中。如果沒有新的路徑可以加入到主問題,即子問題無法找到reduced?cost為負的路徑,得到最優(yōu)路徑。

147、與現(xiàn)有技術(shù)相比,本發(fā)明取得的有益效果是:本發(fā)明采取訂單可中轉(zhuǎn)的策略,即在配送網(wǎng)絡(luò)中增加若干個支持貨品暫存的中轉(zhuǎn)站,無人機可以將訂單的貨品送到中轉(zhuǎn)站,由另外一架無人機飛至中轉(zhuǎn)站取到貨品后將其送往配送點。該場景下,對無人機的調(diào)度需要考慮兩架無人機先后到達中轉(zhuǎn)站的時間。由于無人機的續(xù)航能力和其自身載重也高度相關(guān),還需根據(jù)無人機實時的載重來確定其剩余續(xù)航里程。本發(fā)明專利中將該問題建模為混合整數(shù)規(guī)劃模型,在模型中加入控制兩架無人機到達中轉(zhuǎn)站的時間的約束,并設(shè)計分支定價算法進行求解。算法框架由列生成算法嵌套分支定價算法構(gòu)成,其中列生成算法的主問題為集合覆蓋模型,子問題為帶約束的基本最短路問題。結(jié)合高效的啟發(fā)式算法給出可行的初始解,算法能夠有效的求解,降低無人機配送路徑的距離,提升單個無人機的使用率。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1