protected override void Manipulate(IRandom random, PRVEncoding individual) { Apply(random, individual); }
public override PRVEncoding Cross(IRandom random, PRVEncoding parent1, PRVEncoding parent2) { return Apply(random, parent1, parent2); }
public static void Apply(IRandom random, PRVEncoding individual) { UniformOnePositionManipulator.Apply(random, individual.PriorityRulesVector, new IntMatrix(new int[,] { { 0, individual.NrOfRules.Value } })); }
public static PRVEncoding Apply(IRandom random, PRVEncoding parent1, PRVEncoding parent2) { return new PRVEncoding(SinglePointCrossover.Apply(random, parent1.PriorityRulesVector, parent2.PriorityRulesVector), parent1.NrOfRules); }
protected PRVEncoding(PRVEncoding original, Cloner cloner) : base(original, cloner) { this.nrOfRules = cloner.Clone(original.NrOfRules); this.PriorityRulesVector = cloner.Clone(original.PriorityRulesVector); }
public abstract PRVEncoding Cross(IRandom random, PRVEncoding parent1, PRVEncoding parent2);
protected abstract void Manipulate(IRandom random, PRVEncoding individual);
public static PRVEncoding Apply(IRandom random, PRVEncoding parent1, PRVEncoding parent2) { return new PRVEncoding(DiscreteCrossover.Apply(random, new ItemArray<IntegerVector>(new IntegerVector[] { parent1.PriorityRulesVector, parent2.PriorityRulesVector })), parent1.NrOfRules); }