遗传模拟退火算法matlab通用源程序

遗传模拟退火算法matlab通用源程序

% maxpop 给定群体规模

% pop 群体

% newpop 种群

%t0 初始温度

function [codmin,finmin]=fc0(cc,v0,t0) N=length(cc(1,:));

%定群体规模

if N>50

maxpop=2*N-20;

end

if N<=40

maxpop=2*N;

end

%产生初始群体

pop=zeros(maxpop,N);

pop(:,1)=v0;

finmin=inf;

codmin=0;

for i=1:maxpop

Ra=randperm(N);

Ra(find(Ra==v0))=Ra(1);

Ra(1)=v0;

pop(i,:)=Ra;

end

t=t0;

while t>0

%用模拟退火产生新的群体

pop=fc1(maxpop,pop,N,cc,v0,t); %转轮赌选择种群

f=zeros(1,maxpop);

for i=1:maxpop

for j=1:N-1

x=pop(i,j);

y=pop(i,j+1);

fo1=cc(pop(i,j),pop(i,j+1));

f(i)=f(i)+fo1;

end

f(i)=f(i)+cc(pop(i,1),pop(i,N)); end

fmin=min(f);

for i=1:maxpop

if fmin==inf&f(i)==inf

dd=inf;

end

你可能喜欢

  • matlab退火算法
  • 遗传算法matlab代码
  • 遗传模拟退火算法
  • 遗传算法应用实例
  • matlab遗传算法实例
  • 粒子群算法matlab
  • 公共自行车

遗传模拟退火算法matlab通用源程序相关文档

最新文档

返回顶部