在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVIDIA cuOpt算法將路徑優化求解速度提高100倍

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 2024-04-19 10:09 ? 次閱讀

NVIDIA cuOpt 是一個用于解決復雜路徑問題的加速優化引擎。它能高效解決不同方面的問題,如休息時間、等待時間、多個車輛成本和時間矩陣、多個目標、訂單-車輛匹配、車輛起始和結束位置、車輛起始和結束時間等。

更具體地說,cuOpt 所解決的諸多問題可以歸為兩大類:帶時間窗的擁擠車輛路徑問題(CVRPTW)和帶時間窗的取送貨問題(PDPTW)。這些問題的目標是在滿足客戶要求的同時,最大程度地減少車輛數量和總行程。

經 SINTEF 驗證,過去三年中,cuOpt 在最大規模的路徑基準測試中打破了 23 項世界紀錄。

本文將探討優化算法的關鍵要素和定義,以及在基準測試中比較 NVIDIA cuOpt 與該領域領先解決方案的過程,著重說明進行這些比較的重要意義。在本文中,我們使用“請求”一詞表示 CVRPTW 訂單以及 PDPTW 問題中的取貨-交貨訂單對。

盡管該領域存在各種約束和問題維度,但本文的討論范圍僅限于容量和時間窗約束。容量約束要求車輛上的商品總量在任何時候都不能超過車輛容量。時間窗約束則要求服務訂單的時間不能早于時間窗的開始時間,也不能晚于時間窗的結束時間。

組合優化

組合優化問題是世界上計算成本最高的問題之一(NP-hard),搜索空間中可能狀態的數量是階乘的。由于不可能使用精確算法來解決大型問題,因此需要使用啟發式算法來接近最優解決方案。啟發式算法使用各種算法探索搜索空間,這些算法具有二次方或更高次方的計算復雜度。

高度的復雜性和問題的性質使得使用大規模并行 GPU 加速這些算法成為可能。借助 GPU 加速,可以在合理的時間內獲得接近最優的解決方案。

構建進化路徑優化算法

典型的路徑求解器包括兩個階段:生成初始解決方案和改進解決方案。本章將介紹生成初始解決方案和改進解決方案的步驟。

初始解決方案生成算法

利用有限的車隊生成一個可行的初始解決方案并滿足所有約束條件,本身就是一個 NP-hard 問題。我們的團隊對引導彈射搜索(GES)算法進行了改進和并行化,以便將請求放置到路徑上。

GES 的主要想法很簡單。我們首先嘗試將請求插入路徑。如果插入該請求不可行,我們就從路徑中彈出一個或多個易于插入的請求,然后將該請求插入到放寬的路徑中。每個請求的懲罰分數(p-score)表示將該請求插入路徑的難度。只有當被彈出請求的 p 分數之和小于所考慮的請求時,算法才會插入該請求。

無法將某個請求插入路徑時,我們就會遞增該請求的 p-score,然后再試一次。我們會將所有未提供服務的請求保留在彈出池中,算法會一直運行到彈出池清空為止。換句話說,它會一直運行到所有請求都被服務為止。

這種算法的主要缺點是循環(返回到解決方案中的前一組節點)。當彈射節點數量較多時,找到彈射組合的速度較慢。另一個缺點是只考慮弱的、隨機擾動的解決方案。我們已經消除了這些缺陷,能夠生成路徑數量遠低于當前最先進方法的解決方案。

在深入探討彈射算法之前,了解可行性檢查和解決方案評估是在恒定時間內通過時間扭曲法進行的,這點十分重要。雖然這種方法大大縮短了計算時間,但由于需要遵守任意數量彈射搜索的詞典順序,因此也增加了并行化的難度。

查找哪些請求需要彈出,以及在何處可行地插入所考慮的請求是一個計算成本很高的問題:它與彈出請求的數量成指數關系,并且需要檢查所有路徑中的所有插入位置。我們的實驗表明,少量的彈出請求就會引發算法循環。

因此,我們提出了一種可以并行彈出多達 10 個請求(啟發式)和 5 個請求(當進行廣泛搜索時)的方法。我們將彈出算法并行化,從每個路徑中彈出一個片段,并在一個線程塊中處理這些臨時路徑。然后,嘗試在所有可能的位置并行插入所考慮的請求。

深度搜索算法會嘗試彈出路徑中所有請求的所有可能排列。我們將不同的線程塊用于每個請求插入位置,并通過將詞序拆分為獨立的子排列來并行執行詞序搜索。

GES 算法循環運行,直到耗盡時間或請求池為空。在每次迭代中,我們都會對解決方案進行擾動以改進解決方案的狀態,并打開解決方案中的缺口,從而找到可行的插入方案。擾動是一種在路徑之間和路徑內部隨機遷移和交換節點的隨機局部搜索。

在找到滿足要求的最佳車輛數量后,我們轉入改進階段,該階段負責使目標最小化。默認情況下的目標是總行駛距離,但也可以在 cuOpt 中配置其他目標。

c162bc04-fd73-11ee-a297-92fbcf53809c.png

圖 1. NVIDIA cuOpt 中的 GES 算法流程圖

進化過程和局部搜索算法

改進階段使用進化策略對多個解決方案進行改進,生成的解決方案被置于一個群體中。為了獲得足夠多樣化的初始解決方案,我們在生成過程中使用了隨機化技術。利用 GPU 架構,我們可以并行生成許多不同的解決方案。多樣化群體會經歷一個進化改進過程,而解決方案的最佳特性會保留在更新的幾代中。

在進化過程的一個步驟中,我們采用兩個隨機解決方案并應用交叉算子,這樣就會產生一個子代解決方案,它繼承了兩個親代的優良特性。可以對解決方案應用不同的交叉算子,其中一些算子會使子代處于不完整狀態。我們可以通過刪除重復節點、插入未選擇路徑的節點或對其進行不可行性局部搜索來修復解決方案。

例如,基于順序的交叉算子會根據節點在另一個父代解決方案中出現的順序,重新排列一個父代解決方案的一條或多條路徑中的節點。由此產生的子代保留了一個父代解決方案的分組屬性和另一個方案的排序屬性。這個特殊算子的結果是一個完整的解決方案,但就時間和容量限制而言,該解決方案很可能是不可行的。cuOpt 包含多個交叉算子,它們在解決方案上隨機執行。

在這種情況下,交叉后的局部搜索階段在減少或消除不可行性,或提高總目標或行程距離方面起著至關重要的作用。局部搜索的目標權重取決于優化的重要程度,較高的不可行性權重有助于將解決方案返回可行區域,這通常是大多數問題的情況。

局部搜索為子代解決方案找到局部最小值,然后子代解決方案參與進一步的進化步驟。快速局部搜索至關重要,因為它是在時間預算內完成多少次改進迭代的主要因素。我們使用快速、近似和大型鄰域搜索算法來找到性能良好的局部最小值。我們沒有像傳統方法那樣執行固定大小的鄰域局部搜索,而是設計了一個“網”來快速捕捉容易改進的地方,并在達到停滯時捕捉極深度算子。

快速算子能快速探索小鄰域,而近似算子每次應用時都能評估不同的移動,這一點尤為重要,因為交叉經常會使某些路徑保持不變。正如在圖中尋找負子集相交循環的 GPU 并行算法中所解釋的,大型鄰域算子以路徑間的移動循環表示的移動鏈來移動請求。

循環算子可以探索一個非常大的鄰域,而簡單算子則無法探索該鄰域,這只是因為限制條件禁止這些簡單算子通過搜索空間中的某些山。通過這種工作流,我們可以經常使用快速算子,而較少使用計算成本較高的深度算子。

GPU 并行化是通過將每條假設路徑映射到一個線程塊來實現的。這樣就可以使用共享內存來存儲與路徑相關的數據,這些數據在搜索移動時是臨時的。臨時路徑要么是原始路徑的副本,要么是一個或多個請求被彈出的路徑。線程塊中的線程會嘗試將其他路徑中所有可能的請求插入臨時路徑的所有位置。

在找到并記錄所有移動后,我們通過將每個路徑對的插入/彈出成本變量相加,找出每個路徑對的最佳移動。成本變量使用目標權重計算得出,其中還包含不可行性懲罰權重。如果多個移動對所修改的路徑而言是互斥的,我們就會執行多個這樣的移動。

c183eab4-fd73-11ee-a297-92fbcf53809c.png

圖 2. NVIDIA cuOpt 中的局部搜索程序流程圖

對 cuOpt 進行基準測試

我們不斷提高 cuOpt 的性能和質量。為了衡量 cuOpt 的質量,我們在研究得最多的基準測試(包括 Gehring & Homberger CVRPTW 基準測試和 Li & Lim PDPTW 基準測試)上將求解器與最著名的解決方案進行了比較。在實踐中,求解器能多快得出所需的解決方案對企業非常重要。

評估標準和目標

準確度被定義為找到的解決方案與已知最佳解決方案(BKS)在目標方面的差距百分比。根據問題說明,第一個目標是車輛數,第二個目標是行駛距離。

求解時間是指達到與最佳已知解決方案或預期目標結果之間的某一差距所需的時間。求解時間是實際用例中最重要的標準之一,在預算時間內獲得高準確度的解決方案非常重要,組合優化算法需要花費大量時間。

圖 3 和圖 4 顯示了求解器在大型基準測試實例子集上的收斂行為。

c19206f8-fd73-11ee-a297-92fbcf53809c.png

圖 3. cuOpt 在 CVRPTW 問題上的收斂行為

我們從每個類別(C1_10_1、C2_10_1、R1_10_1、R2_10_1、RC1_10_1、RC2_10_1)中選取了一個實例,以展示求解器的整體行為取決于(聚類、隨機)和(長路徑、短路徑)實例。我們將每分鐘采樣的總和與總 BKS 進行比較。

隨著時間的推移,一開始的急劇收斂會慢慢接近總 BKS。在這些實例集中,我們能夠匹配 BKS 的總車輛數,cuOpt 求解器幾乎可以在 Gehring 和 Homberger 的所有實例中找到 BKS 的車輛數,但實際性能取決于生成初始解決方案相比改進階段所花費的時間。

求解器在較大的實例中收斂速度很快,而在較小的實例中,收斂速度更是要快上幾個數量級。在下表中,我們展示了在達到與 BKS 相同的車輛數的同時,在不同規模的問題上達到 BKS 所需的時間。

c1a33b76-fd73-11ee-a297-92fbcf53809c.png

圖 4. PDPTW 問題求解時間

cuOpt 創造 23 項世界紀錄

憑借使用 GPU 加速啟發式算法和最先進的策略這一新方法,cuOpt 打破了 Gehring & Homberger 基準測試中 15 個實例和 Li & Lim 基準測試中 8 個實例的紀錄。

目前,NVIDIA 保持著過去三年 CVRPTW 和 PDPTW 類別的所有紀錄。

在圖 5 中,每條邊代表從一個任務到另一個任務的路徑。綠線代表與前一記錄相同的邊緣,藍色和紅色邊代表兩個解決方案之間的差異。由于采用了進化策略,cuOpt 解決方案在可能解的搜索空間中處于完全不同的位置,這意味著存在許多不同的邊緣。

c1acaddc-fd73-11ee-a297-92fbcf53809c.png

圖 5. cuOpt 世界紀錄與前紀錄的路徑可視化圖對比

來源:Combopt.org

Gehring & Homberger 與 BKS 的總體平均差距為 -0.07% 距離差距和 0.29% 車輛數差距。Li & Lim 與 BKS 的總體平均差距為 1.22% 距離差距和 0.36% 車輛數量差距。基準測試在單顆 NVIDIA GPU 上運行了 200 分鐘。

總結

NVIDIA cuOpt 利用 GPU 加速和 RAPIDS 等 NVIDIA 技術,在數秒內即可獲得高質量的解決方案。我們的局部搜索運行速度較基于 CPU 的方法提高了 100 倍,基于 CPU 的求解器需要數小時才能獲得類似的解決方案。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5182

    瀏覽量

    105365
  • GPU芯片
    +關注

    關注

    1

    文章

    304

    瀏覽量

    6079

原文標題:屢創紀錄:NVIDIA cuOpt 算法將路徑優化求解速度提高 100 倍

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于改進DE算法的難約束優化問題的求解

    基于指數函數的性質,提出簡易罰函數法(SPFM),用于有效求解難約束優化問題(COP),并屏蔽選取罰因子的困難性。SPFM和差分演化相結合,給出一種求解難COP的改進差分演化
    發表于 04-18 09:52 ?22次下載

    一種求解關鍵路徑的新算法

    通過定義節點編碼圖概念,提出一種不需要拓撲排序的求解關鍵路徑的新算法。該算法擴充圖的鄰接表的存儲結構,使圖的存儲與算法
    發表于 04-23 10:29 ?7次下載

    如何數字電位器的帶寬從10提高100

    如何數字電位器的帶寬從10提高100 本文介紹了一種簡單電路,能夠數字電位器的帶寬從
    發表于 02-23 11:08 ?2077次閱讀
    如何<b class='flag-5'>將</b>數字電位器的帶寬從10<b class='flag-5'>倍</b><b class='flag-5'>提高</b>到<b class='flag-5'>100</b><b class='flag-5'>倍</b>

    求解物流路徑優化的改進遺傳算法研究

    的基本算子進行改進,其中將鏈路狀態算法強大的尋優能力融入交叉算子中,保證個體逐代進化。引入與遺傳代數相關的自適應概率,提高了遺傳算法的搜索效率和收斂速度,仿真實驗表明,與傳統遺傳
    發表于 11-11 17:46 ?3次下載

    基于路徑跟蹤方法的路徑規劃算法

    自動擬合樣條曲線,跟蹤并生成節點間軌跡,以此提高路徑精準性;加入系統夾角約束條件和節點擊中機制提高算法穩定性和結果安全性;此外,加入貪心優化
    發表于 12-04 14:18 ?6次下載
    基于<b class='flag-5'>路徑</b>跟蹤方法的<b class='flag-5'>路徑</b>規劃<b class='flag-5'>算法</b>

    基于SMT求解器的程序路徑驗證方法

    對復雜循環路徑提取不變式,構造無循環控制流圖( NLCFG);然后通過基本路徑法對控制流圖(CFG)進行遍歷,提取基本路徑信息;最后利用SMT求解器作為約束
    發表于 12-11 13:49 ?1次下載
    基于SMT<b class='flag-5'>求解</b>器的程序<b class='flag-5'>路徑</b>驗證方法

    改進局部搜索混沌離散粒子群優化算法

    針對基本離散粒子群優化( DPSO)算法收斂速度慢、易于陷入局部最優等問題,提出了一種基于優秀系數的局部搜索混沌離散粒子群優化(ILCDPSO)算法
    發表于 12-26 17:07 ?5次下載

    基于Spark的并行蟻群優化算法

    螞蟻構造解過程的并行化。通過在旅行商問題(TSP)求解的仿真實驗結果說明了所提出的并行算法的可行性;并在同等實驗環境下對比基于MapReduce的蟻群優化算法
    發表于 01-02 14:11 ?0次下載
    基于Spark的并行蟻群<b class='flag-5'>優化</b><b class='flag-5'>算法</b>

    一種改進灰狼優化算法的用于求解約束優化問題

    針對基本灰狼優化( GWO)算法存在求解精度低、收斂速度慢、局部搜索能力差的問題,提出一種改進灰狼優化(IGWO)
    發表于 01-04 15:59 ?0次下載
    一種改進灰狼<b class='flag-5'>優化</b><b class='flag-5'>算法</b>的用于<b class='flag-5'>求解</b>約束<b class='flag-5'>優化</b>問題

    智能電網定價的光學優化算法

    自適應光學優化(Self-adaptive Optics Inspired Optimization,SAOIO)算法。根據迭代次數的變動,自適應地變動適應度從而提升收斂速度提高
    發表于 03-05 11:39 ?0次下載

    使用分層自主學習提高粒子群優化算法的收斂精度和收斂速度的詳細說明

    不同階層;然后,根據不同階層粒子特性,分別采用局部學習模型、標準學習模型以及全局學習模型,增加粒子多樣性,反映出個體差異的認知對算法性能的影響,提高算法的收斂速度和收斂精度;最后,
    發表于 08-28 10:33 ?7次下載
    使用分層自主學習<b class='flag-5'>提高</b>粒子群<b class='flag-5'>優化</b><b class='flag-5'>算法</b>的收斂精度和收斂<b class='flag-5'>速度</b>的詳細說明

    AutoML技術提高NVIDIA GPU和RAPIDS速度

      AutoGluon AutoML 工具箱使培訓和部署尖端技術變得很容易 復雜業務問題的精確機器學習模型。此外, AutoGluon 與 RAPIDS 的集成充分利用了 NVIDIA GPU 計算的潛力,使復雜模型的訓練速度提高
    的頭像 發表于 04-26 16:01 ?2456次閱讀
    AutoML技術<b class='flag-5'>提高</b><b class='flag-5'>NVIDIA</b> GPU和RAPIDS<b class='flag-5'>速度</b>

    NVIDIA路徑優化引擎創下23項世界紀錄

    NVIDIA cuOpt 不僅在過去三年中所有的大型路徑規劃基準測試中均名列榜首,還創下了二十多項世界紀錄。這意味著該路徑優化引擎能夠使各行
    的頭像 發表于 03-21 09:47 ?561次閱讀

    降本增效:NVIDIA路徑優化引擎創下多項世界紀錄!

    NVIDIA cuOpt 路徑優化引擎助力川崎重工實現鐵路安全,支持 SyncTwin 實現制造優化
    的頭像 發表于 04-03 11:17 ?627次閱讀

    英偉達GTC2025亮點:NVIDIA開源cuOpt開啟決策優化新時代

    Gurobi Optimization、HiGHS、SimpleRose、COPT 和其他行業領導者利用 NVIDIA 加速計算和 cuOpt 軟件完成復雜的決策制定和供應鏈優化。 全球企業每分
    的頭像 發表于 03-21 19:34 ?814次閱讀
    主站蜘蛛池模板: 欧美老汉色 | 天堂最新版在线地址 | 欧美在线视频7777kkkk | 欧美性黑人极品1819hd | 欧美一级爱操视频 | 一区二区三区四区无限乱码在线观看 | 日日噜噜噜夜夜爽爽狠狠 | 人人爱天天操 | 日干夜操 | 狠狠色狠狠色狠狠五月ady | 天天夜夜人人 | 国产美女一级高清免费观看 | 2019国产情侣 | 神马午夜限制 | 校园 春色 欧美 另类 小说 | 69日本xxxxxxxx59| 免费看污视频软件 | 国产一级影院 | 国产色片| 黄色在线看网站 | 在线观看视频网站 | 香蕉久久夜色精品国产小说 | 一区二区三区伦理高清 | 免费中国一级啪啪片 | 国产三级日产三级日本三级 | 一个人看的www片免费高清视频 | 日本三级456| 亚洲人成电影在线播放 | h国产在线 | 黄色在线视频网 | 在线精品国产三级 | 福利视频一区二区牛牛 | 狠狠干福利视频 | 精品国产成人系列 | 国产在线观看www鲁啊鲁免费 | 在线电影亚洲 | 国产视频一区二区在线观看 | 男人cao女人视频在线观看 | 手机看片日韩永久福利盒子 | 在线视频 一区二区 | 免费深夜视频 |