/// <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; } }
/// <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); } }