Exemplo n.º 1
0
        /// <summary>
        /// Executes algorithm initialization
        /// </summary>
        public void Initialize(AlgorithmModel model)
        {
            InitializeAgents();

            InitializeProbabilities();

            if (_configuration.AlgorithmConfiguration.UseDimographicProcesses)
            {
                UseDemographic();
            }

            AfterInitialization();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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);
        }