遗传算法matlab程序代码

遗传算法程序的源代码,自己做数模时候的资料,给大家分享了

function [R,Rlength]= GA_TSP(xyCity,dCity,Population,nPopulation,pCrossover,percent,pMutation,generation,nR,rr,rangeCity,rR,moffspring,record,pi,Shock,maxShock)

clear all

A=load('d.txt');

A

xyCity=[A(1,:);A(2,:)]; %x,y为各地点坐标

xyCity

figure(1)

grid on

hold on

scatter(xyCity(1,:),xyCity(2,:),'b+')

grid on

nCity=50;

nCity

for i=1:nCity %计算城市间距离

for j=1:nCity

dCity(i,j)=abs(xyCity(1,i)-xyCity(1,j))+abs(xyCity(2,i)-xyCity(2,j));

end

end %计算城市间距离

xyCity; %显示城市坐标

dCity %显示城市距离矩阵

%初始种群

k=input('取点操作结束'); %取点时对操作保护

disp('-------------------')

nPopulation=input('种群个体数量:'); %输入种群个体数量

if size(nPopulation,1)==0

nPopulation=50; %默认值

end

for i=1:nPopulation

Population(i,:)=randperm(nCity-1); %产生随机个体

end

Population %显示初始种群

pCrossover=input('交叉概率:'); %输入交叉概率

percent=input('交叉部分占整体的百分比:'); %输入交叉比率

pMutation=input('突变概率:'); %输入突变概率

nRemain=input('最优个体保留最大数量:');

pi(1)=input('选择操作最优个体被保护概率:');

%输入最优个体被保护概率

pi(2)=input('交叉操作最优个体被保护概率:');

pi(3)=input('突变操作最优个体被保护概率:');

maxShock=input('最大突变概率:');

if size(pCrossover,1)==0

你可能喜欢

  • matlab遗传算法实例
  • matlab遗传算法代码
  • 遗传算法解决TSP问题
  • 算法入门
  • 粒子群优化算法
  • 遗传算法求解优化问题
  • 人工鱼群算法
  • 模拟退火算法

遗传算法matlab程序代码相关文档

最新文档

返回顶部