天天看點

matlab算法大全 pdf_遺傳模拟退火算法求解旅行商(TSP)問題

hello大家好,很高興又和大家見面了。在之前的遺傳算法(GA)求解旅行商問題(TSP)MATLAB代碼講解和模拟退火(SA)算法求解旅行商 (TSP)問題MATLAB代碼講解這兩篇推文中,分别講解了使用GA和SA求解TSP問題。

同時,在遺傳算法(GA)求解旅行商問題(TSP)附MATLAB代碼這篇推文的末尾給大家留了一道思考題。

如何可以提高GA的優化效果?提示:将SA以一定機率接受比目前解更差的解的思想,融入到GA中。

不知道各位是否已經有了這道思考題的答案,是以今天說一下這個思考題的一個思路。

01 | 如何将GA與SA相結合

不知各位是否還記得GA是群智能優化算法,是以GA使用一個

種群

(PS:這個種群中包含

若幹個個體

)去進行搜尋,經過操作後用種群中的

最優個體

作為全局最優解。

而SA隻是對

一個解

不斷地進行操作,然後最終得到一個全局最優解。我想各位已經注意到了,GA的操作對象是

若幹個個體

,SA的操作對象是

一個解

,是以很自然的想到,

在GA經過選擇、交叉和變異操作後,然後對産生的子代種群中的若幹個(或者全部)個體進行模拟退火操作

02 | 遺傳模拟退火算法求解TSP問題流程圖

遺傳模拟退火算法求解TSP問題的流程圖如下,大的架構還是GA求解TSP的架構,隻是在

變異操作後

增加了

模拟退火操作

matlab算法大全 pdf_遺傳模拟退火算法求解旅行商(TSP)問題
03 | MATLAB代碼
matlab算法大全 pdf_遺傳模拟退火算法求解旅行商(TSP)問題

代碼使用方法:解壓壓縮包後,可在

input.txt

檔案中根據自己需要修改資料,其中第一列為

序号

,第二列為

x坐标

,第三列為

y坐标

然後在MATLAB中打開

main.m

檔案,點選運作,即可運作代碼,大概需要

3分鐘

PS:因為本次提供的檔案是

加密檔案

,是以

暫時不支援檢視代碼具體的編寫

。各位如果有需要的話,可以在下一期推文中提供這篇推文代碼。

更多資源盡在:優化算法交流地

往期精選
  • 号内搜尋
  • 頭腦風暴優化(BSO)算法(附MATLAB代碼)
  • 車輛路徑問題(VRP)合集
  • 旅行商問題(TSP)合輯
  • MATLAB導入txt檔案技巧大全
  • 遺傳算法(GA)求解旅行商問題(TSP)MATLAB代碼講解
  • 遺傳算法求解0-1背包問題(附matlab源代碼)
  • 模拟退火(SA)算法求解旅行商 (TSP)問題MATLAB代碼講解
  • 多目标優化 | 基于NSGA-II的多目标0-1背包問題求解(附matlab代碼)
  • 多目标優化 | NSGA-II進階教程(全網首個三目标優化教程)
  • 機器學習 | 基于遺傳算法的BP神經網絡優化算法(附MATLAB代碼)
  • 遺傳算法求解工廠中的房間排程問題(附MATLAB代碼)
  • 多目标優化 | NSGA-II
  • word轉換為pdf後圖檔失真的解決辦法(全網首發)
  • 機器學習 | 簡單實作Bp神經網絡
  • 二維裝箱問題之BL法修正版(附MATLAB代碼)
  • 快速入門文獻管理軟體-EndNote X9
  • 最小二乘法(附MATLAB代碼)
  • NSGA-II多目标優化算法講解(附MATLAB代碼)
  • 基于人工勢場法的機器人二維路徑規劃(附MATLAB代碼)
  • 基于粒子群算法的多目标搜尋算法講解(附MATLAB代碼)
  • 蟻群算法通俗講解(附MATLAB代碼)
  • 混合粒子群算法通俗講解(附MATLAB代碼)