• Sonuç bulunamadı

Her nesilde, elitizm, seçim, çaprazlama ve mutasyon genetik işlemleri meydana gelmektedir. Kullanılan operatörler şu şekildedir:

Elitizm operatörü: Elitizm, en iyi kromozomun kaybolmasını önlemede ve her nesilde kademeli olarak kromozom setini geliştirmede faydalıdır. Evrim esnasında en iyi kromozomun kaybolmasını önlemek için, en iyi kromozom tanımlanır ve kaydedilir. Amaç, tüm evrim boyunca en iyi bireyin elde tutulmasını sağlamaktır. Elitist strateji, sadece uygun bireylerin genetik operasyonlar tarafından zarar görmesini engellemek için değil ayrıca genetik algoritmanın bütünsel yakınsamasını sağlamak için de

uygulanmaktadır (Sun ve ark., 2012). Hızlı yakınsamayı önlemek ve kromozomlar arasındaki çeşitliliği arttırmak için bu çalışmada sadece bir elit birey bir sonraki nesle aktarılmıştır.

Seçim operatörü: Seçim aşamasında, bir grup birey mevcut popülasyondan seçilir ve eşleşme havuzuna aktarılır. Seçim operatörünün amacı, iyi bireyleri korumak ve kötü olanları nesilden nesle yok etmektir (Oĝuz ve Ercan, 2005). Turnuva seçim tekniği, rulet tekeri seçim tekniği, sıralama (ranking) seçim tekniği, kesme (truncation) seçim tekniği, stokastik seçim yönetimi gibi literatürde birçok seçim tekniği bulunmaktadır. Bu çalışmada, turnuva büyüklüğünü kolayca değiştirerek seçim baskısını kontrol edebilmeyi sağlayan turnuva seçim tekniği uygulanmıştır. Küçük turnuva büyüklüğü düşük bir seçim baskısına neden olurken büyük turnuva büyüklüğü de büyük baskıya neden olmaktadır. Eğer turnuva büyüklüğü büyükse, zayıf bireylerin seçilme şansı daha küçük olacaktır. Turnuva seçim tekniği; verimli kodlama yapma, seçim baskısını kolayca ayarlayabilme ve popülasyondaki tüm bireyler arasında uyum fonksiyonunu karşılaştırma işlemi yapmayı gerektirmeme avantajlarına sahiptir. Bu sadece evrimleşmeyi hızlandırmakla kalmaz aynı zamanda algoritmayı paralel hale getirmenin kolay bir yolunu da sağlamaktadır (Banzhaf ve ark., 1998).

Turnuva seçiminde, iki ya da daha fazla birey turnuva oynamak üzere rassal olarak seçilir. Turnuvada bireylerin uyum fonksiyonları karşılaştırılır ve en iyi uyum değerine sahip olan birey, yeni nesle aktarılmak için seçilir (Gopalakrishnan ve Kosanovic, 2015).

Çaprazlama operatörü: Çaprazlama operatörü, ebeveyn bilgisine dayalı yeni bireyler (yavrular) üretmek için benimsenmiştir. Çaprazlama, çeşitlendirme için bir mekanizmadır. Amaç, rassal seçilen iki bireyin bir sonraki nesil için yeni birey oluşturmasıdır (Gopalakrishnan ve Kosanovic, 2015)

Çoklu makine çizelgeleme problemi, kaynak ayırma, karesel atama problemi gibi optimizasyon ve sıralama problemlerine çözüm bulmaya çalışan genetik algoritma, ebeveynlerden uygun yeni bireyler oluşturmada güçlük çekebilmektedir. Özellikle

çaprazlama sonucu olursuz çözüm elde etme olasılığı, rassal anahtar (random keys) olarak adlandırılan güçlü bir gösterim tekniğiyle ortadan kaldırılmaktadır. Bu teknik ile ek bir onarma işlemi gerekmeden tüm yeni bireylerin uygunluğu garanti edilmektedir (Bean, 1994). Bu çalışmada, yaygın olarak kullanılan tek nokta çaprazlama operatörü kullanılacaktır. Tek nokta çaprazlama operatörü iki aşamadan oluşmaktadır. İlk olarak, iki ebeveyn kromozom rassal olarak seçilir. Daha sonra her bir çift kromozom için 1 ile kromozom uzunluğu l arasında rassal olarak tamsayı bir k pozisyonu seçilir. İki yeni kromozom, k+1 ile kromozom uzunluğu l’nin arasındaki tüm genlerin yer değiştirilmesiyle oluşturulmaktadır (Magalhães-Mendes, 2013).

Seçim operatöründen sonra, seçilen ebeveynler bir havuzda eşleme yapmak üzere toplanır. Hangi ebeveynlerin eşleneceğine karar vermek için popülasyondaki her bir ebeveyn için [0,1) arasında rassal ondalık sayılar üretilir ve rassal ondalık sayılar artan sırada sıralanır. Sıralanan sayılar soldan itibaren ikişerli olmak üzere eşlenirler. Bu işlem, genetik algoritmaya çeşitlendirme sağlamaktadır. Örneğin, popülasyon sayısı 10 olan bir algoritma için eşleme yapılacak ebeveynler, Şekil 4.8.’deki gibi belirlenebilir. Şekil 4.8.’de görüldüğü gibi ebeveynler sıralanmış rassal sayılara göre artan sırada sıralanmış ve ikili olarak eşleşmiştir. 4. ve 8. ebeveyn, 10. ve 1. ebeveyn, 9. ve 2. ebeveyn, 3. ve 7. ebeveyn ve son olarak da 6. ve 5. ebeveyn eşlemişlerdir. Eşleşen ebeveynlere çaprazlama operatörü uygulanacaktır.

Şekil 4.8. Popülasyondaki ebeveynlerin eşleşmesine örnek gösterim

Rassal anahtar gösterimi, rastgele sayılar içeren bir çözümü kodlamaktadır. Bu değerler, anahtarları sıralamada kullanılmaktadır. Rassal anahtarlar, çözümü temsil eden kromozal kodlamayı kullanarak yeni birey için uygunluk problemini ortadan kaldırmaktadır. Kromozomlar, [0,1) aralığında rassal üretilen gerçek sayıların vektörü olarak temsil edilmektedir. GA, gerçek uzay yerine bu uzay alanını araştırmaktadır.

Rassal anahtar uzayındaki noktalar, değerlendirilmesi için gerçek uzaydaki noktalarla eşlenmektedir. Şekil 4.9., rassal anahtarlar sürecini tasvir etmektedir. Bu nedenle, rassal anahtar yaklaşımı 0-1 ikili kodlamaya (binary encoding) benzememektedir. Anahtar uzayında rastgele sayıların üretilmesi, genetik algoritma ile birlikte rassal arama mantığı kullanmaktadır. Bu tip bir rassal arama, ikili kodlama sisteminde meydana gelmez. Rassal anahtarların önemli özelliği, çaprazlama ile oluşan tüm yeni bireylerin uygun çözümler olmasıdır (Bean, 1994).

Şekil 4.9. Rassal anahtarlar süreci

Örneğin, 5 işe sahip bir problem ele alınsın. Kromozom uzunluğu, beş olacaktır. Bu nedenle, her bir kromozom için [0, 1) arasında rassal beş sayı üretilir. İş sırasına eşleme, rassal sayıların sınıflanmasıyla ve işlerin artan sırada sıralanmasıyla gerçekleştirilmektedir. Eğer elde edilen rassal sayılar (0.46, 0.91, 0.33, 0.75, 0.51) ise, rassal sayıların sıralaması 0.33 < 0.46 < 0.51 < 0.75 < 0.91 olacağı için kromozom (iş sırası) (3, 1, 5, 4, 2) şeklinde olacaktır (Gonçalves ve Resende, 2013; Huang ve ark., 2012; Lalla-Ruiz ve ark., 2014; Ruiz ve ark., 2015; Xiao ve ark., 2016).

Çaprazlama operatörü, operasyon sıralama vektörü üzerine uygulanmıştır. Operasyonlardaki öncüllük-ardıllık kısıtı nedeniyle rassal anahtarlar gösterimi ile tek nokta çaprazlama gösterimi bu problem için uygun olduğu görülmüştür. Böylece oluşan yeni bireyler için olursuz çözümler ortadan kaldırılmıştır. Şekil 4.10.’da anahtarlar, [0,1) aralığında rassal ondalık sayılardır. Anahtarlar, sadece işler için üretilmiştir. Tek nokta çaprazlama operatörü, rassal anahtarlar kromozom gösterimine uygulanmıştır. Sayısal örnek 2 için rassal anahtarlar gösterimi ile tek nokta çaprazlamaya ilişkin bir gösterim (l=13, k=11) Şekil 4.10.’da yer almaktadır.

Şekil 4.10. Önerilen kromozom yapısı için rassal anahtarlar ile tek nokta çaprazlama gösterimi

Ebeveynlere çaprazlama operatörü uygulandıktan sonra anahtarlar artan sırada sıralanır. Çocuk 1 kromozomu için iş sırası detaylı bir şekilde ele alınacak olursa 0.0262 değeri en küçük anahtar değeridir ve bu anahtarın kromozomdaki ilgili alel değeri 4’tür. İkinci en küçük anahtar değeri 0.1135’tir ve bu anahtarın da kromozomdaki ilgili alel değeri 3’tür. Bu işlem, rassal anahtar gösterimindeki son anahtara kadar devam eder. Şekil 4.11.’de çocuk 1 kromozom iş sırasının nasıl oluştuğuna dair detaylı bir gösterim verilmiştir.

Şekil 4.11. Çocuk 1 kromozomu iş sırası kodunun çözülmesi için örnek gösterim

Mutasyon operatörü: Mutasyon operatörü, popülasyon çeşitliliğini artırmak ve çözümün belli noktalara takılma olasılığını azaltmak için kullanılan yeni çözümler üretmenin ve keşfetmenin başka bir yoludur. Mutasyon operatörü, seçilen bireylere

Pmu olasılığı ile uygulanmaktadır. Bununla birlikte, bu işlem oluşturulmuş neslin elverişli durumunu bozabileceği için küçük bir olasılık değeri seçilmelidir (Piroozfard ve ark., 2016).

Mutasyon operatörü olarak değiş-tokuş konumlu mutasyon (Swap Position Mutation-SPM) operatörü kullanıldı. Bu operatöre göre rastgele iki gen seçilmektedir ve rassal üretilen bir olasılık, belirlenen olasılıktan büyükse bu operatör, seçilen bu iki genin pozisyonlarını Şekil 4.12.’de görüldüğü gibi değiştirmektedir.

Şekil 4.12. Değiş-tokuş pozisyon mutasyon operatörüne bir örnek