【論文筆記】A Deep Reinforcement Learning Based Real-Time Solution Policy for the TSP

《基于 DRL 和 DCNN 的實時 TSP 求解策略》

IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 24, NO. 6, JUNE 2023

一段話總結

本文提出了一種基于深度強化學習(DRL)深度卷積神經網絡(DCNN) 的實時旅行商問題(TSP)求解策略。通過問題分解將 TSP 轉化為一系列子問題,采用圖像表示將城市坐標轉化為圖像輸入,利用 DCNN 的特征提取能力擬合子問題映射,并設計過濾機制確保解的可行性。基于 DRL 的訓練方法無需標簽,通過并行采樣加速訓練,實驗表明該方法在 50 城市 TSP 中平均誤差僅 3.97%,求解時間 0.022 秒,顯著快于傳統算法(如 CPLEX、LKH),且在不同城市規模和真實基準(TSPLIB)中表現出良好的泛化能力


詳細總結

1. 研究背景與動機

  • TSP 的實時需求:物流、導航等領域對 TSP 實時求解需求增加,但傳統算法(如窮舉、遺傳算法)因迭代過程難以滿足實時性。

  • 現有方法局限

    • 確定性算法(如 CPLEX)能求最優解,但存在 “組合爆炸”,大規模問題效率極低;

    • 啟發式算法(如 LKH、GA)依賴迭代,參數變化時需重新計算;

    • 監督學習的深度學習方法(如 PtrNet)需大量最優解標簽,標簽生成成本高。

  • 研究目標:提出基于 DRL 和 DCNN 的方法,實現 TSP 的實時求解,無需標簽且泛化能力強。

2. 核心方法

在這里插入圖片描述

2.1 TSP 分解與圖像表示
  • 問題分解:將 TSP 拆分為一系列子問題,每個子問題只需從剩余城市中選擇下一個訪問城市,遞歸求解:
    在這里插入圖片描述

其中,fk(i,Uk)f_k(i, U_k)fk?(i,Uk?) 表示從當前城市 iii 訪問剩余 kkk 個城市后返回起點的最短距離。

  • 圖像表示

    • 城市坐標歸一化后映射到 40×40 圖像,像素標記為:背景(0)、當前城市(-1)、剩余城市(1)、起點(2);

    • 子問題轉化為圖像分類任務,DCNN 輸出下一個城市的像素概率。
      *在這里插入圖片描述

2.2 DCNN 架構與過濾機制
  • DCNN 結構:基于 VGG16 改進,輸入 40×40 圖像,經 5 次卷積 - 池化操作提取特征,最終通過 SoftMax 輸出 1600 維(40×40)概率分布,對應每個像素被選為下一個城市的概率。

  • 過濾機制:排除無效像素(背景、已訪問城市),起點僅在最后一步可選,確保解滿足 TSP 約束(每個城市僅訪問一次,最終返回起點)。
    在這里插入圖片描述

2.3 DRL 訓練方法
  • 無需標簽的訓練:通過策略梯度優化 DCNN 參數,智能體( salesman )與環境(TSP 實例)交互,以路徑負距離為獎勵:
 r(s, a) = -d_{ij}  
  • 并行采樣:多線程同時處理不同 TSP 實例,加速采樣過程(8 線程比 1 線程快 3.5 倍)。

  • 訓練過程可視化:分為 5 個階段(隨機開始→初始策略→全局搜索→局部搜索→微調),可直觀觀察策略形成。

在這里插入圖片描述

3. 實驗結果與分析

3.1 性能對比(50 城市 TSP)
算法 平均誤差 平均求解時間 優勢場景
CPLEX 0% 16.53s 小規模問題最優解
LKH 0.39% 0.33s 中規模問題高效近似
GA 29.55% 7.77s 實現簡單但精度低
DCNN(本文)3.97%0.022s實時性要求高的場景
3.2 泛化能力測試
  • 不同城市規模:無需額外訓練,10-100 城市誤差隨規模緩慢增長(100 城市誤差約 6.33%)。

  • 遷移學習提升:基于 50 城市模型微調,60-80 城市誤差進一步降低(80 城市誤差從 5.98% 優化至更低)。

3.3 真實基準驗證
  • 在 TSPLIB(真實城市坐標數據集)上測試,結果與理論趨勢一致,表明方法適用于實際場景。

4. 結論與未來方向

  • 優勢:實時性強(求解時間 < 0.05s)、泛化能力好(跨規模適用)、無需標簽;

  • 局限:受圖像尺寸限制,超大規模問題需優化;

  • 未來方向:擴展至 TSP 變體(帶時間窗、多 salesman 問題),設計更靈活的圖像表示。


關鍵問題

  1. 該方法如何實現 TSP 的實時求解?與傳統算法相比優勢何在?

    答:通過問題分解將 TSP 轉化為子問題,利用 DCNN 的前向傳播直接輸出下一個城市,避免迭代;DRL 訓練無需標簽,模型訓練完成后求解新實例僅需 0.022 秒(50 城市),而 CPLEX 需 16.53 秒,LKH 需 0.33 秒,顯著提升實時性。優勢在于:① 求解速度快,不受問題規模激增影響;② 泛化能力強,跨城市規模無需重新訓練。

  2. 該方法為何能在無標簽情況下訓練?DRL 的作用是什么?

    答:采用 DRL 中的策略梯度方法,智能體通過與環境(TSP 實例)交互自主學習:① 以路徑負距離為獎勵,鼓勵選擇短路徑;② 蒙特卡洛采樣生成軌跡,通過優勢函數(A (τ))優化策略,無需預先知道最優解標簽。DRL 的作用是替代監督學習的標簽,使模型從自身決策中學習最優策略。

  3. 該方法在大規模 TSP(如 100 城市)中的表現如何?泛化能力的核心原因是什么?

    答:100 城市 TSP 中,平均誤差可控制在 10% 以內,無需額外訓練。泛化能力源于:① 問題分解降低了映射復雜度,子問題結構一致(均為選擇下一個城市);② DCNN 通過圖像特征提取學習城市間的空間關系,而非記憶特定實例;③ 過濾機制確保解的可行性,避免無效決策干擾。

個人感悟

其創新點在于將TSP序列問題轉換成了視覺問題,這個視覺模塊,感覺可以后續寫論文水一個創新點。將TSP坐標離散映射到圖像上,會丟失一些信息,這個映射處理還需要進一步優化。

強化學習的訓練是需要微調的,感覺不是很穩定,尤其是沒有一個固定的baseline的時候,policy可能會學歪,有時可以快速收斂,有時難以收斂

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90591.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90591.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90591.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MMaDA:多模態大型擴散語言模型

集眾家之所長&#xff0c;成大一統。普林斯頓大學、北京大學、清華大學、字節跳動的研究者將“文本推理、多模態分析、圖像生成”三大方向融合在一個單一擴散模型里&#xff0c;并用恰當的優化策略來提升模型在各個方向的性能。 研究動機 研究人員致力于開發一個能夠處理多種模…

容器技術入門與Docker環境部署

容器技術入門與Docker環境部署Docker概述什么是 DockerDocker 的優勢Docker 的應用場景Docker 核心概念(1)鏡像(2)容器(3)倉庫Docker 安裝1.關閉系統防火墻和內核2.下載Docker的repo文件3.替換倉庫地址4.更新索引文件并安裝Docker5.添加國內鏡像站6.開啟Docker服務7.優化內核參…

【01】MFC入門到精通—— MFC新建基于對話框的項目 介紹(工作界面、資源視圖 、類視圖)

文章目錄1 創建工程2 運行3 工作界面介紹3. 1 類視圖 Class View3.2 如何打開 類視圖3.3 資源視圖1 創建工程 選擇菜單項 文件->新建->項目&#xff0c;彈出 “新項目” 對話框。 選擇 MFC&#xff0c;點擊下一步&#xff0c;然后鍵入工程名稱&#xff0c;本例取名“Add…

2025!在Windows的Python中安裝GDAL包(小白能成!)

最近更新 在2025.06.05日&#xff0c;GDAL發布預告&#xff1a;新版本將適配pipeline和向量讀寫功能。 直到2025.06.25日&#xff0c;最新的版本才算發行出來。 有朋友催我趕緊更新教程&#xff0c;我上次更新是3月份的時候了&#xff0c;恰好是GDAL上一個版本出來的時間。 前…

Python第一次作業

# 1.技術面試題**&#xff08;1&#xff09;TCP與UDP的區別是什么&#xff1f;****答&#xff1a;TCP 是 “可靠但較慢” 的協議&#xff0c;適合對數據完整性要求高的場景&#xff1b;UDP 是 “快速但不可靠” 的協議&#xff0c;適合對實時性要求高的場景。兩者互補&#xff…

Linux【大數據運維】下制作Redis綠色免安裝包(一)

linux下安裝Redis比較繁瑣&#xff0c;遇到內網部署環境更是麻煩。根據經驗將Redis打包一個綠色版進行使用。 大體思路&#xff0c;在一臺正常的機器上面制造好安裝包&#xff0c;然后上傳到內網服務器&#xff0c;解壓使用。 下載&#xff1a; wget https://download.redis…

89104 PCIe Switch芯片國產替代 - PCIE5.0國產AI服務器高性能擴展,支持海光/龍芯/飛騰等

以下是針對89104 PCIe Switch芯片國產替代的高性能PCIe 5.0 AI服務器擴展方案的詳細分析&#xff1a;一、核心國產替代芯片&#xff1a;TL63104控制器?技術規格?支持PCIe 5.0全速率&#xff08;32 GT/s&#xff09;&#xff0c;提供968 Lanes配置&#xff0c;聚合雙向帶寬達1…

Docker跨架構部署實操

需求場景 python項目&#xff0c;開發環境以及可供測試的環境為X86架構下的LINUX服務器&#xff0c;但正式環境需要部署在ARM架構下的麒麟服務器&#xff0c;且正式環境后續可能會長時間處于斷網狀態&#xff0c;需要一份跨架構的部署方案。 解決思路 在 X86 上打包、在 ARM&am…

JavaScript 樹形菜單總結

樹形菜單是前端開發中常見的交互組件,用于展示具有層級關系的數據(如文件目錄、分類列表、組織架構等)。以下從核心概念、實現方式、常見功能及優化方向等方面進行總結。 一、核心概念 層級結構:數據以父子嵌套形式存在,如{ id: 1, children: [{ id: 2 }] }。節點:樹形結…

【python實用小腳本-131】Python 實現 HTML 到 PDF 轉換:解決文檔處理痛點的高效工具

引言 在當今數字化辦公環境中&#xff0c;文檔格式的轉換需求日益頻繁。假設你是一位市場營銷人員&#xff0c;需要將公司網站的產品介紹頁面&#xff08;HTML 格式&#xff09;轉換為 PDF 文檔&#xff0c;以便用于線下宣傳。然而&#xff0c;手動復制粘貼內容并調整格式不僅…

【Linux操作系統】簡學深悟啟示錄:Linux基本指令

文章目錄1.什么是操作系統&#xff1f;2.Xshell的使用3.常用指令3.1 ls指令3.2 pwd指令3.3 cd指令3.4 touch指令3.5 mkdir指令3.6 rmdir指令 && rm指令3.7 man指令3.8 cp指令3.9 mv指令3.10 cat指令3.11 echo指令&#xff08;重定向&#xff09;3.12 more指令3.13 less…

「py數據分析」04如何將 Python 爬取的數據保存為 CSV 文件

如何將 Python 爬取的數據保存為 CSV 文件 從原始網絡數據到純凈 CSV - 搭建通往分析的橋梁 恭喜你&#xff01;經過前面的努力&#xff0c;你的 Python 腳本終于成功地從一個網站上爬取了數據&#xff0c;一個充滿信息的寶庫正靜靜地躺在你的變量中。但接下來呢&#xff1f;…

qemu vcpu的創建過程

在 QEMU 中&#xff0c;vCPU 線程的啟動流程涉及多個階段&#xff0c;包括初始化、線程創建和執行邏輯。以下是基于搜索結果的詳細分析&#xff1a; QEMU vCPU 線程的啟動流程 1. 初始化階段 設備實例化&#xff1a;QEMU 使用 QOM&#xff08;QEMU Object Model&#xff09;系統…

Spring Security架構與實戰全解析

Spring security1.安全架構1. 認證who are you登陸系統&#xff1a;用戶系統2. 授權權限管理&#xff1a;用戶授權3. 攻擊防護xss (cross-site scripting)csrf (cross-site request forgery)cors (cross-origin resource sharing)sql注入4. 擴展&#xff1a;權限管理模型a. RBA…

LeetCode Hot 100 搜索二維矩陣 II

編寫一個高效的算法來搜索 m x n 矩陣 matrix 中的一個目標值 target 。該矩陣具有以下特性&#xff1a;每行的元素從左到右升序排列。每列的元素從上到下升序排列。示例 1&#xff1a;輸入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[…

Windows Edge 播放 H.265 視頻指南

目錄 &#x1f4cc;前言 一 . 什么是 H.265&#xff08;HEVC&#xff09;&#xff1f; 二、為什么 Edge 默認不能播放 H.265&#xff1f; 三、Edge 播放 H.265 解決方案 1 . 查看顯卡是否支持硬解AMD GPU Decoder Device InformationNVIDIA GPU Decoder Device Informat…

線性代數--AI數學基礎復習

原文鏈接&#xff1a;Github-Funny_Mr_Zhi GNN_playground 參考&#xff1a;麻省理工公開課 線性代數 MIT Linear Algebra Chapter1 可以帶著問題去讀&#xff0c;線性代數到底是什么&#xff0c;矩陣又是什么。盡管深入學習數學需要一種抽離出現實和直觀理解的高度抽象思維&…

Cursor配置DeepSeek調用MCP服務實現任務自動化

文章目錄1. 任務需求2. 環境準備2.1 Cursor安裝2.2 Node.js安裝2.3 DeepSeek模型Key申請2.4 高德地圖Key申請3. MCP服務配置3.1 Cursor配置Server方式3.1.1全局設置3.1.2 項目級別設置3.2 MCP服務接入3.2.1 高德地圖MCP服務3.2.2 Mysql MCP服務3.2.3 FileSystem MCP服務3.2.4 驗…

java SpringBoot數據庫查詢 時間范圍查詢

exTime的類型為varchar 存儲的數據格式為yyy-MM-ddTHH:mm:ss,查詢時傳進來的時間格式也需要為yyy-MM-ddTHH:mm:ss格式Query(value "SELECT * FROM test_fbep fbep WHERE delFlag 1 " "AND IF(?1 ! AND ?1 IS NOT NULL, fbep.passId ?1, TRUE) " &q…

Linux 操作系統如何實現軟硬件解耦?從容器與硬件接口封裝談起

在計算機系統中&#xff0c;軟硬件解耦是提升系統靈活性、可移植性和可維護性的核心設計思想。Linux 作為開源操作系統的典范&#xff0c;通過數十年的演進形成了一套成熟的解耦機制。本文將從容器技術和硬件接口封裝兩個維度&#xff0c;深入解析 Linux 如何實現軟硬件解耦&am…