Exemplo n.º 1
0
        private string GetCompletedRunSql(TaskCompleted completed)
        {
            var run    = completed.Run;
            var config = completed.Config;

            var sb = new StringBuilder();

            sb.Append("INSERT INTO [dbo].[GA_Results]([Session],[Start],[End],[ComputerName],[SolutionStrategy],[ParentSelectionStrategy],[MutationStrategy],[CrossoverStrategy],[ImmigrationStrategy],[RetirementStrategy],[ScoringStrategy],[PopulationSize],[MaxGenerations],[CrossoverRate],[MutationRate],[ElitismRate],[ImmigrationRate],[DuplicationStrategy],[MaxRetirement],[ChildrenPerParents],[RandomSeed],[RandomPoolGenerationSeed],[BestScore],[BestScoreGeneration],[StringRepresentation]) ");
            sb.Append(" VALUES ( ");

            sb.Append("'" + config.Session + "',");
            sb.Append("'" + run.Start.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture) + "',");
            sb.Append("'" + run.End.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture) + "',");
            sb.Append("'" + GetComputerName() + "',");
            sb.Append("'" + config.Solution.GetType().AssemblyQualifiedName + "',");
            sb.Append("'" + config.ParentSelectionStrategy.ToString() + "',");
            sb.Append("'" + config.MutationStrategy.ToString() + "',");
            sb.Append("'" + config.CrossoverStrategy.ToString() + "',");
            sb.Append("'" + config.ImmigrationStrategy.ToString() + "',");
            sb.Append("'" + config.RetirementStrategy.ToString() + "',");
            sb.Append("'" + config.ScoringStrategy.ToString() + "',");
            sb.Append(config.PopulationSize + ",");
            sb.Append(config.MaxGenerations + ",");
            sb.Append(config.CrossoverRate + ",");
            sb.Append(config.MutationRate + ",");
            sb.Append(config.ElitismRate + ",");
            sb.Append(config.ImmigrationRate + ",");
            sb.Append("'" + config.DuplicationStrategy.ToString() + "',");
            sb.Append(config.MaxRetirement + ",");
            sb.Append(config.ChildrenPerParents + ",");
            sb.Append(config.RandomSeed + ",");
            sb.Append(config.RandomPoolGenerationSeed + ",");
            sb.Append(run.BestChromosome.FitnessScore + ",");
            sb.Append(run.BestChromosome.GenerationNumber + ",");
            sb.Append("'" + run.BestChromosome.ToString() + "'");

            sb.Append(")");
            return(sb.ToString());
        }
Exemplo n.º 2
0
 public void InsertCompletedRun(TaskCompleted completed)
 {
     lock (_completedLock) { _completedRuns.Add(completed); }
     NumberOfRunsCompleted++;
 }