?? iatsp.m
字號:
function [bestpath,minpath]=IATSP(TSPMatrix,CM,Popsize,TC,Pc,Pm)
%使用免疫算法解決旅行商問題
path=Initpath(TSPMatrix,Popsize);%初始化路徑
MemoryLab=InitLab(TSPMatrix,CM);%初始化記憶庫
[ktjqhl,ktyqhl]=qinheliCalculate(path,TSPMatrix);%計算抗體間親和力和抗體與抗原親和力
MemoryLab=GenerateM(path,ktyqhl,CM,TSPMatrix,MemoryLab);%生成記憶庫
for i=1:TC
SelectP=CalculateSelectP(ktjqhl,ktyqhl);%按照親和力計算選擇概率
path=Select(path,SelectP);%輪盤賭選擇
path=GGenerateNewpath(path,Pc,Pm);%進行遺傳操作生成種群
[ktjqhl,ktyqhl]=qinheliCalculate(path,TSPMatrix);
MemoryLab=GenerateM(path,ktyqhl,CM,TSPMatrix,MemoryLab);
path=UGenerateNewpath(path,MemoryLab);%與記憶庫中抗體一起生成新種群
avgpathlong(i)=sum(pathlong(path,TSPMatrix))/Popsize;%平均長度;
bestpathlong(i)=min(pathlong(path,TSPMatrix));%最短長度
end
[bestpath,minpath]=Output(path,TSPMatrix);%輸出結果
%繪圖
plot(avgpathlong);
hold on
plot(bestpathlong,'r');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -