Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
            }
        }