日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

白盒测试基本路径生成工具_基于基本最短路径列生成的车辆路径问题

發(fā)布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 白盒测试基本路径生成工具_基于基本最短路径列生成的车辆路径问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

論文作者:Alain Chabrier

論文發(fā)表日期:2005

摘要

車輛路徑問題的列生成模型通常包含一個基本的最短路徑子問題。由于該問題已知算法的最壞情況復雜度過高,其基本路徑約束通常被松弛。實際上,由于每個客戶必須被訪問一次,所以有和沒有基本路徑約束的兩個問題都有相同的最優(yōu)整數(shù)解。在這篇文章中,我們提出了一個理論和幾個實踐改進算法的基本路徑。我們獲取最好的下界和修建搜索樹,這些改進允許我們尋找精確的解決方案。

1 介紹

文本研究VRPTW問題,分為兩類,一類是啟發(fā)式算法,快速尋找可行解,通?;诒镜厮阉骷夹g有時與約束規(guī)劃的混合合作。令一方面精確算法聚焦于發(fā)現(xiàn)最優(yōu)解。列生成技術就是精確算法的一部分。通過 Dantzig–Wolfe分解將原始的線性規(guī)劃問題分解為一個線性RMP和一個定價的子問題。這個主問題變成一個二元變量的分區(qū)問題,定價子問題負責生成新的有希望列約束最短路徑問題。子問題分解的版本必須可以解決ESPRCTW(資源約束和時間窗的基本最短路徑問題)。路徑中循環(huán)通常被松弛,通過SPRCTW(資源約束和時間窗的最短路徑)代替。在這種情況下,可以看出,該列生成模型的最優(yōu)整數(shù)解在放寬循環(huán)約束的情況下,只包含基本路徑。松弛掉循環(huán)約束的最主要的原因是可以使用更強大的算法來解決SPRCTW而不是解決ESPRCTW問題。事實上,偽多項式算法是可用的SPRCTW,而相反,它已表明,ESPRCTW是NP-hard[14]。在本文中,我們提出了ESPRCTW的幾個優(yōu)點,如在放寬限制的主問題下獲得了更好的下界質(zhì)量,并提出了幾種技術來降低考慮循環(huán)約束對效率的影響。

2 VRP分解模型

車輛k最大載重

客戶i的需求

時間窗

弧的集合

節(jié)點i到節(jié)點j的距離

2.1 MIP模型

弧(i,j)是否在車輛k上

表示在車k到達節(jié)點i的到達時間

MIP模型

2.2 Dantzig–Wolfe 分解

對于給定的路線k考慮矩陣

對應于約束(2)-(5)和(7)。約束(6)單獨分出來。由 定義的多面體允許車輛k的有效路徑的集合 作為極值點。我們可以把其中一個點寫成這些路徑的線性組合。 =1如果弧 屬于極值點 對于每個

提示:車輛k和路線p不是一個概念

定義

為使用車輛k通過路線p的成本。 表示節(jié)點i通過車輛k經(jīng)過路徑p訪問的次數(shù)。

如果我們將這些表達式替換到原始模型,我們將獲得分解的模型:

Dantzig–Wolfe 分解后的模型

容量,子消除和時間窗口約束被整體移動到定義極值點路徑的有效性的子問題。

我們在這里認識問題包括從倉庫到倉庫找到基本路徑并滿足容量約束。

2.3 車輛的類型相同

可以對模型進行進一步的壓縮

新的Dantzig–Wolfe 分解模型

該分解模型包含大量可能的路徑變量。如果N是節(jié)點數(shù),理論路徑變量的數(shù)量可以增長到N!。對于10個節(jié)點的簡單情況,這對應于3 628 800個路徑。 因此,我們使用列生成技術,其中變量是動態(tài)添加的。

3 列生成

在本節(jié)中,我們將討論分解模型可能的各種列生成過程。特別是,我們強調(diào)不同類型的子問題是可能的基本事實。

完整性約束條件變量是松弛的,所求解的模型只受限于變量的有限子集。然后,正如修訂后的單純形法一樣,我們通過檢查它們的檢驗數(shù)來尋找進入RMP模型的新可能變量。此操作稱為定價新變量。當沒有更多新列可以定價時,松弛的解決方案對于松弛的問題是最佳的。如果這個解不包含分式變量,它也是整數(shù)問題的最優(yōu)解。出于若干實際原因,集合分區(qū)約束(11)通常僅改變?yōu)榧细采w約束。對原始問題的任何解決方案也是解決這個新的松弛問題的方法。此外,很容易看出,新問題的最優(yōu)整數(shù)解每個節(jié)點只包含一條路線,因此也是原問題的最優(yōu)解。

3.1 定價方案

分別是關于約束(11)和(12)的對偶變量。檢驗數(shù)為

因此,子問題包括找到關于以下成本的最短基本路徑并且遵守容量約束。

3.2 各種可能的子問題

有效路線是從倉庫到倉庫的基本路徑,滿足某些資源的約束(路徑長度,容量,時間)。

讓p是一條路徑

資源可以推廣到由l索引的L資源。

表示節(jié)點i處的資源l的累積量。距離函數(shù) 定義i和j之間資源l的累積。 為每對資源和節(jié)點定義。我們將使用兩個連續(xù)節(jié)點i和j之間的累積資源的增加必須滿足三角不等式的事實。

路徑的成本等于資源的累積。檢驗數(shù)的獲得通過上節(jié)提到的每個集合覆蓋模型約束的路徑成本和對偶變量 獲得。因為只有負的降低成本的路線可以進入受限制的主要問題,所以應該將其最小化或限制為負的。

根據(jù)該模型,路線不應包含循環(huán)。然而,文獻中提出的大多數(shù)算法放寬了這個約束以簡化子問題。實際上,即使松弛受限主要問題的解決方案可能包含具有非零小數(shù)值的非基本路線,最佳整數(shù)解也不包含這樣的路線。

定理1 當資源的累積尊重三角不等式并且節(jié)點之間的成本累積嚴格為正時,具有非基本路徑的主問題的最優(yōu)整數(shù)解包含僅基本路徑。

3.3 標簽算法

標記算法將標簽與部分路徑相關聯(lián),并創(chuàng)建擴展路徑的新標簽。當不再生成標簽時,最佳路徑由末端節(jié)點處的標簽給出,并且有最好的檢驗數(shù)。在節(jié)點i處,一個部分路徑p關聯(lián)一個標簽

。一些路徑會在優(yōu)勢規(guī)則中被淘汰。我們說部分路徑 在節(jié)點i結束優(yōu)于其它的路徑 ,如果滿足下面的條件:

如果

的擴展為 。 的擴展 一定優(yōu)于 。

該優(yōu)勢規(guī)則不能直接用于搜索基本最短路徑。最后一個問題要復雜得多。本文的核心結果是為基本最短路徑提出了該算法的實用,有效的修改。

3.4 分支計劃

我們使用基于改編的Ryan-Fosterrules的常用分支方案。我們尋找兩個共享同一對節(jié)點 i 和 j 的分數(shù)路線 其中一個路線使用弧線 (i, j) 而另一個不使用??梢宰C明,總能找到這樣的路線。在每個分支中,可以容易地修改最短路徑子問題而不破壞問題的結構(只需從底層圖中刪除弧即可)。

4 界限比較

提出兩種方法增加松弛的質(zhì)量。一種為添加切割平面松弛;第二個是基于基本的最短路徑子問題。使用SPRCTW,主問題表示為MP。使用ESPRCTW,主問題表示為EMP。當我們從MP中刪除完整性約束時,我們將其表示為RMP。當我們從EMP中刪除完整性約束時,我們將其表示為REMP。

4.1 簡單的例子

只有兩個客戶節(jié)點i,j。

而且,讓我們假設容量和時間窗口很大。EMP的最佳松弛解決方案顯然是由獨特的路線構成的 允許循環(huán)時,可以生成任何的合法路徑 ,這里 表示n次。成本為 。可以是主值為1 / n的解決方案的一部分,提供一個界限LB=200/n+2-1/n,n僅僅被車輛的容量所限制。

4.2 使用切割

改進從松弛問題中獲得的解決方案的最廣泛使用的方法是添加切割平面,例如k路徑切割,當k = 1時也稱為子切割。讓S是一組節(jié)點的集合,

是S集合中出弧的集合。 是在 中路徑p中弧的數(shù)量。可以證明該組的節(jié)點不能被少于 車輛覆蓋。因此是可能的,對于任意的 添加新的約束,稱為k-path 切割。關于變量 對應于包含該集合中至少一個節(jié)點的路線。

很明顯, 因此,子部分切割(即,k = 1的切割)易于使用,因為不必發(fā)現(xiàn)先前的結果來證明其有效性。這個子路徑切割應用于我們先前的例子,通過設置 提供1/n的流量。為此集合添加剪切將改善下限。然而,MP加上子路線切割獲取的范圍不等于EMP獲取的范圍。讓我們用另一個例子說明這個想法?,F(xiàn)在我們有3個節(jié)點i,j,k。可以使用值1/2來獲取以下一組路徑。

即使這種解決方案沒有違反任何減少的次數(shù),它也包含一個循環(huán),因此不會成為EMP的解決方案。最后,我們必須記住,即使ESP更難解決,當我們使用切割平面時,我們還必須使用其他一些復雜的算法來隔離違規(guī)切割以增加松弛。

4.3 使用路徑

MP和EMP的約束相同并且列的集合彼此包含在一起,很明顯MP是EMP的松弛,并且RMP是REMP的松弛。我們之前看到MP和RMP具有相同的整數(shù)解。 對于RMP和REMP來說,這樣的好結果是不正確的,但松弛關系意味著用REMP獲得的界限至少與用RMP獲得的結果相同。因此,我們的想法是將ESPRCTW用于子問題。從理論上講,這個問題要復雜得多,我們必須使用一種實現(xiàn),在算法的最差實際效率和更好的邊界質(zhì)量之間提供良好的折衷。

5 基本最短路徑

在這個部分,我們提出一些對基本路徑問題標簽算法的修改

1.部分路線已經(jīng)存在的節(jié)點無法對當前的部分路線進行擴展

2通常的優(yōu)勢規(guī)則不能直接刪除標簽。

第一項意味著只有當部分路徑尚未訪問j時,以i結尾的部分路徑才能延長到j。如果我們將部分路徑p的節(jié)點集合表示為V(p),如果我們已經(jīng)有j∈V(p),我們就不能將p延長到j。

第二項是主要困難,即使一些部分路徑

優(yōu)于另外一些部分路徑 ,某個節(jié)點 的 的延續(xù)可能會在以后有用。這里我們必須保留 因為 不能應用與優(yōu)勢規(guī)則證明相同的有希望的延長。實際上,一個容易修改的優(yōu)勢規(guī)則就是不要刪除任何標簽并保留所有標簽。即使這種策略在理論上會導致最佳的基本路徑,但在實踐中它是難以處理的。這種實際困難似乎是為什么接受了放松SPRCTW的原因。我們的目標是提高優(yōu)勢規(guī)則。新的支配規(guī)則應該允許我們盡可能安全地刪除部分路徑,因為它們不是最優(yōu)解的一部分,它必須讓我們盡可能快地刪除它們。

5.1 初步修改的優(yōu)勢規(guī)則

最初的優(yōu)勢規(guī)則不能確保

繼續(xù)優(yōu)于 ,因為 會繼續(xù)使用已經(jīng)在 中訪問過的節(jié)點,但是卻不能添加到 。修改后的優(yōu)勢規(guī)則是部分路徑 優(yōu)于 前提是遵守先前條件(13)和(14),并且 的集合包括在集合 。 。顯然,這個基本的新優(yōu)勢規(guī)則將允許創(chuàng)建許多標簽。實際上,當兩個部分路徑使得它們的節(jié)點集合不包含在另一個中時,那么它們的擴展之間不會有任何優(yōu)勢。因此,我們對此規(guī)則進行了不同的改進,包括完整修改和啟發(fā)式修改.

5.2 優(yōu)勢規(guī)則的確切改進

如果部分路徑

不包含另一條路徑 的某些節(jié)點,新的優(yōu)勢規(guī)則將始終保留其標簽,與資源積累,成本和降低成本的價值無關。原因很簡單,當通過 中的一個節(jié)點時, 的某些擴展的檢驗數(shù)可能變得有利。這個保留標簽的充分規(guī)則顯然不是必需的。通過估計可以通過考慮 的某些節(jié)點可以獲得的檢驗數(shù)的預期改進,可以改進優(yōu)勢規(guī)則。

是兩個在m節(jié)點結束部分路徑。 是部分路徑p訪問的節(jié)點集。

(兩者的節(jié)點集完全相同)原來的優(yōu)勢規(guī)則是可以處理這種情況的。

另請注意,在無法以任何方式將其附加到p2的情況下,我們可能不會考慮某些元素

。如果有一些資源l使得 ,不可能擴展到n。

我們在這里使用三角不等式的性質(zhì)?,F(xiàn)在讓我們考慮

時的不同近似值 (表示所有屬于A但不屬于B的元素的集合)

1.與

的改善有關: 是 的擴展,可能通過相同的方式創(chuàng)建一個擴展 由 (除了擴展n,因為 已經(jīng)存在無法擴展)。i和j分別為n節(jié)點的上一個和下一個節(jié)點在 中。

(本人理解為需要將n插入到

中合適的位置(相當于 的節(jié)點集合暫時相同了),然后計算下面的c(i,n)+c(n,j)-c(i,j),如果不能不予進行考慮)

這里

是優(yōu)于 當且僅當

通過刪除成本部分(三角定理),消除

的充分條件是( 優(yōu)于 )

2.與

的改善有關-最小化添加弧成本:這里,我們使用更好的近似成本部分并低估它使用

分別為可能的前驅(qū)和后置節(jié)點集合關于n??梢栽诿總€節(jié)點n的算法初始化時計算這些量。因此充分條件為 可以使用(16),(17)來刪除更多的標簽。這個條件可以擴展到 。但是,在實踐中,很難找到好的界限。我們將算法限制在以下情況

5.3算法的啟發(fā)式改進(簡單的啟發(fā)式減少算法)

5.4 面向?qū)嵤┑母倪M

前一小節(jié)介紹了對基本最短路徑的全球定價過程的一些算法改進。我們在這里介紹一些我們過去以高效的方式實現(xiàn)它的想法。

5.4.1 存放標簽

當我們使用算法的略微修改和有限版本的許多連續(xù)運行時,可以在算法的預熱中使用很多時間,即,在先前運行結束時已經(jīng)存在的許多標簽的重新創(chuàng)建中。 因此,我們使用標簽存儲作為增量工具。

此存儲可以使用來自任何算法的標簽填充,然后用于在運行之前使用實際標簽填充新算法。

5.5 其他改進

之前已經(jīng)提出過幾項其他改進措施:

  • 基于時間窗口的圖縮減:我們從可能的弧線中刪除那些由于時間窗口而無法實現(xiàn)的弧線。
  • 最少的路徑數(shù):正如[12]中提出的那樣,當生成固定的最小數(shù)量的路徑和標簽時,我們停止執(zhí)行算法。這種減少特別有趣,因為當沒有找到路徑時,我們知道這樣的路徑不存在,我們不必重新運行該算法的另一個版本。
  • 基于降低成本的圖表縮減:我們還會根據(jù)檢驗數(shù)的原因減少初始圖表。

6.2 分支

當沒有更多新列可以定價時,松弛RMP是當前Branch-and-Price分支的下限。在分支定價根節(jié)點的情況下,我們獲得完整問題的全局下界。當處理僅具有基本路徑的子問題時,我們解決了更受約束的問題,并且獲得的界限在理論上更好。在表1中,我們將系列R1和RC1上獲得的界限與[11]中給出的界限進行了比較。 給出的兩個比較是

在我們的下界LB和來自[11]的LB(1)之間,對應于僅禁止具有形式i-j-i的循環(huán)的子問題。

來自[11]的LB(2)和LB(1)之間。 LB(2)對應于LB(1),加上在Branch-and-Price根節(jié)點處添加了子路徑和2路徑切割。我們可以在這個表中看到,我們的下界確實比用非基本路徑獲得的下限更好。 平均而言,我們的下限與最優(yōu)解之間的差距比LB(1)與最優(yōu)解之間的差距小17%。 相同的計算將得到47%的LB(2)并且表明可以將切割平面的使用添加到我們的算法中。

總結

以上是生活随笔為你收集整理的白盒测试基本路径生成工具_基于基本最短路径列生成的车辆路径问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。