⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamain.m

📁 一个利用遗传算法解决TSP问题的程序,有利于对遗传算法进一步的理解.
💻 M
字号:
function [betterscore,finalscore]=gamain(tspdist,popsize,pc,pm,alpha,k)
%遗传算法主函数
%tspdist为距离矩阵,popsize种群规模,
%pc交叉概率,pm变异概率,alpha选择操作参数,k迭代次数
%betterscore存储当代最优,finalscore存储最后一代结果
citynum=length(tspdist);
gt=initializega(popsize,citynum);
for i=1:k
    for j=1:popsize%计算各条路经长度
        pathlength(j)=pathlong(gt(j,:),tspdist);
    end
    betterscore(i)=min(pathlength);%记录当代最优解
    gt=select(gt,pathlength,alpha);%进行选择复制操作
    for j=1:2:(popsize-1)%进行交叉操作,交叉方案可变
        [gt(j,:),gt(j+1,:)]=liucrossover(gt(j,:),gt(j+1,:),tspdist);
        %[gt(j,:),gt(j+1,:)]=cross(gt(j,:),gt(j+1,:),pc);  
    end
    gt=mutation(gt,pm);%进行变异操作
end
for i=1:popsize
    var(i)=pathlong(gt(i,:),tspdist);
end
finalscore=min(var);

⌨️ 快捷键说明

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