tycho-solver
Version:
Evolutionary computation and optimization library
16 lines (15 loc) • 636 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CrossoverOperatorImpl = void 0;
// One-point crossover for array-based individuals
class CrossoverOperatorImpl {
crossover(parent1, parent2) {
if (parent1.length !== parent2.length)
return [parent1, parent2];
const point = Math.floor(Math.random() * parent1.length);
const child1 = [...parent1.slice(0, point), ...parent2.slice(point)];
const child2 = [...parent2.slice(0, point), ...parent1.slice(point)];
return [child1, child2];
}
}
exports.CrossoverOperatorImpl = CrossoverOperatorImpl;