tycho-solver
Version:
Evolutionary computation and optimization library
18 lines • 580 B
JavaScript
// Elitism: select top N individuals by fitness
export 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);
}
}
//# sourceMappingURL=ElitismOperator.js.map