• Sonuç bulunamadı

2. KAYNAK ARAŞTIRMASI-LİTERATÜR ÖZETİ

2.1. Karınca Kolonisi Optimizasyonu Kaynak Araştırması

Karınca kolonisi optimizasyonu (ant colony optimiztion-ACO) karınca sistemi, karınca algoritması, karınca kolonisi sistemi vb. yöntemlerin genel adıdır (Aydın, 2011) ve genel karınca davranışını temel alan algoritmalar Tablo 2.1’de kronolojik sırada verilmiştir. Karınca kolonisi optimizasyonundaki karıncalar gerçek karıncalardan biraz farklıdırlar. Yapay karıncalar belirli bir hafızaya sahiptirler ve gerçek karıncalar gibi tamamen kör değildirler. Zaman doğadakinin aksine karınca kolonisi optimizasyonunda ayrıktır yani her bir adımda karıncalar bir noktadan diğer noktaya geçiş yapabilirler. Bu bağlamda genel karınca kolonisi optimizasyonu algoritması Algoritma 2.1’de sunulmuştur.

İlk önerilen karınca sistemi (Dorigo, 1992; Dorigo, Maniezzo ve Colorni, 1991; 1996) üç farklı model olarak önerilmiştir. Bunlar karınca-yoğunluk (ant-density),

karınca-miktar (ant-quantity) ve karınca-çevrim (ant-cycle) modelleridir. Karınca-

yoğunluk ve karınca-miktar modellerinde feromon güncellemesi kısmi çözüm parçaları oluşturulduktan hemen sonra yapılırken karınca-çevrim modelinde karınca tüm çözümü oluşturduktan sonra feromon güncellemesi yapılır. Karınca-çevrim modeli diğer iki modelden daha üstün performans gösterdiğinden dolayı karınca sistemi dendiğinde akla gelen yöntem karınca-çevrim modelini içeren metottur ve Algoritma 2.1’de gösterilen genel modelde karınca-çevrim modelidir (Dorigo ve Stützle, 2004).

Tablo 2.1. Karınca kolonisi optimizasyon yöntemleri kronolojik özeti

ACO Algoritması Yazarlar ve Yıl

Ant System (AS) Dorigo, 1992; Dorigo, Maniezzo ve Colorni, 1991; 1996 Elitist AS Dorigo, 1992; Dorigo, Maniezzo ve Colorni, 1991; 1996 Ant-Q Gambardella ve Dorigo, 1995; Dorigo ve Gambardella, 1996 Ant Colony System (ACS) Dorigo ve Gambardella, 1997a; 1997b

Max-Min AS Stützle ve Hoos, 1996; 2000

Rank-based AS Bullnheimer, Hartl ve Strauss, 1997; 1999

ANTS Maniezzo, 1999

Best-worst AS Cordon, Vianna ve Moreno, 2000 TACO Hiroyasu ve ark., 2000.

HC-ACO Blum, Roli, ve Dorigo 2001; Blum ve Dorigo, 2004 P-ACO Guntsch ve Middendorf, 2002a, 2002b

Beam-ACO Blum, 2005

ACOR Socha ve Dorigo, 2008

Elitist karınca sistemi (Dorigo, 1992, Dorigo ve ark. 1991;1996) karınca çevrim modelini temel alır ve elitist stratejiyi kullanır. Bu modeldeki temel fikir o ana kadar elde edilen en iyi karınca çözümüne fazladan feromon depolanmasıdır. Elitist karınca sistemindeki feromon arttırımı yukarıda ifade edildiği gibi elitist stretajiye dayanırken feromon azaltımı sürecinde herhangi bir değişiklik yapılmamıştır. Elitist strateji ile karıncalar en iyi çözüme doğru güdülenerek en iyi çözümün etrafında bir araştırmaya sevkedilmekte ve bu sayede daha az iterasyon ile iyi çözümler elde edilmesi sağlanmaktadır.

Ant-Q algoritması Q-öğrenme’deki Q-değerlerinden etkilenilerek oluşturulmuş bir geçiş kuralına sahiptir. Belirli bir ihtimalle karıncaların yüksek kazançlı tarafa doğru yönelmeleri sağlanır. Bu ihtimal gerçekleşmediği takdirde karıncalar karınca sisteminin

geçiş kuralı ile hareket eder (Gambardella ve Dorigo, 1995; Dorigo ve Gambardella, 1996; Machado ve Schirru, 2002).

Algoritma 2.1. Genel Karınca Kolonisi Optimizasyon Algoritması

KKO için sözde kod

Başlangıç parametrelerini ayarla ve yollara bir miktar feromon bırak

while (Durdurma kriteri ile karşılaşılmadıysa) do

Karıncaların turlarını oluştur.

Karıncalar geçtiği yollardaki feromonu güncelleştir

End While

Karınca koloni sisteminin (ant colony system) karınca sisteminden, geçiş kuralı, lokal feromon güncelleme ve o ana kadar ki en iyi çözüme ait feromon güncelleme olmak üzere üç temel farkı vardır. Karınca kolonisi sistemi geçiş kuralı olarak Ant-Q modelinin geçiş kuralını kullanır. Lokal feromon güncelleme karıncanın seçtiği yoldaki feromonu buharlaştırması ve bir miktar feromon bırakması olarak tanımlanabilir. Global feromon güncellemesi ise o ana kadar ki elde edilen en iyi çözüme göre yapılır. Temel olarak karınca koloni sistemi Ant-Q modeli üzerine kuruludur (Dorigo ve Stützle, 2004). İki yöntem arasındaki fark ise başlangıç feromon miktarının ayarlanmasındadır.

Max-Min karınca sistemi diğer karınca sistemi modellerindeki durağanlaşma davranışını (karıncaların sürekli en kısa görünen çözümü seçerek yeni farklı çözüm elde edememesi) engellemek için karıncanın çözümlerine bırakılacak feromon miktarı için alt ve üst sınır koyar. Alt ve üst sınırlar probleme göre değişiklik göstermekle birlikte gezgin satıcı problemi için kenar uzunluğu ile orantılı olarak belirlenir (Aydın, 2011). Ayrıca feromon ekleme işlemi sadece iterasyonun en iyi çözümüne veya o ana kadarki elde edilmiş en iyi çözüme göre yapılabilir. Stützle ve Hoos’un (2000) gezgin satıcı problemi üzerindeki deneysel çalışmalarından dinamik karışık stratejinin (belirli bir süre iterasyonun en iyi çözümü üzerine, belirli bir süre o ana kadar ki elde edilmiş en iyi çözüm üzerine) en iyilerden sadece bir tanesine feromon eklenmesinden daha performanslı olduğu görülmüştür.

Sıra tabanlı karınca sisteminde (Rank-based Ant System) karıncaların elde ettiği çözümler en iyiden en kötüye doğru sıralanır. Sadece belirli sayıda karınca çözümüne feromon ekleme işlemi yapılır ve bu ekleme işlemi de karıncanın sırasıyla orantılıdır. Ayrıca sıra tabanlı karınca sisteminde de o ana kadar ki elde edilen en iyi çözüm üzerine

en fazla feromon depolaması yapılmaktadır. (Bullnheimer, Hartl ve Strauss, 1997; 1999).

Karınca sisteminde kollektif zekâ ürünü olan yol üzerindeki feromona ve görülebilirlik (sezgisel) faktörlerine verilen önem değerleri üstel olarak ifade edilirken, Maniezzo (1999) tarafından önerilen ANTS algoritmasında çarpan haline getirilip birbiri ile ödünleşen (a ve 1-a şeklinde) bir faktör olarak görülmektedir. Ayrıca feromon güncelleme işleminde ANTS doğrusal dinamik ölçekleme ile yollara bırakılacak feromon miktarını hesaplar.

En iyi-en kötü (Best-worst) karınca sisteminde feromon güncellemesi en iyi yol üzerine feromon bırakılması ve en kötü yol üzerinden feromon buharlaştırılmasını esas alır (Cordon ve ark., 2000). En iyi ve en kötü çözümlerin çakıştığı kenarlarda ise feromon buharlaştırılması yapılmaz. Bu davranış iyi çözümler oluşturulmasını sağlamakla birlikte popülasyonun durağanlaşmasına ve farklılaşmanın sağlanmasına engel olur. Bu yan etkiyi önlemek amacıyla yollar için Genetik algoritmadaki mutasyon işlemine benzer bir süreç kenarlar için uygulanır. Ayrıca en iyi-en kötü karınca sistemi karınca kolonisi sisteminin geçiş kuralını kullanır.

Sürekli fonksiyonların optimizasyonu için Hroyasu ve ark. (2000) tarafından gezici karınca kolonisi optimizasyonu (touring ant colony optimization-TACO) yöntemi önerilmiştir. TACO yönteminde karar değişkenleri bit dizisi ile ifade edilmektedir ve karıncalar sadece feromon izini temel alarak hareket etmektedirler ve TACO’da sezgisel faktör yok sayılmıştır. HC-ACO algoritmasında da feromon değerlerinin bir vektör olarak ifade edilmesi ve [0,1] aralığına normalize edilmesi esas alınır (Blum, Roli, ve Dorigo 2001; Blum ve Dorigo, 2004). Bir diğer karınca kolonisi optimizasyonu iyileştirmesi de popülasyon tabanlı ACO (P-ACO) algoritmasıdır (Guntsch ve Middendorf, 2002a; 2002b). P-ACO temel ACO işlevlerinin yanı sıra bir popülasyon barındırır ve yeni çözümlerin bu popülasyonda bulunup bulunmamasına göre feromon güncellemesi yapılır. Popülasyona eklenen yeni bir çözüm feromon arttırırken popülasyondan çıkarılan bir çözüm feromon azaltılmasına neden olmaktadır (Angus, 2006, 2007). Karınca kolonisi optimizasyonu ile beam arama algoritması hibritleştirilerek Beam-ACO yöntemi önerilmiştir (Blum, 2005). Bu yöntemde her bir karınca her bir iterasyonda birden fazla çözümü ihtimalli beam araştırmayı kullanarak üretmektedirler. Sürekli optimizasyon problemlerinin çözümü için de çeşitli karınca tabanlı algoritmalar önerilmiştir. Bunlardan birisi Toksarı (2006) tarafından karıncaların en iyi karıncanın feromon bıraktığı çözüm etrafında araştırma yapmasını sağlayan bir

sürekli karınca kolonisi algoritmasıdır. Bir diğer sürekli karınca kolonisi optimizasyon yöntemi de ACOR algoritmasıdır (Socha ve Dorigo, 2008). Karınca kolonisi optimizasyon ayrık türdeki problemlerin çözümü için önerildiğinden dolayı ACOR algoritması için temel problemlerden birisi çözümün oluşturulması bir diğeri ise karıncalar tarafından problem komponentleri arasına bırakılan feromondur. Feromon matrisi yerine bir çözüm tablosu tutulmak suretiyle karıncaların bu tablodaki çözümleri kullanarak yeni çözümler elde etmesi ve çözümleri iyileştirmesi hedeflenmiştir.

Karınca sistemleri hakkında daha detaylı bilgi edinmek için Dorigo ve Stützle (2004) tarafından yazılmış “Ant Colony Optimization” kitabı incelenebilir. Ayrıca karınca kolonisi optimizasyonundaki parametre ayarlaması (Stützle ve ark., 2012), karınca kolonisi optimizasyonu ve veri madenciliği (Michelakos ve ark., 2011), son gelişmeler ve uygulamaları (Dorigo ve Stützle, 2010) hakkında bilgi almak için de ilgili referansları verilen çalışmalar incelenebilir.

Literatür taramasından görüldüğü üzere karınca kolonisi optimizasyon algoritmalarının temel problemi kollektif zekânın popülasyonun davranışını durağan hale getirmesidir. Literatüre önerilen birçok önemli iyileştirme (ACS, Max-Min ACS, Best-worst AS vb.) feromonun eklenmesi ve/veya artttırılması yani güncellenmesini düzenlemeye çalışmaktadır. Bir diğer önemli noktada ACO algoritmalarının yapıcı bir nitelikte olması (çözüm bileşenlerinin adım adım oluşturulması) çözüm iyileştirici (local araştırma metotları gibi) metotlara nazaran daha uzun bir çalışma süresi gerektirmektedir.