本發明專利技術公開了一種基于圖卷積和強化學習算法的旅行商問題求解方法,屬于人工智能、組合優化技術領域。本發明專利技術要解決的技術問題是求得旅行商問題的高質量游程圖,采用的技術方案為:通過構建并訓練由輸入層模型、圖卷積網絡層模型、多層感知機模型和強化學習算法模型組成的旅行商問題求解模型,實現對原始二維坐標數據的嵌入,獲取圖卷積網絡模型的初始輸入;圖卷積網絡的每一層分別對節點特征向量和邊特征向量進行聚合,并以最后一層的邊特征向量連接多層感知機;多層感知機實現了對邊概率的生成,以利用強化學習算法中的REINFORCE算法對圖卷積網絡模型的參數進行訓練優化。本發明專利技術將最新的研究結果結合強化學習算法得到了更優的旅行商問題游程圖,并且大大縮短了其訓練時間。時間。時間。
【技術實現步驟摘要】
一種基于圖卷積和強化學習算法的旅行商問題求解方法
[0001]本專利涉及人工智能、組合優化等
,具體涉及一種基于圖卷積和強化學習算法的旅行商問題求解方法。
技術介紹
[0002]組合優化問題是計算機科學和運籌學中的一個基本問題。而組合優化的一個典型例子是旅行商問題(TSP),旅行商問題在線路規劃、制造業、遺傳學等有很多應用。組合優化的傳統方法有精確算法、近似算法和啟發式算法,精確算法能夠保證找到最優解,近似算法能夠在多項式時間內求得一個有質量保證的近似解,啟發式算法是基于直觀或經驗構造的算法,其可行解與最優解的偏離程度無法預計。在問題規模較大時,精確算法將會面臨趨向無窮的求解時間。并且問題規模一旦發生輕微變化,傳統方法都需要進行相應的修改。相比之下,機器學習方法通過訓練數據自動發現適用于多種優化任務的啟發式方法,比傳統方法需要更少的時間和更少的工作量。
[0003]近些年來,由一篇seq2seq架構解決旅行商問題的文章開啟了機器學習發掘啟發式算法的時代。端到端的學習框架主要基于seq2seq架構和圖神經網絡。利用圖神經網絡所訓練的模型得到的解更接近最優解,這主要是因為圖神經網絡包含了旅行商問題的圖中節點和邊的信息。而訓練算法又分為監督學習和強化學習,對于大規模問題來說,無法得到高質量的標記數據,所以在解決大規模旅行商問題時,強化學習的解比監督學習的解更接近最優解。
[0004]最新的研究成果為基于圖神經網絡架構的監督學習方法,由于沒有高質量的標記數據,將很難超越標記數據的質量。并且該研究得到模型的泛化能力不如之前的一系列模型,在某一問題規模上訓練的模型在其余問題規模上得到的結果較最優解差距較大。并且隨著問題規模的增加,訓練的時間也隨之增加過快。
技術實現思路
[0005]針對現有的組合優化的深度強化學習方法的不足,本專利技術提供了一種基于圖卷積和強化學習算法的旅行商問題求解方法,通過圖卷積網絡和注意力圖獲取重要邊的特征向量,并連接多層感知機獲取邊在旅行商問題游程圖中的概率,使用REINFORCE算法來訓練圖卷積網絡的參數,通過貪婪或者采樣等測試方法最終獲取旅行商問題游程圖。具體實現如下:
[0006]輸入:二維空間內n個城市的坐標序列,即其中x
i
∈[0,1]2。將二維坐標x
i
嵌入到F維特征向量h
i
中,公式如下:
[0007]h
i
=A1x
i
+b1????????
(1)
[0008]公式(1)中,旅行商問題所采用的圖是一個完全圖,以節點i為中心,計算全圖每個節點j(包括節點i本身)與中心節點i之間的歐幾里得距離d
ij
。我們定義了一個
指示向量當節點j為中心節點i的k
?
近鄰節點時,值為1;自連接時為2;否則為0。這里的k
?
近鄰節點指的是以節點i為中心節點距離最近的k個節點。邊輸入特征向量β
ij
公式如下:
[0009][0010]公式(2)中,
·
||
·
為連接操作。
[0011]我們將和分別定義為l層的節點i的特征向量和以i和j為端點的邊特征向量,和計算公式分別如下:
[0012][0013][0014]在公式(3)和(4)中,j~i表示以節點i為中心的k
?
近鄰節點的集合,ReLU和σ為不同的激活函數,BN表示批標準化,
⊙
表示矩陣對應位置元素相乘,ε是一個極小值,為密集注意力圖。的初始值定義為:的初始值定義為:的初始值定義為:
[0015]在圖卷積網絡的最后一層,我們連接多層感知機(MLP)得到邊在旅行商問題的游程圖中被連接的概率p
ij
,計算公式如下:
[0016][0017]p
θ
(π(t)∣π(<t),s)=p
ij
???????
(6)
[0018]p
θ
(π(t)∣π(<t),s)預測了在給定中心節點i的情況下預測k個邊向量集合上的分布。
[0019]我們將使用REINFORCE算法來訓練上述模型。
[0020]給定一組輸入點s,狀態為部分解,即已經游覽過的城市序列。動作π為下一個要游覽的城市,此城市屬于未游覽過的城市序列。使用鏈式法則將旅程的概率分解,計算公式如下:
[0021]p
θ
(π∣s)=∏
j~i∈π
p
θ
(π(t)∣π(<t),s)
??????
(7)
[0022]在公式(7)中,j~i表示以節點i為中心的k個鄰居節點,在選擇完p
ij
后,利用掩碼機制,將以i為中心節點的k個節點相關聯的邊概率p
ij
全部置零,這樣確保不會將同一節點計入旅行商問題的解中。
[0023]將總的游覽長度r(π∣s)作為獎勵,我們的目的是最小化總游覽長度,即r(π∣s)。計算公式如下:
[0024][0025]在公式(8)中,‖
·
‖2表示L2范數。
[0026]我們的訓練目標是最小化獎勵r(π|s)的期望,給定輸入圖s定義為:
[0027][0028]使用最新的梯度下降優化算法Adam來優化參數,應用REINFORCE算法,并加入基線b(s)來減少梯度方差。梯度計算公式如下:
[0029][0030]在公式(10)中,基線b(s)為貪心解碼,即在選擇動作時,貪婪的選擇概率最大的動作來作為下一個動作。
[0031]在測試時,我們使用束搜索或者采樣來優化最終結果。
[0032]本專利技術的基于圖卷積網絡和REINFORCE算法的旅行商問題求解方法具有以下優點;
[0033](一)本專利技術使用了強化學習算法,借鑒最優秀的基于圖卷積網絡的監督學習訓練模型,提升了該模型所得解的近似程度,突破了標記數據的限制。
[0034](二)本專利技術采用了圖神經網絡領域一種較為優秀的圖卷積網絡模型,較先前的Seq2se q模型,能夠獲取旅行商問題的圖中邊和節點的信息。同樣,對比先前的Graph Embbeding模型,在獲取近鄰節點的信息外,同時定義了邊特征向量,彌補了Graph Embbeding模型中無邊相關信息的缺點。
[0035](三)本專利技術采用了k
?
近鄰算法,對比最前沿的圖卷積網絡模型,只計算距離中心節點歐式距離最近的k個節點,大大減少了計算時間。特別是在問題規模較大時,效果尤為明顯。在利用圖神經網絡解決旅行商問題所花費的時間較長的情況下,此算法的使用,可以抵消一小部分模型的時間花銷。
[0036](四)本專利技術采用了注意力圖,傳統的圖神經網絡將所有鄰居節點無差別聚合,無法區分每一個鄰居節點的重要程度。此專利技術采用注意力圖將本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于圖卷積和強化學習算法的旅行商問題求解方法,其特征在于,該方法是通過構建并訓練由輸入層模型、圖卷積網絡層模型、多層感知機模型和強化學習算法模型組成的旅行商問題求解模型,實現對原始二維坐標數據的嵌入,獲取圖卷積網絡模型的初始輸入;圖卷積網絡的每一層分別對節點特征向量和邊特征向量進行聚合,并以最后一層的邊特征向量連接多層感知機;多層感知機實現了對邊概率的生成,以利用強化學習算法中的REINFORCE算法對圖卷積網絡模型的參數進行訓練優化;完成模型訓練后,使用采樣或束搜索方法測試,得到高質量的旅行商問題游程圖。2.根據權利要求1所述的基于圖卷積和強化學習算法的旅行商問題求解方法,其特征在于,所述輸入層模型用于構建圖卷積網絡的初始輸入,具體如下:輸入:二維空間內n個城市的坐標序列,即其中x
i
∈[0,1]2。將二維坐標x
i
嵌入到F維特征向量h
i
中,公式如下:h
i
=A1x
i
+b1????????????
(1)公式(1)中,旅行商問題所采用的圖是一個完全圖,以節點i為中心,計算全圖每個節點j(包括節點i本身)與中心節點i之間的歐幾里得距離d
ij
。我們定義了一個指示向量當節點j為中心節點i的k
?
近鄰節點時,值為1;自連接時為2;否則為0。這里的k
?
近鄰節點指的是以節點i為中心節點距離最近的k個節點。邊輸入特征向量β
ij
公式如下:公式(2)中,
·
||
·
為連接操作。3.根據權利要求1所述的基于圖卷積和強化學習算法的旅行商問題求解方法,其特征在于,所述圖卷積網絡層模型的構建過程如下:我們將和分別定義為l層的節點i的特征向量和以i和j為端點的邊特征向量,和計算公式分別如下:計算公式分別如下:在公式(3)和(4)中,j~i表示以節點i為中心的k
?
近鄰節點的集合,ReLU和σ為不同的激活函數,BN表示批標準化,
⊙
表示矩陣對應位置元素相乘,ε是一個極小值,為密集注意力圖。的初始值定義為:的初始值定義為:的初始值定義為:4.根據權利要求書1所述的基于圖卷積和強化學習算法的旅行商問題求解方法,其特征在于,所述最后一層邊特征向量連接多層感知機的構建過程如下:在圖卷積網絡的最后一層,我們連接多層感知機(MLP)得到邊在旅行商問...
【專利技術屬性】
技術研發人員:張運超,郭龍坤,賈超琪,
申請(專利權)人:齊魯工業大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。