Crossover operators

The pyvrp.crossover module provides operators that are responsible for generating a new offspring Individual solution from two parent solutions.

selective_route_exchange(parents: Tuple[pyvrp._Individual.Individual, pyvrp._Individual.Individual], data: pyvrp._ProblemData.ProblemData, cost_evaluator: pyvrp._CostEvaluator.CostEvaluator, start_indices: Tuple[int, int], num_moved_routes: int)