8 Kasım 2023 Çarşamba

MATLAB ORTAMINDA GENETİK ALGORİTMA METODU İLE OPTİMİZASYON ÖRNEĞİ

MATLAB ORTAMINDA GENETİK ALGORİTMA METODU İLE OPTİMİZASYON ÖRNEĞİ 

1. Aşama: Başlangıç popülasyonunun oluşturulması ile kodlamaya başlanır ve popülasyonda yer alan kromozomların uygunluk değerleri hesaplanır.

2. Aşama: Doğal seçilimin uygulanır ve bu seçilim sonucunda hayatta kalan bireyler belirlenir. (Bu aşamada rulet çarkı yöntemi kullanılmıştır, rulet çarkında yönteminde hedef maksimizasyondur; ancak çalışmamızda hedef minimizasyon olduğu için uygunluk değerlerinin çarpmaya göre tersi alınmıştır.)


Görüldüğü gibi uygunluk değeri en düşük olan kromozomun olasılığı en yüksektir. Rulet çarkı tekniğinde birikimli olasılıktan faydalanacağımız için, her kromozomun olasılığının bir önceki kromozomun olasılığı ile toplanması gerekir.


Hangi kromozomun hayatta kalacağının belirlenmesi için atanan rastsal değerin birikimli olasılıktan küçük olduğu ilk kromozomun tespit edilmesi gerekir.

Gerçekleştirilen doğal seçilimin sonucu oluşan ara popülasyon aşağıda görülmektedir: Bu sonuca göre 1. kromozomdan iki adet, 2. kromozomdan bir adet, 4. kromozomdan ise yine bir adet ara popülasyonda yerini almaktadır. En iyi uygunluk değerine sahip 3. kromozom ara popülasyonda yer bulamamıştır. Ancak iterasyon sayısı arttıkça en uygun kromozomun hayatta kalma olasılığının artacağı da unutulmamalıdır. Not: Genetik Algoritmada doğal seçilimden çıkan ara popülasyon, ebeveynlere karşılık gelmektedir.

3. Aşama: Çarprazlanacak çiftlerin belirlenir, bunun için tek noktadan veya çift noktadan gen transferi gerçekleştirilebilir.

Çarprazlanacak çiftler belirlendikten sonra çarprazlama noktası belirlenir ve kromozomlar arasında karşılıklı gen alışverişi sağlanır.

Çarprazlama sonucu oluşan ara popülasyon aşağıdaki gibidir. Görüldüğü gibi, 2. ve 3. Kromozomlar aralarında çarprazlama gerçekleşmiştir. 

NOT: Genetik Algoritmada çarprazlamadan çıkan ara popülasyon, çocuklara karşılık gelmektedir.


4. Aşama: Çarprazlama sonucunda oluşan ara popülasyonda yaşanabilecek mutasyonu tespit ederken değer bazlı bir kodlama gerçekleştirilir. Öncelikle ara popülasyonun satır ve sütun sayıları ile aynı formda bir rassal sayı atanır ve gen başına düşen mutasyon olasılıkları dikkate alınır. Mutasyon olasılığı 0.001 ile 0.1 arasında değişmektedir. Rassal sayı atandıktan sonra gen gen inceleme yapılır ve mutasyon olasılığından düşük olan gen mutasyona uğrayacaktır.


Ardından her satır ve sütun için yapılan mutasyon olasılığı incelemesi sonucunda mutasyona uğrayacak gen için (rassal sayı)*(komşuluk payı)*(aralık) işlemi neticesinde mutasyon gerçekleştirilir.


5. Aşama: Yeni neslin belirlenmesi için belirli bir iterasyon süreci boyunca hem en uygun amaç fonksiyonu değeri hem de bu değeri sağlayan çözüm(yani:satır) tespit edilmelidir.


6. Aşama: En iyi çözüm satırı (yani en optimize kromozom) ve bu en iyi çözüme karşılık gelen en iyi değer (yani kromozomun optimize uygunluk değeri) iterasyon boyunca bulunur ve tespit edilir.


SONUÇ: Problem boyutu (psize:satır sayısı) ve değişken sayısına (d:sütun sayısı) bağlı olarak oluşan en iyi çözüm ve en iyi değer sonuçları aşağıda görüldüğü gibidir.


Faydası olması dileğiyle…


LinkedIn: www.linkedin.com/in/onurbağdat

https://www.youtube.com/channel/UCFwypXAxZScWxb7St8xWh9g

Hiç yorum yok:

Yorum Gönder