www.pudn.com > segment_ga.rar > select1.m
function s1=select1(X1,adapt_value1)
%选择算子
population=10;
total_adapt_value1=0;
for i=1:population
total_adapt_value1=total_adapt_value1+adapt_value1(i);
end
adapt_value1_new=adapt_value1/total_adapt_value1;
max_adapt_value1=max(adapt_value1); % 10%精英策略
s1(1)=round(mean(X1(find(adapt_value1==max_adapt_value1))));
r=rand(1,population-1);
for i=2:population % 90%轮盘赌法
temp=0;
for j=1:population
temp=temp+adapt_value1_new(j);
if temp>=r(i-1)
s1(i)=X1(j);
break;
end
end
end