程式一:主程式
%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...