private void ZwróćPoprawnąTrasę(Osobnik najlepszy) { if (TSP.SprawdźPoprawnośćTrasy(najlepszy)) { Console.WriteLine("Najlepsza znaleziona poprawna trasa: "); TSP.WyświetlNajlepszego(najlepszy); } else { Console.WriteLine("Znaleziona trasa nie jest poprawna."); } }
public void WykonajIterację(ref List <Osobnik> osobnicy, ref Osobnik najlepszy) { List <Osobnik> rodzice = new List <Osobnik>(); rodzice = TSP.WybierzTurniej(osobnicy, TSP.Instancja.distances, TSP.Instancja.uczestnicyTurnieju); rodzice = TSP.KrzyżujOX(rodzice); rodzice = TSP.Mutuj(rodzice, Osobnik.liczbaMiast, TSP.Instancja.parametrMutacji); foreach (Osobnik o in rodzice) { o.OceńOsobnika(TSP.Instancja.distances); } najlepszy = new Osobnik(TSP.Instancja.ZnajdźMinimumWPętli(osobnicy, najlepszy, TSP.Instancja.licznikGłówny)); osobnicy = rodzice; TSP.Instancja.licznikGłówny++; }