TSP問題遺傳演算法通用Matlab程式

2021-06-28 13:09:23 字數 642 閱讀 6210

程式一:主程式

%tsp問題(又名:旅行商問題,貨郎擔問題)遺傳演算法通用matlab程式

%d是距離矩陣,n為種群個數

%引數a是中國31個城市的座標

%c為停止代數,遺傳到第 c代時程式停止,c的具體取值視問題的規模和耗費的時間而定

%m為適應值歸一化淘汰加速指數,最好取為1,2,3,4,不宜太大

%alpha為淘汰保護指數,可取為0~1之間任意小數,取1時關閉保護功能,建議取0.8~1.0之間的值

%r為最短路徑,rlength為路徑長度

function [r,rlength]=genetictsp(d,a,n,c,m,alpha)

[n,nn]=size(d);

farm=zeros(n,n);%用於儲存種群

for i=1:n

farm(i,:)=randperm(n);%隨機生成初始種群

endr=farm(1,:);

subplot(1,3,1)

scatter(a(:,1),a(:,2),'x')

pause(1)

subplot(1,3,2)

plotaiwa(a,r)

pause(1)

farm(1,:)&#

tsp遺傳演算法

include include include include include include using namespace std define m 10 種群規模 define n 31 省會 首府城市數量 define t 10000 遺傳代數 define earth radius 637...

tsp問題 遺傳演算法解決

tsp問題最簡單的求解方法是列舉法。它的解是多維的 多區域性極值的 趨於無窮大的複雜解的空間,搜尋空間是n個點的所有排列的集合,大小為 n 1 可以形象地把解空間看成是乙個無窮大的丘陵地帶,各山峰或山谷的高度即是問題的極值。求解tsp,則是在此不能窮盡的丘陵地帶中攀登以達到山頂或谷底的過程。這一篇將...

遺傳演算法解決TSP問題

基本原理在 中有注釋 1 include2 include 3 include 4 include5 include 6 using std string 7 8struct position9 1617 double tsp int n,struct position position,int t...