private void Register() { SelectionFactory.Register("roulette", () => new RouletteSelection()); CrossoverOperatorFactory.Register("OX", () => new OrderCrossover()); CrossoverOperatorFactory.Register("CX", () => new CycleCrossover()); CrossoverOperatorFactory.Register("PMX", () => new PartiallyMatchedCrossover()); CrossoverOperatorFactory.Register("UOX", () => new UniformBasedOrderCrossover()); MutationOperatorFactory.Register("swap", () => new SwapOperator()); MutationOperatorFactory.Register("insertion", () => new InsertionOperator()); MutationOperatorFactory.Register("inversion", () => new InversionOperator()); MutationOperatorFactory.Register("displacement", () => new DisplacementOperator()); HeuristicsFactory.Register("SA", () => new SimulatedAnnealing()); }