private void RunAlgorithmGeo(object sender, RoutedEventArgs e) { var a = int.Parse(Geo_A.Text); var b = int.Parse(Geo_B.Text); var d = decimal.Parse(Geo_D.Text, CultureInfo.InvariantCulture); var tau = decimal.Parse(Geo_Tau.Text, CultureInfo.InvariantCulture); var t = int.Parse(Geo_T.Text); GeoAlgorithm = new GeoAlgorithm(a, b, d, tau, t); GeoAlgorithm.Run(); DisplaySummaryInGeoSummaryDataGrid(); GenerateGeoPlot(); }
private void TestGeoAlgorithm(object sender, RoutedEventArgs e) { var t = 5000; var a = -4; var b = 12; var d = 0.001m; var tauRangeList = new List <decimal>(); var current = 0.5m; var end = 3m; var step = 0.1m; while (current <= end) { tauRangeList.Add(current); current += step; } var tauRange = tauRangeList.ToArray(); var random = new Random(); var manager = new NumberFormatService(a, b, d, random); var tauResults = new List <TauTestResult>(); foreach (var tau in tauRange) { Console.WriteLine($"testing {tau}"); var results = new List <decimal>(); var resultsTSelf = new List <decimal>(); for (int i = 0; i < 1000; i++) { var algorithm = new GeoAlgorithm(tau, t, random, manager); algorithm.Run(); results.Add(algorithm.ResultFx); resultsTSelf.Add(algorithm.SelfBestT); } tauResults.Add(new TauTestResult { Tau = tau, AverageBestFx = results.Average(), AverageSelfBestIteration = resultsTSelf.Average() }); } DrawGeoTestPlot(tauResults); GeoTestDataGrid.ItemsSource = tauResults; }