/// <summary> /// Executes algorithm initialization /// </summary> public void Initialize(AlgorithmModel model) { InitializeAgents(); InitializeProbabilities(); if (_configuration.AlgorithmConfiguration.UseDimographicProcesses) { UseDemographic(); } AfterInitialization(); }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += UnhandledException; Console.WriteLine("Reading configuration"); string algorithmConfigurationFileName = "configuration.json"; string algorithmConfigurationFilePath = Path.Combine(Directory.GetCurrentDirectory(), algorithmConfigurationFileName); if (File.Exists(algorithmConfigurationFilePath) == false) { throw new FileNotFoundException($"{algorithmConfigurationFileName} not found at {Directory.GetCurrentDirectory()}"); } string outputDirectory = @"Output\"; if (Directory.Exists(outputDirectory)) { Directory.Delete(outputDirectory, true); } if (!Directory.Exists(outputDirectory)) { Directory.CreateDirectory(outputDirectory); } ConfigurationModel configuration = ConfigurationParser.ParseConfiguration(algorithmConfigurationFilePath); AlgorithmModel model = new AlgorithmModel() { OutputFolder = outputDirectory }; Algorithm algorithm = new Algorithm(configuration); Console.WriteLine($"{algorithm.Name} algorithm is running...."); algorithm.Run(model); Console.WriteLine("Algorithm has completed"); WaitKeyPress(); var process = new Process { StartInfo = { UseShellExecute = true, FileName = Path.Combine(Directory.GetCurrentDirectory(), outputDirectory) } }; process.Start(); }
public AlgorithmModel Run(AlgorithmModel model) { _outputFolder = model.OutputFolder; Initialize(model); var sites = new Site[] { DefaultDataSet }; Enumerable.Range(1, _configuration.AlgorithmConfiguration.NumberOfIterations).ForEach(iteration => { Console.WriteLine((string)"Starting {0} iteration", (object)iteration); RunSosiel(sites); }); return(model); }