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

📄 sexual_reproduction.asv

📁 遗传算法
💻 ASV
字号:
% Sexual_Reproduction function
clear;clc;
GAInitial;

fi(1,BOAT_NUM) = 0;
sumFitnessAfter30(1,MAX_GEN) = 0;
averageFitnessAfter30(1,MAX_GEN) = 0;
% maxFitness(1,Run_Time) = 0;
% averageFitness(1,Run_Time) = 0;

for q = 1:Run_Time
    GenerateBoat;
    for k = 1:MAX_GEN
        As_Tournament_Best;
        E = max;
        As_Tournament_Best;
        F = max;
        Crossover;
        S_Mutation;
        As_Tournament_Worst;
        G = min;
        As_Tournament_Worst;
        H = min;
        
        for i = 1:ROWER
            boat(G,i) = boat(E,i);
        end
        for i = 1:ROWER
            boat(H,i) = boat(F,i);
        end
                
         for n = 1:BOAT_NUM
                fi(1,n) = Fitness(n,ROWER,boat);
         end
         if k == MAX_GEN
            for n = 1:BOAT_NUM
                fi(1,n) = Fitness(n,ROWER,boat);
            end
            maxFitnessEachRun(1,q) = fi(1,1);
            for n = 2:BOAT_NUM
                 if maxFitnessEachRun(1,q) < fi(1,n)
                     maxFitnessEachRun(1,q) = fi(1,n);
                 end
            end
          end
    end

    for n = 1:MAX_GEN
        sumFitnessAfter30(1,n) = sumFitnessEachGeneration(1,n) + sumFitnessAfter30(1,n);
    end
end

for n = 1:MAX_GEN
    averageFitnessAfter30(1,n) = sumFitnessAfter30(1,n) / (BOAT_NUM * Run_Time);
end
b = 1:MAX_GEN;
figure,plot(b,averageFitnessAfter30);
xlabel('generation');
ylabel('the average fitness');
% a = 1:Run_Time;
% plot(a,maxFitness);
% xlabel('running times');
% ylabel('the best fitness');
% b = 1:Run_Time;
% figure,plot(b,averageFitness);
% xlabel('running times');
% ylabel('the average fitness');

clear n;
clear b;
clear m;

⌨️ 快捷键说明

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