“The Ant Lion Optimizer” başlıklı çalışma Seyedali Mirjalili tarafından yapılmış olup Advances in Engineering Software 83 (2015): 80-98.sayfaları arasında yayınlanmıştır.

The Ant Lion Optimizer (ALO) Karınca Aslanı Optimizasyonu

Bu alanda makale yazarken kullanılması gereken sihirli kelimeler:
-exploration
-local optima avoidance
-exploitation
-convergence

Karınca aslanı böceği karıncaları avlayarak yaşamını sürdürmektedir. Bu algoritma karınca aslanı böceği’nin avlanma şeklini modellemiştir.

Algoritmada karıncalar random walk şeklinde bir yürüyüş yapar.

500 iterasyon boyunca 3 farklı random walk davranışı yukarıda görülmektedir. Birinde yükseliş, birinde alçalış, birinde ise karmaşık bir hareket vardır.

İterasyonlar devam ederken rastgele yürüyüşün menzili daraltılır.
Bir karınca, karınca aslanından daha iyi amaç fonksiyonu değerine sahip olduğu anda yakalanmış sayılır ve karınca aslanı avının yerini alır.

Random walk, alt ve üst sınırları belirli uzayda kullanılmadığından min-max normalizasyonu ile kullanılması gerekmektedir.

x, random walk ile elde ettiğimiz vektör olsun.

a=min(x);
b=max(x);
c=-100;
d=100;
y=((x-a).*(d-c))./(b-a)+c;

Yukarıdaki komut ile x vektörünü -100,+100 aralığına normalize ediyoruz.

Karınca aslanının kurduğu tuzaklardan etkilenme işini aşağıdaki şekilde yapmaktadır:

min(Karinca(i,t))=KarincaAslani(j,t)+Min(Karincalar ve KarincaAslanlari)
t.iterasyondaki i.karıncanın en küçük değeri = t.iterasyondaki j.karınca aslanının değeri + en küçük değer
max(Karinca(i,t))=KarincaAslani(j,t)+Max(Karincalar ve KarincaAslanlari)
t.iterasyondaki i.karıncanın en büyük değeri = t.iterasyondaki j.karınca aslanının değeri + en büyük değer

Daha sonra karınca aslanlarına rulet tekerleği seçimi uygulanarak bir tanesi seçilir.

Min(Karincalar ve KarincaAslanlari) ve Max(Karincalar ve KarincaAslanlari) değerleri belirli bir oranda giderek azaltılmaktadır.

oran=10^w*t/T
t=mevcut iterasyon
T=toplam iterasyon
w iterasyona bağlı sabit
(w = 2 when t > 0.1T, w = 3 when t > 0.5T, w = 4 when t > 0.75T, w = 5 when t > 0.9T, and w = 6 when t > 0.95T).

w sabiti sömürünün doğruluğunu ayarlayabilir.

İterasyonlar sürecinde sömürü için süreç yukarıdaki gibidir.

Bu aşamadan sonra eğer karınca, karıncaaslanından daha iyi bir konumdaysa ilgili karınca, karıncaaslanı olur.

Algoritmada elitizm, en iyi karıncaaslanının konumunun tutulmasıyla sağlanır.

Karınca(i)=(Random(KarıncaAslanı)+Random(Elit))/2

Karıncalar, her iterasyonda rulet ile seçilmiş bir karıncaaslanının random walk yapmış hali ile elit karıncaaslanının randomwalk yapmış halinin toplamının yarısını alarak konumlarını günceller.

ALO’nun sözde kodu aşağıdadır:

Çalışmada iddia edilen bazı kazanımlar:
Rulet seçimi keşfi artırmıştır.
Rastgele yürüyüş keşfi artırmıştır.
Popülasyon tabanlı algoritmalar doğal olarak lokal optimumlardan kaçma kabiliyetine sahiptir.
Rastgele yürüyüş ile popülasyonun çeşitlenmesi sağlanmıştır.
İterasyona bağlı olarak daraltma (Adaptive shrinking) ile sömürü güçlendirilmiştir.
Karıncaların hareketi uyarlanabilir bir şekilde azaltılarak yakınsama hızı artırılmıştır.
En iyi karıncaaslanının konumu iterasyonlar sürecinde kaydedilerek umut verici bölgelerin taranması sağlanmıştır.
En iyi karıncaaslanı diğer bireylerinde daha iyi konumlara hareket etmesini sağlar.

The-ant-lion-optimizer

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir