UNPKG

tycho-solver

Version:

Evolutionary computation and optimization library

16 lines (15 loc) 626 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ElitismOperatorImpl = void 0; // Elitism: select top N individuals by fitness class ElitismOperatorImpl { apply(population, fitnesses, numElites) { if (numElites <= 0) return []; // Pair individuals with fitness and sort descending const popWithFitness = population.map((ind, idx) => ({ ind, fit: fitnesses[idx] })); popWithFitness.sort((a, b) => b.fit - a.fit); return popWithFitness.slice(0, numElites).map(obj => obj.ind); } } exports.ElitismOperatorImpl = ElitismOperatorImpl;