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

📄 sexual_reproduction.asv

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

fi(1,BOAT_NUM) = 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
           % averageFitness(1,q) = sum(fi) / BOAT_NUM;
            sumFitnessEachGeneration(1,k) = sum(fi);
            
 %       if k == MAX_GEN
 %           for n = 1:BOAT_NUM
  %              fi(1,n) = Fitness(n,ROWER,boat);
  %          end
  %          averageFitness(1,q) = sum(fi) / BOAT_NUM;
  %          maxFitness(1,q) = fi(1,1);
   %         for n = 2:BOAT_NUM
   %             if maxFitness(1,q) < fi(1,n)
    %                maxFitness(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 + -