遗传算法-轮盘赌roulette

%大连理工大学 历秀明编写

%可以想象一个转动的轮盘,注意这里轮盘最多只转一圈。

%每次转轮盘前,把色子随机放到轮盘外缘的某处,即色子不随轮盘转动,以一个随机数sel代表它所处的位置。
% 轮盘转动后,色子所指示的轮盘扇区号不断变化,轮盘停止时色子所指示的轮盘上扇区号, 即为本次轮盘赌所选中的个体号。

P=[0.1,0.3,0.4,0.2];
r=rand(1,4);
for j=1:4
sumP =0;
r =rand(j);
    for i=1:4
    %产生的随机数在m~m+P[i]间则认为选中了i
    %因此i被选中的概率是P[i]
        sumP = sumP + P(i);
        if r<=sumP
            break;
        end
    end
    select(j)=i;
end

你可能感兴趣的:(多目标优化)