• Sonuç bulunamadı

4. MATERYAL VE YÖNTEM

4.2. Ağaç-tohum Algoritması

TSA, ağaç ve onların tohumları arasındaki iliĢkiden esinlenen popülasyon tabanlı, sezgisel optimizasyon algoritma olarak 2015 yılında sürekli optimizasyon problemlerinin çözümü için önerilmiĢtir (Kiran, 2015).

Optimizasyon problemleri hem endüstriyel, hem de bilim dünyası için büyük bir önem taĢımaktadır. Gerçek hayat problemlerinin birçoğu optimizasyon problemi olarak karĢımıza çıkmaktadır. Örneğin, zamanlama, çizelgeleme, Ģekil optimizasyonu, telekomünikasyon ağ tasarımı, vb. problemler gerçek dünya optimizasyon problemleridir. Bu pratik optimizasyon problemlerinin çoğu bilimsel test problemi elde etmek için basitleĢtirilmiĢtir. Örneğin, tanınmıĢ gezgin satıcı problemi bunlardan biridir. Genel olarak, herhangi bir optimizasyon problemi (S,Ω,f) Ģeklinde tanımlanabilir. Burada, S arama alanını (search space) ifade etmekte ve karar değiĢkenleri kümesi üzerinde tanımlanmaktadır. Bu değiĢkenlerin ayrık alanlara sahip olduğu durumlar, ayrık optimizasyon (veya kombinasyonel optimizasyon), sürekli alanlara sahip olduğu

durumlar ise sürekli optimizasyon problemleri olarak adlandırılmaktadır. Ω, değiĢkenlerin tabi tutulduğu kısıtlamalar kümesidir. f, S‘in her bir elemanına bir değer atayan amaç fonksiyonudur. Optimizasyon problemlerinde maksat, amaç fonksiyonunun minimize veya maksimize edilmesidir. Yani maksat öyle bir s∈S çözümünün bulunmasıdır ki, f(s)≤f( ), ∀ ∈S (minimize problemleri için), f(s)≥f( ), ∀ ∈S (maksimize problemler için) Ģartları sağlansın (Blum ve Merkle, 2008).

Optimizasyon problemlerinin çözümü için global optimal çözümü garanti eden geleneksel matematiksel teknikler, örneğin, doğrusal programlama metotları, doğrusal olmayan programlama metotları, dinamik programlama metotları mevcuttur. Fakat, gerçek dünya problemleri için bu metotların uygulanmasının birçok dezavantajı bulunmaktadır. Örneğin, karar değiĢkenlerinin sayısının artmasıyla problemin polinom zamanda çözülememesi, amaç fonksiyonunun türevlenebilir olmaması vb. problemler nedeniyle bu metotların uygulanması elveriĢli değildir. Matematiksel tekniklerin bu eksikliklerinin üstesinden gelmek için sezgisel (heuristics) optimizasyon teknikleri önerilmiĢtir. Bu metotlar, optimal veya optimala yakın çözümleri makul bir hesaplama maliyetiyle bulmayı amaçlamaktadır. (Geem ve ark., 2001).

Yunan menĢeli kelime olan ―heuristic‖ ―bulmak‖, ―bilmek‖, ―keĢfetmek‖, ―yol göstermek‖ anlamlarına gelmektedir. Doğadan ilham alan algoritmalar olan sezgisel algoritmalar doğal olayların veya bazı canlıların fiziksel veya biyolojik süreçlerini taklit etmekle 1970‘lerden beri geliĢtirilmeye baĢlanmıĢtır. Bu algoritmaların en bilinenlerine örnek olarak GA, Simulated Anneling, Artificial Ġmmune System, ACO, PSO, Bacterial Foraging Algorithm gösterebiliriz (Rashedi ve ark., 2009). Bununla birlikte, doğal olayların davranıĢlarından esinlenen bu tür algoritmaların geliĢtirilmesine artan ilgi devam etmektedir ve (Hatamlou, 2013), (Mirjalili, 2016), (Kaveh ve Talatahari, 2010), (Mirjalili ve ark., 2016), (Wang ve ark., 2014), (Kiran, 2015) çalıĢmalarındaki yeni geliĢtirilmiĢ sezgisel algoritmalar buna örnektir.

Yeni geliĢtirilmiĢ sezgisel algoritma olan ağaç-tohum algoritması doğal olay olarak tabiatta ağaçların tohum üretmesini, bu tohumların çeĢitli rastsal yönlere yayılmasını ve zamanla bu tohumların büyüyüp yeni ağaçlara dönüĢmesini ele almaktadır. Ağaç-tohum algoritması bu olaydan esinlenerek popülasyon tabanlı, yinelemeli, sezgisel araĢtırma algoritması olarak sunulmuĢtur. Bu algoritmada, ağaçlar ve tohumların konumları problemin olası çözümüdür.

TSA ―stand‖ olarak adlandırılan, ağaçların konumlarından oluĢan baĢlangıç popülasyonunun oluĢturulması ile baĢlatılmaktadır. Daha sonra stand‘de her bir ağaç

için önceden belirlenmiĢ sayıda tohum üretilmektedir. BelirlenmiĢ sayı kadar tohum üretildikten sonra onların en iyisi, üretildiği ağaç ile kıyaslanmakta, eğer tohum üretildiği ağaçtan iyi ise, ebeveyn ağaç stand‘den çıkarılıp, yerine onun en iyi tohumu ilave edilmektedir. Aksi halde ise stand‘de hiç bir değiĢiklik yapılmamaktadır. Bu iĢlemler ġekil 4.6.‘da görselleĢtirilmiĢtir.

ġekil 4.6. TSA‘nın çalıĢma diagramı (Cinar ve Kiran, 2016)

―Stand‖, denklem 4.1. kullanılarak elde edilmektedir.

) ( ,max ,min , min , ,j j i j j j i L r H L T    (4.1)

Burada, Ti,j i‘ci ağacın j‘ci boyutunu, Hj,maxarama alanının üst sınırını, Lj,min arama alanın alt sınırını temsil etmektedir. ri,j [0,1] aralığında rastgele üretilmiĢ bir sayıdır. AraĢtırmanın öz kısmı olan her bir ağacın üretilmiĢ tohumlarını elde etmek için iki denklem (denklem 4.2. ve denklem 4.3.) sunulmuĢtur. Denklem 4.2. ağacın tohumunu elde etmek için en iyi ağaç, ebeveyn ağaç ve stand‘den rastgele seçilmiĢ ağac konumunu; denklem 4.3. ise ebeveyn ağaç ile rastgele seçilmiĢ ağac konumunu kullanmaktadır. Ayrıca, her bir ağaç için üretilen tohum sayısı popülasyonun boyutuna bağlı olarak birden fazla olabilir. Kontrol parametrelerinin farklı değerlerinin TSA‘nın performasına etkisi analizinde, popülasyon boyutunun %10‘u bu sayı için minimum, %25‘i bu sayı için maksimum değer olarak kabul görmüĢtür. Böylece, tohum sayısı, [%10 populasyon boyutu, %25 popülasyon boyutu] aralığından rastgele seçilmektedir.

) ( , , , ,j i j i j j r j k T B T S    (4.2)

) ( , , , , ,j i j i j ij r j k T T T S    (4.3)

Burada, Sk,ji‘ci ağacın k‘cı tohumunun j‘ci boyutunu, Bj en iyi ağac konumunun j‘ci

boyutunu, Tr,j stand‘den rastgele seçilen ağacın boyutunu göstermektedir. i,j

―ölçekleme faktörü‖ olarak adlandırılır ve [-1,1] aralığından rastgele bir sayıdır. Bu denklemlerden hangisinin tohum üretiminde kullanılacağı ―search tendency (ST)‖ olarak adlandırılan kontrol parametresi (ST, [0,1] aralığından seçilmiĢ, önceden belirlenmiĢ olan bir sayıdır) ile seçilmektedir. Eğer [0,1] aralığından seçilmiĢ rastsal sayı ST‘den küçükse denklem 4.2, aksi halde denklem 4.3 kullanılmaktadır. Tohum üretim süreci sonlandırma koĢulu sağlanana kadar devam eder. Sonlandırma koĢulu olarak ise maksimum fonksiyon değerlendirme (Max_Fes) sayısı seçilmektedir (Kiran, 2015; Babalik ve ark., 2018).

Popülasyon tabanlı sezgisel algoritmaların ortak yönleri olan keĢif ve sömürü TSA‘da da göz önünde bulundurulmuĢtur. KeĢif, arama uzayının verimli taranmasını yani arama alanının tamamen yeni bölgelerini ziyaret etme, sömürü ise iyi sonuç etrafında baĢka uygun sonuçlar bulma yeteneğidir. Tüm popülasyon tabanlı sezgisel algoritmalar, farklı yaklaĢımlar ve iĢlemler kullanarak keĢif ve sömürü uygulamaktadırlar. Algoritmanın iyi performans göstermesi için keĢif ve sömürü arasında iyi bir denge kurulmalıdır. TSA‘da bu dengenin kurulması için iki mekanizma kullanılmıĢtır. Birinci mekanizma ST‘yi kullanarak keĢif kabiliyetini geliĢtirmeyi, ikinci mekanizma ise birden fazla tohumun üretilmesiyle sömürü kabiliyetini geliĢtirmeyi amaçlamaktadır (Rashedi ve ark., 2009; Črepinšek ve ark., 2013; Kiran, 2015).

TSA ilk defa sürekli optimizasyon problemlerinin çözümü için sunulmuĢtur. Daha sonra literatürde çeĢitli versiyonları tanıtılmıĢtır. Örneğin, kısıtlı optimizasyon problemlerini çözmek için (Kıran, 2016; Babalik ve ark., 2018), ikili optimizasyon için (Cinar ve ark., 2018; Cinar ve Kiran, 2018) ve diğer araĢtırma alanlarını kapsayan çalıĢmalar (Cinar ve Kiran, 2016; Muneeswaran ve Rajasekaran, 2016; Kiran, 2017; Muneeswaran ve Rajasekaran, 2017) yapılmıĢtır. Otomatik programlama için yeni versiyonu TSp ise aĢağdaki bölümde anlatılmıĢtır.

Benzer Belgeler