• Sonuç bulunamadı

Besin kaynağının terk edilmesi, kâşif arı üretilmesi

3.11. Yapay Arı Koloni Optimizasyonu

3.11.2. Yapar arı kolonisi algoritması

3.11.2.4. Besin kaynağının terk edilmesi, kâşif arı üretilmesi

Yukarıda yer alan ikinci ve üçüncü aşama yani işçi arıların besin kaynaklarına gönderilmesi ile gözcü arıların besin kaynaklarına gönderilmesi aşamaları tamamlandıktan sonra eğer sayaç limit değerini aşmışsa yani artık çözüm değeri daha fazla iyileştirilemiyorsa kâşif arılar görevi devralırlar.

Gerçek hayatta bu durumu şöyle açıklamak mümkündür. Bir besin kaynağının nektarı tükenmişse nektarın çıkarılmasından sorumlu olan işçi arı yeni besin

kaynaklarının araştırılmasından sorumlu olmak üzere kâşif arı olmaktaydı. İşte aynı

gerçek arıların besin arama davranışlarında olduğu gibi YAKA’da da belirli bir limit adedince iyileştirilemeyen çözüm değeri için kâşif arılar üretilmekte ve bu kâşif arılar aracılığıyla yeni bir besin kaynağı oluşturulup bu besin kaynağının çözüm değeri hesaplanmaktadır.

Oluşturulan yeni besin kaynağının çözüm değeri önceki çözüm değeri ile karşılaştırılmakta ve elde edilen çözüm değeri iyiyse hafızaya alınmakta aksi

takdirde ihmâl edilmektedir [84].

Bütün bu adımlar önceden belirlenmiş olan döngü adedince gerçekleştirilerek durdurma kriteri sağlandığında algoritma sonlandırılarak döngüden çıkılır. YAKA’da ilk etapta besin sayısı kadar rastgele rotaların yer aldığı besin kaynağı oluşturulur. Aynı zamanda besin sayısı adedince deneme sayacı oluşturulur.

Besin kaynağında yer alan her bir besin satırı bir çözümü temsil etmektedir. Her bir

besine ait çözüm değerleri yukarıda verilen örnekteki gibi hesaplanır. Daha sonra işçi arılar devreye girerler. İşçi arılar rastgele bir besin seçip besin satırında yer alan rotaları manüple ederler. Yani var olan rotaların yerlerini değiştirmek suretiyle önceden oluşturulmuş rastgele bir sayıya göre ekleme, yer değiştirme ve ters çevirme işlemlerini eşit olasılıkla yaparlar.

Burada üç ihtimal bulunduğundan dolayı işçi arılar bu üç ihtimalden birisini önceden oluşturulmuş rastgele bir sayıya göre gerçekleştirirler. Rota manüplasyonundan sonra elde edilen yeni rota için çözüm değeri hesaplanır. Eğer elde edilen çözüm değeri başlangıç çözüm değerinden daha iyi ise hafızaya alınır eğer daha kötü ise deneme sayacı bir arttırılır. Çözüm değeri daha iyi olduğu durumda elde edilen yeni rota besin kaynağına yerleştirilir. İşçi arı safhasından sonra gözcü arılar devreye girerler

[84].

Gözcü arılar elde edilen her bir çözüm değerinin uygunluk değerlerine göre bir besin satırı seçerler ve aynı işçi arı safhasında olduğu gibi ilgili besin satırını manüple ederler. Burada gözcü arılar işçi arılardan farklı olarak uygunluk değerlerine göre besin seçerler. Bu çalışmada amaç maksimizasyon olduğundan dolayı önceden belirlenmiş rastgele sayıya bağlı kalınarak uygunluk değeri en yüksek olan besin seçilir. Mevcut rotalar değiştirildikten sonra elde edilen çözüm değeri daha iyi ise çözüm değeri hafızaya alınıp ilgili besin kaynağında besin satırı yeni besin satırı ile değiştirilir. Aksi takdirde deneme sayacı bir arttırılır [84].

Gözcü arı safhasından sonra kâşif arı safhası başlar. Kâşif arı safhasında, ilk adımda üretilmiş olan rastgele rotalardan oluşan besin kaynağı yeniden oluşturulur. Oluşturulan yeni besin kaynağında yer alan her bir besin satırının çözüm değerleri hesaplanır. Elde edilen çözüm değerleri hafızaya alınmış olan en iyi sonuçlarla karşılaştırılır. Kâşif arı safhasından sonra elde edilen çözüm değeri daha iyi ise çözüm değeri hafızaya alınıp, ilgili besin kaynağında besin satırı yeni besin satırı ile değiştirilir. Aksi takdirde deneme sayacı bir arttırılır. Böylelikle yerel maksimuma takılma riski ortadan kalkmış olur. İşçi arı safhası, gözcü arı safhası ve kâşif arı safhası işlemleri önceden belirlenmiş olan iterasyon sayısı adedince gerçekleştirilir. Yukarıda bahsi geçen manüplasyonlar üç adettir bu manüplasyonlar yer değiştirme, ekleme ve ters çevirme manüplasyonlarıdır [84].

Bu manüplasyonların nasıl gerçekleştirildiği ile ilgili bilgi vermek yerinde olacaktır [84]. 10 şehrin yer aldığı bir problem için rastgele üretilmiş olan rota şekil 3.9’daki

Şekil 3.9. Rastgele üretilmiş rota

Yer değiştirme operatörü şehir sayısı aralığında yani 1 ile 10 arasında önceden belirlenmiş rastgele iki sayıya göre diziyi manüple etmeye imkân tanır. Önceden rastgele belirlenmiş olan iki sayının 2 ve 7 olduğunu varsayalım. Böyle bir durumda başlangıçta oluşturduğumuz rastgele rotanın 2. ve 7. elemanları yer değiştirilecektir ve şekil 3.10’daki hali alacaktır.

Şekil 3.10. Yer değiştirme operatörü uygulanmış rota

Ekleme operatörü ise önceden belirlenmiş rastgele iki sayıya göre diziyi manüple eder. Örneğin rastgele belirlenmiş iki sayı 5 ve 8 olsun. Bu durumda dizinin 5. elemanı diziden çıkartılarak geri kalan sayılar bir sola kaydırılır. Daha sonra ise diziden ilk çıkarılan rakam ikinci rakamın yerine yerleştirilir. Ekleme operatörü ile ilgili şekil aşağıda yer almaktadır.

Şekil 3.11. Ekleme operatörü uygulanmış rota

Ters çevirme operatörü ise yine önceden belirlenmiş rastgele iki sayıya göre gerçekleştirilir. Önceden rastgele belirlenmiş iki sayı 3 ve 9 olsun. Bu durumda dizinin 3. elemanı ile 9. elemanı arasındaki dizilim tersine çevrilir. Ters çevirme operatörü ile ilgili örnek Şekil 3.12’de yer almaktadır [84].

Tüm gözcü arılar dağıtıldı mı?

Durma kriteri sağlanıyor mu?

Başlangıç yiyecek kaynağı pozisyonlarını üret

Nektar miktarlarını hesapla

Görevli arılar için komşu kaynakları belirle

Nektar miktarlarını hesapla

Seleksiyon

En iyi kaynağın pozisyonunu hafızaya al

Bakılacak kaynakları belirle

Bakılan kaynakların yerine yeni kaynaklar üret

Bulunan son kaynaklar Nektar miktarlarını hesapla Gözcü arının seçtiği kaynağın komşusunu belirle Hayır Evet Hayır Evet

BÖLÜM 4. UYGULAMA

Çalışmada, afet lojistik yardım malzemelerinin afet bölgesine ulaşması için en kısa yolun bulunması problemine çözüm aranmaktadır. Uygulama, Sakarya ilinde yaşanacak bir deprem senaryosu üzerine gerçekleştirilmiştir.

Uygulama aşamaları;

- Sakarya ili için 7,4 şiddetinde bir deprem senaryosuna ait ihtiyaç bilgileri çıkarılacaktır.

- İhtiyaçların karşılanacağı AFAD bölgesel lojistik depolarına ait genel bilgiler

verilecektir.

- Afet bölgeleri ve AFAD depoları için mesafe matrisi oluşturulacaktır.

- Oluşturulan mesafe matrisi verisi, afet bölgerinden alınan talep verileri ve depolara ait kapasite verileri Karınca Koloni Algoritması ve Yapay Arı Koloni Algoritması için hazırlanmış yazılıma entegre edilerek programlar çalıştırılacaktır.

- İki algoritmaya ait sonuç verileri karşılaştırılarak analiz edilecektir.

- Her bir algoritmaya ait parametre değerleri değiştirilerek ANOVA uygulaması yapılacaktır.