Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Karınca Koloni Algoritması 2 7
TSP ve ACO Algoritması Gezgin satıcı problemi (travelling salesman problem-tsp) yöneylem araştırması ve teorik bilgisayar bilimi alanlarında incelenen bir "kombinatorik optimizasyon" problemidir. Kapasite kısıtlamasının olmadığı tek bir araçlık klasik Hamilton turlu problem Gezgin satıcı problemidir. Gezgin satıcı problemi, en önemli algoritma problemlerinden biridir. Karınca algoritmaları ilk olarak TSP problemlerinin çözümü için uygulanmıştır ve etkili çözüm ürettikleri gözlenmiştir. MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 2
ACO Akış Diyagramı ACO Akış Diyagramı Genel Akış: ACO algoritmasının çalışma prensibi yandaki şekilde verilmiştir. Anlatımı kolaylaştırmak açısından TSP probleminin çözümüne yönelik bir yol izlenmiştir. Kısaca; Koloni büyüklüğü sayısınca karınca birer birer bırakıldıktan sonra, her bir karıncanın ürettiği çözümlerin fitness değerleri hesaplanır. Tüm koloni turunu tamamlayınca, tüm yollardan buharlaşma oranı miktarınca feromon buharlaştırılır ve elde edilen çözümlerin fitness değerlerine göre, her bir karınca tarafından üretilen çözüm (güzergah, path) üzerinde bulunan yollara feromon bırakılır. Koloni tarafından bulunan en iyi çözüm üzerinde bulunan bağlantılara yeniden feromon bırakılır (global pheromone update). Bunun amacı bulunan en iyi çözüm üzerindeki bağlantıların diğer karıncalar tarafından tercih edilme ihtimalini artırmaktır. Durdurma kriteri sağlanana kadar yeni karınca kolonileri bırakılır ve sonuçta döngü sonlandırılarak bulunan en iyi çözüm rapor edilir. H Adım 5 Adım 2 ACO parametrelerini ayarla Yeni bir koloni oluştur (koloni büyüklüğü kadar karınca tanımla) Adım Adım 4 Adım 1 Başla Yeni çözüm üretmesi için bir karıncayı serbest bırak ve çözüm üretsin Tüm karıncalar turlarını tamamladı mı? Feromon buharlaştır ve yerel feromon güncelle Koloni tarafından üretilen en iyi çözümü bul ve bu güzergah üzerine tekrar feromon bırak Adım 6 Durdurma kriteri sağlandı mı? Dur ve en iyi çözümü (en yoğun feromon içeren güzergahı) göster H 17/12/2017
Çözüm Üretilmesi Her bir karıncanın çözüm üretmesine (Adım ) ilişkin prosedür yandaki şekilde verilmiştir. Her karınca rastgele bir noktadan arama yapmaya başlar. Genellikle uygulanan prosedür, her şehre bir tane olmak üzere şehir sayısı kadar karıncayı bırakmaktır. Adım.1 Adım teki her bir karınca için çözüm oluşturma prosedürü Rastgele bir noktadan (şehirden) başla Adım.2 Bulunulan şehirle bağlantılı her bir şehrin seçilme olasılığını hesapla (daha önce ziyaret edilmemiş olmak kaydıyla) Adım. Rastgele bir sayı belirle ve seçilme olasılığına göre bir şehir seç Adım.4 Seçilen şehre geç ve bu şehri ziyaret edilenler listesine ekle Tüm şehirler ziyaret edildi mi? H Adım.5 Turu tamamla ve fitness değerini hesapla MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 4
Çözüm Üretilmesi Adım.2 deki bağlantılı şehirlerin seçim olasılıklarının hesaplanması aşağıdaki formülasyona göre yapılır. p ij = τ ij α ηij β σ k Zi τ ik α η ik β p ij : i şehrinden j şehrine geçme olasılığı (seçim olasılığı) τ ij : i ve j noktaları arasındaki feromon miktarı η ij : i şehrinden j şehrinin görünürlüğü (sezgisel bilgi) Z i : i şehrinden ziyaret edilebilecek şehirler kümesi Adım.1 Adım teki her bir karınca için çözüm oluşturma prosedürü Rastgele bir noktadan (şehirden) başla Adım.2 Bulunulan şehirle bağlantılı her bir şehrin seçilme olasılığını hesapla (daha önce ziyaret edilmemiş olmak kaydıyla) Adım. Rastgele bir sayı belirle ve seçilme olasılığına göre bir şehir seç Adım.4 Seçilen şehre geç ve bu şehri ziyaret edilenler listesine ekle Problemimiz için (TSP), sezgisel bilgi genelde 1/d ij dir. Burada d ij, i şehri ile j şehri arasındaki uzaklıktır (veya ulaşım maliyeti). Adım.5 Tüm şehirler ziyaret edildi mi? Turu tamamla ve fitness değerini hesapla H MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 5
Çözüm Üretilmesi Bağlantılı her bir şehrin seçim olasılıkları hesaplandıktan sonra, [0-1] aralığında rastgele bir sayı belirlenir ve seçim olasılıkları dikkate alınarak bu sayıya göre bir şehir seçilir (Adım.). ğer i şehrinden j şehrine bağlantı yoksa (veya j şehri zaten ziyaret edilmişse) p ij = 0 kabul edilir ve böylece tekrar ziyaret edilmesi engellenmiş olur. Tüm şehirler ziyaret edilene kadar bu prosedür tekrar edilir ve ilgili karınca için bir tur tamamlanmış olur (Adım.5). Adım.1 Adım teki her bir karınca için çözüm oluşturma prosedürü Rastgele bir noktadan (şehirden) başla Adım.2 Bulunulan şehirle bağlantılı her bir şehrin seçilme olasılığını hesapla (daha önce ziyaret edilmemiş olmak kaydıyla) Adım. Rastgele bir sayı belirle ve seçilme olasılığına göre bir şehir seç Adım.4 Seçilen şehre geç ve bu şehri ziyaret edilenler listesine ekle Tüm şehirler ziyaret edildi mi? H Adım.5 Turu tamamla ve fitness değerini hesapla MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 6
ACO Akış Diyagramı Feromon Güncelleme Kolonideki tüm karıncalar turunu tamamladıktan sonra, karıncalar tarafından izlenen güzergahlar üzerine feromon bırakılır (Adım 4). Bu sırada tüm güzergahlar üzerinden bir miktar feromon buharlaştırılır (ρ oranınca). Bırakılan feromon miktarı, izlenen güzergahın uzunluğu ile ters orantılıdır. Yani, güzergah uzunluğu arttıkça, bırakılan feromon miktarı azalır (veya tam tersi). Böylece, kısa olan yollar üzerinde feromon birikimi daha fazla olacak ve diğer karıncalar tarafından seçilme olasılığı artacaktır. Güzergah üzerindeki bağlantılara bırakılacak feromon miktarı aşağıdaki formülasyon kullanılarak güncellenir: Burada; τ ij (t + 1) (1 ρ)τ ij (t) + τ ij (t) m τ ij t = τ k ij (t) k=1 τ ij k t = ቊ Q/L k eğer (i, j) tur k 0 değilse H Adım 5 Adım 2 ACO parametrelerini ayarla Yeni bir koloni oluştur (koloni büyüklüğü kadar karınca tanımla) Adım Adım 4 Adım 1 Yeni çözüm üretmesi için bir karıncayı serbest bırak ve çözüm üretsin Tüm karıncalar turlarını tamamladı mı? Feromon buharlaştır ve yerel feromon güncelle Koloni tarafından üretilen en iyi çözümü bul ve bu güzergah üzerine tekrar feromon bırak Adım 6 Başla Durdurma kriteri sağlandı mı? Dur ve en iyi çözümü (en yoğun feromon içeren güzergahı) göster H 17/12/2017 7
ACO Akış Diyagramı Durdurma Kriteri Koloni tarafından bulunan en iyi çözüm üzerinde bulunan bağlantılara yeniden feromon bırakılır (Adım 5, global feromon güncelleme). Bunun amacı bulunan en iyi çözüm üzerindeki bağlantıların diğer karıncalar tarafından tercih edilme ihtimalini artırmaktır. Durdurma kriteri sağlanana kadar bu döngü tekrar edilir ve sonuçta bulunan en iyi çözüm (tüm koloniler tarafından bulunan global en iyi çözüm) rapor edilir. Durdurma kriteri genelde maksimum koloni sayısıdır. Aslında bu kriter, GA ya benzer şekilde bir anlamda iterasyon sayısını temsil etmektedir. Burada koloni sayısı olarak salt bir şekilde "maksimum koloni sayısı" alınabileceği gibi, yine GA ya benzer şekilde "iyileşme olmadan geçen maksimum koloni sayısı" da alınabilir. H Adım 5 Adım 2 ACO parametrelerini ayarla Yeni bir koloni oluştur (koloni büyüklüğü kadar karınca tanımla) Adım Adım 4 Adım 1 Yeni çözüm üretmesi için bir karıncayı serbest bırak ve çözüm üretsin Tüm karıncalar turlarını tamamladı mı? Feromon buharlaştır ve yerel feromon güncelle Koloni tarafından üretilen en iyi çözümü bul ve bu güzergah üzerine tekrar feromon bırak Adım 6 Başla Durdurma kriteri sağlandı mı? Dur ve en iyi çözümü (en yoğun feromon içeren güzergahı) göster H 17/12/2017 8
Parametreler α ve β Parametreleri: α ve β, feromon miktarı ile sezgisel bilginin önemini kontrol etmek üzere kullanılan iki sabittir. ğer α = 0 ise, en yakın bağlantılı nokta çok daha büyük olasılıkla seçilecektir. ğer β = 0 ise, bu kez sezgisel bilgi göz ardı edilecek ve algoritmanın en iyi yolu bulma kabiliyetini olumsuz etkileyecektir. α ve β parametreleri için en uygun değer aralığı yandaki grafikte verilmiştir. Karınca Sayısı: Karınca sayısının arttırılması çözümde iyileşmeye neden olur. Fakat hesaplamaları arttırdığı için karınca sayısının fazla arttırılması işlem zamanlarının uzamasına neden olur. TSP problemlerinde yapılan denemeler sonucunda karınca sayısının şehir sayısına eşit seçilmesinin uygun olacağı sonucuna varılmıştır. Karınca sayısı, problem büyüklüğüne ve uygulama alanına bağlı olarak değişir. MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 9
Parametreler Koloni Sayısı GA daki iterasyon sayısına karşılık gelir. Denemeler sonucu yeterli büyüklükte belirlenmesi iyi çözüm üretilmesi için önemlidir. Koloni sayısının çok büyük belirlenmesi, tıpkı karınca sayısının çok büyük belirlenmesi gibi programın çalışma zamanını uzatır. Buharlaşma Oranı: Genelde (0< ρ <1) aralığında ve sıfıra yakın bir değer olarak belirlenir (örn. ρ = 0.1 gibi). Bu oranın çok yüksek belirlenmesi durumunda (örn. ρ = 0.8 gibi) en iyi çözümün bulunması çok zaman alır. Çok düşük belirlenmesi ise (örn. ρ = 0.001 gibi) algoritmanın yerel optimumlara takılmasına sebep alacaktır. Q Sabiti Çözülen problemin yapısına göre belirlenen bir sabittir. Feromon matrisindeki bağlantılar üzerine bırakılacak olan feromon miktarında belirleyici role sahiptir. Buharlaşma oranı (ρ) ile dengeli olacak şekilde belirlenmelidir. ğer ρ çok büyük, Q çok küçük olursa: Bağlantılar üzerindeki feromon miktarları zamanla çabuk yok olacak ve önemli bağlantıların diğer karıncalar tarafından seçilme ihtimali daha az olacaktır. Çözümün bulunması çok fazla zaman alacaktır. ğer ρ çok küçük, Q çok büyük olursa: Bazı bağlantılar üzerinde çok çabuk aşırı miktarlarda feromon birikimi söz konusu olacak ve alternatif yolların aranması zorlaşacaktır. Bu durumda prematüre gelişim söz konusu olacak ve algoritma bir yerel optimumda takılı kalacaktır. MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 10
11 Örnek: TSP için ACO Algoritması MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017
Örnek: TSP için ACO Algoritması Problem verisi: Şehirlerin birbirlerine olan uzaklıkları d ij : i şehrinden j şehrine olan uzaklık A B 6 2 2 5 6 C 6 4 Şehirler Arası Mesafe Matrisi A B C D A 6 2 B 5 2 C 6 5 6 4 D 2 2 6 6 4 6 D MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 12
Şehirlerin görünürlükleri, 1/d ij (sezgisel bilgi) Şehirlerin Görünürlükleri A B C D A 0, 0,17 0,50 0, B 0, 0,20 0,50 0, C 0,17 0,20 0,17 0,25 D 0,50 0,50 0,17 0,17 0, 0, 0,25 0,17 A B 6 2 5 2 D 6 C 6 4 Parametreler Karınca Sayısı=5 α = 1, β = 1.5, Q = 1, ρ = 0.1 Başlangıç feromonu miktarı = 1 Her karınca başlangıçta rastgele bir şehre yerleştirilir. MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 1
14 İlk Koloni MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017
Tüm karıncalar tek tek çözüm üretir. İlk karınca: A 6 B 2 D 6 A--B-D-C-A Toplam mesafe: 20 C A'dan sonra ikinci şehrin seçimi AB 0,19245009 0,806494952 0,28625287 0,28625287 0,8674 AC 0,06804182 0,806494952 0,08466779 0,22992067 AD 0,55591 0,806494952 0,4882646 0,7617471 A* 0,19245009 0,806494952 0,28625287 1 A'den sonra üçüncü şehrin seçimi B* 0,19245009 0,85491471 0,4992067 0,4992067 0,798 C 0,125 0,85491471 0,2426189 0,82494456 D 0,06804182 0,85491471 0,176505544 1 AB'den sonra dördüncü şehrin seçimi BC 0,089442719 0,44299611 0,201904074 0,201904074 0,9541 BD* 0,55591 0,44299611 0,798095926 1 Son şehrin seçimi DC* 0,06804182 0,06804182 1 1 0,158 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 15
A'dan sonra ikinci şehrin seçimi AB 1 1 0, 0,1925 0,1925 0,8065 0,286 0,286 0,8674 AC 1 1 6 0,1667 0,0680 0,0680 0,8065 0,0844 0,20 AD 1 1 2 0,5000 0,56 0,56 0,8065 0,484 0,7614 A* 1 1 0, 0,1925 0,1925 0,8065 0,286 1,0000 A'den sonra üçüncü şehrin seçimi B* 1 1 0, 0,1925 0,1925 0,855 0,4992 0,4992 0,798 C 1 1 4 0,2500 0,1250 0,1250 0,855 0,24 0,825 D 1 1 6 0,1667 0,0680 0,0680 0,855 0,1765 1,0000 AB'den sonra dördüncü şehrin seçimi BC 1 1 5 0,2000 0,0894 0,0894 0,440 0,2019 0,2019 0,9541 BD* 1 1 2 0,5000 0,56 0,56 0,440 0,7981 1,0000 Son şehrin seçimi DC* 1 1 6 0,1667 0,0680 0,0680 0,0680 1,0000 1,0000 0,158 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 16
İkinci Karınca: B C B'den sonra ikinci şehrin seçimi BA 0,19245009 0,827896289 0,22456761 0,22456761 0,45 BC 0,089442719 0,827896289 0,1080614 0,40492901 BD* 0,55591 0,827896289 0,4270509 0,7675429 B 0,19245009 0,827896289 0,22456761 1 A 6 2 6 BD'den sonra üçüncü şehrin seçimi DA 0,55591 0,48966154 0,72207702 0,72207702 0,85 DC* 0,06804182 0,48966154 0,1896149 0,86106851 D 0,06804182 0,48966154 0,1896149 1 D B-D-C-A--B Toplam mesafe: 20 BDC'den sonra dördüncü şehrin seçimi CA* 0,06804182 0,1904182 0,52470445 0,52470445 0,06 C 0,125 0,1904182 0,647529555 1 Son şehrin seçimi A* 0,19245009 0,19245009 1 1 0,5478 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 17
Üçüncü karınca: B 5 C C'den sonra ikinci şehrin seçimi CA 0,0680414 0,5052548 0,1941125 0,194112511 0,04 CB* 0,0894427 0,5052548 0,2551675 0,44928004 CD 0,0680414 0,5052548 0,1941125 0,6492546 C 0,125 0,5052548 0,566075 1 A 6 2 D 6 C-B-D--A-C Toplam mesafe: 22 CB'den sonra üçüncü şehrin seçimi BA 0,1924501 0,784557 0,260612 0,26061209 0,6547 BD* 0,5554 0,784557 0,4787754 0,7987691 B 0,1924501 0,784557 0,260612 1 CBD'den sonra dördüncü şehrin seçimi DA 0,5554 0,421594772 0,886095 0,88609522 0,8645 D* 0,0680414 0,421594772 0,161905 1 Son şehrin seçimi A* 0,1924501 0,19245009 1 1 0,568 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 18
Dördüncü Karınca: A 2 B D 6 C D-A-B--C-D Toplam mesafe: 18 4 D'den sonra ikinci şehrin seçimi DA* 0,55591 0,84189545 0,41904761 0,41904761 0,057 DB 0,55591 0,84189545 0,41904761 0,88609522 DC 0,06804182 0,84189545 0,08069529 0,91904761 D 0,06804182 0,84189545 0,08069529 1 DA'dan sonra üçüncü şehrin seçimi AB* 0,19245009 0,452941561 0,424889448 0,424889448 0,245 AC 0,06804182 0,452941561 0,150221105 0,575110552 A 0,19245009 0,452941561 0,424889448 1 DAB'den sonra dördüncü şehrin seçimi BC 0,089442719 0,281892809 0,172969 0,172969 0,7541 B* 0,19245009 0,281892809 0,68270661 1 Son şehrin seçimi C* 0,125 0,125 1 1 0,5756 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 19
Beşinci Karınca: B 5 C 'den sonra ikinci şehrin seçimi A* 0,19245009 0,577941561 0,2992 0,2992 0,1954 B 0,19245009 0,577941561 0,2992 0,6659846 C 0,125 0,577941561 0,21628484 0,88226944 D 0,06804182 0,577941561 0,11770557 1 A D 6 6 -A-B-C-D- Toplam mesafe: 2 A'dan sonra üçüncü şehrin seçimi AB* 0,19245009 0,614044862 0,141729 0,141729 0,087 AC 0,06804182 0,614044862 0,110808486 0,424222215 AD 0,55591 0,614044862 0,575777785 1 AB'den sonra dördüncü şehrin seçimi BC* 0,089442719 0,44299611 0,201904074 0,201904074 0,102 BD 0,55591 0,44299611 0,798095926 1 Son şehrin seçimi CD* 0,06804182 0,06804182 1 1 0,457 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 20
Feromon Güncelleme Feromon güncelleme yaparken, her bir bağlantı üzerine bırakılacak toplam feromon miktarını hesaplamak için her bir karınca tarafından bırakılacak feromonlar toplanır. m τ ij t = τ k ij (t) k=1 τ ij k t = ቊ Q/L k eğer (i, j) tur k 0 değilse Örneğimizdeki beş adet karınca tarafından AB bağlantısı üzerine bırakılacak olan feromon: AB AB 1 ( t) AB 2 ( t) AB ( t) AB 4 ( t) ( t) 0 0 0 (1/18) (1/ 2) 0.099 5 ( t) olarak hesaplanır. Feromon matrisindeki AB bağlantısı için mevcut feromon miktarından yapılan buharlaştırma ve yukarıda hesaplanan feromonun eklenmesi sonrasında ise, feromon matrisindeki AB bağlantısı için güncel feromon miktarı aşağıdaki gibi hesaplanır: τ ij t + 1 1 ρ τ ij t + τ ij t = 1 0.1 1 + 0.099 = 0.999 AB Feromon matrisindeki diğer tüm bağlantıların (örn. AC, AD, A, BA, BC ) feromon miktarları da benzer şekilde güncellenir. Son olarak en iyi güzergah (D-A-B--C-D) üzerindeki bağlantılara τ ij t kadar yeniden feromon yüklenir (global feromon güncelleme) ve bir sonraki iterasyona (koloni 2) geçilir. AB ( t) MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 21
Feromon Güncelleme Başlangıç Feromon Matrisi Yüklenecek Yerel Feromon Miktarları A B C D A B C D A 1 1 1 1 A 0,09904 0,045455 0 0,1 B 1 1 1 1 B 0 0,04478 0,145455 0,055556 C 1 1 1 1 C 0,1 0,045455 0,09904 0 D 1 1 1 1 D 0,055556 0 0,1 0,0889 1 1 1 1 0,0889 0,1 0,055556 0 Buharlaştırma ve Yerel Feromon Yükleme Sonrası Feromonlar n İyi Karıncanın İzlediği Güzergah A B C D A B C D A 0,99904 0,945455 0,9 1 A 1 B 0,9 0,94478 1,045455 0,955556 B 1 C 1 0,945455 0,99904 0,9 C 1 D 0,955556 0,9 1 0,9889 D 1 0,9889 1 0,955556 0,9 1 Mesafe: 18 Global Feromon Yükleme Sonrası Feromon Miktarları A B C D A 1,054589 0,945455 0,9 1 B 0,9 0,94478 1,045455 1,011111 C 1 0,945455 1,054589 0,9 D 1,011111 0,9 1 0,9889 0,9889 1 1,011111 0,9 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 22
2 İkinci Koloni MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017
Karınca 1 A'dan sonra ikinci şehrin seçimi AB 1,05 1,054589 0, 0,1925 0,200 0,7779 0,2609 0,2609 0,642 AC 0,95 0,945455 6 0,1667 0,0680 0,064 0,7779 0,0827 0,46 AD* 0,9 0,9 2 0,5000 0,56 0,182 0,7779 0,4090 0,7526 A 1 1 0, 0,1925 0,1925 0,7779 0,2474 1,0000 AD'den sonra üçüncü şehrin seçimi DB* 0,9 0,9 2 0,5000 0,56 0,182 0,4529 0,7025 0,7025 0,565 DC 1 1 6 0,1667 0,0680 0,0680 0,4529 0,1502 0,8528 D 0,98 0,98 6 0,1667 0,0680 0,0667 0,4529 0,1472 1,0000 ADB'den sonra dördüncü şehrin seçimi BC 0,94 0,94 5 0,2000 0,0894 0,0841 0,2785 0,019 0,019 0,6674 B* 1,01 1,01 0, 0,1925 0,1944 0,2785 0,6981 1,0000 Son şehrin seçimi C* 1,01 1,01 4 0,2500 0,1250 0,126 0,126 1,0000 1,0000 0,757 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 24
Karınca 2 B'den sonra ikinci şehrin seçimi BA 0,9 0,9 0, 0,1925 0,172 0,8218 0,2108 0,2108 0,45 BC 0,94 0,94478 5 0,2000 0,0894 0,0844 0,8218 0,1027 0,14 BD* 1,05 1,045455 2 0,5000 0,56 0,696 0,8218 0,4498 0,762 B 1,01 1,011111 0, 0,1925 0,1946 0,8218 0,268 1,0000 BD'den sonra üçüncü şehrin seçimi DA* 1,01 1,01 2 0,5000 0,56 0,571 0,4918 0,7261 0,7261 0,184 DC 1 1 6 0,1667 0,0680 0,0680 0,4918 0,18 0,8644 D 0,98 0,98 6 0,1667 0,0680 0,0667 0,4918 0,156 1,0000 BDA'dan sonra dördüncü şehrin seçimi AC 0,94 0,94 6 0,1667 0,0680 0,0640 0,2564 0,2494 0,2494 0,445 A* 1 1 0, 0,1925 0,1925 0,2564 0,7506 1,0000 Son şehrin seçimi C* 1,01 1,01 4 0,2500 0,1250 0,126 0,126 1,0000 1,0000 0,48 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 25
Karınca C'den sonra ikinci şehrin seçimi CA 1 1 6 0,1667 0,0680 0,0680 0,61 0,2025 0,2025 0,78 CB 0,94 0,94 5 0,2000 0,0894 0,0841 0,61 0,2502 0,4526 CD 1,05 1,05 6 0,1667 0,0680 0,0714 0,61 0,2126 0,6652 C* 0,9 0,9 4 0,2500 0,1250 0,1125 0,61 0,48 1,0000 C'den sonra üçüncü şehrin seçimi A* 0,98 0,98 0, 0,1925 0,1886 0,442 0,4264 0,4264 0,15 B 1 1 0, 0,1925 0,1925 0,442 0,451 0,8615 D 0,9 0,9 6 0,1667 0,0680 0,0612 0,442 0,185 1,0000 CA'dan sonra dördüncü şehrin seçimi AB 1,05 1,05 0, 0,1925 0,2021 0,520 0,884 0,884 0,64 AD* 0,9 0,9 2 0,5000 0,56 0,182 0,520 0,6116 1,0000 Son şehrin seçimi DB* 0,9 0,9 2 0,5000 0,56 0,182 0,182 1,0000 1,0000 0,564 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 26
Karınca 4 D'den sonra ikinci şehrin seçimi DA 1,01 1,011111 2 0,5000 0,56 0,575 0,8104 0,4411 0,4411 0,562 DB* 0,9 0,9 2 0,5000 0,56 0,182 0,8104 0,926 0,88 DC 1 1 6 0,1667 0,0680 0,0680 0,8104 0,0840 0,9177 D 0,98 0,98 6 0,1667 0,0680 0,0667 0,8104 0,082 1,0000 DB'den sonra üçüncü şehrin seçimi BA 0,9 0,9 0, 0,1925 0,172 0,4517 0,85 0,85 0,87 BC 0,94 0,94 5 0,2000 0,0894 0,0841 0,4517 0,1862 0,5696 B* 1,01 1,01 0, 0,1925 0,1944 0,4517 0,404 1,0000 DB'den sonra dördüncü şehrin seçimi A* 0,98 0,98 0, 0,1925 0,1886 0,149 0,5990 0,5990 0,4541 C 1,01 1,01 4 0,2500 0,1250 0,126 0,149 0,4010 1,0000 Son şehrin seçimi AC* 0,94 0,94 6 0,1667 0,0680 0,0640 0,0640 1,0000 1,0000 0,56 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 27
Karınca 5 'den sonra ikinci şehrin seçimi A* 0,99 0,9889 0, 0,1925 0,190 0,5704 0,7 0,7 0,241 B 1 1 0, 0,1925 0,1925 0,5704 0,74 0,6711 C 1,01 1,011111 4 0,2500 0,1250 0,1264 0,5704 0,2216 0,8926 D 0,9 0,9 6 0,1667 0,0680 0,0612 0,5704 0,1074 1,0000 A'dan sonra üçüncü şehrin seçimi AB 1,05 1,054589 0, 0,1925 0,200 0,5855 0,466 0,466 0,692 AC 0,95 0,945455 6 0,1667 0,0680 0,064 0,5855 0,1099 0,4565 AD* 0,9 0,9 2 0,5000 0,56 0,182 0,5855 0,545 1,0000 AD'den sonra dördüncü şehrin seçimi DB* 0,9 0,9 2 0,5000 0,56 0,182 0,862 0,828 0,828 0,542 DC 1 1 6 0,1667 0,0680 0,0680 0,862 0,1762 1,0000 Son şehrin seçimi BC* 0,94 0,94 5 0,2000 0,0894 0,0841 0,0841 1,0000 1,0000 0,89 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 28
Feromon Güncelleme* İlk İterasyon Sonrası Feromon Matrisi Yüklenecek Yerel Feromon Miktarları A B C D A B C D A 1,054589 0,945455 0,9 1 A 0 0,05 0,18824 0,0625 B 0,9 0,94478 1,045455 1,011111 B 0 0,125 0,0625 0,108824 C 1 0,945455 1,054589 0,9 C 0,058824 0,0625 0,05 0,125 D 1,011111 0,9 1 0,9889 D 0,0625 0,2824 0 0 0,9889 1 1,011111 0,9 0,175 0 0,12124 0 Buharlaştırma ve Yerel Feromon Yükleme Sonrası Feromonlar n İyi Karıncanın İzlediği Güzergah A B C D A B C D A 0,9491 0,900909 0,99824 0,9625 A 1 B 0,81 0,9741 1,00409 1,018824 B 1 C 0,958824 0,91409 0,9991 0,95 C 1 D 0,9725 1,04824 0,9 0,89004 D 1 1,06504 0,9 1,0124 0,81 1 Mesafe: 16 Global Feromon Yükleme Sonrası Feromon Miktarları A B C D A 0,9491 0,900909 0,99824 1,025 B 0,81 0,9741 1,065909 1,018824 C 0,958824 0,975909 0,9991 0,95 D 1,05 1,04824 0,9 0,89004 1,06504 0,9 1,09824 0,81 MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 29
Notlar İterasyonlar bu şekilde devam ettirilerek, belirli bir koloni sayısına ulaşılınca algoritma sonlandırılabilir ve tüm koloniler tarafından bulunan mevcut en iyi çözüm yazdırılır. Örneğin bu boyuttaki bir problem için maksimum koloni sayısı 15 olabilir. Fakat problem boyutu büyüdükçe, maksimum koloni sayısının da artırılması gerekir. Aksi halde en iyi çözüm yakalanamayabilir. Her bir koloni turunun sonucunda güncellenen feromon matrisi, bir sonraki karınca kolonisi tarafından kullanılır. Sezgisel bilgi matrisi değişmez. Algoritmanın sonuna kadar hücre değerleri aynı kalır. Yukarıdaki örnek problemin çözümüne ilişkin oluşturulmuş hesaplama tablolarına aşağıdaki linkten ulaşılabilir: http://ikucukkoc.baun.edu.tr/lectures/mm411/mm411-ws.zip MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017 0
Kaynakça Çayıroğlu, İ., Optimizasyon Teknikleri Ders Notları, Karabük Üniversitesi, http://www.ibrahimcayiroglu.com/dokumanlar/optimizasyonteknikleri/optimizasyonteknikleri- 6.Hafta-Karinca_Koloni_Algoritmasi.pdf, rişim Tarihi: 10 Kasım 2017. Keedwell,. C., Nature Inspired Computation Lecture Notes, xeter Universitesi, http://emps.exeter.ac.uk/computer-science/staff/eckeedwe M. Dorigo and T. Stützle. Ant Colony Optimization, MIT Press, Cambridge, 2004. Aydın, İ., Meta Sezgisel Yöntemler Ders Notları, Fırat Üniversitesi, http://web.firat.edu.tr/iaydin/bmu579/bmu_579_bolum6.pdf, rişim Tarihi 14 Kasım 2017. Akyol, S., Alataş, B., Güncel Sürü Zekası Optimizasyon Algoritmaları, Nevşehir Üniversitesi Fen Bilimleri nstitü Dergisi 1 (2012) 6-50. Tamer, S., Karakuzu, C., Parçacık Sürüsü Optimizasyon Algoritması ve Benzetim Örnekleri, http://www.emo.org.tr/ekler/e5d75028d92047a_ek.pdf, rişim Tarihi: 12.11.2017. ACO Website (by Dorigo), http://iridia.ulb.ac.be/~mdorigo/aco/aco.html MM411 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 17/12/2017