UNPKG

tycho-solver

Version:

Evolutionary computation and optimization library

16 lines (15 loc) 636 B
"use strict"; 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;