• Sonuç bulunamadı

Tabaka 4: Bu tabakada, her bir düğümün model çıktısına katkısı hesaplanır.

7. GENETİK ALGORİTMA İLE YAKIT OPTİMİZASYONU

7.1. Genetik Algoritmalar

7.1.1. Tek Amaçlı Genetik Algoritmalar

Genetik algoritmalar (GA), yönlendirilmiş rasgele araştırma algoritmalarının bir türü olup, canlılardaki doğal gelişim prensibine dayanmaktadır. Daha çok karmaşık optimizasyon problemlerinin çözümünde kullanılmaktadır. Bir problemi çözebilmek için öncelikle rasgele başlangıç çözümleri belirlenir. Daha sonra bu çözümler birbiri ile eşleştirilerek performansı daha iyi çözümler üretilmeye çalışılmaktadır. Olaslıksal karakterleri ve çoklu mümkün çözümleri araştırma gibi özelliklere sahip olmaları en önemli üstünlüklerindendir. Bir GA’nın temel birimleri Şekil 7.1’de gösterilmiştir.

Şekil 7.1 Genetik algoritmanın temel birimleri

GA’da araştırma uzayında bulunan bazı çözümlerin oluşturduğu bir başlangıç yoğunluğu kullanılır. Bu başlangıç yoğunluğu her kuşakta, doğal seleksiyon ve tekrar üreme işlemleri yoluyla geliştirilir. Son kuşağın en uygun bireyi, problem için en iyi çözüm olmaktadır.

Başlangıç yoğunluğunun üretilmesini takiben, her çözümün uygunluğu veya iyiliği, seçilen uygunluk fonksiyonuna göre değerlendirilir. Uygunluk fonksiyonu, eldeki verileri dikkate alarak sonuçları değerlendirir. Seçme, çaprazlama ve mutasyon gibi genetik operatörler, elde edilen iyi çözümlerden denenmiş yeni çözümler üretmek için kullanılırlar.

Birçok seçme operatörü vardır. Bu operatörlerden ekilmiş (seeded) seçme, daha iyi çözümlere, daha fazla yaşama şansı veren yeni bir yoğunluk için çözüm anındaki yoğunluktan seçme işlemini gerçekleştirir (MMO 2007). Rasgele (random) seçme, o andaki elde edilen çözümlerden tamamen rasgele olarak yeni bir yoğunluk oluşturur. Seçkin (elite) seçme operatörü ise, her zaman en iyi çözümü bir kuşaktan diğerine kopyalar. Rasgele popülasyon Uygunluk Fonksiyonu Uygunluk Ölçekleme En iyi kromozom Seçim Çaprazlama Mutasyon Yeniden Üretim

GA’da bir problem için birçok çözüm olabilir. GA bunlar içerisinden en iyisini bulmaya çalışır. Kromozomlar bu çözümleri gösterirler. Bir kromozomun elemanlarından her birisi çözümün bir özelliğini göstermektedir. Bunlara da gen denilir. Bir kromozomun ikili sayılarla temsil edilmesi şu şekildedir:

Kromozom 1 1101100100110110 Kromozom2 1101111000011110

Kromozom, temsil ettiği çözümle ilgili bilgi içermelidir. Her kromozom ikili (binary) bir diziden oluşur. Bu dizi içindeki bit adı verilen her bir sayı çözümün bir karakteristiğini temsil edebilir veya bir dizi bütünüyle bir sayıya işaret edebilir. Kromozomu ikili düzendeki sayılar dizisiyle ifade etmek çok tercih edilen bir temsil şeklidir, ancak bunun yerine tamsayı veya reel sayılar da kullanılabilir. İkili düzenin tercih edilmesinin sebebi basit olması ve bilgisayar tarafından daha kolay ve hızlı bir biçimde işlenebilmesidir.

Bir problemin en iyi çözümünü aramak için kullanılan ve rasgele belirlenmiş başlangıç çözüm setine çözüm havuzu denilmektedir. Problem çözüm havuzunda bulunan çözümleri (kromozomları) ikişer ikişer birleştirerek yeni çözümler üretmektir. İki kromozomdan iki adet yeni kromozom üretilir. Bir problem çözüm uzayından kaç adet kromozomun çaprazlanacağı çaprazlama oranına göre belirlenir. Kromozomların nasıl temsil edileceğine karar verildikten sonra çaprazlama yapılabilir. Çaprazlama ebeveynlerden bazı genleri alarak yeni bireyler oluşturma işlemidir.

Kromozom 1 11011 | 00100110110 Kromozom 2 11011 | 11000011110 Birey 1 11011 | 11000011110 Birey 2 11011 | 00100110110

Çaprazlama yapılacak konum rasgele seçilir ( | ). Oluşan yeni birey ebeveynlerin bazı özelliklerini almış ve bir bakıma ikisinin kopyası olmuştur.

Çaprazlama işlemi başka şekillerde de yapılabilir. Mesela birden fazla çaprazlama noktası seçilebilir. Daha iyi performans almak amacıyla değişik çaprazlamalar kullanılabilir. Çaprazlama neticesinde farklı çözümlere ulaşmak bazen zor olmaktadır. Yeni çözüm aramanın kolaylaştırılması ve aramanın yönünü değiştirmek amacı ile bir kromozomun bir elemanının (bir geninin) değiştirilmesi işlemidir. Bir problem havuzu içinden kaç kromozomun mutasyona uğratılacağı mutasyon oranına göre belirlenir. Mutasyon oluşan yeni bireyin bir bitini (eğer ikili düzende ifade edilmiş ise) rasgele değiştirir.

Orijinal Birey 1 1101111000011110 Orijinal Birey 2 1101100100110110 Değişmiş Birey 1 1100111000011110 Değişmiş Birey 2 1101101100110110

Belirlenen çözümlerin uygunluk derecelerinin ölçülmesini sağlayan fonksiyondur. Her problem için bir uygunluk fonksiyonunun belirlenmesi gerekir. Bu fonksiyon probleme göre değişmektedir. Birçok problemde uygunluk fonksiyonu elde edilen sonuç ile tahmin edilen sonuç arasındaki hatadan bulunmaktadır. Örneğin, bir iş sıralanması probleminde belirlenen sıraya göre işlerin tamamının bitirilmesi zamanı uygunluk fonksiyonu ölçütü olarak belirlenebilir. En kısa zamanda işi bitiren iş sırasının belirlenmesi istenir. İşlerin toplam bitirilme zamanı azaltıldığı sürece daha farklı iş sıralarının aranmasına devam eder. Sürenin en aza indirildiği noktada en iyi çözüm bulunmuş olacaktır. Sınıflandırma problemlerinde ise uyguluk fonksiyonu, sisteme verilen giriş değerlerinden elde edilen çıkış değerinin istenen çıkış değerine ne kadar yakınsadığına bakılarak belirlenebilir. İstenen değerlere en yakın değerler üreten genetik parametreler uygunluk fonksiyonunu oluşturmaktadır.

Çözüm havuzundaki kromozomlar çaprazlama ve mutasyon neticesinde üretilen yeni kromozomlar nedeni ile çoğalacaktır. Bunların arasından problem havuz büyüklüğüne göre kromozomlar seçilerek diğerleri atılır. Seçilenler ise bir sonraki nesil için yeniden çaprazlanarak gelecek çözümleri üretirler. Seçim işleminde bireylerin uygunluklarına bakılarak en iyi bireyler bir sonraki üretime dahil edilirler.

En kötü bireyler ise atılırlar. Yeniden üretim için kullanılan en yaygın yöntem Rus Ruleti yöntemidir. Bu yöntemde yeni havuz üyeleri rulet mantığı ile seçilirler. Rulet tekerleğinin rasgele döndürülmesinden sonra, bireyin bir sonraki nesil için seçilmesi, tekerlek üzerinde kapladığı alana bağlı olarak değişir. Bu yöntemde düşük uygunluğa sahip bireylere de seçilme hakkı verilir. Bir diğer seçim yöntemi olan sıralama (rank) yönteminde ise populasyonun sıralanmasının ardından kromozomların uygunluğuna bakılır. Bu yöntemde en uygun kromozomlarda değişiklik yapılmadığından seçme işlemi daha yavaş olmaktadır.

Populasyon büyüklüğünün seçimi, GA’nın performansını etkileyen en önemli rollerden birisidir. Populasyon büyüklüğünün çok küçük seçilmesi algoritmanın bir eşikte takılıp kalmasına yol açabilmektedir. Bunun tersine populasyon büyüklüğü çok büyük değerde seçilirse en iyi çözüme ulaşmak çok fazla süre alacaktır. Bu konuda yalnızca kromozom uzunluğuna bağlı bir populasyon büyüklüğü hesaplama yönteminin daha uygun olduğu önerilmektedir. Bunun yanı sıra test fonksiyonları üzerine yapılan araştırmalar sonucunda, 10-30 arası bir populasyon büyüklüğünün iyi sonuçlar verdiği belirtilmiştir .

GA içerisinde kromozomlar birbirine benzemeye başlıyorsa ve çözüm noktalarına hala ulaşılamıyorsa o halde mutasyon işlemi uygulanır. Böylece hesaplama süreci takıldığı yerden kurtulabilir. Ancak, yüksek değerde bir mutasyon olasılığı algoritmanın daha az kararlı olmasına sebep olabilir. Bir diğer deyişle mutasyon olasılığı artarsa, genetik arama rastsal bir aramaya dönüşür. Mutasyon olasılığı genellikle 0 ile 1 arasında bir değerde seçilir. Mutasyon işlemi populasyondaki genetik çeşitliliğin korunmasına yardımcı olmaktadır. Mevcut kromozomların özelliklerini birleştirerek daha uygun kromozomların elde edilmesi işlemine çaprazlama denmektedir. Kromozom çiftleri, belirli bir olasılık değeriyle çaprazlamaya uğramak üzere seçilirler. Ancak çok fazla çaprazlamanın yapılması bazı iyi kromozomların bozulma olasılığını arttırmaktadır. Çaprazlama olasılığı genellikle 0 ile 1 arasında seçilmektedir (Emel ve Taşkın 2002).

Benzer Belgeler