mainasexualproduction.m

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

M
33
字号
function  [boat,sumFitnessEachGeneration] = MainAsexualProduction(boat, BOAT_NUM, ROWER, Pm,MAX_GEN)

fi(1,BOAT_NUM) = 0;
for Generation = 1:MAX_GEN
     
    A = round(rand*(BOAT_NUM-1))+1;
    B = round(rand*(BOAT_NUM-1))+1;
    C = round(rand*(BOAT_NUM-1))+1;
    D = round(rand*(BOAT_NUM-1))+1;
    % Select a parent according to fitness
    fA = ComputeFitness(boat(A,:));
    fB = ComputeFitness(boat(B,:));
    fC = ComputeFitness(boat(C,:));
    fD = ComputeFitness(boat(D,:));
    if fC > fD
        replacement = D;
    else replacement = C;
    end
        
    if   fA > fB
        boat(replacement,:) = AsexuallyProduce(boat(A,:), Pm);
    else
        boat(replacement,:) = AsexuallyProduce(boat(B,:), Pm);
    end

    for n = 1:BOAT_NUM
        fi(1,n) = ComputeFitness(boat(n,:));
    end
           % averageFitness(1,q) = sum(fi) / BOAT_NUM;
    sumFitnessEachGeneration(1,Generation) = sum(fi);
end
 

⌨️ 快捷键说明

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