public SortedSubset(IRandom random, IParameterSet parameterSet, IList <INeighborhoodConflictDetector> conflictDetectors = null) { var size = parameterSet.GetInt("ProblemSize"); parameterSet.SetValueRange(GetParameters()); ConflictDetectors = conflictDetectors; _creators = new List <IChromosomeCreator>() { new SortedSubsetLeftToRightCreator(size, random, conflictDetectors) }; _crossovers = new List <ICrossover>() { new TwoPointCrossover(random, parameterSet, conflictDetectors), new OnePointCrossover(random, parameterSet, conflictDetectors) }; _mutations = new List <IMutation>() { //new CreateNewSectionMutation(random, parameterSet, conflictDetector), new EliminateSectionMutation(random, parameterSet, conflictDetectors), new ReplaceOneGeneMutation(random, parameterSet, conflictDetectors), new SwapThreeRangeMutation(random, parameterSet, conflictDetectors), new SwapTwoRangeMutation(random, parameterSet, conflictDetectors) }; }
public Permutation(IRandom random, IParameterSet parameterSet, IList <IConflictDetector> conflictDetectors) { var size = parameterSet.GetInt("ProblemSize"); _creators = new List <IChromosomeCreator>() { new PermutationRandomCreator(size, random, conflictDetectors) }; _crossovers = new List <ICrossover>() { new DoNothingCrossover(random, parameterSet, conflictDetectors), new Order1Crossover(random, parameterSet, conflictDetectors), new PMXCrossover(random, parameterSet, conflictDetectors) }; _mutations = new List <IMutation>() { new RelocateRangeMutation(random, parameterSet, conflictDetectors), new InverseRangeMutation(random, parameterSet, conflictDetectors), new SwapTwoRangeMutation(random, parameterSet, conflictDetectors), new ShuffleRangeMutation(random, parameterSet, conflictDetectors), new RelocateOneMutation(random, parameterSet, conflictDetectors) }; }
public BitVector(IRandom random, IParameterSet parameterSet, IList <IConflictDetector> conflictDetectors) { var size = parameterSet.GetInt(ParameterNames.ProblemSize); _creators = new List <IChromosomeCreator>() { new BitVectorZeroCreator(size, random, conflictDetectors), new BitVectorRandomCreator(size, random, conflictDetectors) }; parameterSet.SetValueRange(GetParameters()); _crossovers = new List <ICrossover>() { new DoNothingCrossover(random, parameterSet, conflictDetectors), new TwoPointCrossover(random, parameterSet, conflictDetectors) }; _mutations = new List <IMutation>() { new DoNothingMutation(random, parameterSet, conflictDetectors), new OneGeneMutation(random, parameterSet, conflictDetectors) }; }