// eşleşme ve çaprazlama işlemi bu fonksiyonda yapılması planlandı.
        // Seçim işlemi için Sıralama Seçimi Ve Elitizim Birlikte Kullanıldı.
        public List <Kromozom> child_olustur()
        {
            int    j = 0;
            double rastgele;
            double rastgele2;

            for (int i = 1; i < popülasyon2.Count; i += 2)
            {
                rastgele2 = rnd.NextDouble();
                if (rastgele2 > çaprazlamaoranı)
                {
                    continue;
                }
                child = new Kromozom();
                for (int k = 0; k < 2; k++)
                {
                    rastgele     = rnd.NextDouble();
                    child.Gen[k] = (rastgele * popülasyon2[j].Gen[k]) + ((1 - rastgele) * popülasyon2[i].Gen[k]);
                }
                popülasyon2.Add(child);
                j += 2;
            }
            popülasyon.Clear();
            popülasyon  = popülasyon2.GetRange(0, popülasyon2.Count);
            popülasyon2 = sırala();
            return(popülasyon2);
        }
 public List <Kromozom> ilkatama()
 {
     for (int i = 0; i < Npop; i++)
     {
         k = new Kromozom();
         for (int j = 0; j < 2; j++)
         {
             k.Gen[j] = (rnd.NextDouble() * (512 - (-512))) + (-512);
         }
         popülasyon.Add(k);
     }
     return(popülasyon);
 }