private void loggerWrite(IObjectiveScores[] scores, IDictionary <string, string> tags) { if (logTags != null) { tags = LoggerMhHelper.MergeDictionaries(logTags, tags); } LoggerMhHelper.Write(scores, tags, Logger); }
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)); }