Exemplo n.º 1
0
        /// <summary>
        /// Writes the faulty runs to disk.
        /// </summary>
        /// <param name="faultyRunIndices">The faulty run indices.</param>
        private void LogFaultyRuns(ConcurrentBag <int> faultyRunIndices)
        {
            var file = new FileInfo(
                Path.Combine(this._postTuningFile.DirectoryName !, $"faultyPostTuningRuns_{ProcessUtils.GetCurrentProcessId()}.csv"));

            var recorder = new StringArrayRecorder(
                file,
                GenomeInstancePairStringRepresentation.GetHeader(),
                true);

            var faultyRuns = faultyRunIndices.Select(index => this._listOfPostTuningGenomeInstancePairs[index]);

            recorder.WriteRows(
                faultyRuns.Select(gip => gip.ToStringArray()).ToList());
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes all log file recorder.
        /// </summary>
        private void InitializeLogFileRecorder()
        {
            // Get log file suffix from current simulation configuration.
            var logFileSuffix =
                $"SG_{this._simulationConfiguration.GrayBoxStartGeneration}_ST_{this._simulationConfiguration.GrayBoxStartTimePoint.TotalMilliseconds:0}_CT_{this._simulationConfiguration.GrayBoxConfidenceThreshold:0.####}_ID_{ProcessUtils.GetCurrentProcessId()}";

            // Get feature importance header from first element in data dictionary.
            var featureImportanceHeader =
                new[] { "Generation", }.Concat(
                this._customGrayBoxMethods.GetGrayBoxFeatureNamesFromDataRecord(this._dataDictionary.Values.First().First())).ToArray();

            // Define instance count header.
            var instanceCountHeader = new[]
            {
                "Instance",
                "CancelledBlackBoxRuns",
                "FinishedBlackBoxRuns",
                "CancelledGrayBoxRuns",
                "FinishedGrayBoxRuns",
            };

            // Initialize log file recorder.
            this._featureImportanceRecorder = new StringArrayRecorder(
                new FileInfo(Path.Combine(this._logFileDirectory.FullName, $"featureImportance_{logFileSuffix}.csv")),
                featureImportanceHeader,
                true);
            this._predictionScoresRecorder = new StringArrayRecorder(
                new FileInfo(Path.Combine(this._logFileDirectory.FullName, $"predictionScores_{logFileSuffix}.csv")),
                GrayBoxSimulationPredictionScores.GetHeader(),
                true);
            this._tuningScoresRecorder = new StringArrayRecorder(
                new FileInfo(Path.Combine(this._logFileDirectory.FullName, $"tuningScores_{logFileSuffix}.csv")),
                GrayBoxSimulationTuningScores.GetHeader(),
                true);
            this._instanceCountRecorder = new StringArrayRecorder(
                new FileInfo(Path.Combine(this._logFileDirectory.FullName, $"instanceCounts_{logFileSuffix}.csv")),
                instanceCountHeader,
                true);
        }