static void Main(string[] args) { Stopwatch sw = new Stopwatch(); Algorytmy algorytmy = new Algorytmy(); for (int i = 0; i < 60; i++) { KolejkaZadan kz = new KolejkaZadan("neh_data.txt", i + 1); 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); sw.Start(); int[] sekwencja = algorytmy.AlgorytmJohnsona(kz); sw.Stop(); int Cmax = Algorytmy.calculateTotalspan(kz, macierzZadan, sekwencja); Parser.ZapiszWynik(sw, Cmax, kz, "Johnson", i + 1); sw.Reset(); var posortowane = Algorytmy.ZwrocPosortowanePriorytety(kz); sw.Start(); int[] sekwencja2 = Neh.NehBasic(kz, posortowane).ToArray(); sw.Stop(); int Cmax2 = Algorytmy.calculateTotalspan(kz, macierzZadan, sekwencja2); Parser.ZapiszWynik(sw, Cmax2, kz, "NEH", i + 1); sw.Reset(); } }
/* 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(); } }
private DirectBlurFilter(Bitmap bitmap, Algorytmy alg, Biblioteki lib, int watki) { this.liczbaWatkow = watki; this.lib = lib; this.alg = alg; this.input = bitmap; }
private void button1_Click(object sender, EventArgs e) { int ziarno = Convert.ToInt32(textSeed.Text); int pojemnoscPlecaka = Convert.ToInt32(textCapacity.Text); int liczbaPrzedmiotow = Convert.ToInt32(textNoItems.Text); Plecak plecaczek = new Plecak(pojemnoscPlecaka); Algorytmy algorytm = new Algorytmy(ziarno, liczbaPrzedmiotow); // Algorytmy(seed, iloscPrzedmiotow) <- konstruktor List <Przedmiot> listaPrzedmiotow = algorytm.generujPrzedmioty(); string przedmioty = ""; foreach (var przedmiot in listaPrzedmiotow) { przedmioty += przedmiot.getPrzedmiot(); } textPrzedmioty.Text = przedmioty; algorytm.sortujPlecak(listaPrzedmiotow); plecaczek.DodawaniePrzedmiotowDoPlecaka(listaPrzedmiotow); string zawartoscPlecaka = plecaczek.getPlecak(); textBag.Text = zawartoscPlecaka; }
/* 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(); } } }
internal static Bitmap Przetwarzaj(Bitmap bitmap, Algorytmy alg, Biblioteki lib, int watki) { if (bitmap == null) { return(null); } if (watki < 1 || watki > 64) { return(null); } DirectBlurFilter filter = new DirectBlurFilter(bitmap, alg, lib, watki); return(filter.Start()); }
public void calculateTotalspanTest() { KolejkaZadan kolejka = new KolejkaZadan(); kolejka.zadania[0].czasyOperacji[0] = 1; kolejka.zadania[0].czasyOperacji[1] = 3; kolejka.zadania[0].czasyOperacji[2] = 17; kolejka.zadania[1].czasyOperacji[0] = 5; kolejka.zadania[1].czasyOperacji[1] = 1; kolejka.zadania[1].czasyOperacji[2] = 1; kolejka.zadania[2].czasyOperacji[0] = 1; kolejka.zadania[2].czasyOperacji[1] = 1; kolejka.zadania[2].czasyOperacji[2] = 1; int[] kolejnoscZadan = { 1, 2, 3 }; Algorytmy test = new Algorytmy(); int cmax = test.calculateTotalspan(kolejka, kolejnoscZadan); Assert.Equals(cmax, 23); }