Exemple #1
0
        /* Glowna funkcja programu. Wszystkie operacje zaczynaja sie od tego miejsca */
        private void btnUruchom_Click(object sender, EventArgs e)
        {
            if (!Int32.TryParse(tbNrInstancji.Text, out nrInstancji))
            {
                MessageBox.Show("Złe dane w polu instancji!");
            }
            else
            {
                Algorytmy    algorytmy = new Algorytmy();
                KolejkaZadan kz        = new KolejkaZadan(sciezkaPlikDane, nrInstancji);
                //Wyliczanie odpowiednich sekwencji algorytmami
                if (cbAlgorytm.SelectedIndex == 0)
                {
                    //Przeglad zupelny
                    PrzegladZupelny przegladZupelny = new PrzegladZupelny();
                    int[]           sekwencja       = przegladZupelny.Przeglad(kz);
                    int             Cmax            = algorytmy.calculateTotalspan(kz, sekwencja);
                    kz.WypiszRezultaty(Cmax, sekwencja);
                }
                else
                {
                    //Johnson
                    int[] sekwencja = algorytmy.AlgorytmJohnsona(kz);
                    int   Cmax      = algorytmy.calculateTotalspan(kz, sekwencja);
                    kz.WypiszRezultaty(Cmax, sekwencja);
                }

                //Wizualizacja
                var proces = new Process();
                proces.StartInfo.FileName    = sciezkaPython;
                proces.StartInfo.Arguments   = @"w_gantt.py";
                proces.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                proces.Start();
            }
        }
Exemple #2
0
        /* Glowna funkcja programu. Wszystkie operacje zaczynaja sie od tego miejsca */
        private void btnUruchom_Click(object sender, EventArgs e)
        {
            if (!Int32.TryParse(tbNrInstancji.Text, out nrInstancji))
            {
                MessageBox.Show("Złe dane w polu instancji!");
            }
            else
            {
                Algorytmy    algorytmy      = new Algorytmy();
                KolejkaZadan kz             = new KolejkaZadan(sciezkaPlikDane, nrInstancji);
                var          kolejnoscZadan = new int[kz.zadania.Length];
                for (int x = 0; x < kz.zadania.Length; x++)
                {
                    kolejnoscZadan[x] = x + 1;
                }
                int[,] macierzZadan = Algorytmy.pasreMacierzZadan(kz, kolejnoscZadan);
                if (cbAlgorytm.SelectedIndex == 0)
                {
                    //Przeglad zupelny
                    PrzegladZupelny przegladZupelny = new PrzegladZupelny();
                    int[]           sekwencja       = przegladZupelny.Przeglad(kz);
                    int             Cmax            = Algorytmy.calculateTotalspan(kz, macierzZadan, sekwencja);
                    kz.WypiszRezultaty(Cmax, sekwencja);
                }
                else if (cbAlgorytm.SelectedIndex == 1)
                {
                    //Johnson
                    int[] sekwencja = algorytmy.AlgorytmJohnsona(kz);
                    int   Cmax      = Algorytmy.calculateTotalspan(kz, macierzZadan, sekwencja);
                    kz.WypiszRezultaty(Cmax, sekwencja);
                }
                else
                {
                    //Neh
                    List <Tuple <int, int> > posortowane = Algorytmy.ZwrocPosortowanePriorytety(kz);
                    List <int> sekwencja = Neh.NehBasic(kz, posortowane);
                    int        Cmax      = Algorytmy.calculateTotalspan(kz, macierzZadan, sekwencja.ToArray());
                    kz.WypiszRezultaty(Cmax, sekwencja.ToArray());
                }

                //Wizualizacja
                if (rbVisualize.Checked)
                {
                    var proces = new Process();
                    proces.StartInfo.FileName    = sciezkaPython;
                    proces.StartInfo.Arguments   = @"w_gantt.py";
                    proces.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                    proces.Start();
                }
            }
        }