private void CheckInit() { var clearFunc = _factory.Create <DbEntityInit>(); Func <int> func = clearFunc.Init; var spid = DBExtensions.InvokeWithRetriesThrows(func, 10, 500); }
private void HandleMessageEvent( Message msmqMessage, TRequestType message, string messageId, string correlationId) { var logic = logicFactory.Create(); logic.DoWork(message, messageId, correlationId); logicFactory.Release(logic); }
public override Solution[] GeneratePopulation(EvolutionParameters evolutionParameters) { var basePopulationSize = evolutionParameters.BasePopulationSize; var population = new Solution[basePopulationSize]; for (var i = 0; i < basePopulationSize; i++) { var solution = _solutionsFactory.Create(evolutionParameters); population[i] = GenerateCoefficients(solution); } return(population); }
public IEngine Create(EvolutionParameters evolutionParameters, IGenericFactory <Solution> solutionsFactory, IGenericFactory <PopulationGeneratorBase> populationGeneratorsFactory, IGenericFactory <MutatorBase> objectMutatorsFactory, IGenericFactory <MutatorBase> stdDevsMutatorsFactory, IGenericFactory <MutationRuleSupervisorBase> mutationRuleSupervisorsFactory, IGenericFactory <ParentsSelectorBase> parentsSelectorsFactory, IGenericFactory <SurvivorsSelectorBase> survivorsSelectorsFactory, IGenericFactory <MutatorBase> rotationsMutatorsFactory = null, IGenericFactory <RecombinerBase> objectRecombinersFactory = null, IGenericFactory <RecombinerBase> stdDevsRecombinersFactory = null, IGenericFactory <RecombinerBase> rotationsRecombinersFactory = null) { IEngine engine; var populationGenerator = populationGeneratorsFactory.Create(evolutionParameters); var objectMutator = objectMutatorsFactory.Create(evolutionParameters); var stdDevsMutator = stdDevsMutatorsFactory.Create(evolutionParameters); var mutationRuleSupervisor = mutationRuleSupervisorsFactory.Create(evolutionParameters); var rotationsMutator = rotationsMutatorsFactory?.Create(evolutionParameters); var parentsSelector = parentsSelectorsFactory.Create(evolutionParameters); var survivorsSelector = survivorsSelectorsFactory.Create(evolutionParameters); var objectRecombiner = objectRecombinersFactory?.Create(evolutionParameters); var stdDevsRecombiner = stdDevsRecombinersFactory?.Create(evolutionParameters); var rotationsRecombiner = rotationsRecombinersFactory?.Create(evolutionParameters); var statistics = new Statistics(); var stoper = new Stopwatch(); var typeOfMutation = (MutationType)evolutionParameters.TypeOfMutation; if (typeOfMutation == MutationType.Correlated) { if (evolutionParameters.UseRecombination) { engine = new CmEngineWithRecombination(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDevsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper, objectRecombiner, stdDevsRecombiner, rotationsMutator, rotationsRecombiner); } else { engine = new CmEngineWithoutRecombination(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDevsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper, rotationsMutator); } } else { if (evolutionParameters.UseRecombination) { engine = new UmEngineWithRecombination(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDevsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper, objectRecombiner, stdDevsRecombiner); } else { engine = new UmEngineWithoutRecombination(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDevsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper); } } return(engine); }
protected Solution[] InitializePopulations(EvaluatorBase evaluator, ISeedingProcessor seedingProcessor = null) { var population = PopulationGenerator.GeneratePopulation(Parameters); if (seedingProcessor != null) { Stoper.Restart(); population = seedingProcessor.Seed(population); Stoper.Stop(); Statistics.SeedingTime = Stoper.Elapsed; } foreach (var solution in population) { solution.FitnessScore = evaluator.Evaluate(solution); } for (var i = 0; i < OffspringPopulation.Length; i++) { OffspringPopulation[i] = SolutionsFactory.Create(Parameters); } return(population); }