public OnePlusOneEvolutionaryAlgorithm(Graph.Graph graph) : base(new TakeFirstSelection <TChromosome, TGene>(),
                                                                  new IdentityCrossoverOperator <TChromosome, TGene>(),
                                                                  new List <IMutationOperator <GraphEdgeBinaryChromosome, EdgeBinaryGene> >
 {
     new UniformEdgeBitFlipMutationOperator(Random)
 },
                                                                  new FitnessSelection <GraphEdgeBinaryChromosome, EdgeBinaryGene>(
                                                                      new ConnectedComponentEdgeCountFitnessFunction(graph)), new ConnectedComponentEdgeCountFitnessFunction(graph),
                                                                  new List <ITerminationPredicate> {
     new TimeoutTerminationPredicate(2000)
 })
 {
     this._graph = graph;
 }
Example #2
0
 public RandomizedLocalSearch(Graph.Graph graph) : base(
         new TakeFirstSelection <TChromosome, TGene>(),
         new IdentityCrossoverOperator <TChromosome, TGene>(),
         new List <IMutationOperator <GraphEdgeBinaryChromosome, EdgeBinaryGene> >
 {
     new SelectionMutationOperator <TChromosome, TGene>(
         new Dictionary <IMutationOperator <TChromosome, TGene>, int>
     {
         { new RandomizedEdgeSingleBitFlipMutationOperator(Random), 1 },
         { new RandomizedEdgeDoubleBitFlipMutationOperator(Random), 1 }
     }, Random)
 },
         new FitnessSelection <TChromosome, TGene>(new ConnectedComponentEdgeCountFitnessFunction(graph))
         , new ConnectedComponentEdgeCountFitnessFunction(graph),
         new List <ITerminationPredicate> {
     new TimeoutTerminationPredicate(2000)
 })
 {
     this._graph = graph;
 }