Esempio n. 1
0
        private void Oblicz(FunkcjaCelu funkcja)
        {
            liczba_baterii = 0;

            do
            {
                liczba_baterii++;
                wartość = funkcja.Oblicz(fenotyp, liczba_baterii);
            } while (wartość == -1);
        }
Esempio n. 2
0
        public static ZachłannyWyniki Oblicz()
        {
            int liczba_miast = Miasta.Liczba_miast;
            List <Współrzędne> lista_współrzędnych = new List <Współrzędne>();

            lista_współrzędnych.AddRange(Miasta.Lista_miast);

            int[] osobnik       = new int[liczba_miast];
            int   indeks_miasta = LosowaKlasa.Los.Next(liczba_miast);

            osobnik[0] = lista_współrzędnych[indeks_miasta].Nr_miasta;
            lista_współrzędnych.RemoveAt(indeks_miasta);

            for (int i = 1; i < liczba_miast; i++)
            {
                indeks_miasta = ZnajdźNajbliższeMiasto(lista_współrzędnych, indeks_miasta);
                osobnik[i]    = lista_współrzędnych[indeks_miasta].Nr_miasta;
                lista_współrzędnych.RemoveAt(indeks_miasta);
            }
            FenotypŚcieżkowo fenotyp = new FenotypŚcieżkowo();
            FunkcjaCelu      funkcja = new FunkcjaCelu();
            int    liczba_baterii    = 0;
            double wartość_funkcji;

            do
            {
                liczba_baterii++;
                wartość_funkcji = funkcja.Oblicz(fenotyp.Oblicz(osobnik.ToArray()), liczba_baterii);
            } while (wartość_funkcji == -1);

            ZachłannyWyniki wynik = new ZachłannyWyniki(liczba_baterii, osobnik);

            Console.WriteLine("Liczba baterii: " + liczba_baterii);
            Console.WriteLine("Czas " + wartość_funkcji);

            return(wynik);
        }