www.pudn.com > powerflow-genetical.gorithm.rar > select.m, change:2008-12-13,size:670b


function popnew=select(pop,q,num) 
%遗传算法子程序 
%pop为待选择原始种群 
%q为每个个体适应度累计概率,即赌轮区间,n为种群个体数 
%选择或复制操作是决定哪些个体可以进入下一代。程序中采用赌轮盘选择法选择,这种方法较易实现。 
%根据方程 pi=fi/∑fi,选择步骤: 
%1)在第 t 代,由上式计算 累计概率q(l) 和 pi  
%2)产生 {0,1} 的随机数 rand( ),求 r=rand( )*fsum 
%3)求 q(l)=∑fi≥r 中最小的 l ,则第 l 个个体被选中 
%4)进行 k 次2)、3)操作,得到 k 个个体,成为第 t=t+1 代种群 
 
 
popnew=zeros(num,12); 
for k=1:num 
    r=q(num)*rand(1); 
    for l=1:num 
        if q(l)>=r; %赌轮选择 
            break; 
        end 
    end 
    popnew(k,:)=pop(l,:); 
end 
pop=popnew;