choose1.m

来自「采用遗传算法对于加工问题的排序,使其最快.」· M 代码 · 共 23 行

M
23
字号
function [copy_a,copy_b]=choose1(P,pop_size,a,b)
P_freq=P./sum(P);
for i=1:size(P,1)
    if (i==1)
        P_sum_freq(i)=P_freq(i);
    else
        P_sum_freq(i)=P_sum_freq(i-1)+P_freq(i);
    end
end
P_sum_freq=P_sum_freq';
chose_P=rand(pop_size,1);
for i=1:pop_size
    if chose_P(i)<=P_sum_freq(1)
            copy_a(i,:)=a(1,:);
            copy_b(i,:)=b(1,:);
    end
    for j=1:pop_size-1
        if chose_P(i)>P_sum_freq(j) && chose_P(i)<=P_sum_freq(j+1)
            copy_a(i,:)=a(j+1,:);
            copy_b(i,:)=b(j+1,:);
        end
    end
end

⌨️ 快捷键说明

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