private void Oblicz(FunkcjaCelu funkcja) { liczba_baterii = 0; do { liczba_baterii++; wartość = funkcja.Oblicz(fenotyp, liczba_baterii); } while (wartość == -1); }
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); }