Exemple #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="number">ID mrówki</param>
        /// <param name="huntingSitesCount">Liczba łowisk (S1, S2, S3)</param>
        /// <param name="antCount">Liczba mrówek</param>
        /// <param name="nest">Mrowisko</param>
        /// <param name="starvation">Zagłodzenie</param>
        public Ant(int number, int dimensions, int huntingSitesCount, int antCount, Nest nest, int starvation)
        {
            this.number = number;
            this.huntingSitesCount = huntingSitesCount;
            this.nest = nest;
            this.starvation = starvation;
            this.dimensions = dimensions;
            this.random = new Random();

            this.radius = 0.01 * Math.Pow(Math.Pow((10 / 0.01), 1.0 / antCount), number + 1);  // Asite
            this.radius = Math.Round(this.radius, 4);   // zaaokrąglanie
            this.localRadius = radius / 10.0;   // Alocal
            this.fitness = 999;
            this.lastSuccess = 1;

            this.position = new double[dimensions];
            this.huntingSites = new List<HuntingSite>();
        }
Exemple #2
0
        /// <summary>
        /// Tutaj następuje inicjalizacja gniazd oraz samego algorytmu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Bw_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 0; i < paramList[8]; i++)
            {
                Nest nest = new Nest(
                    (int)paramList[0],
                    (int)paramList[1],
                    (int)paramList[2],
                    (int)paramList[3],
                    (int)paramList[4],
                    (int)paramList[5],
                    (int)paramList[6],
                    (int)paramList[7]);
                nest.run();
                ((BackgroundWorker)sender).ReportProgress((int)(((i + 1) * 100) / paramList[8]));
            }

        }