sexual_reproduction.asv

来自「遗传算法」· ASV 代码 · 共 60 行

ASV
60
字号
% Sexual_Reproduction function
clear;clc;
GAInitial;

fi(1,BOAT_NUM) = 0;
GenerateBoat;
for g = 1:MAX_GEN
        PickLocation;
        PickIndividual;               
        A1 = L + range;
        PickIndividual;               
        B1 = L + range;
        C1 = Fitness(A1,ROWER,boat);
        D1 = Fitness(B1,ROWER,boat);
        if C1 > D1
            parent1 = A1;
        else parent1 = B1;
        end
        
        PickIndividual;               
        E1 = L + range;
        PickIndividual;               
        F1 = L + range;
        G1 = Fitness(E1,ROWER,boat);
        H1 = Fitness(F1,ROWER,boat);
        if G1 > H1
            parent2 = E1;
        else parent2 = F1;
        end
        
        Crossover;
        S_Mutation;
        PickIndividual;
        replacement = L + range;
        for i = 1:ROWER
            boat(replacement,i) = child(1,i);
        end
                       
        for i = 1:ROWER
            boat(replacement,i) = child(1,i);
        end
        for n = 1:BOAT_NUM
            fi(1,n) = Fitness(n,ROWER,boat);
        end
        max(1,g) = fi(1,1);
        for n = 2:BOAT_NUM
            if fi(1,n) > max(1,g)
                max(1,g) = fi(1,n);
            end
        end
    
end
b = 1:MAX_GEN;
figure,plot(b,max);
xlabel('generation');
ylabel('the maximum fitness');

clear n;
clear b;
clear m;

⌨️ 快捷键说明

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