Esempio n. 1
0
        /// <summary>
        /// Ustaw mrowisko do ktorego mrowka nalezy oraz ustawia odpowiednia heurystyke
        /// </summary>
        /// <param name="home">Mrowisko-matka :P</param>
        public void Home(AntHill home)
        {
            mHome = home;
            mSize = home.Tasks.Size;
            mTasks = home.Tasks;

            switch (mTasks.mHeuristic)
            {
                case "EDD":
                    mChooseWay = new DChooseWay(HeuristicWay);
                    heura = new DMiniHeura(heura_edd);
                    break;
                case "MDD":
                    mChooseWay = new DChooseWay(HeuristicWay);
                    heura = new DMiniHeura(heura_mdd);
                    break;
                case "AU":
                    mChooseWay = new DChooseWay(HeuristicWay_AU);
                    break;
                default:
                    mChooseWay = new DChooseWay(RandomWay);
                    break;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Reinicjalizuje ustawienia mrowisk
        /// </summary>
        private void Restart()
        {
            mDoWork   = false;
            mBestCost = int.MaxValue;

            for (int i = 0; i < mHillsCount; ++i)
            {
                mHills[i] = new AntHill();
                mHills[i].Init(mTasks, mIter, mAnts, mEvap);
            }
        }