Kutulama Problemi için Geliştirilmiş Karınca Aslanı Optimizasyonu Algoritması
Kutulama Problemi için Geliştirilmiş Karınca Aslanı
Optimizasyonu Algoritması
Improved Antlion Optimization Algorithm for Bin Packing
Problem
Haydar KILIÇ
Bilecik Şeyh Edebali Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Bilecik, TÜRKİYE
Öz
Bu çalışmada kutulama problemi içinbir geliştirilmiş
karınca aslanı optimizasyonalgoritması (GKAO)
önerilmiştir. Karınca aslanı optimizasyonalgoritması
(KAO) temel olarak karınca aslanlarınınavlanma
stratejilerini taklit eden bir meta-sezgisel
optimizasyon algoritmasıdır. KAO algoritmasınınen
büyük handikaplarından birisi uzun çalışma süresidir.
KAO yapısında yer alan rastgele karınca yürüyüşü
modelive seçim yöntemindeyapılan iyileştirmelerle
ortaya çıkarılan GKAO bu handikabı ortadan
kaldırmıştır. Önerilen GKAO algoritması kutulama
problemi
olarak
adlandırılan
optimizasyon
problemine uyarlanarak test edilmiştir. Önerilen
algoritma parçacık sürüsü optimizasyon algoritması
(PSO), ateş böceği algoritması (FA), istilacı yabani ot
optimizasyon algoritması (IWO) ve karınca aslanı
optimizasyon algoritması(KAO) ile karşılaştırılmıştır.
Sonuçlar
önerilen
GKAO
algoritma
performansınınkullanılan meta-sezgisel algoritma
performanslarından daha başarılı olduğunu
göstermiştir.
Anahtar Sözcükler— Karınca Aslanı Algoritması,
Optimizasyon, Kutulama Problemi
Abstract
In this study, an improved antlion optimization
algorithm (IALO) was proposed for bin packing
problem. Antlion optimization algorithm is a metaheuristic optimization algorithm that basically
imitates the hunting mechanism of antlions. The
biggest disadvantage of antlion algorithm is its long
running time.
Gönderme ve Kabul tarihi: 21.04.2018-26.10.2018
Makale türü: Araştırma
Uğur YÜZGEÇ
Bilecik Şeyh Edebali Üniversitesi
Mühendislik Fakültesi
Bilgisayar Mühendisliği Bölümü
Bilecik, TÜRKİYE
By the improvements on the ant random walking
model and selection method in ALO algorithm, IALO
algorithm eliminated this deficiency. The proposed
IALO algorithm was tested by adapting to the
optimization problem known as bin packing problem.
The proposed IALO algorithm was compared with
particle swarm optimization algorithm (PSO), firefly
algorithm (FA), invasive weed optimization algorithm
(IWO) and antlion optimization algorithm (ALO). The
results show that the performance of IALO algorithm
is more successful than the performances of used
meta-heuristic algorithms.
Keywords— Antlion Algorithm, Optimization, Bin
Packing Problem
1. Giriş
Günümüzün mühendislik bilimlerinde, meta-sezgisel
algoritmalar, optimizasyon problemlerini çözmede
büyük avantajlara sahiptir. Son yıllarda farklı
optimizasyon problemlerinin çözümünde pek çok
meta-sezgisel
algoritmaların
geliştirildiği
görülmektedir. Bu algoritmalar evrimsel tabanlı,
fiziksel tabanlı, sürü zekasına dayanan ve biyolojik
ilhamlı algoritmalar olarak sınıflandırılabilirler [1-3].
Evrimsel tabanlı meta-sezgisel algoritmalardan en
bilinenleri, genetik algoritma (GA) [4][5] vefarksal
gelişim (DE) algoritmasıdır [6][7]. Bu algoritma
sınıfında, rastgele bir populasyon ile çözüme başlanır
ve bu populasyon çarpazlama ve mutasyon gibi çeşitli
evrimsel mekanizmalarla güncellenir. Benzetilmiş
tavlama algoritması (SA) [8], tabu arama algoritması
(TS) [9], harmoni arama algoritması (HSA) [10][11]
ve kurbağa sıçraması algoritması (SFLA) [12][13]
fiziksel tabanlı meta-sezgisel algoritmaların en popüler
olanlarındandır. Sürü zekasına dayanan algoritmalar
kuş sürüleri, karınca kolonileri, balık sürüleri gibi
kollektif zekayı taklit eden meta-sezgisel algoritmalar
TÜRKİYE BİLİŞİM VAKFI BİLGİSAYAR BİLİMLERİ VE MÜHENDİSLİĞİ DERGİSİ (2018 Cilt:11 – Sayı: 2) -13
grubundandır [1].
Bu algoritmalardan bazıları
parçacık sürüsü optimizasyon algoritması (PSO)
[14][15], yapay arı kolonisi algoritması (ABC)
[16][17], karınca koloni algoritması (ACO) [18][19]
olarak sayılabilir. Yapay bağışıklı algoritması (AI)
[20][21] ve bakteriyel yiyecek arama algoritması
[22][23] biyolojik ilhamlı meta-sezgisel algoritmalara
önemli örneklerdendir.
amacıyla karınca aslanları kum fırlatmaya başlarlar.
Sonunda tuzağın dibine kaydırdıkları karıncaları
büyük çeneleri ile yutarlar. Bu şekilde gelişen her bir
avlanma işinden sonra karınca aslanlar tuzaklarını yeni
bir av için hazır hale getirirler. Bu avlanma
mekanizması Şekil 1’de gösterilmektedir.
Bu çalışmada 2015 yılında Mirjalili [24] tarafından
sunulan karınca aslanı optimizasyon (KAO)
algoritması ele alınmıştır. Bu algoritma, karınca aslanı
larvalarının kendilerine özgü avlanma tekniklerinden
esinlenerek
geliştirilmiş
bir
meta-sezgisel
optimizasyon algoritmasıdır. Literatürde kontrolcü
tasarımı [25][26], yük sevkiyat problemi [27][28], rota
planlaması [29], esnek süreç planlaması [30], üretim
çizelgeleme [31], optimizer tabanlı regülator [32],
optimal topluluk tespiti [33], optimal filtre tasarımı
[34] ve güç sistemleri optimizasyon problemleri [35]
gibi mühendislik alanlarında KAO algoritmasına ait
uygulamalara rastlanmaktadır.
Kutulama problemi lojistik ve üretim gibi alanlarda
karşımıza çıkan bir optimizasyon problemidir. Bu
problem bir kutunun içerisine en az boş alan kalacak
şekilde
eşyalarıyerleştirmeyi
hedeflemektedir.
Kutulama problemi boyutlarına göre bir, iki ve üç
boyutlu
kutulama
problemleri
olarak
üçe
ayrılmaktadır. Kamyon yükleme, konteynır yükleme
ve şerit paketleme problemleri bu problemin özel
halleridir [36][37].
Bu çalışma kapsamında karınca aslanı optimizasyon
algoritması geliştirilerek, GKAO algoritması kutulama
problemine
uyarlanmıştır.
Önerilen
GKAO
algoritmasının performansına test etmek için parçacık
sürüsü optimizasyon algoritması (PSO), ateş böceği
algoritması (FA), istilacı yabani ot optimizasyon
algoritması (IWO) ve karınca aslanı optimizasyon
algoritması (KAO) kullanılmıştır. Elde edilen sonuçlar
önerilen GKAO algoritmasının diğer meta-sezgisel
algoritmalara alternatif olabileceğini göstermektedir.
3. Karınca Aslanı Algoritması
Şekil 1. Karınca aslanı avlanma stratejisi.
Bu ilginç avlanma mekanizmasına ait matematiksel
model rastgele yürüyüşlerle başlar:
0
𝑐𝑢𝑚𝑠𝑢𝑚(2𝑟(𝑡1 ) − 1)
𝑋(𝑡) = 𝑐𝑢𝑚𝑠𝑢𝑚(2𝑟(𝑡2 ) − 1)
⋮
[𝑐𝑢𝑚𝑠𝑢𝑚(2𝑟(𝑡𝑛 ) − 1)]
(1)
Burada n maksimum iterasyon sayısı, trastgele
yürüyüş adımları, cumsumkümülatif toplam ve aşağıda
tanımı verilenr(t) bir stokastik fonksiyondur:
1, 𝑖𝑓𝑟𝑎𝑛𝑑 > 0.5
𝑟(𝑡) = {
0, 𝑖𝑓 𝑟𝑎𝑛𝑑 ≤ 0.5
(2)
Rastgele yürüyüşe başlayan karıncaları arama
uzayında tutmak için aşağıdaki formülle bu
yürüyüşleri normalize etmek gerekmektedir:
𝑋𝑖𝑡 = (𝑋𝑖𝑡 − 𝑎𝑖 )(𝑑𝑖𝑡 − 𝑐𝑖𝑡 )(𝑏𝑖 − 𝑎𝑖 )−1 + 𝑐𝑖𝑡
(3)
Myrmeleontidae ailesinden olan karınca aslanları
larva evresindeki son derece ilginç beslenme
Buradaki i değişken sayısını, t iterasyon sayısını, a
davranışlarından ismini alan yırtıcı bir böcek türüdür.
minimum rastgele yürüyüşünü, b maksimum rastgele
Karınca aslanları karıncaların bulunduğu bölgelere
yürüyüşünü, c ve d her bir iterasyonda güncellenen
tuzaklarını dairesel bir yol çizerek bir koni şeklinde
karınca aslanı pozisyonlarının sırasıyla minimum ve
oluştururlar ve bu tuzağın (...truncated)