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