سلام
من از این یه تیکه برای چرخ رولت استفاده می کنم. امیدوارم بتونه کمکت کنه.
%% CrossOver
NCost = max(Cost) + 10 - Cost; % Normalized Cost
Cost2 = NCost;
cdfCost2 = Cost2(1); %Cumulative Distribution Function
for ii = 2:PopSize
cdfCost2(ii) = cdfCost2(ii-1) + Cost2(ii);
end
SelectedM = []; % Select Parents
for gg = 1:PopSize;
aa = randi([1,max(cdfCost2)],1);
iii=0;
for ggg=1:PopSize;
if cdfCost2(ggg) >= aa && iii==0;
Selected=ggg;
SelectedM = [SelectedM ; Selected];
iii=1;
end
end
end