public SirtAgorythmWorker(AlgorythmSettings settings)
 {
     this.signals     = settings.Signals;
     this.times       = settings.Times;
     this.iterations  = settings.Iterations;
     this.randomStart = settings.RandomStartPoint;
 }
Пример #2
0
 private void startToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         AlgorythmSettings settings = new AlgorythmSettings
         {
             IsModel          = IsModel,
             InputFileName    = InputFile,
             AntNumber        = (int)antsNumeric.Value,
             Iterations       = (int)iterationsNumeric.Value,
             Sirt             = SirtRadioBtn.Checked,
             AntColony        = AntsRadioBtn.Checked,
             RandomStartPoint = randomStartCheckBox.Checked
         };
         statisticsTree.Nodes.Clear();
         resultTree.Nodes.Clear();
         if (worker == null)
         {
             return;
         }
         worker.resetProgressBar  += ResetProgressBar;
         worker.updateProgressBar += UpdateProgressBar;
         ThreadWorker threadWorker = new ThreadWorker(() => worker.CalculateIversion(settings));
         threadWorker.ThreadDone += CalculationThreadDone;
         SetWorkingStatus("Trwa obliczanie...");
         przetwarzanieToolStripMenuItem.Enabled = false;
         Thread thread = new Thread(threadWorker.Run);
         thread.Start();
     }
     catch (Exception fileException)
     {
         MessageBox.Show(fileException.Message, fileException.GetType().Name, MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
Пример #3
0
 public Colony(AlgorythmSettings settings)
 {
     iterations = settings.Iterations;
     signals    = settings.Signals;
     times      = settings.Times;
     rand       = new Random();
     Ants       = new List <Ant>();
     AllNodes   = new Dictionary <string, Node>();
     GenerateFirstNode(settings.RandomStartPoint);
     AddAnts(settings.AntNumber);
 }
Пример #4
0
 private void ReadFile(AlgorythmSettings settings)
 {
     if (settings.IsModel)
     {
         ModelReader  reader  = new ModelReader(settings.InputFileName);
         SignalRoutes signals = new SignalRoutes(reader.ReadData());
         matrix = new ProjectionsData(reader.CellSize, signals, 0, reader.MaxX1, 0, reader.MaxY1);
     }
     else
     {
         RealDataReader reader  = new RealDataReader(settings.InputFileName);
         SignalRoutes   signals = new SignalRoutes(reader.ReadData());
         matrix = new ProjectionsData(10, signals, 0, 150, 0, 100);
     }
 }
Пример #5
0
 public void CalculateIversion(AlgorythmSettings settingsFromWindow)
 {
     settings = settingsFromWindow;
     //try
     //{
     ReadFile(settings);
     //}
     //catch (Exception e)
     //{
     //    throw e;
     //}
     matrix.MakeRayDensity();
     if (settings.Sirt)
     {
         Sirt();
     }
     if (settings.AntColony)
     {
         AntColony();
     }
 }
Пример #6
0
 public AntColonyWorker(AlgorythmSettings settings)
 {
     colony = new Colony(settings);
 }