sexual_reproduction.m

来自「遗传算法」· M 代码 · 共 56 行

M
56
字号
% 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
end

 a = 1:Run_Time;
  plot(a,maxFitnessEachRun);
  xlabel('running times');
  ylabel('the best fitness');

clear n;
clear b;
clear m;

⌨️ 快捷键说明

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