• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Matlab
  • 标签: GA  matlab  

资源简介

matlab GA算法程序 clc,clear load sj.txt sj = [sj;sj(1,:)]; x = sj(:,2); y=sj(:,3); sj = [x y]; %距离矩阵 d N = size(sj,1); d = zeros(N); for i=1:(N-1) for j=i+1:N d(i,j) = sqrt((x(i)-x(j))^2 + (y(i)-y(j))^2) + 0.5; end end

资源截图

代码片段和文件信息

clcclear 
load sj.txt
sj = [sj;sj(1:)];
x = sj(:2);
y=sj(:3);
sj = [x y];
%距离矩阵 d 
N = size(sj1);
d = zeros(N);
for i=1:(N-1)
    for j=i+1:N 
        d(ij) = sqrt((x(i)-x(j))^2 + (y(i)-y(j))^2) + 0.5;
    end 
end 
d = floor(d);
d=d+d‘;L=N;w=50;dai=5; 
%通过改良圈算法选取优良父代 A s
%%2-opt
for k=1:w 
    c=randperm(L-2); 
    c1=[1c+1L]; 
    flag=1; 
 while flag>0 
      flag=0; 
   for m=1:L-3 
      for n=m+2:L-1 
        if d(c1(m)c1(n))+d(c1(m+1)c1(n+1))           flag=1; 
           c1(m+1:n)=c1(n:-1:m+1); 
        end 
      end 
   end 
 end 
  J(kc1)=1:L; 
end 
J=J/L;  
J(:1)=0;J(:L)=1; 
rand(‘state‘sum(clock)); 
%遗传算法实现过程 
A=J; 
for k=1:dai  %产生 0~1间随机数列进行编码
    k
    B=A; 
    c=randperm(w); 
    %交配产生子代 B 
    for i=1:2:w   

评论

共有 条评论