Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs @ 17339

Last change on this file since 17339 was 17339, checked in by dpiringe, 4 years ago

#3026 fixed a bug with path generation

File size: 1.2 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.IO;
4using System.Linq;
5using System.Text;
6using System.Threading;
7using System.Threading.Tasks;
8using HeuristicLab.Optimization;
9
10namespace HeuristicLab.JsonInterface.App {
11  internal static class Runner {
12    internal static void Run(string template, string config, string outputFile = @"C:\Workspace\test.txt") {
13      JCInstantiator instantiator = new JCInstantiator();
14      IAlgorithm alg = instantiator.Instantiate(template, config);
15 
16      Task task = alg.StartAsync();
17      while(!task.IsCompleted) {
18        WriteResultsToFile(outputFile, alg);
19        Thread.Sleep(100);
20      }
21      WriteResultsToFile(outputFile, alg);
22    }
23
24    private static void WriteResultsToFile(string file, IAlgorithm optimizer) =>
25      File.WriteAllText(file, FetchResults(optimizer));
26
27    private static string FetchResults(IAlgorithm optimizer) {
28      StringBuilder sb = new StringBuilder();
29      //foreach (var run in optimizer.Runs) {
30        //sb.AppendLine($"--- {run.ToString()} ---");
31        foreach (var res in optimizer.Results) {
32          sb.AppendLine($"{res.Name}: {res.Value}");
33        }
34      //}
35      return sb.ToString();
36    }
37  }
38}
Note: See TracBrowser for help on using the repository browser.