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; }
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; }