コード例 #1
0
 protected override void Manipulate(IRandom random, PRVEncoding individual) {
   Apply(random, individual);
 }
コード例 #2
0
 public override PRVEncoding Cross(IRandom random, PRVEncoding parent1, PRVEncoding parent2) {
   return Apply(random, parent1, parent2);
 }
コード例 #3
0
 public static void Apply(IRandom random, PRVEncoding individual) {
   UniformOnePositionManipulator.Apply(random, individual.PriorityRulesVector, new IntMatrix(new int[,] { { 0, individual.NrOfRules.Value } }));
 }
コード例 #4
0
 public static PRVEncoding Apply(IRandom random, PRVEncoding parent1, PRVEncoding parent2) {
   return new PRVEncoding(SinglePointCrossover.Apply(random, parent1.PriorityRulesVector, parent2.PriorityRulesVector), parent1.NrOfRules);
 }
コード例 #5
0
ファイル: PRVEncoding.cs プロジェクト: t-h-e/HeuristicLab
 protected PRVEncoding(PRVEncoding original, Cloner cloner)
   : base(original, cloner) {
   this.nrOfRules = cloner.Clone(original.NrOfRules);
   this.PriorityRulesVector = cloner.Clone(original.PriorityRulesVector);
 }
コード例 #6
0
 public abstract PRVEncoding Cross(IRandom random, PRVEncoding parent1, PRVEncoding parent2);
コード例 #7
0
 protected abstract void Manipulate(IRandom random, PRVEncoding individual);
コード例 #8
0
 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);
 }