“XOR-based artificial bee colony algorithm for binary optimization” başlıklı çalışma Mustafa Servet KIRAN ve Mesut GÜNDÜZ tarafından yapılmış olup “Turkish Journal of Electrical Engineering & Computer Sciences” dergisinde 2013 yılında basılan 21.sayısının 2307-2328.sayfalarında basılmıştır.
Zhu ve Kwong [G. Zhu, S. Kwong, “Gbest-guided artificial bee colony algorithm for numerical function algorithm”, Applied Mathematics and Computation, Vol. 217, pp. 3166{3173, 2010.] PSO’dan esinlenerek ABC algoritmasına gbest parametresini ekleyerek exploitation(sömürü) kapasitesini artırmışlardır.
Kashan ve arkadaşları [M.H. Kashan, N. Nahavandi, A.H. Kashan, “DisABC: a new articial bee colony algorithm for binary optimization”, Applied Soft Computing, Vol. 12, pp. 342{352, 2011.] discrete articial bee colony (DisABC) ismini verdikleri ikili bir algoritma önermişlerdir.
Kapasitesiz tesis yeri seçimi problemi (KTYP), üzerinde en çok çalışılan tesis yeri seçimi problemlerinden birisidir. KTYP, aday tesisler arasından tesis açma sabit maliyeti ve açılan tesislerden müşteri taleplerini karşılama maliyeti toplamını en azlayacak şekilde açılacak olan tesislerin bir kümesinin belirlenmesi problemidir. KTYP, NP-zor problemler sınıfında yer aldığından dolayı bu problemin çözümü için literatürde genel amaçlı sezgisellere dayalı çeşitli algoritmalar geliştirilmiştir.
ABC algoritmasının temel adımları:
Belirlenen aralıkta rastgele değerler üretilerek popülasyon oluşturulur. R=0-1 aralığında rastgele bir sayıdır.
Her işçi arı(çözüm) için fitness hesabı yukarıdaki formüle göre yapılır. Amaç fonksiyona göre f değişmektedir. Eğer f değeri sıfırdan küçükse mutlak değer alınarak 1 eklenmektedir. f, 0’a eşit veya büyükse 1/1+f formülüyle sonuç hesaplanır.
Her işçi arı kendi çözümünü iyileştirmeye çalışmaktadır. Yukarıdaki formüle göre üretilen aday çözüm mevcut çözümden daha iyiyse yer değişimi yapılır. Her iterasyonda popülasyondan rastgele seçilen komşu çözümün ilgili tek boyutuyla mevcut ilgili tek boyut üzerinden işlemler yapılır. Aday çözüm daha iyi çıkmaz ise terk sayacı(abandonment counter) bir artırılır.
Gözcü arılar kovana gelen işçi arılardan yukarıdaki formül sayesinde kaynakların durumu hakkında bilgi almaktadır. Burada bir olasılık hesabı yapılmaktadır. Bir arının olasılık değeri kendi fitness değeri ile 0,9’un çarpımının en iyi fitnesa bölümü sonucu elde edilen değere 0,1 eklenmesiyle bulunur.
Terk sayacı limit değere ulaşmış bir işçi arı kaşif(scout) arıya dönüştürülür. Mevcut işçi arı sistemden çıkar kaşif arı rastgele bir çözümle sisteme dahil olarak yeniden işçi arı olur. Terk sayacı sıfırlanır. Her iterasyonda sadece 1 kaşif arı oluşabilir.
ABC algoritmasının çerçevesi:
binABC Algoritması
Problemin çözüm uzayı ikili yapılandırılmış şekilde ise binABC algoritması kullanılabilir.
Burada fabrikanın açık olma durumunu 1 kapalı olma durumunu 0 olarak düşünebiliriz.
Üretilen rastgele bir sayı 0,5’ten küçükse 0, büyükse 1 değeri döndürülür.
ABC’nin aday çözüm üretme formülü aşağıdaki şekilde yeniden yapılandırılır.
Logic operator olarak AND, OR ve XOR kullanılabileceği belirtildikten sonra çalışmada neden XOR kullanıldığı aşağıdaki şekilde açıklanmıştır.
Tablolar incelendiğinde görülecektir OR kullanıldığı zaman %75 1 sonucu AND kullanıldığı zaman %75 0 sonucu üretilmektedir. XOR kullanımında ise 0 ve 1 sonuçları yarı yarıyadır. XOR değişme olasılığı daha uygundur.
BPSO(Binary PSO) Algoritması
Parçacıkların hızları temel algoritmadaki formülle hesaplandıktan sonra:
Üretilen rastgele sayı, parçacığın hızının Sigmoid fonksiyonunun sonuç değerinden küçükse 1 diğer durumlarda 0 üretilir.
PSO’ya Shi and Eberhart [Shi, Yuhui, and Russell Eberhart. “A modified particle swarm optimizer.” Evolutionary Computation Proceedings, 1998. IEEE World Congress on Computational Intelligence., The 1998 IEEE International Conference on. IEEE, 1998.APA] tarafından inertia weight (w) parametresi eklenmiştir.
DisABC Algoritması
KASHAN, Mina Husseinzadeh; NAHAVANDI, Nasim; KASHAN, Ali Husseinzadeh. DisABC: a new artificial bee colony algorithm for binary optimization. Applied Soft Computing, 2012, 12.1: 342-352.
Mevcut arı ile komşu arı arasındaki farklılığı esas alarak bir hesaplama yapar.
m01 Xij = 0 ve Xkj = 1 olduğu durumların sayısını verir.
m10 Xij = 1 ve Xkj = 0 olduğu durumların sayısını verir.
m11 Xij = 1 ve Xkj = 1 olduğu durumların sayısını verir.
Aynı şekilde aday çözüm içinde gerekli hesaplamalar yapılır.
M01 Vij = 0 ve Xij = 1 olduğu durumların sayısını verir.
M10 Vij = 1 ve Xij = 0 olduğu durumların sayısını verir.
M11 Vij = 1 ve Xij = 1 olduğu durumların sayısını verir.
Yukarıdaki model kurulduktan sonra ilgili çalışmadan direk alınmış olan new binary solution generator (NBSG) ile çözüm aşağıdaki şekilde üretilir.
NBSG algoritması aşağıdaki şekilde çalışmaktadır.
IBPSO Algoritması
BPSO ile temel farkı sürekli değerler almadan direk ikili değerler çözüm olarak alınmaktadır. Kısaca PSO sürekli uzayda, BPSO’nun hız değerleri sürekli uzayda, IBPSO’nun ise parçacık ve hız vektörü ikili uzayda hareket etmektedir.
Çalışmada önerilen binABC algoritmasını kıyaslamak için UFLP probleminin kullanılma sebepleri şu şekilde izah edilmiştir.
1-UFLP saf binary bir problemdir ve içinde sürekli veya integer tipi değişkenler bulunmamaktadır.
2-Üretilen uygun olmayan çözümleri elemine etmeye ihtiyaç duymaz.
3-Test seti için optimal değerler mevcuttur.
4-Kıyaslanarak diğer algoritmalar bu problemi çözmüştür.
Çalışmada;
uncapacitated facility location test suit (15 test problems)
Kaynak: OR-Library [BEASLEY, John E. OR-Library: distributing test problems by electronic mail. Journal of the operational research society, 1990, 41.11: 1069-1072.]
4 problems Cap71-74 are small-sized,
8 problems Cap101-104 ve Cap131-134 are medium-sized,
CapA,CapB, ve CapC are large-sized
Sonuçların analizi için kullanılan GAP parametresi aşağıdaki şekilde hesaplanmıştır.
Yapılan araştırmalar sonucunda önerilen binABC için ideal popülasyon sayısının 40, limit değerinin ise D*N/4 olduğu açıklanmıştır.
BPSO algoritmasında kullanılan Sigmoid fonksiyonunun 6- ve 6 arasında değerler alabilen parçacıklara karşılık üretmiş olduğu 0-1 arasındaki değerler aşağıdaki gibidir.
İterasyona bağlı olarak inertia weight değeride aşağıdaki formüle göre düzenlenmiştir.
Çalışmayı indirmek için:
xor-based-artificial-bee-colony-algorithm-for-binary-optimization
ASKON Konya’da MEVKA TeknoGirişim Girişimci-Yatırımcı Buluşmaları’na katıldım
ASKON Konya’nın MEVKA TeknoGirişim Girişimci-Yatırımcı Buluşmaları kapsamında 23 Ağustos 2023 Çarşamba günü ASKON Konya şubesinde>>>
Ağu
Matlab’da matrisin tüm elemanlarını belirli bir sayıdan nasıl çıkarırız?
Elimizde doğruluk oranlarının olduğu bir k matrisi olduğu varsayalım, bu matris içerisindeki tüm değerleri 1>>>
Şub
Matlab’ta iç içe döngüyle matris gezerek istediğimiz veriyi nasıl buluruz?
Başlık tam ifade eder mi bilmiyorum ama benim ihtiyacım olan şey 10 sütun, 1593 satıra>>>
Şub
A Review on Deep Learning-Based Methods Developed for Lung Cancer Diagnosis
Yüksek Lisans öğrencilerimden Türkan Beyza KARA’nın sunmuş olduğu “A Review on Deep Learning-Based Methods Developed>>>
Oca
İlk yabancı yazarlı ortak makalem yayınlandı
Birbirimizi hiç görmeden ve sesli olarak da hiç konuşmadan e-posta üzerinden tanışıp ortak bir çalışma>>>
4 Comments
Eki
Konya’da göz lazer ameliyatı oldum
25 yıldır takmakta olduğum ve kendisinden ayrılırken 6,5 numara olan gözlüğüme Konya’da göz lazer ameliyatımı>>>
Ağu
Tek kelimeyle beni nasıl tanımladılar?
YouTube üzerinden yapmış olduğum bir yoruma gelen yanıtta “…dürüst olun…” içeriğini görünce aklıma geçtiğimiz günlerde>>>
3 Comments
Ağu
Konya Akıllı Şehir HACKATHON’unda 3.olduk
Kısaca daha önceki yazımda bahsettiğim Konya Akıllı Şehir HACKATHON’unda 3.olduk. Selçuk Üniversitesi Teknoloji Fakültesi Bilgisayar>>>
1 Comment
May
Sentius ekibi olarak, Akıllı Şehir HACKATHON’una katıldık
Konya Akıllı Şehir HACKATHON’unda 3.olduk Konya Bilim Merkezi ile GDG Konya’nın düzenlediği Akıllı Şehir HACKATHON’una>>>
1 Comment
May
BİLMÖK 2022 için yazılmış gecikmiş bir yazı :)
Türkiye’nin en büyük öğrenci kongresi BİLMÖK 21-23 Mayıs 2022 günlerinde Konya’da Konya Teknik Üniversitesi’nin organizasyonuyla>>>
May
Genç Bakış Gazetesi’nden Beyzanur Polat’ın yaptığı haber…
Genç Bakış Gazetesi’nden Beyzanur Polat’ın yaptığı haber…>>>
Kas
Binary Sooty Tern Optimization Algorithms for solving Wind Turbine Placement Problem
Binary Sooty Tern Optimization Algorithms for solving Wind Turbine Placement Problem İndirmek için tıklayınız.>>>
Eyl
Konya Model Fabrika’yı Ziyaretim ve Konya Dijital Dönüşüm
“konya dijital dönüşüm” kelimesini Google üzerinden arattığım zaman Konya Model Fabrika‘yı keşfettim. 5 Ağustos 2021>>>
Ağu
Otomatlar, Biçimsel Diller ve Turing Makineleri – Dr. Emre Sermutlu – Cinius Yayınları
2020-2021 bahar yarıyılında Otomata Teorisi ve Biçimsel Diller dersini verirken kullanmam için Selçuk Üniversitesi Teknoloji>>>
Mar
4-6 MART 2021 ÇEVRİMİÇİ TÜBİTAK-2237-B PROJE EĞİTİMİ ETKİNLİĞİ KTÜ – TRABZON
Alanında dünyada öncü Prof. Dr. Yener EYÜBOĞLU, Prof. Dr. Asım KADIOĞLU, Prof. Dr. Nurettin YAYLI,>>>
Mar
ARDEB 1001 – 2020 Sonuçlarını Değerlendirme ve Yenilikler Toplantısı
>>>
Şub
2021 yılı içerisinde değerlendirilebilecek konferanslar
GLOBAL CONFERENCE on ENGINEERING RESEARCH online 2-5 June 2021 Abstract or Full Paper Submission: 2>>>
Şub
Sayfamda paylaştığım bütün Karikatürler silinmiştir
İsimsiz bir uyarı yorumuyla araştırdığım vakit gördüm ki bazı karikatüristler blog sayfalarında karikatür paylaşanlara dava>>>
Oca
MATLAB – Error: Functions cannot be indexed using {} or . indexing.
data = get(z9).OutputData{1}; satırında aşağıdaki şekilde hata vermekteydi. Error: Functions cannot be indexed using {}>>>
Oca
“ERASMUS+ Yüksek Öğretim” konulu seminer notları
“ERASMUS + Yüksek Öğretim” konulu seminer notları Dr. Öğretim Üyesi Kemal TÜTÜNCÜ hocam tarafından sunulan>>>
Oca