tycho-solver
Version:
Evolutionary computation and optimization library
16 lines (15 loc) • 626 B
JavaScript
;
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;