Beispiel #1
0
        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++;
        }