R/selrws.R

Defines functions selrws

Documented in selrws

# Roulette wheel selection 1
selrws = function(fitvals, ns, ...){
  n = length(fitvals) # Population size
  if(missing(ns)) ns=n
  p = fitvals/sum(fitvals) 
  q = cumsum(p) # Cumulative probabilities
  matpool = rep(NA, ns) # Mating pool
  i = 1  # index of selected individual
  while(i <= ns){
    r = runif(1, 0, 1)
    j = 1
    while(q[j] < r){
      j = j+1
    }
    matpool[i] = j
    i = i+1
  }
  return(matpool)
}

Try the adana package in your browser

Any scripts or data that you put into this service are public.

adana documentation built on March 18, 2022, 6:03 p.m.