public Chromosome Run() //Genetik algoritmanin akis diyagramina gore adimlari sirayla uygular { LastPopulation.CalculateSurvivalRateOfChromosomes(); //Hayatta kalacaklari belirler. Amac fonksiyonu degerleri burda belirlenir. LastPopulation.CalculateCumulativeRateOfChromosomes(); //Hayatta kalacak ya da olecek kromozomlari belirlemek icin her bir kromozoma hayatta kalma oranina gore kumulatif oran ver LastPopulation.CrossoverChildChromosomes(); //Elenenlerin yerini doldurmak icin hayatta kalan kromozomlar arasinda caprazlama yapar LastPopulation.MutationChildChromosomes(); //Mutasyona ugratir LastPopulation = LastPopulation.ChildPopulation; //Soyun devamliligini saglamak icin child populasyonu son populasyon olarak degistir. return(LastPopulation.ParentPopulation.BestSolution); //Az once islem yapilan populasyondaki kromomlar arasinda amac fonksiyon degeri en iyi olanin degerini parametre olarak gonder. Uygunluk degeri kosulunda kazim amaca ulasildi mi ulasilmadi mi onu kontrol etmek icin lazim. }
public void BeforeGeneration() { LastPopulation.Clear(); }