gatsp.m

来自「使用遗传算法解决TSP问题的MATLAB源代码。」· M 代码 · 共 20 行

M
20
字号
function [bestpath,minpathlong]=GATSP(TSPMatrix,Popsize,MaxGeneration,Pc,Pm)
%遗传算法解决旅行商问题
path=Initialize(Popsize,TSPMatrix);%初始化路径
for i=1:MaxGeneration
    FP=Fitness(path,TSPMatrix);%计算适应度
    path=Select(path,FP);%轮盘赌选择
    for j=1:2:Popsize
        [path(j,:),path(j+1,:)]=Crossover(path(j,:),path(j+1,:),Pc);%交叉,可选共四种交叉方式可供选择CX,OX,EX
    end
    path=Mutation(path,Pm);%变异,有两种方式可供选择
    avgpathlong(i)=sum(pathlong(path,TSPMatrix))/Popsize;%平均长度;
    bestpathlong(i)=min(pathlong(path,TSPMatrix));%最短长度
end
[bestpath,minpathlong]=Output(path,TSPMatrix);%输出结果
%绘图
plot(avgpathlong);
hold on
plot(bestpathlong,'r');

    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?