DynamicInbreeding

class DynamicInbreeding(var m: Int = DEFAULT_M) : MatingRestrictionIfc(source)

Dynamic-inbreeding mating (Algorithm 4, §A.7): sample m candidate partners from the pool and prefer the best candidate drawn from the same niche as the individual; if none of the sampled candidates share the individual's niche, fall back to the geometrically closest candidate. This keeps recombination local to a niche while still allowing occasional cross-niche mating.

Parameters

m

the number of candidate partners sampled per mating; must be at least 1

Constructors

Link copied to clipboard
constructor(m: Int = DEFAULT_M)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
var m: Int

Functions

Link copied to clipboard
open override fun selectMate(individual: Solution, pool: List<Solution>, niches: NicheResult, compareSolutions: (Solution, Solution) -> Int, rnStream: RNStreamIfc): Solution

Selects a mate for individual from pool, possibly using the niches structure.