/// <summary> /// Metoda zwraca parametry Algorytmu oraz Problemu Optymalizacyjnego /// </summary> /// <returns>Parametry Algorytmu oraz Problemu Optymalizacyjnego</returns> private Dictionary <string, string> ZwrocParametry() { Dictionary <string, string> parametry = new Dictionary <string, string>(); parametry["doPorownania"] = ""; switch (wybierzProblem.Text) { case "Problem Podróżującego Złodzieja": parametry["modelTTP"] = modelTTP.Text; parametry["maxWaga"] = ttp_maxWagaPlecaka.Text.Replace('.', ','); parametry["wyporzyczeniePlecaka"] = wypozyczeniePlecaka.Text; parametry["doPorownania"] = "TTP"; break; case "Problem Plecakowy": parametry["maxWaga"] = kp_maxWagaPlecaka.Text; parametry["doPorownania"] = "KP"; break; case "Problem Komiwojażera": parametry["maxWaga"] = "0"; parametry["doPorownania"] = "TSP"; break; } switch (wybierzAlgorytm.Text) { case "Algorytm Ewolucyjny": parametry["doPorownania"] += "_AE"; parametry["pwoMutacji"] = ae_pwoMutacji.Text.Replace('.', ','); parametry["pwoKrzyzowania"] = ae_pwoKrzyzowania.Text.Replace('.', ','); parametry["rozmiarPopulacji"] = ae_rozmiarPopulacji.Text; parametry["metodaSelekcji"] = ae_metodaSelekcji.Text; parametry["rodzajKrzyzowania"] = ae_rodzajKrzyzowania.Text; break; case "Algorytm Wspinaczkowy": parametry["doPorownania"] += "_AW"; parametry["parametrP"] = aw_parametrP.Text; break; case "Algorytm Losowy": parametry["doPorownania"] += "_AL"; break; } parametry["doPorownania"] += "_" + narzedziaWidokow.LosowyTekst(3, 3); parametry["dane"] = wybierzPlikDanych.Text; parametry["problem"] = wybierzProblem.Text; parametry["algorytm"] = wybierzAlgorytm.Text; parametry["liczbaIteracji"] = liczbaIteracjiAlgorytmu.Text; parametry["czasPoszukiwania"] = czasDzialaniaAlgorytmu.Text; formatkaBadania.WalidacjaFormatki(parametry); return(parametry); }
/// <summary> /// Metoda wywołuje porównywanie wybranych badań /// </summary> private void porownaj_Click(object sender, EventArgs e) { int ilosc = daneHistoryczne.CheckedItems.Count; if (ilosc <= 10 && ilosc > 1) { try { Rectangle ekran = Screen.FromControl(this).Bounds; int szerokosc = ekran.Width, wysokosc = ekran.Height - 100; PomocneFunkcje narzedziaWidokow = new PomocneFunkcje(); FormatkaPorownania formatkaPorownania = new FormatkaPorownania(); string[] nazwyPlikow = new string[] { narzedziaWidokow.LosowyTekst(2, 10), narzedziaWidokow.LosowyTekst(2, 10), narzedziaWidokow.LosowyTekst(2, 10) }; string raport = formatkaPorownania.RysujWykres(formatkaGlowna.ZbierzDaneDoPorownania(daneHistoryczne.CheckedItems), szerokosc, wysokosc, nazwyPlikow); StronaWynikow stronaWynikow = new StronaWynikow(); stronaWynikow.PokazWykresy(nazwyPlikow); stronaWynikow.WyswietlTekst(raport); stronaWynikow.Show(); } catch (Exception exc) { MessageBox.Show(exc.Message, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (ilosc < 2) { MessageBox.Show("Nie wybrano żadnego badania lub wybrano tylko jedno!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Wybrano za dużo elementów do porównania na raz!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); } }