• Sonuç bulunamadı

1. GENEL BİLGİLER

1.8. Yapay Arı Kolonisi Algoritması (YAK)

Kuş sürülerinin havada süzülmeleri ve farklı şekiller almaları, karıncaların yiyecek aramaları, balık sürülerinin beraberce yüzmeleri ve kaçışmaları, bal arılarının danslarla

haberleşmeleri gibi sürü halinde gerçekleştirilen davranışların keşfedilmesiyle bilgisayar uzmanları bu sürülerin davranışları ve davranışlarının modellenmesi arasındaki iletişim mantığının üzerine çalışmalar yapmaya başlamışlardır. Bu çalışmalar, sürülerin davranışlarının sistem ve modellere uyarlandığı sürü zekası adı verilen yaklaşımların gelişmesine yol açmıştır.

Arıların davranışlarına dayalı sürü zekası yaklaşımları 2000’li yılların başlarında başlamıştır. Bilim insanları arıların kraliçe arı benzetim modellerine, dans davranışlarına, görev paylaşımlarına, yuva yeri seçimlerine, üreme süreçlerine, yol bulma davranışlarına ve yiyecek kaynakları araştırma davranışlarına dayalı modeller geliştirmişlerdir (Akay, 2009). Türkiye’de ise, Karaboğa 2005 yılında bal arılarının yiyecek arama davranışlarını modelleyerek YAK algoritmasını geliştirmiştir (Karaboğa, 2005). Belli bir ahenk ve düzen içerisinde kendilerine kaynak arayan bal arılarının davranışlarından esinlenilerek nümerik optimizasyon problemlerinin çözümü için geliştirilen YAK algoritması çok parametreli nümerik fonksiyonların optimizasyonunda kullanılmış; sınırlamasız problemlerde literatürde yaygın kullanılan genetik algoritma ve diferansiyel gelişim algoritmalarına karşı başarısı Karaboğa, Akay ve Öztürk tarafından ortaya konmuştur (Karaboğa, 2005; Akay, 2009; Öztürk, 2011).

1.8.1. Yapay Arı Kolonisi Algoritmasının Çalışması

YAK algoritmasında her bir çevrim (döngü) görevli ve gözcü arıların kaynaklara gönderilerek kaynaklarındaki yiyecek miktarlarının belirlenmesi, kaşif arıların çıkıp çıkmayacağının tespit edilerek çıkmaları durumunda bunların muhtemel yeni kaynaklara gönderilmesini içeren üç temel adımdan oluşur. Modelde, kaynakların yerleri çözülmek istenen problem için muhtemel çözümleri, kaynakların miktarları da bu çözümlerin kalitesini temsil etmektedir. Kaynak miktarının yüksek olması yani çözümün kaliteli olması, gözcü arıların bu kaynağa yönelme ihtimallerini arttırmaktadır. YAK algoritmasında ortaya çıkacak kaşif arı sayısı “limit parametresi” ile kontrol edilmektedir. Eğer bir kaynağı temsil eden çözüm belli bir sayıda denemenin ardından hala iyileştirilemiyorsa o kaynak arısı tarafından bırakılır ve bu görevli arı kaşif arıya dönüşür. Çözümleri geliştirme esnasında müsaade edilen başarısız denemelerin sayısı her çözüm için o çözümün geliştirememe sayacı ile kontrol edilir (Öztürk, 2011; Uzlu vd. 2014) .

Başlangıç yiyecek kaynaklarını oluştur (Başlangıç pozisyonları) REPEAT

Görevli arıları kaynaklarına gönder ve kaynaklardaki yiyecek miktarlarını belirle

Kaynakların gözcü arılar tarafından tercih edilme ihtimallerini hesapla

Gözcü arıları seçtikleri kaynaklara gönder ve yiyecek miktarlarını belirle

Arıların gitmekten vazgeçtiği kaynağa gidişleri durdur

Kaşif arıları rasgele olarak yeni kaynak aramak üzere gönder En iyi çözümü sakla

UNTIL (gereksinimler karşılanana kadar)

YAK algoritmasının temel aldığı modelde her bir kaynağın nektarı sadece bir görevli arı tarafından alınır yani görevli arıların sayısı toplam yiyecek kaynağı sayısına eşittir. Gözcü arıların sayısı da görevli arı sayısına eşittir. Algoritma ilk adımda rasgele dağılmış çözüm popülasyonunu aşağıdaki eşitlik aracılığıyla üretir:

j min

x , j. j j j

ij min max min

x x rand(0,1)(x x ) (61)

Burada, xipopülasyonda bir çözümü göstermekte, i=1,2,..SNve SN popülasyonun boyutunu, j=1,2,.Dve D optimizasyon parametre sayısını temsil etmektedir. Parametreler için j

min

x , j. parametrenin alt sınırı ve xmaxj ise j. parametrenin üst sınırıdır.

YAK algoritmasının başlangıç aşamasında çözümlerin rasgele oluşturulmasından sonra görevli arı, gözcü arı ve kaşif arı süreçlerinden geçirilerek çözümler iyileştirilmeye çalışılır.

1.8.2. Görevli Arıların Yiyecek Kaynağı Bölgelerine Gönderilmesi

YAK algoritmasında her bir kaynağın bir görevli arısı bulunduğundan yiyecek kaynaklarının sayısı görevli arıların sayısına eşittir. Görevli arı hafızasında yiyecek kaynağı ile ilgili bilgileri tutar. Bunlar kaynağın pozisyonu (çözüm), nektar miktarı (fitness değer) ve yeni kaynak (yeni çözüm) bilgilerinden oluşur. Görevli arı hafızasında bulunan yiyecek kaynağı komşuluğunda yeni bir yiyecek kaynağı belirler ve bunun kalitesini değerlendirir. Eğer yeni kaynaktaki nektar miktarı eskisinden daha çok ise arı hafızasından eski kaynak bilgilerini siler ve yeni kaynak bilgilerini hafızasına alır. Yeni kaynağın mevcut kaynak komşuluğunda belirlenmesi aşağıdaki eşitlik ile yapılır:

ij ij ij ij kj

v x   (x x ) (62)

Burada xijher bir çözüm için çözümün tek bir parametresinin (rasgele seçilen parametresi, j) değiştirilerek xi komşuluğunda vi çözümünün bulunmasını temsil eder. Eşitlikte j. parametre [1,D] aralığında rasgele üretilen bir tamsayı ile belirlenir. Görevli arıların komşuluk bilgileri ile çözümler üretmesi (yeni kaynaklar araması) işleminde üretilen vij’nin önceden belirlenen parametre sınırlarını aşması durumunda j. parametreye ait olan alt veya üst sınır değerlerine aşağıdaki eşitlik ile ayarlama yapılır:

min min j ij j min max ij ij, j ij j max max j ij j x , v x v v x v x x , v x          (63)

Görevli arıların ürettikleri yeni çözümler (vi) yeni bir kaynağı temsil eder. Bu kaynakların kalitesi hesaplanır ve aşağıdaki eşitlik ile uygunluk değerleri atanır:

i i i i i 1/ (1 f ), f 0 fit 1 abs(f ), f 0          (64)

Burada, fi, vi kaynağının yani çözümünün maliyet değeridir. Görevli arılar mevcut xi çözümleri ile muhtemel vi çözümleri arasında nektar miktarlarına yani uygunluk değerlerine göre bir aç gözlü seçme işlemi gerçekleştirirler. Yeni bulunan vi çözümü daha iyi ise görevli arı hafızasından eski çözümü silerek vi çözümünden daha iyi ise xi çözümünü hafızasında tutmaya devam eder ve xi çözümü ile ilgili geliştirememe sayacını bir artırır (Öztürk, 2011; Uzlu vd. 2014a) .

1.8.3. Gözcü Arıların Yiyecek Kaynağı Bölgesi Seçmeleri

Görevli arılar kovana döndüklerinde elde ettikleri bilgileri kovanda bekleyen gözcü arılara aktarırlar. Gözcü arılar tüm görevli arıların verdiği bilgileri izledikten sonra

kaynakları nektar miktarlarının oranlarına bağlı olarak aşağıdaki eşitlik aracılığı ile hesaplanan olasılık değerlerine göre seçerler:

i i SN n n 1 fit p fit

(65)

Burada, fiti, i. kaynağın nektar miktarı yani uygunluk değeri, SN yiyecek kaynağı sayısını göstermektedir. Bu olasılık hesaplama işlemine göre bir kaynağın uygunluk değeri arttıkça bu kaynak bölgesini seçecek gözcü arı sayısı da artacaktır. Temel YAK algoritmasında gözcü arılar kaynakları rulet tekerleği yöntemiyle seçerler: her bir kaynağın uygunluk değeri, tüm kaynakların uygunluk değerlerinin toplamına bölünerek her bir kaynağın seçilme ihtimali hesaplanır. Bu sayede uygunluk değeri nispi olarak fazla olan kaynağın gözü arılar tarafından seçilme ihtimali yüksek olmaktadır.

Her bir aday kaynak pozisyonu vi üretildikten sonra performansı eski pozisyon xi ile karşılaştırılır. Eğer yeni kaynaktaki nektar miktarı öncekinden çok ya da öncekine eşit ise eski kaynağın hafızadaki yerini belirlenen yeni kaynak alır. Aksi taktirde önceki kaynak pozisyonu hafızada tutulmaya devam eder. Başka bir ifadeyle, gözcü arılar da görevli arılar gibi eski ile aday kaynak arasında aç gözlü seçme mekanizmasını kullanırlar(Öztürk, 2011; Uzlu vd. 2014).

1.8.4. Kaşif Arıların Yeni Kaynakları Keşfi

YAK algoritmasında her çevrimde tüm görevli ve gözcü arılar arama işlemlerini tamamladıktan sonra iyileştiremedikleri çözümler için geliştirilememe sayacını bir artırırlar. Ancak herhangi bir aşamada çözümde iyileşme kaydedilirse sayaç başlangıç değerine getirilir yani sıfırlanır. Her bir çözüm için geliştirilememe sayacı tutulur her döngüde görevli arı da gözü arı da o çözümü geliştiremezse sayacı 1 artırırlar. Eğer ki, bir çözümün sayaç değeri verilen eşik değeri (limit parametresi değeri) üzerine çıkarsa bu çözüm artık “tükenmiş” kabul edilir ve o çözümün görevli arısı tarafından terk edilir. Nektarı tükenen kaynağın görevli arısı kaynağını değiştirmek üzere kaşif arı olur ve terk edilecek kaynak xi kabul edilirse, kaşif arı xi ile değiştirmek üzere rasgele olarak 61 no’lu eşitlik aracılıyla üretilecek yeni kaynağı keşfetmektedir.

Popülasyondaki çözümlere (xi ) ilk değerlerini 61 no’lu eşitliği kullanarak ata Popülasyonu değerlendir

cycle=1 Repeat

FOR her görevli arı için

Eşitlik 62’yı kullanarak yeni aday çözüm vi üret

Üretilen yeni çözümün uygunluk değerini hesapla

Aç gözlü seçme işlemini uygula

Görevli arıların hafızasındaki çözümler için pi seçilme olasılıklarını 65 no’lu eşitliği kullanarak hesapla

FOR her gözcü arı için

Olasılık değerlerine bağlı olarak bir seçim seç

62 no’lu eşitlik ile aday vi çözümü üret ve çözümü değerlendir

Aç gözlü seçme işlemini uygula

If terk edilmiş çözüm var ise

Then kaşif arı için 61 no’lu eşitlik araılığı ile yeni çözüm üret Elde edilen en iyi çözümü hafızaya al

cycle=cycle+1 until cycle=MCN

Benzer Belgeler