遗传算法流程

遗传算法流程_第1张图片

global G ; %当前代
global fitness_value;%当前代适应度矩阵
global best_fitness;%历代最佳适应值
global fitness_avg;%历代平均适应值矩阵
global best_individual;%历代最佳个体
global best_generation;%最佳个体出现代
generation_size = 200;%迭代次数
cross_rate = 0.6;%交叉概率
mutate_rate = 0.01;%变异概率




fitness_avg = zeros(generation_size,1);

disp "hhee"

fitness_value(pop_size) = 1;
best_fitness = 0.1;
best_generation = 100;
initilize(pop_size, chromo_size);%初始化
for G=1:generation_size   
    fitness(pop_size, chromo_size);  %计算适应度 
    rank(pop_size, chromo_size);  %对个体按适应度大小进行排序
    selection(pop_size, chromo_size, elitism);%选择操作
    crossover(pop_size, chromo_size, cross_rate);%交叉操作
    mutation(pop_size, chromo_size, mutate_rate);%变异操作
end
plotGA(generation_size);%打印算法迭代过程
m = best_individual;%获得最佳个体
n = best_fitness;%获得最佳适应度
p = best_generation;%获得最佳个体出现代

%获得最佳个体变量值,对不同的优化目标,此处需要改写
q = 0.;
for j=1:chromo_size
    if best_individual(j) == 1
            q = q+2^(j-1);
    end 
end
q = -1+q*(3.-(-1.))/(2^chromo_size-1);

clear i;
clear j;




你可能感兴趣的:(优化算法,算法,人工智能)