Example #1
0
 public SilentWorkingSet(string Name,
                         GeneticAlgorithmConfig <char> GAC,
                         IGeneticOperatorProvider <char> Provider,
                         Func <GeneticAlgorithm <char>, CalculationMode <char> > CM) :
     base(Name, GAC, Provider, new FoldingCreator(), CM)
 {
     this.Log = new StreamLogger(string.Format("{0}-{1}-{2}-{3}-{4}.log", Name, GAC.PopulationSize, GAC.CrossoverRate.ToString("F2"), GAC.MutationRate.ToString("F2"), DateTime.Now.ToString("yyyy-MM-dd-HH-mm")));;
 }
Example #2
0
 protected WorkingSet(string Name, GeneticAlgorithmConfig <T> GAC, IGeneticOperatorProvider <T> Provider, IFitnessMeasuredCreator <T> Creator, Func <GeneticAlgorithm <T>, C> CM)
 {
     this.Lock = new ManualResetEvent(false);
     this.Name = Name;
     this.Log  = new EmptyLogger();
     //this.Log = new StreamLogger(string.Format("{0}-{1}-{2}.log", Name, GAC.PopulationSize, DateTime.Now.ToString("yyyy-MM-dd-HH-mm")));
     this.GA = new GeneticAlgorithm <T>(GAC, Provider, Creator, Log);
     this.CalculationMode = CM(this.GA);
     this.GAC             = GAC;
 }
Example #3
0
 public FoldingWorkingSet(string Name,
                          bool Hamming,
                          GeneticAlgorithmConfig <char> GAC,
                          IGeneticOperatorProvider <char> Provider,
                          Func <GeneticAlgorithm <char>, CalculationMode <char> > CM) :
     base(Name, GAC, Provider, new FoldingCreator(), CM)
 {
     this.Log = new MixedLogger(string.Format("{3}-{0}-{1}-{2}.log", Name, GAC.PopulationSize, DateTime.Now.ToString("yyyy-MM-dd-HH-mm"), this.CalculationMode.getName()));
     //this.Log = new StreamLogger(string.Format("{0}-{1}-{2}.log", Name, GAC.PopulationSize, DateTime.Now.ToString("yyyy-MM-dd-HH-mm")));
     //this.Log = new ConsoleLogger();
     this.CalculateHamming = Hamming;
 }
Example #4
0
        public GeneticAlgorithm(GeneticAlgorithmConfig <T> gac, IGeneticOperatorProvider <T> OperatorProvider, IFitnessMeasuredCreator <T> Creator, Logger log)
        {
            this.Log = log;
            this.CurrentGeneration = 0;
            this.Operators         = OperatorProvider.GetOperators();

            this.Creator = Creator;

            this.GAC = gac;

            this.Cache = new List <GACache>(this.GAC.PopulationSize);

            for (int i = 0; i < this.GAC.PopulationSize; i++)
            {
                var Elem = Creator.CreateNew(this.GAC);
                Cache.Add(new GACache()
                {
                    GAElement = Elem, Fitness = Elem.CalculateFitness(this.GAC.Sequence)
                });
            }
        }