Example #1
0
 private void loggerWrite(IObjectiveScores[] scores, IDictionary <string, string> tags)
 {
     if (logTags != null)
     {
         tags = LoggerMhHelper.MergeDictionaries(logTags, tags);
     }
     LoggerMhHelper.Write(scores, tags, Logger);
 }
            private IDictionary <string, string> createTag()
            {
                var result = LoggerMhHelper.CreateTag(LoggerMhHelper.MkTuple("Move", countingEvaluator.Counter.ToString("D6")));

                if (logTags != null)
                {
                    result = LoggerMhHelper.MergeDictionaries(this.logTags, result);
                }
                return(result);
            }
Example #3
0
        public IOptimizationResults <T> Evolve()
        {
            IObjectiveScores[] scores = evaluateScores(initialisePopulation());
            var tags = LoggerMhHelper.CreateTag(LoggerMhHelper.MkTuple("Category", "URS"));

            loggerWrite(scores, tags);

            var paretoRanking = new ParetoRanking <IObjectiveScores>(scores, new ParetoComparer <IObjectiveScores>());

            IObjectiveScores[] paretoScores = paretoRanking.GetDominatedByParetoRank(1);
            return(new BasicOptimizationResults <T>(paretoScores));
        }
            public Tuple <IBase, IObjectiveScores <T>, IObjectiveScores <T>[]> Evolve()
            {
                moveFailedOnce   = createNegBoolArray(b.NumDimensions);
                moveSuccededOnce = createNegBoolArray(b.NumDimensions);
                List <IObjectiveScores <T> > scores = new List <IObjectiveScores <T> >();

                while (stageIsComplete( ) == false)
                {
                    var triedPoints = makeAMove(b, currentPoint);
                    currentPoint = triedPoints.Last();
                    scores.AddRange(triedPoints);
                    LoggerMhHelper.Write(new IObjectiveScores[] { currentPoint },
                                         createTag(),
                                         Logger);
                }
                endPoint = currentPoint;
                b        = createNewBase(b, startingPoint, endPoint);

                var paretoRanking = new ParetoRanking <IObjectiveScores <T> >(scores, new ParetoComparer <IObjectiveScores <T> >());

                IObjectiveScores <T>[] paretoScores = paretoRanking.GetDominatedByParetoRank(1);

                return(Tuple.Create(b, currentPoint, paretoScores));
            }