T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ

Benzer belgeler
YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ

Fonksiyon Optimizasyonunda Genetik Algoritmalar

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

BBO Algoritmasının Optimizasyon Başarımının İncelenmesi Optimization Performance Investigation of BBO Algorithm

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

BİRİNCİ BASIMA ÖN SÖZ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

OPTİMUM GÜÇ AKIŞININ YAPAY ARI KOLONİSİ İLE SAĞLANMASI

Zeki Optimizasyon Teknikleri

Doç. Dr. Mustafa ÖZDEN Arş. Gör. Gülden AKDAĞ Arş. Gör. Esra AÇIKGÜL

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

Zeki Optimizasyon Teknikleri

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

Karınca Koloni Algoritması 2

9. ULUSAL ÜRETĠM ARAġTIRMALARI SEMPOZYUMU Ekim 2009 ÜAS 2009 BĠLDĠRĠLER KĠTABI. Editörler: Prof.Dr. Nihat YÜZÜGÜLLÜ Yrd.Doç.Dr.

Esnek Hesaplamaya Giriş

Üçüncü adımda ifade edilen özel kısıtları oluģturabilmek için iki genel yöntem geliģtirilmiģtir:

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi

Program AkıĢ Kontrol Yapıları

METASEZGİSEL YÖNTEMLER

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ

Zeki Optimizasyon Teknikleri

Deniz ERSOY Elektrik Yük. Müh.

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm)

GÜNEŞ ENERJİSİ VE RÜZGÂR ENERJİSİ DÂHİL OLAN HİBRİT GÜÇ SİSTEMİNDE FARKLI ALGORİTMALAR İLE EKONOMİK YÜK DAĞITIMININ İNCELENMESİ

Karınca Koloni Algoritması 1

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

YÖNEYLEM ARAŞTIRMASI - III

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

T.C. ĠNÖNÜ ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ SEZGĠSEL YÖNTEMLERDE ALTIN ORAN

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI

SWARM INTELLıGENCE SÜRÜ ZEKASI (SI) Kadir Özkaya Abdullah Çelik Bahattin Carav

CBS ve Coğrafi Hesaplama

Modifiye Yapay Arı Koloni Algoritması ile Nümerik Fonksiyon Optimizasyonu Modified Artificial Bee Colony Algorithm for Numerical Function Optimization

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

YAPAY SİNİR AĞI İLE HAVA SICAKLIĞI TAHMİNİ APPROXIMATION AIR TEMPERATURE WITH ARTIFICIAL NEURAL NETWORK

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

T.C. ORTA KARADENİZ KALKINMA AJANSI GENEL SEKRETERLİĞİ. YURT ĠÇĠ VE DIġI EĞĠTĠM VE TOPLANTI KATILIMLARI ĠÇĠN GÖREV DÖNÜġ RAPORU

Selçuk Üniversitesi ISSN 1302/6178 Journal of Technical-Online ARI KOLONİSİ OPTİMİZASYON ALGORİTMASI KULLANARAK ŞOFÖR- HAT-ZAMAN ÇİZELGELEME

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

T.C. SELÇUK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

KARINCA OPTİMİZASYONU. Harun Kayıkçı

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

Örnekleme Süreci ve Örnekleme Yöntemleri

AST416 Astronomide Sayısal Çözümleme - II. 6. Monte Carlo

Zeki Optimizasyon Teknikleri

T.C. GAZĠ ÜNĠVERSĠTESĠ SOSYAL BĠLĠMLER ENSTĠTÜSÜ EKONOMETRĠ ANABĠLĠM DALI UYGULAMALI YÖNEYLEM ARAġTIRMASI BĠLĠM DALI

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

Ġnternet ve Harekât AraĢtırması Uygulamaları

GENETİK ALGORİTMALARA GİRİŞ (III)

Yapay Zeka Yöntemlerinin Otomotiv Sektöründe Ürün Tasarımı Çalışmalarında Kullanılması

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ Bilgisayar Mühendisliği Ana Bilim Dalı MULTIPLE ANTENNAS. Hazırlayan: Temel YAVUZ

GA, AS, ACS VE MMAS ALGORİTMALARI PERFORMANSLARININ GEZGİN SATICI PROBLEMİ ÇÖZÜMÜ ÜZERİNDE DEĞERLENDİRİLMESİ

Küre Üzerinde 3 Boyutlu Gezgin Satıcı Problemi Çözümünde Parçacık Sürü Optimizasyonu Uygulaması

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME

Seri No Takibi İÇERİK

Fortran komut satırı toplam 80 kolon ve 5 bölgeden oluģur. Komut satırının yapısı aģağıdaki gibidir:

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

UYDU GÖRÜNTÜLERİNİN YAPAY ARI KOLONİSİ (ABC) ALGORİTMASI İLE BÖLÜTLENMESİ

ÖLÇME YÖNTEMLERİ. Ders Öğretim Üyeleri Prof. Dr. Hüsamettin BULUT Yrd. Doç. Dr. M. Azmi AKTACĠR

PARÇACIK SÜRÜ OPTİMİZASYONU YÖNTEMLERİNİN UYGULAMALARLA KARŞILAŞTIRILMASI 2011 YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ

Algoritma ve Programlama II Dersi 3.ÖDEVĠ

2016 YILI OCAK-HAZĠRAN DÖNEMĠ KURUMSAL MALĠ DURUM VE BEKLENTĠLER RAPORU

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

Altın Oran Arama Metodu(Golden Search)

K En Yakın Komşu Methodu (KNearest Neighborhood)

Küre Üzerinde 3 Boyutlu Gezgin Satıcı Problemi Çözümünde Parçacık Sürü Optimizasyonu Uygulaması

Rössler Tabanlı Kaotik Farksal Gelişim Algoritması

GENETİK ALGORİTMALARA GİRİŞ

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

T.C. SELÇUK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

Gezgin satıcı problemlerinin metasezgiseller ile çözümü

ANKARA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması

T. C. ORTA ANADOLU KALKINMA AJANSI GENEL SEKRETERLİĞİ İÇ KONTROL (İNTERNAL CONTROL) TANITIM SUNUMU

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Hibrit Otobüs Seyir Hali Emisyonlarının Ölçüm ve Modellenmesi SAN-TEZ Projesi

BĠLGĠSAYAR AĞLARI. 1-Bilgisayar ağı nedir? 2-Ağ türleri 3-Ağ bağlantıları 4-Ġnternet kavramı ve teknolojileri

Cerrahpaşa Tıp Fakültesi İngilizce Eğitim Programı için gerekli ek rapor

DEPO OPERASYONLARININ KÜMELENDĠRME ESASLI GENETĠK ALGORĠTMALAR ĠLE YÖNETĠLMESĠ

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Transkript:

T.C. SELÇUK ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ YAPAY ARI KOLONĠSĠ ALGORĠTMASI KULLANILARAK GEZGĠN SATICI PROBLEMĠNĠN TÜRKĠYEDEKĠ ĠL VE ĠLÇE MERKEZLERĠNE UYGULANMASI Melike Ruhan AKÇA YÜKSEK LĠSANS TEZĠ Elektronik ve Bilgisayar Sistemleri Eğitimi Eylül-2011 KONYA Her Hakkı Saklıdır

TEZ BĠLDĠRĠMĠ Bu tezdeki bütün bilgilerin etik davranıģ ve akademik kurallar çerçevesinde elde edildiğini ve tez yazım kurallarına uygun olarak hazırlanan bu çalıģmada bana ait olmayan her türlü ifade ve bilginin kaynağına eksiksiz atıf yapıldığını bildiririm. DECLARATION PAGE I hereby declare that all information in this document has been obtained and presented in accordance with academic rules and ethical conduct. I also declare that, as required by these rules and conduct, I have fully cited and referenced all material and results that are not original to this work. Melike Ruhan AKÇA Tarih:

ÖZET YÜKSEK LĠSANS YAPAY ARI KOLONĠSĠ ALGORĠTMASI KULLANARAK GEZGĠN SATICI PROBLEMĠNĠN TÜRKĠYEDEKĠ ĠL VE ĠLÇE MERKEZLERĠNE UYGULANMASI Melike Ruhan AKÇA Selçuk Üniversitesi Fen Bilimleri Enstitüsü Elektronik ve Bilgisayar Sistemleri Eğitimi Anabilim Dalı DanıĢman: Yrd. Doç. Dr. H. Erdinç KOÇER 2011, 90 Sayfa Jüri Doç. Dr. Mehmet ÇUNKAġ Yrd. Doç. Dr. Mesut GÜNDÜZ Yrd. Doç. Dr. H. Erdinç KOÇER Bilgisayar teknolojisindeki geliģmelerin artmasıyla optimizasyon yöntemleri fen, sosyal ve sağlık bilimleri alanlarındaki birçok uygulamanın çözümünde kullanılmaktadır. Sezgisel algoritmalar, özellikle birden farklı çözüme sahip olan problemlere uygulanan güçlü bir alternatif yöntemdir. Bu problemlerden biri de üzerinde sıkça çalıģılan ve literatürde gezgin satıcı problemi olarak bilinen en kısa yol bulma problemidir. Bu problem, haritada yer alan bir noktadan hareket eden satıcının her noktaya bir kere uğradıktan sonra en kısa Ģekilde baģlangıç noktasına tekrar dönmesi üzerinedir. GeliĢime dayalı ve sürü zekâsı temelli olmak üzere iki ana baģlığa ayrılan sezgisel algoritmalar çeģitlilik göstermektedir. Bu tez çalıģmasında sürü zekâsı temelli bir sezgisel algoritma olan yapay arı kolonisi algoritması kullanılarak Türkiye deki il ve ilçe merkezleri için gezgin satıcı problemine çözüm bulunması hedeflenmiģtir. Bununla birlikte literatürde yer alan gezgin satıcı test (benchmark) problemleri üzerinde de deneysel çalıģmalar yapılmıģtır. Son yıllarda oldukça popüler olan yapay arı kolonisi algoritması bal arılarının doğadaki besin arama davranıģından esinlenilerek geliģtirilen etkili yöntemdir. Bu çalıģmada arı kolonisi optimizasyonu (BCO) olarak bilinen algoritma ile yapay arı kolonisi algoritmasının (ABC) bir arada kullanıldığı hibrit yapıda bir algoritma kullanılmıģtır. Bununla birlikte bir yerel arama algoritması olan Opt-2 tekniği bu hibrit yapı içerisine dahil edilerek lokal alanda iyileģtirme gerçekleģtirilmiģtir. Literatürde sonuçları bilinen simetrik ve asimetrik yapıda küçük, orta ve büyük boyutlu gezgin satıcı test problemlerine hibrit yapıdaki algoritma uygulanmıģ ve sonuçlar karģılaģtırılmıģtır. Bununla birlikte ülkemizdeki 81 il ve 888 ilçe merkezi için deneysel uygulamalar gerçekleģtirilmiģ ve elde edilen sonuçlar literatür ile karģılaģtırmalı olarak değerlendirilmiģtir. ÇalıĢmada alınan sonuçlara göre, gezgin satıcı probleminin çözümünde yapay arı kolonisi algoritması parçacık sürü optimizasyonu ve genetik algoritmaya oranla daha yüksek performans göstermektedir. Anahtar Kelimeler: Arı Kolonisi Optimizasyonu, Genetik Algoritma, Gezgin Satıcı Problemi, Parçacık Sürü Optimizasyonu, Sezgisel Algoritmalar, Yapay Arı Kolonisi Algoritması. iv

ABSTRACT MS THESIS EVALUATION OF TRAVELING SALESMAN PROBLEM TO THE NODES OF CITY AND TOWNSHIP CENTERS BY USING ARTIFICIAL BEE COLONY ALGORITHM Melike Ruhan AKÇA THE GRADUATE SCHOOL OF NATURAL AND APPLIED SCIENCE OF SELÇUK UNIVERSITY THE DEGREE OF MASTER OF SCIENCE IN ELECTRONICS AND COMPUTER SYSTEM EDUCATION Advisor: Asst.Prof.Dr H. Erdinç KOÇER 2011, 90 Pages Jury Assoc.Prof.Dr. Mehmet ÇUNKAġ Asst.Prof.Dr. Mesut GÜNDÜZ Asst.Prof.Dr. H. Erdinç KOÇER As developments in computer technology keep increasing, optimization methods are used for solutions of many applications in various fields such as social, health and applied sciences. Heuristic algorithm is an important alternative method which is used especially for problems that have more than one solution. One of these problems is Travelling Salesman Problem, as it is known in the literature, which is also studied rather frequently. TSP is based on the shortest route possible in which the salesman starts from one point and pays a visit to every point on the route and goes back to the starting point in the end. Heuristic algorithms are various and are based on two main titles, one is based on development and other one is based on swarm intelligence. In this dissertation it is aimed to solve tsp for cities and districts of Turkey by using artificial bee colony algorithm which is a swarm intelligence based heuristic algorithm. In addition, experimental studies are applied to travelling salesman test (benchmark) problems which are found in literature. Artificial bee colony algorithm is a quite popular and efficient method that is influenced from honey-bees behaviours of food searching in nature. In this study a hybrid structured algorithm is used which is comprised of bee colony optimization and artificial bee colony. Nontheless, by including local search algorithm opt-2 tecnique in this hybrid structure, local development is realized. Algorithms are applied to small, medium and large symmetrical or asymmetrical travelling salesman problems with known solutions in literature and solutions are also compared to each other. Experimental studies are applied for 81 city and 888 district centers and obtained solutions are assessed comparative to solutions of literature. According to the solution of this study, artificial bee colony algorithm gives a much better performance than particle swarm optimization and genetic algorithm in solving travelling salesman problem. Keywords: Artificial Bee Colony Algorithm, Bee Colony Optimization, Genetic Algorithm, Heurisitc Algorithm, Particle Swarm Optimization, Travelling Salesman Problem. v

ÖNSÖZ Bu çalıģma esnasında desteğini ve değerli fikirlerini esirgemeyen danıģmanım Sayın Yrd.Doç.Dr. Hasan Erdinç KOÇER' e, Mehmet Yasin ÖZSAĞLAM'a ve her zaman yanımda olan ve desteklerini hep hissettiğim aileme ve arkadaģlarıma sonsuz teģekkürlerimi sunarım. Melike Ruhan AKÇA KONYA-2011 vi

ĠÇĠNDEKĠLER ABSTRACT... v ÖNSÖZ... vi ĠÇĠNDEKĠLER... vii SĠMGELER VE KISALTMALAR... viii 1. GĠRĠġ... 1 1.1. Tezin Amacı ve Önemi... 1 1.2. Tez Organizasyonu... 2 2. KAYNAK ARAġTIRMASI... 4 3. MATERYAL VE METOT... 7 4. SEZGĠSEL ALGORĠTMALAR... 9 4.1. Genetik Algoritma... 13 4.2. Parçacık Sürü Optimizasyonu... 18 4.3. Arı Kolonisi Algoritması... 20 4.3.1. Arılar ve sürü zekası... 21 4.3.2. Arılarda besin kaynağı bulma... 21 4.3.3. Yapay arı kolonisi algoritması... 23 4.3.4. Hibrit yaklaģımlı yapay arı kolonisi algoritması... 25 5. YAPAY ARI KOLONĠSĠ ALGORĠTMASININ LĠTERATÜRDEKĠ GEZGĠN SATICI TEST (BENCHMARK) PROBLEMLERĠNE UYGULANMASI... 30 5.1. Küçük Boyutlu Gezgin Satıcı Problemleri... 30 5.2. Orta Boyutlu Gezgin Satıcı Problemleri... 34 5.3. Büyük Boyutlu Gezgin Satıcı Problemleri... 39 6. YAPAY ARI KOLONĠSĠ ALGORĠTMASININ TÜRKĠYEDEKĠ ĠL VE ĠLÇE MERKEZLERĠ ĠÇĠN GEZGĠN SATICI PROBLEMĠNE UYGULANMASI... 43 6.1. Konya Ġli Ġlçe Merkezleri için GSP Çözümü... 43 6.2. Türkiye Ġl Merkezleri GSP Çözümü... 45 6.3. Türkiye nin Tüm Ġlçeleri Ġçin GSP Çözümü... 46 7. SONUÇLAR ve TARTIġMA... 49 7.1. Sonuçlar... 49 7.2. TartıĢma... 53 KAYNAKLAR... 56 EKLER... 61 ÖZGEÇMĠġ... 90 vii

SĠMGELER VE KISALTMALAR Simgeler BO : bulunan optimum sonuç B ofv : arının amaç fonksiyon değeri d ij : iki nokta arası uzaklık fitness : uygunluk fonksiyonu f tp : toplam yol uzunluğu gbest : sürünün elde ettiği en iyi sonuç Min OFV : minimum amaç fonksiyon değeri Max OFV : maksimum amaç fonksiyon değeri OFV : amaç fonksiyon değeri OS : bilinen optimum sonuç Pbest : parçanın elde ettiği en iyi sonuç P gd : global en iyi P id : bir önceki en iyi V id : bireyin hızı V ij : yeni kaynağın konumu X ij : mevcut kaynak :toplama Kısaltmalar ABC : Yapay Arı Kolonisi AGSP : Asimetrik Gezgin Satıcı Problemi BCO : Arı Kolonisi Optimizasyonu BS : Arı Sistemi BSO : Arı Sistemi Optimizasyonu DABC: Ayrık Yapay Arı Kolonisi GA : Genetik Algoritma GBC : Genel Arı Optimizasyonu GSP : Gezgin Satıcı Problemi HBMO: Bal Arıları ÇiftleĢme Optimizasyonu MBO : Arıların BirleĢmesi Optimizasyonu PABC : Paralel Yapay Arı Kolonisi PSO : Parçacık Sürü Optimizasyonu SGSP : Simetrik Gezgin Satıcı Problemi TA : Tabu Arama TB : Tabu Benzetimi VBA : Sanal Arı Algoritması viii

1 1. GĠRĠġ 1.1. Tezin Amacı ve Önemi Gezgin satıcı problemi, bir listedeki bir Ģehirden baģlayıp, listedeki tüm Ģehirleri sadece bir kez ziyaret edip, tekrar baģladığı Ģehre dönen bir satıcı için en kısa turun belirlenmesi problemidir. Gezgin satıcı problemi, tanımlanması kolay olmasına karģın çözülmesi zor bir problemdir. Problem ilk olarak 1800 lü yıllarda Ġrlandalı matematikçi Sir William Rowan Hamilton ve Ġngiliz matematikçi Thomas Penyngton Kirkman tarafından ele alınmıģ ve günümüze kadar üzerinde binlerce çalıģma yapılmıģtır. Tüm çalıģmalara rağmen gezgin satıcı problemini, nokta sayısı doğrusal olarak artmasına rağmen, çözüm için geçen zamanın belirli bir polinom Ģeklinde artarak çözebilecek bir teknik henüz geliģtirilememiģtir (Koç, 2007). Gezgin satıcı problemi, kendi içerisinde noktaların dizilimi bakımından simetrik (SGSP) ve asimetrik (AGSP) gezgin satıcı problemi olarak adlandırılmaktadır. Simetrik olarak adlandırılan gezgin satıcı probleminde noktalar arası uzaklık belirli bir simetriye sahipken asimetrik gezgin satıcı probleminde noktalar arası uzaklık karmaģık bir dizilime sahiptir. Simetrik gezgin satıcı problemlerin çözümü asimetrik problemlere göre daha kolay olmasa da, simetrik dizilime sahip problemler için oldukça iyi sonuç veren sezgisel yöntemler literatürde mevcuttur. Bu sezgisel yöntemler arasında en çok tercih edilen ve en etkili olanlardan bazıları parçacık sürü optimizasyonu (PSO), genetik algoritma (GA) ve arı kolonisi optimizasyonu (BCO) algoritması olarak sıralanabilir. Bu tez çalıģmasında yapay arı kolonisi (ABC) algoritması kullanılarak gezgin satıcı probleminin Türkiye nin il ve ilçe merkezlerine uygulanması gerçekleģtirilmiģtir. Bu amaçla hibrit yapıda bir arı kolonisi algoritması yaklaģımında bulunulmuģtur. Bu yaklaģımda klasik arı kolonisi optimizasyonu (BCO) algoritması ile yapay arı kolonisi (ABC) algoritması birleģtirilmiģtir. Bu hibrit yaklaģım Bölüm 4 de detaylı olarak anlatılacaktır. Bununla birlikte, algoritma içerisinde yerel arama yapmak amacıyla Opt- 2 tekniği hibrit yaklaģıma dahil edilmiģtir. ÇalıĢmanın diğer aģamasında yine aynı yaklaģımın literatürdeki simetrik ve asimetrik gezgin satıcı test problemlerine uygulanması iģlemi gerçekleģtirilmiģtir. Bu aģamada TSPLIB olarak adlandırılan ve tüm dünyadaki gezgin satıcı problemlerinde kullanılan veritabanından alınan örnek veri

2 kümeleri kullanılmıģtır. Deneysel çalıģmalardan elde edilen sonuçlar TSPLIB'de bulunan ve dünya genelinde kabul görmüģ en iyi sonuçlarla karģılaģtırılmıģtır. Tezde alınan tüm deneysel sonuçlar, TSPLIB kütüphanesinde yer alan sonuçlar ve ÖZSAĞLAM (2009) tarafından yapılan yüksek lisans tez çalıģmasında alınan PSO ve GA sonuçları ile karģılaģtırmalı olarak değerlendirilmiģtir. ÇalıĢmamızın ilk kısmında TSPLIB kütüphanesinden alınan ve dünyada en çok üzerinde çalıģılan 16 adet gezgin satıcı test (benchmark) problemi (C20, C30, C40, F32, F41, S21, Burma14, Dantzig42, Eil51, Eil76, Eil101, KroA100, XQF101, XQG237, BCL380 ve PBM436) kullanılmıģtır. Ġkinci kısımda ise 2009 yılı verilerine göre belirlenmiģ ülkemizdeki 81 il ve 888 ilçe merkezi koordinatları alınmıģtır. Böylesine büyük boyutlu bir gezgin satıcı problemine ABC algoritmasının uygulanarak alınan sonuçların değerlendirilmesi bu tez çalıģmasının önemini daha da artırmaktadır. 1.2. Tez Organizasyonu Bu tez çalıģması giriģ, kaynak araģtırması, materyal ve metot, sezgisel algoritmalar, yapay arı kolonisi algoritmasının literatürdeki gezgin satıcı test problemleri için uygulanması, yapay arı kolonisi algoritması kullanarak gezgin satıcı probleminin Türkiye'deki il ve ilçe merkezlerine uygulanması ve sonuçlar ve tartıģma olmak üzere yedi bölümden oluģmaktadır. Birinci bölüm, giriģ bölümü olup konunun genel tanımı yapılmıģ, çalıģmanın amacından ve öneminden bahsedilmiģtir. Ġkinci bölümde ABC ve BCO kullanılarak yapılan GSP çalıģmaları hakkında ve ABC algoritmasının kullanıldığı diğer alanlar hakkında literatür bilgisi verilmiģtir. Üçüncü bölümde tez çalıģması esnasında kullanılan materyal ve metot hakkında bilgi verilmiģtir. Dördüncü bölümde sezgisel algoritmalardan ve çeģitlerinden bahsedilmiģtir. Yapılan uygulama sonucu elde edilen sonuçların karģılaģtırılacağı sezgisel algoritma çeģitlerinden PSO ve GA hakkında geniģ bilgiye yer verilmiģtir. GeliĢtirilen hibrit yaklaģımlı ABC algoritması ayrıntılı olarak anlatılmıģtır. BeĢinci bölümde yapay arı kolonisi algoritmasının literatürdeki gezgin satıcı test problemleri için uygulanması ve bu problemler için yapılan diğer çalıģmalar hakkında bilgi verilmiģtir.

3 Altıncı bölümde ABC algoritması kullanarak gezgin satıcı probleminin Türkiye'deki il ve ilçe merkezlerine uygulanması esnasında izlenilen iģlem basamakları ve elde edilen sonuçlar hakkında bilgi verilmiģtir. Yedinci bölümde ise sonuçlar ve tartıģmaya yer verilmiģtir. Tez çalıģmasının sonunda kaynak bilgisi verilmiģtir.

4 2. KAYNAK ARAġTIRMASI Teodorovic ve Lucic arı zekası üzerine araģtırmalar yapmıģ ve önerdikleri arı sistemi algoritması ile gezgin satıcı problemleri üzerinde çeģitli çalıģmalar yapmıģlardır. Lucic ve Teodorvic 2002 yılında yapay yaklaģımları inceledikleri çalıģmada arı sistemini Opt-3 yerel arama algoritması ile destekleyerek orta boyutlu klasik GSP lerine uygulamıģlardır. Bu çalıģmada elde edilen sonuçlardan Opt-3 ile desteklenen arı sisteminin problem çözümünde oldukça baģarılı olduğunu ve problem çözümü için oldukça makul bir zaman harcadığı görülmüģtür (Lucic ve Teodorovic, 2002). Lucic ve Teodorovic tarafından 2003 yılında arı sistemi klasik gezgin satıcı problemlerine uygulanmıģtır. Bu çalıģmada elde edilen sonuçlar arı sisteminin klasik gezgin satıcı problemlerinde oldukça baģarılı olduğunu göstermiģtir. Ayrıca arı sisteminin ve diğer yapay sistemlerin optimizasyon problemlerine uyarlanması ve yeni modellemelerin yapılması için cesaret verici olmuģtur (Lucic ve Teodorovic, 2003). DerviĢ Karaboğa, 2005 yılında Yapay Arı Kolonisi (Artificial Bee Colony ABC) algoritmasını nümerik optimizasyon problemi üzerinde uygulamıģ ve ABC algoritmasını dünya literatürüne kazandırmıģtır (Karaboğa, 2005). Lucic ve Teodorovic arı sistemi üzerindeki çalıģmalardan sonra arı kolonisi optimizasyonunu geliģtirmiģlerdir. 2006 yılında Lucic ve Teodorovic arı kolonisi optimizasyonunu gezgin satıcı, eģleģtirme ve yönlendirme problemleri üzerinde test etmiģlerdir. Bu çalıģma sonucunda arı kolonisi optimizasyonun çeģitli optimizasyon problemlerinde oldukça baģarılı olduğu görülmüģtür. Bunun üzerine Lucic ve Teodorovic arı kolonisi optimizasyonu ile mühendislik problemleri çözümüne yönelmiģlerdir (Lucic ve Teodorovic, 2006). Yoke ve arkadaģları 2008 yılında arı kolonisi optimizasyonunu gezgin satıcı test problemleri için uygulamıģlardır. Bu çalıģmadan elde edilen sonuçlara göre arı kolonisi optimizasyonunun baģarılı sonuçlar verdiği fakat istenilen optimuma ulaģması için bir yerel arama algoritması ile desteklenebileceği sonucuna ulaģılmıģtır (Yoke ve ark., 2008). Arılardan esinlenilerek geliģtirilen algoritmalar ile yapılan çalıģmalar yıl, yazar, kullanılan algoritma ve uygulanan problem türü olarak yıl bazında sıralanarak Çizelge 2.1'de verilmiģtir.

5 Çizelge 2.1. Yıl bazında yazar, algoritma ve çalıģmalar Yıl Yazarlar Algoritma Uygulanan Problem 1996 Yonezawa ve Kikuchi Ekolojik Algoritma Arı DavranıĢları Tabanlı Kollektif Zeka Tanımı 1997 Sato ve Hagiwara Arı Sistemi (BS) Genetik Algoritma GeliĢtirme 2001 Lucic ve Teodorovic Arı Sistemi (BS) Gezgin Satıcı Problemi 2001 Abbas Arı BirleĢimi (MBO) Tatmin Edici Önerme Problemleri 2002 Lucic ve Teodorovic BS Gezgin Satıcı Problemi 2003 Lucic ve Teodorovic BS + Bulanık Mantık Araç Rotalama Problemi 2003 Lucic ve Teodorovic BS Gezgin Satıcı Problemi 2004 Wedde, Farooq, and Zhang Arı Kovanı Yönlendirme Protokolü 2005 Teodorovic, ve Dell Orco BS EĢleĢtirme Problemi 2005 Karaboga Yapay Arı Kolonisi Nümerik Optimizasyon 2005 Drias, Sadeg, ve Yahi 2005 Yang 2005 Benatchba, Admane, ve Koudil MBO 2006 Teodorovic, Lucic, Markovic, ve Dell Orco BCO (ABC) Arı Sistemi Optimizasyonu (BSO) Sanal Arı Algoritması (VBA) Problemi Maksimum Ağırlık Belirleme Problemi Mühendislik Problemleri Uygulama Fonksiyon Optimizasyonu Maksimum Kısaltma Problemi Gezgin Satıcı Problemi Ve Ağ Yönlendirme Problemi 2006 Chong, Low, Sivakumar, ve Gay Bal Arıları Kolonisi Algoritması ĠĢ Çizelgeleme Problemi 2006 Pham, Soroka, Ghanbarzadeh, and Koc Arı Algoritması Sinir Ağları Optimizasyonu 2006 Basturk ve Karaboga ABC Sayısal Fonksiyon Optimizasyonu 2006 Navrat Arı Kovanı Modeli Arama Problemi 2006 Wedde, Timm, ve Farooq Arı Kovanı Yönlendirme Protokolü 2007 Yang, Chen, ve Tu MBO Mbo GeliĢtirme 2007 Koudil, Benatchba, Tarabetand, ve El Batoul Sahraoui 2007 Quijano and Passino 2007 2007 Marković, Teodorovic, and Aćimović- Raspopović Wedde, Lehnhoff, B.van Bonn, Bay, Becker, Böttcher, Brunner, Büscher, Fürst, Lazarescu, Rotaru, Senge, Steinbach, Yilmaz, and Zimmermann MBO Bal Arıları Yiyecek Arama Algoritması BCO 2007 Karaboga and Basturk ABC 2007 Karaboga, Akay and Ozturk ABC 2007 Afshar, Bozorg Haddada, Marin, Adams 2007 Baykasoglu, Özbakýr, and Tapkan ABC Arı Kovanı Bal Arıları ÇiftleĢme (HBMO) Algoritması Bölümleme Ve Çizelgeleme Problemi Kaynak Tahsisi Sorunlarını Çözme Optik Ağları Yönlendirme Karayolu Trafik Yoğunluğunu Azaltma Çok Boyutlu Sayısal Optimizasyon Problemlerinde Abc Algoritmasının Test Edilmesi Ġleri Beslemeli Sinir Ağları Eğitimi Tek Rezervuarlı Optimizasyon Problemleri GenelleĢtirilmiĢ Atama Problemi 2007 Pham,Otri,Afify, Mahmuddin and Jabbouli Arı Algoritması Veri Kümeleme 2007 Teodorovicand Šelmić BCO P-Medyan Sorunu 2008 Karaboga ABC Dijitel Iır Filtreleme 2008 Karaboga and Basturk ABC ABC Algoritmasının Diğer Popülasyon Tabanlı Tekniklerle KarĢılaĢtırılması 2008 Wong, Yoke, Low, Chong BCO Gezgin Satıcı Problemi 2008 Shi,Haiyan Quan ABC Performans Ġnceleme 2008 Fathian, Amiri, and Maroosi Bal Arıları ÇiftleĢme Optimizasyonu Kümeleme Analizi 2008 Gay, Sivakumar, Chong, Lo BCO ĠĢ Çizelgeleme

6 2008 Teodorovic BCO BCO Algoritmasının Sürü Zekası Temelli Diğer Algoritmalarla KarĢılaĢtırılması 2009 G. Sahoo,Kuntal Mukherjee BCO Matematiksel Modelleme 2009 Bao, Zeng ABC Seçim Mekanizması Analizi Ve KarĢılaĢtırması 2009 Pham, Haj Darwish, Eldukhr Arı Algoritması Bulanık Mantık Denetleyici Parametrelerini Ayarlamak 2009 Bahamish,Abdullah, Salam ABC Protein Yapısı KarĢılaĢtırması 2009 Yusiong, Seno, Pacurib, ABC Sudoku Bulmacasının Çözümü 2009 Selmic, Davidovic, Teodorovic BCO Homojen Çok ĠĢlemcili Sistemlerde Statik Görev Dağılımı 2010 Chhabra, Dahiya, Kumar ABC Yazılım Ġnceleme 2010 Chunfan Xu,Haibin Duan ABC Potansiyel Kenar Fonksiyonu Optimizasyonu 2010 Diao,Zhao,An,Gao ABC Darbeli Kısa Devre 2010 Pan,Tsai,Luo,Pan Paralel Yapay Arı Kolonisi (PABC) Dalga ĠletiĢim Stratejisi 2010 Pan,Tasgetiren, Suganthan, Chua Ayrık Yapay Arı TaĢkın AkıĢ Tipi Kolonisi (DABC) Çizelgeleme Problemi 2010 El-Abd ABC Blok-Kutu Optimizasyonu 2010 Chong,Yoke,Low,Wong Genel Arı Kolonisi Kombinataryol Optimizasyon (GBC) Sorunları 2010 Pansuwan,Rukwong,Pongcharoen ABC Çizelgeleme 2010 Gómez-Iglesias,Castejón,Vega-Rodríguez, Gird Programlamada Füzyon ABC Morales-Ramos,Cárdenas-Montes Ġncelemesi 2010 Nguyen Quynh Anh,Nguyen Tung Linh ABC Ağ Yapılandırması 2010 Kıran BCO ġoför-hat Optimizasyonu 2010 Tapkan Arı Sistemi Kombinatoryal Optimizasyon Problemleri 2011 Öztürk ABC Yapay Sinir Ağlarının Eğitilmesi 2011 Tokmak ABC Ders Çizelgeleme 2011 Erçin BCO Pid Kontrol

7 3. MATERYAL VE METOT Bu tez çalıģmasında metot olarak hibrit yaklaģımlı yapay arı kolonisi algoritması kullanılmıģtır. Lokal alanda iyileģtirme yapmak amacıyla Opt-2 tekniği bu yaklaģıma dahil edilmiģtir. Bu yaklaģımın iģlem basamakları Ģu Ģekildedir: Gerekli koordinatların yüklenmesi ĠĢçi ve gözcü arı sayısının belirlenmesi Tüm iģçi arıların olası çözüm yollarını bulması Her arının sadakat değeri hesaplanarak çözümünün değerlendirilmesi Eğer çözüm iyi ise diğer arılara öncü olunması değilse çözümün bırakılması Ġyi çözümlerde sürekli tekrardan kurtulmak için Opt-2 yerel arama algoritması uygulanması En iyi sonuca veya istenilen iterasyon sayısına ulaģılıncaya kadar bu iģlem basamakları tekrar eder. ÇalıĢmanın deneysel kısmında materyal olarak dünya literatüründe kabul görmüģ (TSPLIB) simetrik ve asimetrik gezgin satıcı test problemleri ile Türkiye'nin 81 il ve 888 ilçe koordinat verileri kullanılmıģtır. Alınan deneysel sonuçlar performans değerlendirmesi yapmak amacıyla Özsağlam'a ait (2009) yüksek lisans tez çalıģmasından elde edilen PSO ve GA sonuçları ile karģılaģtırılmıģtır. Bu çalıģmada kullanılan yazılım Matlab (7.9.0.529 versiyon 2009 sürüm) programı üzerinde geliģtirilmiģtir. Kullanılan bilgisayarın konfigürasyonu ise Intel i7 Core 1.6 GHz iģlemci ve 4 GB RAM olup Windows 7 iģletim sistemine sahiptir. Simetrik gezgin satıcı problemi olarak literatürdeki küçük boyutlu C20, C30, C40, F32, F41, S21 test problemleri kullanılmıģtır. Bu test problemlerinde noktalar arası uzaklık belirli bir simetriye sahiptir ve bu noktalar dairesel, dörtgen ve fraktal olmak üzere üç tür dizilime sahiptir. C20, C30, C40 olarak ifade edilen dairesel dizilimli SGSP lerde 20,30 ve 40 problemdeki nokta sayısını ifade etmektedir. Fraktal dizilime sahip olan F32 ve F41 problemlerinde ise 32 ve 41 nokta mevcuttur. S21 olarak ifade edilen SGSP ise dörtgen bir yapıya sahip olup 21 noktası mevcuttur. Bununla birlikte asimetrik gezgin satıcı problemlerinden orta boyutlu Burma14, Dantzig42, Eil51, Eil76, Eil101, KroA100 ve geniģ boyutlu XQF101, XQG237, BCL380 ve PBM436 test problemleri deneysel çalıģmalarda kullanılmıģtır. AGSP de nokta aralıkları asimetriktir ve rastgele olarak dağılmıģtır. Orta boyutlu AGSP lerde

8 nokta sayısı 101'i geçmeyen problemler ele alınarak inceleme yapılmıģtır. GeniĢ boyutlu test problemleri arasından nokta sayısı 436'yı geçmeyen problemler incelenmiģtir. Bu tez çalıģmasında kullanılan tüm SGSP ve AGSP ne Ek-1'de yer verilmiģtir. ÇalıĢmanın ikinci kısmında, geniģ boyutlu gezgin satıcı problemi olarak inceleyebileceğimiz Türkiye'nin 81 il ve 888 ilçe merkezine hibrit yaklaģımlı ABC algoritması uygulanmıģtır. Bu aģamada kullanılan koordinat bilgileri 2009 yılı verileri olup Ek-2'de verilmiģtir. Literatürdeki gezgin satıcı test (benchmark) problemleri için kullanılan koordinat verileri www.tsp.gatech.edu adresinden elde edilmiģtir.

9 4. SEZGĠSEL ALGORĠTMALAR Bir problem içinden belirli koģullarda en iyi çözümü bulma iģlemine optimizasyon denmektedir. Optimizasyon iģlemi günümüz Ģartlarında birçok alanda uygulanmakla birlikte büyük önem taģımaktadır. Optimizasyon en iyi sonuca ulaģmayı hedeflemektedir. Geçtiğimiz yüzyılın son çeyreğinde bilgisayar teknolojisinde yaģanan büyük geliģim sonucu, optimizasyon yöntemlerinin fen, sosyal ve sağlık bilimleri alanındaki uygulamalarda kullanımı giderek artmıģ ve günümüzün mühendisleri zamanlarının pek çoğunu bilgisayarlar baģında, sayısal modellemeler ve çözümler için harcamaya baģlamıģlardır. Bir problemin çözümünde iki önemli unsur vardır; 1- Çözümün hızlı olması 2- Her zaman aynı sonuca varılması. Optimizasyon problemlerinin çözümünde kullanılan ve kesin çözüm yöntemleri olarak da adlandırılan klasik yöntemlerle geliģtirilen algoritmalar optimizasyon problemlerinde en iyi sonuca ulaģmayı baģarırken zaman ve maliyet bakımından büyük bir külfet oluģturmaktadır. Problemin boyutu arttıkça maliyet de artmaktadır. Bu yüzden optimizasyon problemleri çözümünde harcanan zaman ve maliyetin en aza indirilmesi temel bir ihtiyaç haline gelmiģtir. Bu ihtiyacı karģılamak için tamamen doğal yaģantıdan esinlenilen sezgisel algoritmalar geliģtirilmiģtir. Sezgisel yöntem olarak adlandırılan çözüme yönelik optimizasyon yöntemleri tamamen doğal hayattan esinlenilerek yada günlük yaģantıda kullandığımız yöntemlerin probleme uyarlanmasından oluģmuģtur. Sezgisel algoritmalar tıpkı günlük hayatımızdaki seçimler gibi klasik yöntemlerin yapamadığı seçim yapma yeteneği ile geliģtirilmiģtir. Bu yetenek sezgisel algoritmayı klasik algoritmalardan ayıran en önemli fark olarak kabul edilebilir. Seçim yapma iģlemi sezgisel algoritmaya en iyi çözümü seçme veya rastgelelik olarak yansımıģtır. Rastgelelik veya çözüm esnasında oluģan en iyi çözümü seçmek, daha önce bahsettiğimiz bir problemin çözümü için önemli olan iki unsurdan biri olan her zaman aynı sonuca ulaģılması gerektiğini ihmal etmektedir. Sezgisel algoritmalar problemin çözümü esnasında bu iki unsurdan birincisine daha çok önem verir. Yani problemi makul bir zaman içinde çözer, fakat her zaman aynı çözümün üretileceği garanti edilemez. Ġyi bir sezgisel yöntem içerisinde 4 temel unsur barındırır (Ong ve ark, 1989): Çözüm en iyiye yakın olmalı

10 En iyi çözümden uzaklaģma olasılığı düģük olmalı ĠĢlem süresi uygun olmalı Bellek ihtiyacı küçük olmalı 1991 yılı itibariyle sezgisel algoritmaların kullanımında bir artıģ yaģanmıģtır. Jones ve arkadaģlarına göre bu artıģın birinci sebebi sezgisel algoritmaların hesaplama gücünün iyi olması, ikinci sebebi ise bu algoritmaların dönüģtürülebilir olmasıdır (Özkan, 2010). Sezgisel algoritmaların en büyük avantajları çözüm zamanının çok kısa olması ve her türlü probleme kolayca uyarlanabilmesidir. Kesin sonuç veren algoritmalar (klasik algoritmalar) kendi problemlerinde yüksek baģarım gösterseler bile sezgisel algoritmalar diğer problemlere kolay uyarlanabilir oldukları için daha geniģ problem alanında baģarım göstermektedir. ġekil 4.1'de klasik algoritmaların (A1, A2, A3) benzer problemlerde yüksek baģarı gösterdiği, problem çeģitliliği arttığında baģarı oranının azaldığı, sezgisel algoritmanın ise her türlü probleme kolay uyarlanabilir olmasından dolayı daha geniģ problem alanlarında belirli bir baģarı oranı yakaladığı görülmektedir. ġekil 4.1. Klasik ve sezgisel algoritmaların baģarım grafiği (Akay, 2009) Sezgisel algoritma, içerisinde geliģime dayalı algoritmalar ve sürü zekası temelli algoritmalar barındırmaktadır. Genetik algoritma, geliģime dayalı bir yapıya sahiptir ve sezgisel algoritmanın temelini oluģturmaktadır. Bunun yanı sıra kuģ, karınca ve arı gibi sürü halinde yaģayan canlıların yaģantısından esinlenilerek geliģtirilen, sürü zekası temelli, parçacık sürü optimizasyonu, karınca kolonisi ve arı kolonisi algoritması sezgisel algoritmalar içerisinde büyük bir öneme sahiptir.

11 1- GeliĢime Dayalı Optimizasyon Algoritmaları a. Tavlama Benzetimi Algoritması b. Tabu Arama Algoritması c. Genetik Algoritma 2- Sürü Zekası Temelli Optimizasyon Algoritmaları a. Parçacık Sürü Optimizasyonu b. Karınca Kolonisi Algoritması c. Arı Kolonisi Algoritması GeliĢime dayalı optimizasyon algoritmalarında popülasyonda bulunan bütün bireyler doğal ortamda etkileģime girerek çevresel durumun keģfine yönelik çözümler üretmektedir. Maksimize edilecek kalite fonksiyonu için aday çözümlerden oluģan bir popülasyon üretilir ve bu uygunluk değerleri kalite fonksiyonuna göre değerlendirilir. Bu uygunluk sonucunda bazı bireyler diğer kuģağa aktarılmak için seçilir ve seçilen bu bireylere mutasyon ve/veya yeniden oluģum operatörleri uygulanır. Mutasyon ve yeniden oluģum operatörleri arasındaki fark; mutasyon operatörü tek bir bireye uygulanırken yeniden oluģum operatörü iki ya da daha fazla ebeveyn çözüm seçilerek bunlardan yeni birey oluģturulur. Bu süreç belirtilen adım süresince ya da yeterince iyi bir çözüm bulununcaya kadar devam eder. Bu iģlemler sırasında iki önemli nokta vardır; DeğiĢim operatörlerinin popülasyonun farklılığını sağlaması Seleksiyonun popülasyonun kalitesini artırması Bu süreçler sonunda optimizasyonun en iyiyi gerçekleģtirdiği ya da yaklaģtığı gözlemlenir. GeliĢime dayalı algoritmaların temel mantığı bu Ģekilde iken kendi aralarında farklılık gösterebilirler. Tavlama Benzetimi (TB) algoritması, birbirlerinden bağımsız olarak, Kirkpatrick, Gelatt ve Vecchi (1983) ve Cerny (1985) tarafından ortaya konmuģtur. TB bir katının minimum enerji durumu elde edilene kadar yavaģ yavaģ soğutulduğu fiziksel tavlama sürecini taklit eden olasılıklı bir arama yöntemidir. Tabu Arama (TA) algoritması ilk defa F. Glover (Glover 1989; Glover 1990) tarafından insan hafızasının çalıģmasından esinlenilerek önerilmiģ bir yerel arama yöntemidir. Tabu arama yöntemi kısır döngüden kurtulmak için hafıza kullanılmasını, hatırlamayı önerir. Daha önce ziyaret edilmiģ ya da herhangi bir nedenle ziyaret edilmesi istenilmeyen aday çözümlerle ilgili özellikler, tabu listesi adı verilen, kısa dönem hafızaya benzer bir yapıda tutulur.

12 Genetik algoritma (GA), doğadaki evrim mekanizmasını örnek alan bir arama metodudur ve bir veri grubundan özel bir veriyi bulmak için kullanılır (Kurt, 2008). Genetik algoritma, araģtırma ve optimizasyon algoritmaları olup, canlılardaki doğal geliģim prensibine dayanmaktadırlar. Genetik algoritma çözüm uzayındaki her noktayı, kromozom adı verilen bir dizi ile kodlar. Her kuģakta, Genetik algoritma, çaprazlama ve mutasyon gibi genetik operatörleri kullanarak yeni bir popülasyon oluģturur. Birkaç kuģak sonunda, popülasyon daha iyi uygunluk değerine sahip üyeleri içerir (Jang, 1997). Sürü zekası temelli algoritmaların oluģumunda doğadaki mucizelerden faydalanılmıģtır. Doğadaki canlıların yaģamlarını devam ettirmek için oluģturdukları sistematik incelendiğinde günlük hayattaki problemlere dair birçok çözüm içerdiği görülmektedir. Sürü halinde yaģayan canlılarda organize olabilme ve görev paylaģımı vardır. Bu durum problem çözümünde bu canlılara kolaylık sağlamaktadır. Sürü zekâsı temelli algoritmalarda kuģ, arı, karınca gibi yardımcı elemanlar kullanılmıģtır. Bunlar Parçacık Sürü Optimizasyonu Algoritması, Karınca Kolonisi Algoritması ve Arı Kolonisi Algoritması olarak isimlendirilir. Parçacık sürü optimizasyonu algoritması kuģ sürülerimin doğal evrendeki yerini bilmediği besin kaynağını aramasından etkilenerek geliģtirilmiģtir. Her kuģ olası bir çözümü temsil eder. Karınca kolonisi algoritması karıncaların mevcut kaynağı kullanırken en kısa yolu tercih etmelerinden esinlenerek geliģtirilmiģtir. Yapay karıncalar doğal karıncalardan esinlenerek üretilmiģ fakat bünyesinde farklılıklar barındırmaktadır. Yapay karıncaların hafıza özelliği kullanılarak mevcut en kısa çözüm elde edilmektedir. Arı kolonisi algoritması, arıların diğer sürü zekası temelli algoritmalara kaynaklık eden canlılara karģı üstünlüğünden esinlenilerek geliģtirilmiģtir. Arı algoritması kendi içinde sürekli olarak bir geliģim yaģamıģtır. Bu geliģim esnasında arı sistemi, arı kovanı, arı kolonisi optimizasyonu, bal arıları optimizasyonu gibi değiģik versiyonları geliģtirilmiģtir. Arı algoritması geliģim sürecini 2005 yılında Karaboğa tarafından geliģtirilen Yapay Arı Kolonisi olarak adlandırılan algoritma ile sürdürmektedir (Karaboğa, 2005). GeliĢime dayalı algoritmalardan genetik algoritma, sürü zekası temelli algoritmalardan ise parçacık sürü optimizasyonu ve arı kolonisi algoritması ile elde edilen sonuçlar bu tez çalıģması içerisinde incelemeye alınmıģtır.

13 4.1. Genetik Algoritma Doğadaki evrim mekanizmasını örnek alarak geliģtirilmiģ olan genetik algoritmalarda varyasyon oluģturmanın birinci aracı çaprazlamadır. Bu yöntemde amaç fonksiyon değerinin iyiliğine göre çözümler rastsal olarak seçilir ve bunların içerdiği unsurlar yine rastsal olarak karıģtırılarak yeni bir çözüm elde edilir. Mutasyon ise, tüm popülasyonda yitirilmiģ özelliklerin tekrar çözüme dahil edilebilmesi için bir çözümün bir veya birkaç unsurunda yapılan rastsal değiģimdir. Seçim iģleminde de yine amaç fonksiyon değerine göre ağırlık değeri almıģ rastsal bir seçimle hangi çözümlerin popülasyonda kalacağı belirlenir (Bicthahn ve ark. 1995; Kurt 2008). Genetik algoritmalarda çaprazlama ve mutasyonun kolayca gerçeklenmesi için genellikle karar değiģkenlerinin gösterimi yoluna gidilir. Bu yöntemde 0 1 tamsayı değiģkenler doğrudan, tamsayı değiģkenler ikili sayı sisteminde ve gerçel sayı değiģkenler tamsayılara çevrilerek ikili sayı sisteminde gösterilir. Bu gösterim iģlemleri kolaylaģtırsa da kısıtları dikkate almadığından mümkün olmayan çözümler üretebilmektedir. Bu soruna yönelik çözümlere ceza maliyeti ekleme, iģlemleri değiģtirerek daima mümkün çözüm oluģturulmasını sağlama, evrimsel iģlemin ardından gerekirse bir tamir iģlemi yapma, kısıt dıģına çıkmayacak bir gösterim geliģtirme vb. yöntemlere gidilmiģtir (Bicthahn ve ark. 1995). Ek olarak standart ikili kodlama yerine her adımda sadece bir bitin değiģtiği gri seviye kodu kullanılarak bir bitlik değiģiminin daha küçük anlam ifade etmesi sağlanabilir (Bicthahn ve ark. 1995). ġekil 4.2'de genetik algoritmaya ait akıģ diyagramı verilmiģtir.

14 ġekil 4.2. Genetik algoritma akıģ diyagramı Genetik algoritmaların özellikleri şöyle sıralanabilir: Paralel iģlem gören makinelerin hızını arttırmak için kullanılan paralel arama prosedürleridir. Hem sürekli hem de birleģik optimizasyon problemlerine uygulanabilmektedir. Yerel minimuma takılma ihtimali daha düģüktür. Sinir sistemleri gibi karmaģık modellerde genetik algoritmalar hem yapı hem de parametre tanımlamasını kolaylaģtırmaktadır (Kurt, 2008). Genetik Algoritmanın Aşamaları: Başlangıç: n adet kromozom içeren popülasyonun rastgele oluģturulması (problemin uygun bir çözümü). Tekrar üretim: OluĢturulan popülasyondan iki ebeveyn seçilmesi. Bu seçim iģlemi rastgele olup uyumluluk fonksiyonu yüksek bireylerin seçilme Ģansı daha fazladır.

15 Yeni popülasyon: Yeni popülasyon oluģuncaya kadar aģağıdaki adımların tekrarı Seçim: Ġki ebeveyn kromozomun uyumluluğuna göre seçimi (daha iyi uyum seçilme Ģansını artırır). Çaprazlama: Yeni bir fert oluģturmak için ebeveynlerin bir çaprazlama olasılığına göre çaprazlanması. Eğer çaprazlama yapılmazsa yeni fert anne veya babanın kopyası olacaktır. Mutasyon: Yeni ferdin mutasyon olasılığına göre kromozom içindeki konumu değiģtirilir. Mutasyon olasılığı oldukça küçük seçilmelidir. Ekleme: Yeni bireyin yeni popülasyona eklenmesi. 1, 2 ve 3 nolu aģamalarının kromozom sayısının eski popülasyondaki kadar olmasına kadar devam edilmesi. Değiştirme: Algoritmanın yeniden çalıģtırılmasında oluģan yeni popülasyonun kullanılması. Test: Eğer sonuç tatmin ediyorsa algoritmanın sona erdirilmesi ve son popülasyonun çözüm olarak sunulması. Döngü: Eğer sonuç tatmin etmiyorsa tekrar üretim aģamasına dönülmesi (Potvin ve ark. 1996). Genetik algoritma kullanılarak bir problem çözülecekse algoritmanın ne zaman sonlanacağına kullanıcı karar vermektedir. Sonucun yeterince iyi olması veya yakınsamanın sağlanması algoritmanın durması için kriter olarak kullanılabilir (Emel ve ark. 2002 ). Genetik Algoritmanın Diğer Yöntemlerden Farkı: Genetik algoritmalar problemlerin çözümünü parametrelerin değerleriyle değil, kodlarıyla arar. Parametreler kodlanabildiği sürece çözüm üretilebilir. Bu sebeple genetik algoritmalar ne yaptığı konusunda bilgi içermez, nasıl yaptığını bilir. Genetik algoritmalar aramaya tek bir noktadan değil, noktalar kümesinden baģlar. Bu nedenle çoğunlukla yerel en iyi çözümde sıkıģıp kalmazlar. Ancak bazı durumlarda genetik algoritmalar yerel en iyi çözüme, genel en iyi çözümden daha çabuk ulaģırlar ve algoritma bu noktada sonuçlanır. Bu durumla karģılaģıldığında, bu durumu önlemek için (genel en iyi çözüme ulaģabilmek için) ya arama uzayındaki çeģitlilik arttırılır ya da uygunluk fonksiyonu her üreme aģamasında değiģtirilir. Genetik algoritmalar türev yerine uygunluk fonksiyonunun değerini kullanır. Bu değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez.

16 Genetik algoritmalar gerçekçi kuralları değil olasılıksal kuralları kullanır (Bingül ve ark. 1999). Genetik Algoritmanın Uygulama Alanları: KarmaĢık problemleri hızlı ve en iyiye yakın olarak çözebilen genetik algoritmalar, çeģitli problem tiplerine uygulanabilmektedir. Büyük çözüm uzaylarının geleneksel yöntemlerle taranması hesaplama zamanını arttırmaktadır. Ancak bu tip problemlere, genetik algoritmalar ile kısa sürede, kabul edilebilir çözümler bulunabilmektedir (Gonzales, 2000). Genetik algoritmalar özellikle çözüm uzayının geniģ, süreksiz ve karmaģık olduğu problem tiplerinde baģarılı sonuçlar vermektedir. GA genel olarak optimizasyon, otomatik programlama ve bilgi sistemleri, mekanik öğrenme ve ekonomik sistem modellerinde kullanılmıģtır. Daha özelleģtirecek olursak; Çizelgeleme problemi Montaj hattı dengeleme problemi Tesis yerleģim problemi Atama problemi Hücresel üretim problemi Sistem güvenirliği problemi TaĢıma problemi Araç rotalama Gezgin satıcı Minimum yayılan ağaç problemi vb. birçok problemde uygulanmıģtır. Genetik algoritmanın gezgin satıcı problemine uyarlanması örneğinde satıcının dolaģması gereken Ģehir sayısı 10 kabul edilerek anlatılmıģtır (Özsağlam, 2009). 1.Popülasyonun oluşturulması; GSP için popülasyondaki her birey Ģehirler arasındaki güzergâhtır. Popülasyondaki bireylerin sıralanıģı sırayla hangi Ģehirlere gideceğinin sırasını belirtir. Satıcının gittiği Ģehre tekrar gitmemesi gerekir. Popülasyon üyeleri aģağıdaki gibi oluģturabilir; 9340182576 8420975361 0459763281 7310428956

17 2.Uygunluk değerlerinin hesaplanması ve seçim; Bireyleri oluģturan sayıların her biri bir Ģehri ifade ettiğinden her bir bireyin uygunluk değeri hesaplanırken aģağıdaki formül kullanılır. Uygunluk değerleri hesaplandıktan sonra eģleme havuzunun oluģturulması için bireyler turnuva, rulet tekeri ve elitizim gibi çeģitli yöntemlerle seçilirler. 3.Çaprazlama; Çaprazlama iģleminde eģleme havuzundan seçilen iki birey kendi aralarında gen değiģimde bulunurlar. Burada 2. ve 3. bireyin rastgele seçildiğini ve çaprazlama noktasını da 6 olarak kabul edelim. Çaprazlama öncesi durum Çaprazlama sonrası durum 8420975361 8420973281 0459763281 0459765361 Çaprazlama sonrasında oluģan yeni bireylerde aynı güzergahların tekrar ettiği durumlar olabiliyor. Bu durumu ortadan kaldırmak için standartlaģtırma iģlemi uygulanır. StandartlaĢtırma iģleminde kromozom içinde tekrar eden ilk Ģehir ziyaret edilmeyen en küçük numaralı Ģehir ile değiģtirilir. 4.Mutasyon; StandartlaĢtırma öncesi StandartlaĢtırma sonrası 8420973281 5460973281 0459765361 0429785361 Mutasyon iģlemi gezgin satıcı problemine uygun olması açısından, rastgele seçilen iki genin yer değiģtirmesi ile gerçekleģtirilir. 5.Durdurma Kriteri; Mutasyon öncesi Mutasyon sonrası 5460973281 5420973681 Durdurma kriteri iterasyon sayısı yada problemin baģında belirlenen bir değerin altında oluncaya kadar 2 ve 4. adımlar devam tekrar edilir. Algoritmanın sonunda en iyi birey çözüm olarak kabul edilir.

18 4.2. Parçacık Sürü Optimizasyonu Parçacık Sürü Optimizasyonu (PSO), Kennedy ve Eberhart tarafından 1995-1996 yıllarında popülasyon tabanlı, sürü zekası (swarm intelligence) esasına dayalı olarak geliģtirilen bir optimizasyon yöntemidir (Kennedy ve Eberhart 1995). Parçacık Sürü Optimizasyonu (PSO) kuģ sürülerinin davranıģlarının bir benzetimidir. KuĢların uzayda, yerini bilmedikleri yiyeceği aramaları, bir probleme çözüm aramaya benzetilir. KuĢlar yiyecek ararken yiyeceğe en yakın olan kuģu takip ederler. Parçacık olarak adlandırılan her tekil çözüm, arama uzayındaki bir kuģtur. Parçacık hareket ettiğinde, kendi koordinatlarını bir fonksiyona gönderir ve böylece parçacığın uygunluk değeri ölçülmektedir (diğer bir ifade ile yiyeceğe ne kadar uzaklıkta olduğu ölçülmektedir). Bir parçacık, koordinatlarını, hızını (çözüm uzayındaki her boyutta ne kadar hızla ilerlediği), Ģimdiye kadar elde ettiği en iyi uygunluk değerini ve bu değeri elde ettiği koordinatları hatırlamalıdır. Çözüm uzayındaki her boyuttaki hızının ve yönünün her seferinde nasıl değiģeceği, komģularının en iyi koordinatları ve kendi kiģisel en iyi koordinatlarının bir birleģimi olacaktır (Kalınlı, 2001). Çözüm uzayı problemdeki değiģken veya bilinmeyen sayısına bağlı olarak çok boyutta olabilir. Görsel olarak insanların resmedemediği 4 veya daha fazla boyutlu karmaģık problemlerde çalıģmanın PSO için herhangi bir zorluğu bulunmamaktadır. Örneğin PSO, bir yapay sinir ağının eğitiminde kullanılacaksa ve ağda 50 tane bağlantı ağırlığı mevcutsa problem 50 boyutlu bir uzayda çözülecektir. PSO, bir grup rastgele çözümle (parçacık sürüsü) baģlatılır ve güncellemelerle en iyi çözüm bulunmaya çalıģılır. Her tekrarlamada (iterasyonda), parçacık konumları, iki en iyi değere göre güncellenir. Ġlki; o ana kadar parçacığın elde ettiği en iyi çözümü sağlayan koordinatlardır. Bu değer pbest olarak adlandırılır ve hafızada saklanmalıdır. Diğer en iyi değer ise, popülasyonda o ana kadar tüm parçacıklar tarafından elde edilen en iyi çözümü sağlayan koordinatlardır. Bu değer global en iyidir ve gbest ile gösterilir. PSO İçin Genel Akış For Her Parçacık İçin Başlangıç Koşullamaları End

19 Do For Her Parçacık İçin Uygunluk Değerini Hesapla Eğer Uygunluk Değeri, Pbest'ten Daha İyi İse; Şimdiki Değeri Yeni Pbest Olarak Ayarla End Tüm Parçacıkların Bulduğu Pbest Değerlerinin En İyisini, Tüm Parçacıkların Gbest'i Olarak Ayarla For Her Parçacık İçin Parçacık Hızını Hesapla Parçacık Pozisyonunu Güncelle End While Maksimum İterasyon Sayısına Veya Minimum Hata Koşulu Sağlanana Kadar Tekrar Et. PSO Parametreleri: Parçacık sayısı: 20 ile 40 arasındadır. Birçok problem için 10 parçacık kullanmak yeterlidir. Bazı zor veya özel problemlerde ise 100 veya 200 parçacık kullanılması gerekebilir. Parçacık boyutu: Optimize edilecek probleme göre değiģmektedir. Parçacık aralığı: Optimize edilecek probleme göre değiģmekle birlikte farklı boyutlarda ve aralıklarda parçacıklar tanımlanabilir. Vmax: Bir iterasyonda, bir parçacıkta meydana gelecek maksimum değiģikliği (hız) belirler. Genellikle parçacık aralığına göre belirlenir. Örneğin X1 parçacığı (-10,10) aralığında ise Vmax=20 sınırlandırılabilir. Öğrenme Faktörleri: c1 ve c2 genellikle 2 olarak seçilir. Fakat farklı da seçilebilir. Genellikle c1, c2 ye eģit ve [0, 4] aralığında seçilir. Durma Koşulu: Maksimum iterasyon sayısına ulaģıldığında veya değer fonksiyonu istenilen seviyeye ulaģtığında algoritma durdurulabilir (Shi, 1998). GSP kendine has özellikleri olan bir problem türü olduğu için PSO yönteminin gezgin satıcı problemine uyarlanması gereklidir. Bu uyarlama sonucu düzenlenen PSO algoritmasının aģamaları Ģu Ģekildedir (Özsağlam, 2009): 1. Popülasyondaki parçacık sayısı kadar çözüm üret ve her parçacık için hız yerine geçecek yer değiģtirme öbeği üret. 2. Bütün parçalar için X id, çözümlerinin X id yeniden hesapla; 2-1. P id ve X id değerlerinin farkının hesaplanması, bu iģlem

20 bireyin bir önceki en iyiye (P id ) benzemesini sağlar. 2-2. P gd ve X id değerlerinin farkının hesaplanması, bu iģlem bireyin global en iyiye (P gd ) benzemesini sağlar. 2-3. Yeni hızın hesaplanması; 2-4. Yeni parçacığın (çözümün) hesaplanması; Bu iģlem yeni bireyin yeni oluģturulan hıza benzemesini sağlar. 2-5. Yeni P id değeri daha iyi ise eski değer ile yer değiģtir. 3. Ġterasyondaki P gd değeri daha iyi ise eski değer ile yer değiģtir. 4. Ġstenen Ģart sağlandıysa algoritmayı bitir. 4.3. Arı Kolonisi Algoritması Arı Sistemi kavramı Tomoya Sato ve Masafumi Hagiwara tarafından ortaya konulmuģ gerçek arıların davranıģlarından esinlenerek oluģturulan bir sezgisel algoritmadır. Arı Kolonisi (Bee Colony - BC) algoritması, Arı Sistemi nin (Bee System - BS) bir türevi olarak geliģtirilmiģtir (Teodorovic, 2006). Arı kolonisi algoritmasının çalıģma prensibi Ģu Ģekildedir; Arama süreci baģında tüm arılar kovandadır ve arama süresince arılar direk olarak birbirleriyle haberleģebilirler. Her arı kendine ait bir veya daha fazla mümkün yolu oluģtururken, aynı zamanda genel arama sürecinin de bileģenlerini hazırlamaktadır. Arama süreci tekrarlardan oluģur. Birinci iterasyon, arılar bir veya daha fazla uygun çözümü oluģturduğunda sona erer. Bulunan en iyi çözüm birinci iterasyon esnasında kaydedilir ve ikinci çevrim baģlar. Ġkinci çevrimde arılar adım adım çözüm yollarını oluģturur. Her çevrimin sonunda bir veya daha fazla kısmî çözüm vardır. Ġterasyonların toplam sayısını karar verici tayin eder. Bu çalıģma prensibi tamamen gerçek arıların sürü zekası mantığından ortaya çıkmıģtır.

21 4.3.1. Arılar ve sürü zekası Sürü zekasında organize olabilme ve iģ paylaģımı vardır. Kolonide yer alan her arı herhangi bir otorite olmadan kendine ait olan iģi baģarıyla gerçekleģtirmektedir. Her arının kendine ait iģi olduğundan arılarda sürü zekasını oluģturan iģ paylaģımı rahatlıkla görülmektedir. Bu iģ paylaģımı esnasında hiçbir otoritenin etki etmemesi de arılarda organize olabilme yeteneğinin olduğunu gösterir. Kovanda çeģitli görevlerde birçok arı vardır. Arı kolonisi algoritmasında da bahsi geçen iģçi, gözcü ve kaģif arıların görev dağılımları Ģöyledir. ĠĢçi arı; dıģarı çıkıp kaynak arar, bulduğu kaynak hakkındaki bilgileri kovandaki dans alanına dönerek yaptığı çeģitli danslarla kaynağın uzaklığı, yönü ve kaynağın kalitesi hakkında gözcü arılara bilgi verir. Bunun sonucunda eğer kaynağa gitmek istiyorsa iģçi arı olarak devam eder, eğer yeni kaynaklar bulmak istiyorsa kaģif arı konumuna geçerek yeni kaynaklar arar veya kovanda kalarak gözcü arı konumuna geçip gelen kaynaklardan birini değerlendirir. Gözcü arı; bir nevi karar mekanizmasıdır, iģçi arıların dans alanında kendisine aktardığı bilgileri değerlendirerek ne yapılacağına karar verir. Bu karar sonucunda istediği bir kaynağa iģçi arı olarak gidebilir veya kaynak seçimi için biraz daha bekleyebilir. KaĢif arı ise yeni besin kaynaklarını keģfetmekle görevli arıdır. Görevini bitirmiģ iģçi arı veya kendi kaynağını bulmak isteyen gözcü arı kaģif arı konumuna geçebilir. KaĢif arılar buldukları besin kaynaklarını dans alanında gözcü arılara aktardıktan sonra eğer nektar taģıma iģine baģlamak isterlerse iģçi arı konumuna geçerler. Bahsedilen bu sebeplerden dolayı arılarda iģ paylaģımı olduğuna rahatlıkla kanaat getirebiliriz. Bu iģ paylaģımları esnasında hiç bir otorite olmaksızın kovandaki iģçi, gözcü ve kaģif arı dengesi sürekli bir Ģekilde korunmaktadır. Bu da arıların organize olabildiklerine kanıttır. 4.3.2. Arılarda besin kaynağı bulma Arılar arasında bilgi paylaģımı doğru bilgiye ulaģmak için çok önemlidir. Arılar yiyecek kaynağı ve kalitesini dans alanında birbirine iletirler. Bilgiyi getiren arı dans ederken gözcü arılar antenleri ile onlara dokunarak bulduğu kaynağın tadı ve kokusu ile ilgili bilgileri ondan alırlar. Dansı etkileyen etmenler; kaynağın kovana yakınlığı, nektar

22 miktarı, nektarın tatlılığı (en önemlisi), nektarın kolay çıkarılması, günün hangi saatinde olunduğu, havanın nasıl olduğu kısacası arılara kolaylık ve zorluk sağlayabilecek her Ģey dansın türünü ve hızını etkiler. Dans sayesinde besin kaynağı ile bilgi verildikten sonra kaynağa yönlendirilen arıların doğru kaynağı bulabilmeleri için yön bilgisine ihtiyaçları vardır. Arılar bitiģik gözleri sayesinde güneģ ile kendi yörüngelerindeki açıyı hesaplayabilirler (Akay, 2009). Arılar besin kaynağı hakkındaki bilgiyi aktarmak için çeģitli danslara sahiptir. Bunlar; dairesel dans, kuyruk dansı ve titreme dansı olarak sıralanabilir. Daire ve kuyruk dansı kaynağın uzaklığını belirtmede ayırt edici olarak kullanılır. Daire dansı 50-100 m yakında bir nektar olduğunu söylediği için yön ve açı bilgileri içermez. Kuyruk dansı ise 100 m'den 10 km'ye kadar olan geniģ bir alandaki besin kaynağını ifade etmek için yapılan dans türüdür. Dairesel dans 8 rakamı Ģekline benzeyen bir dans türüdür ve besin kaynağına ait hemen hemen her bilgiyi içerir; yeri, yönü gibi. Yön bilgisi dansın açı bilgisinden elde edilir. ġekil 4.3. Arılarda açı bilgisi aktarımı (Akay, 2009) Titreme dansı ise bulunan nektar çok kaliteli olduğunda ve miktar bakımından çok olduğunda yapılır. "Bir kaynak buldum, içinde taģımak için çok nektar var, iģleme görevine geçmek istiyorum" anlamını taģır ve amacı kovandaki yiyecek kapasitesi ve yiyecek getirme aktivitesi arasındaki dengeyi sağlamaktır. Tüm bilgiler anlatılan dans türlerine göre dans alanında gözcü arılara aktarıldıktan sonra gözcü arılar kaynaklar arasında uzaklık, nektar miktarı ve kalitesine

23 göre karar verirler. Karar verildikten sonra iģçi arılar ya tekrar kendi kaynaklarına dönüp nektar getirmeye baģlarlar ya da yeni kaynaklar aramaya baģlarlar. KaĢif arılar ise rastgele kaynak aramaya çıkarlar. Gözcü arı seçilen dansa göre nektar taģımak için kaynağa doğru uçabilir ya da gözlem yapmaya devam eder. Arılar arasında bir sayı dengesi vardır. Yani tüm arılar aynı anda çalıģmaya çıkmaz. ÇalıĢan arılar ile bekleyen arılar arasında sürekli bir denge vardır. Arılar bu dengeyi Ģu Ģekilde sağlarlar. Pozitif geri besleme: Kaynağın kalitesi arttıkça bu kaynağı seçen gözcü arı sayısı artar. Negatif geri besleme: Kaynak tükenmeye baģlayınca bırakılır. Salınımlar: KaĢif arılar yiyecek kaynağı bulmak için rastgele arama yaparlar. Çoklu etkileşimler: Bilgi paylaģımı dans alanında gerçekleģir (Akay, 2009). ġekil 4.4. Yiyecek arama çevrimi (Akay, 2009) 4.3.3. Yapay arı kolonisi algoritması Yapay arı kolonisi (ABC) algoritması Karaboğa ve ark. tarafından 2005 yılında gerçek arıların besin kaynağı aramasından esinlenerek geliģtirilmiģ bir tür optimizasyon algoritmasıdır (Karaboğa, 2005).

24 Yapay arı kolonisinde iģleri kolaylaģtırmak için bazı kabullenmeler yapılmaktadır. Bunlardan biri her kaynak sadece bir görevli arı tarafından taģınıyor olmasıdır. Buda bize her kaynak için bir görevli arı, yani görevli arı sayısı kaynak sayısına eģittir mantığını çıkarıyor. Diğer bir kabulleniģ ise iģçi arıların sayısı gözcü arıların sayısına eģittir mantığıdır. Kaynağındaki nektar biten görevli arı kaģif arı olur ve yeni kaynak aramaya baģlar. Bu kabullenmelerden sonra optimizasyon problemleri açısından değerlendirirsek; kaynaklar bize olası çözümleri, kaynaklardaki nektar kalitesi ise çözümün kalitesini (uygunluğunu) vermektedir. Yani yapay arı en fazla nektara sahip kaynağı bularak en iyi çözümü bulmuģ olacaktır. ABC Algoritmasının işlem basamakları: 1.ĠĢçi arılar tarafından olası çözümleri temsil eden ilk yiyecek kaynakları üretilir. 2.KoĢul sağlanana kadar (istenilen elde edilene kadar) aģağıdaki adımlar tekrar edilir. (a) Tüm iģçi arılar kaynağa gider ve komģu kaynakları belirler, ve bu nektar değerlendirilir. (b) Her gözcü arı bir iģçi arı seçer. Bu seçilen kaynak etrafında komģu seçildikten sonrada nektar miktarı değerlendirilir. (c) Bazı kaynaklar terk edilir ve kaģif arılar yeni kaynak aramayı tekrarlar (d) Hafızada en iyi besin kaynağı bulunur. (AslantaĢ ve ark. 2010) KoĢulun sağlanma kriteri belirtilen iterasyon sayısının veya uygunluk fonksiyonunun sağlanmasıdır. Besin kaynağı olası çözüm yolunun temsilidir ve kaynaktaki besin miktarı ise problemin çözümüne uygunluğunun temsilidir. Çözüm sayısı iģçi arı sayısına eģittir. 1. adımda rastgele düzgün dağıtılmıģ kaynak noktaları oluģturulur. 2. adımda bu popülasyon iģçi, gözcü ve izci arılar tarafından tekrarlı bir halka Ģeylinde sırayla değerlendirilir. Gözcü arılar denklem 4.1'den elde edilen olasılığa göre kaynak seçerler. Bu denklemde yer alan uygunluk ifadesi uygunluk fonksiyonudur ve uygulanan probleme göre belirlenir. (4.1)

25 ĠĢçi arı gözcü arı kaynak seçtikten sonra kaynağın yerini denklem 4.2'ye göre değiģtirir. Burada x mevcut kaynağı, v ise yeni güçlü (kararlı) kaynağı ifade etmektedir. N kaynak sayısını ve D problemin boyutunu belirtmektedir. (4.2) k { 2... N} J { 2... D} Yeni kaynağın nektar miktarı çoksa hafızaya alınır. ĠĢçi arılar tüm kaynak taramasını tamamladıktan sonra sonuçları gözcü arılara bildirirler. Gözcü arılar kaynaklardaki nektar miktarına göre değerlendirme yaparak yeni kaynağı seçerler. Bazı kaynaklar limit değerine göre değerlendirildiğinde bırakılır ve kaģif arılar rastgele yeni kaynaklar üretir. 4.3.4. Hibrit yaklaģımlı yapay arı kolonisi algoritması Bu tez çalıģmasında gezgin satıcı problemi için hibrit yapıda bir yapay arı kolonisi (HABC) algoritması geliģtirilmiģtir. Bu yaklaģımda temel yapı ABC üzerine kurulmaktadır. Bu yapıda ABC algoritmasında kullanılan uygunluk (fitness) fonksiyonu yerine arı koloni optimizasyonunda (BCO) kullanılan sadakat (loyalty) değeri kullanılarak en uygun (kısa) yol belirlenmeye çalıģılmıģtır (Kıran, 2010). Bununla birlikte arıların dizilimi yapılırken ABC algoritmasındaki kaģif, gözcü ve iģçi arıların arasındaki görev paylaģımı dikkate alınarak tümden bir dağılım yapılmıģtır. Bu yapıda, ABC algoritmasının temelini oluģturan bazı kabullenmeler, ziyaret edilmesi istenilen kadar iģçi arı olduğu, iģçi arı sayısı kadar gözcü arı olduğu Ģeklinde yapılmıģtır. Ayrıca bu algoritma içine Opt-2 yerel arama algoritması dahil edilmiģtir. ÇalıĢmamızda kullandığımız hibrit yapıda ABC algoritmasının akıģ diyagramı ġekil 4.5'de verilmiģtir.

26 ġekil 4.5. Hibrit yapay arı kolonisi algoritması akıģ diyagramı Hibrit yapay arı kolonisi algoritması bazı temel varsayımlardan oluģmaktadır. Bu varsayımlara göre gezilmesi istenilen nokta sayısı kadar iģçi arı, iģçi arı sayısı kadarda gözcü arı mevcuttur. Gezilmesi istenilen her nokta arılar için birer besin

27 kaynağıdır. Besin kaynakları ziyaret edildiğinde oluģan toplam yol uzunluğu ise besin kaynağının kalitesini temsil etmektedir. Amacımız en kısa yoldan turu tamamlamak olduğu için matematikte kullanılan uzunluk denklemine göre (Denklem 4.3) toplam yol hesaplanır. Burada en kısa yol, en kaliteli kaynak anlamına gelmektedir. (4.3) Tüm arılar için olası çözümler değerlendirilerek toplam yol hesaplandıktan sonra bulunan çözümün kalitesini anlamak için denklem 4.4'de belirtilen formüle göre Amaç Fonksiyon hesaplanır. Amaç Fonksiyon hesaplanmasından sonra ikinci iģlem olarak hangi arının iģçi hangi arının gözcü olacağına karar vermek için kullanılacak eģik değeri ile karar mekanizmasına girecek olan Sadakat Değeri denklem 4.5'e göre hesaplanır. Amaç Fonksiyon: Her bir arının o ana kadar izlediği yolun denklem 4.3'e göre toplam yol uzunluğunun hesaplanmasıdır. Gezgin satıcı probleminde amaç en kısa yolu bulmak olduğu için Amaç Fonksiyon değeri düģük olan en iyi çözüme yaklaģmıģ demektir. Bu yüzden Amaç Fonksiyon değeri düģük olan çözüm kaliteli bir çözümdür. (4.4) x. Arının amaç fonksiyon değeri n ise ziyaret edilmiģ noktaların sayısını B x ise x. Arıyı temsil etmektedir. Sadakat Değeri: 0 ile 1 arasında olan amaç fonksiyon değerine bağlı olarak üretilen, oluģturulan eģik değerine göre hangi arının iģçi hangi arının gözcü olacağına karar veren bir karar mekanizmasıdır. (4.5) x. Arının sadakati, x.arının amaç fonksiyon değeri, minimum amaç fonksiyon değeri, maksimum amaç fonksiyon değerini ifade eder. Eşik Değeri: Hangi arının iģçi hangi arının gözcü olacağına karar vermek için kullanılan eģik değeri tüm arıların sadakat değeri hesaplandıktan sonra elde edilir. EĢik değeri tüm arıların sahip olduğu minimum sadakat değeri ile ortalama sadakat değeri arasından rastgele üretilir.

28 Sadakat değeri eģik değerinden yüksek olan arılar iģçi, sadakat değeri eģik değerinden düģük olan arılar ise gözcü olarak belirlendikten sonra iģçi olarak kalacak arılara Opt-2 yerel arama algoritması uygulanır. Yerel arama algoritması, yerel en iyiye takılmayı önlemek amacıyla sezgisel algoritmalarda sıklıkla baģvurulan bir yöntemdir. Bu çalıģmada da yerel en iyiden kurtulmak için yerel arama algoritmalarından Opt-2 tekniğinden yararlanılmıģtır. Böylece gözcü arıların iģçi arı olmak için yaptığı tercihteki yerel en iyiye takılma olasılığı ve tekrardan aynı çözümü değerlendirmek için harcanan zamanı minimuma indirilmiģtir. Opt-2 Yerel Arama Algoritması: Opt-2 oluģturulan yol üzerindeki çaprazlıkları yok etmeyi amaçlar. Çaprazlıklar azaldıkça istenilen minimum yola yaklaģılır. Seçilen yoldan elde edilecek yeni yol mevcut yoldan kısa ise kısa olan yol tercih edilir ve ziyaret edilecek noktalar yeni yola göre tekrar düzenlenir. ġekil 4.6'da A-B-E-C-D diziliminde uygulanan iģlem basamakları Çizelge 4.1'de verilmiģtir. ġekil 4.6. Opt-2 uygulanacak tur Çizelge 4.1. Opt-2 iģlem basamakları Eğer [BC] + [DE] < [BE] + [CD] Yeni Dizilim Eğer [CD] + [AE] < [AD] + [CE] Yeni Dizilim

29 Gözcü arılar iģçi arıların ürettikleri çözümün kalitesine göre, yani amaç fonksiyon değerleriyle orantılı olarak kendilerine iģçi arı seçerler ve onların o ana kadar olan çözümlerini benimserler. Önceden belirlenmiģ durdurma koģuluna ulaģılıncaya kadar bu iģlemler kendini tekrarlamaktadır. HABC için genel akış GSP Koordinatlarını Yükle İşçi ve Gözcü Arıları Oluştur For Her Arı İçin Başlangıç Noktasına Ata End Do For Tüm Arıların Sadatini Hesapla Eğer Sadakat Değeri Eşik Değerinden Büyük İse Arıyı İşçi Arı Olarak Ayır Ve Çözümüne Opt-2 Uygula, Eğer Sadakati Eşik Değerinden Küçükse Gözcü Arı Olarak Ata End İşçi Olarak Kalan Tüm Arılara Sadakatleri İle Orantılı Olarak Gözcü Arı Ata While Maksimum İterasyon Sayısına Veya Minimum Hata Koşulu Sağlanana Kadar Tekrar Et.

30 5. YAPAY ARI KOLONĠSĠ ALGORĠTMASININ LĠTERATÜRDEKĠ GEZGĠN SATICI TEST (BENCHMARK) PROBLEMLERĠNE UYGULANMASI Tez çalıģmamızın bu kısmında geliģtirdiğimiz hibrit ABC algoritmasının TSPLIBdeki küçük, orta ve büyük boyutlu gezgin satıcı test problemlerine uygulaması gerçekleģtirilmiģtir. Elde edilen sonuçlar, TSPLIB'de bilinen en iyi sonuçlarla ve Özsağlam (2009) yüksek lisans tez çalıģmasında PSO ve GA uygulanarak elde edilmiģ olan en iyi sonuçlarla karģılaģtırılmıģtır. 5.1. Küçük Boyutlu Gezgin Satıcı Problemleri TSPLIB'de yer alan ve nokta sayısı 41'i geçmeyen küçük boyutlu gezgin satıcı test problemlerinin özellikleri Çizelge 5.1'de verilmiģtir. Küçük boyutlu gezgin satıcı test problemleri için HABC algoritması 5 defa çalıģtırılmıģ ve elde edilen sonuçlar Çizelge 5.2 de karģılaģtırılmalı olarak verilmiģtir. Çizelge 5.1. Küçük boyutlu gezgin satıcı problemleri yapısı Problem Nokta Sayısı Yapısı Bilinen En Kısa Yol C20 20 Dairesel 62575 C30 30 Dairesel 62716 C40 40 Dairesel 62768 F32 32 Fraktal 84180 F41 41 Fraktal 68168 S21 21 Dörtgen 60000 Yukarıdaki çizelgede özellikleri verilen gezgin satıcı test problemlerinin noktasal olarak yerleģim diyagramları aģağıdaki Ģekilde (ġekil 5.1. 5.6.) verilmiģtir (Erentürk 2004). Bu test problemlerinin koordinat verileri Ek-1'de yer almaktadır.

31 ġekil 5.1. C20 problemi ġekil 5.2. C30 problemi ġekil 5.3. C40 problemi ġekil 5.4. F32 problemi ġekil 5.5. F41 problemi ġekil 5.6. S21 problemi Yukarıda verilen test problemlerinin her birine HABC algoritması 5 defa uygulanmıģ ve Denklem 4.6'ya göre hata oranları hesaplanmıģtır.

32 (4.6) BO: Bulunan Optimum Sonuç OS: Bilinen Optimum Sonuç Küçük boyutlu test problemlerinin performans değerlendirmeleri Çizelge 5.2 de verilmiģtir. Çizelgede yer alan OS TSPLIB'de bilinen optimum sonucu ifade etmektedir. Çizelge 5.2. Küçük boyutlu gezgin satıcı problemleri Elde Edilen En iyi Sonuçlar Hata Zaman Oranı % (ms) OS HABC PSO GA HABC PSO GA HABC PSO GA C20 62575 62575 63275,8 63188,2 0 1,12 0,98 1467 5425 5320 C30 62716 62716 63625,3 63355,7 0 1,45 1,02 7485 15777 15670 C40 62768 62768 64211,6 63753,4 0 2,30 1,57 24015 35023 34653 F32 84180 84180 85535,2 85392,1 0 1,61 1,44 9193 32267 31345 F41 68168 68168 69994,9 69701,7 0 2,68 2,25 25402 40981 40234 S21 60000 60000 60786 60648 0 1,31 1,08 1857 5290 5264 Çizelgeden de görüldüğü üzere küçük boyutlu gezgin satıcı test problemleri için uyguladığımız HABC algoritmasından elde edilen sonuçlar PSO ve GA dan elde edilen sonuçlara göre çok daha baģarılıdır. Ayrıca iģlem zamanı açısından bakıldığında yine HABC algoritmasının diğerlerine oranla çok daha kısa sürede iģlemi tamamlandığı görülmektedir. Elde edilen sonuç verilerin ve hata oranlarının grafiksel gösterimleri aģağıda verilmiģtir (ġekil 5.7. - 5.8.).

33 90000 84180 80000 70000 60000 62575 62716 62768 68168 60000 50000 40000 30000 20000 MIN HABC PSO GA 10000 0 C20 C30 C40 F32 F41 S21 ġekil 5.7. Küçük boyutlu gezgin satıcı problemleri en iyi yol 3 2,5 2 1,5 1 HABC PSO GA 0,5 0 0 0 0 0 0 0 C20 C30 C40 F32 F41 S21 ġekil 5.8. Küçük boyutlu gezgin satıcı problemleri hata oranları

34 5.2. Orta Boyutlu Gezgin Satıcı Problemleri TSPLIB'de yer alan ve nokta sayısı 101'i geçmeyen orta boyutlu gezgin satıcı test problemlerinin özellikleri Çizelge 5.3'de verilmiģtir. Orta boyutlu gezgin satıcı test problemleri için HABC algoritması 5 defa çalıģtırılmıģ ve elde edilen sonuçlar Çizelge 5.4'de karģılaģtırılmalı olarak verilmiģtir. Hata oranlarının hesaplanmasında Denklem 4.6 kullanılmıģtır. Orta boyutlu test problemleri için yapılan deneysel çalıģmalarımızda bilgisayarın yaptığı hesap iģlemleri ara sıra durdurulmuģ, kontrol edilmiģ ve hesaplamaya devam ettirilmiģtir. Dolayısıyla iģlem süreleri ile ilgili net bir rakam olmadığından çizelgeye konulmamıģtır. Çizelge 5.3. Orta boyutlu gezgin satıcı problemleri Problem Nokta Sayısı Bilinen En Kısa Yol Burma14 14 3323 Dantzig42 42 699 Eil51 51 426 Eil76 76 538 Eil101 101 629 KroA100 100 21282 Çizelge 5.4. Orta boyutlu gezgin satıcı problemleri karģılaģtırması Elde Edilen En Ġyi Sonuç Hata Oranı % OS HABC PSO GA HABC PSO GA Burma14 3323 3122,69 3360,9 3353,5-6,03 1,14 0,92 Dantzig42 699 679,2019 713,53 713,32-2,83 2,08 2,05 Eil51 426 432,1911 436,43 434,98 1,45 2,45 2,11 Eil76 538 561,0114 555 551,7 4,28 3,16 2,55 Eil101 629 656,9042 652,1 645,9 4,44 3,67 2,69 KroA100 21282 21688 22071 21852,3 1,91 3,71 2,68 Yukarıdaki çizelgeden de görüldüğü üzere orta boyutlu gezgin satıcı test problemleri için uyguladığımız HABC algoritmasından elde edilen sonuçlar PSO ve GA dan elde edilen sonuçlara göre genel olarak baģarılıdır. Hatta Burma14 ve Dantzig42 test problemleri için TSPLIB'de bilinen optimum sonuçlardan çok daha kısadır. Orta boyutlu test problemleri için iģlem süreleri verilmemiģtir. Elde edilen sonuç verilerinin ve hata oranlarının grafiksel gösterimleri aģağıda verilmiģtir (ġekil 5.9. - 5.10.).

35 25000 21282 20000 15000 10000 5000 0 3323 699 426 538 629 Burma14 Dantzig42 Eil51 Eil76 Eil101 KroA100 MIN HABC PSO GA ġekil 5.9. Orta boyutlu gsp için bulunan en iyi sonuçlar 6,00 4,00 4,28 4,44 2,00 1,45 1,91 0,00-2,00-4,00 Burma14 Dantzig42 Eil51 Eil76 Eil101 KroA100-2,83 HABC PSO GA -6,00-8,00-6,03 ġekil 5.10. Orta boyutlu gsp için hata oranları Orta boyutlu gezgin satıcı test problemlerine uyguladığımız HABC algoritması sonucunda elde edilen yol grafikleri ġekil 5.11. - 5.16'da gösterilmiģtir.

36 ġekil 5.11. Yeni en iyi yol Burma14 ġekil 5.12. Yeni en iyi yol Dantzig42

37 ġekil 5.13. En iyi yol Eil51 ġekil 5.14. En iyi yol Eil76

38 ġekil 5.15. En iyi yol Eil101 ġekil 5.16. En iyi yol KroA100

39 5.3. Büyük Boyutlu Gezgin Satıcı Problemleri TSPLIB'de yer alan ve nokta sayısı en fazla 436 olan büyük boyutlu gezgin satıcı test problemlerinin özellikleri Çizelge 5.5'de verilmiģtir. Büyük boyutlu gezgin satıcı test problemleri için HABC algoritması 5 defa çalıģtırılmıģ ve elde edilen sonuçlar Çizelge 5.6'de karģılaģtırılmalı olarak verilmiģtir. Hata oranlarının hesaplanmasında Denklem 4.6 kullanılmıģtır. Büyük boyutlu test problemleri için yapılan deneysel çalıģmalarımızda bilgisayarın yaptığı hesap iģlemleri ara sıra durdurulmuģ, kontrol edilmiģ ve hesaplamaya devam ettirilmiģtir. Dolayısıyla iģlem süreleri ile ilgili net bir rakam olmadığından çizelgeye konulmamıģtır. Çizelge 5.5. Büyük boyutlu gezgin satıcı problemleri yapısı Problem Nokta Sayısı Bilinen En Kısa Yol XQF131 131 564 XQG237 237 1019 BCL380 380 1621 PBM436 436 1443 Çizelge 5.6. Büyük boyutlu gezgin satıcı problemleri karģılaģtırması Elde Edilen En iyi Sonuç Hata Oranı % OS HABC PSO GA HABC PSO GA XQF131 564 587,3695 564 564 4,14 0,00 0,00 XQG237 1019 1110,4 1019 1019 8,97 0,00 0,00 BCL380 1621 1807,7 1669 1655 11,52 2,96 2,10 PBM436 1443 1612,2 1521 1506 11,73 5,41 4,37 Çizelgeden de görüldüğü üzere büyük boyutlu gezgin satıcı test problemleri için uyguladığımız HABC algoritmasından elde edilen sonuçlar PSO ve GA dan elde edilen sonuçlara göre daha düģük performans sergilemiģtir. Bu bölümde alınan sonuçlar ile ilgili değerlendirmelere Sonuçlar ve TartıĢma kısmında yer verilmiģtir. Elde edilen sonuç verilerinin ve hata oranlarının grafiksel gösterimleri aģağıdaki gibidir (ġekil 5.17. - 5.18.).

40 2000 1800 1600 1400 1621 1443 1200 1000 800 600 400 564 1019 MIN HABC PSO GA 200 0 XQF131 XQG237 BCL380 PBM436 ġekil 5.17. Büyük boyutlu gsp en iyi sonuçlar 12,00 11,52 11,73 10,00 8,97 8,00 6,00 4,00 4,14 HABC PSO GA 2,00 0,00 XQF131 XQG237 BCL380 PBM436 ġekil 5.18. Büyük boyutlu gsp hata oranları Büyük boyutlu gezgin satıcı test problemlerine uyguladığımız HABC algoritması sonucunda elde edilen yol grafikleri ġekil 5.19. - 5.22'de gösterilmiģtir.

41 ġekil 5.19. En iyi yol XQF 131 ġekil 5.20. En iyi yol XQG 237

42 ġekil 5.21. En iyi yol BCL 380 ġekil 5.22. En iyi yol PMB 436

43 6. YAPAY ARI KOLONĠSĠ ALGORĠTMASININ TÜRKĠYEDEKĠ ĠL VE ĠLÇE MERKEZLERĠ ĠÇĠN GEZGĠN SATICI PROBLEMĠNE UYGULANMASI Bu bölümde Türkiye deki 81 il merkezi ve 888 ilçe merkezleri için verilmiģ 2009 yılı koordinat verilerine hibrit ABC algoritması uygulanmıģ ve elde edilen sonuçlar performans değerlendirmesi amacıyla Özsağlam ın (2009) tez çalıģmasında bulunan PSO ve GA sonuçları ile karģılaģtırılmıģtır. Deneysel çalıģmalarımızda Türkiye il ve ilçe merkezlerine ait koordinat verileri küçük, orta ve büyük boyutlu veri kümeleri olarak 3 farklı değerlendirme gerçekleģtirilmiģtir. Küçük boyutlu veri kümesi için Konya iline ait 31 ilçe merkezi koordinat bilgileri kullanılmıģtır. Orta boyutlu veri kümesi değerlendirmesinde 81 il merkezine ait koordinat bilgilerine HABC algoritması uygulanmıģtır. Türkiye'nin 888 ilçe merkezinin koordinat bilgileri ise büyük boyutlu veri kümesi olarak değerlendirmeye alınmıģtır. Tüm bu veri kümelerinin koordinat bilgileri Ek-2 de sunulmuģtur. 6.1. Konya Ġli Ġlçe Merkezleri için GSP Çözümü Konya ilinde yer alan 31 ilçe merkezi üzerinde HABC algoritması GSP için uygulanmıģtır. Algoritma 5 kez çalıģtırılmıģ ve en iyi yol haritası kaydedilmiģtir. ġekil 6.1'de Konya ili haritası ve ilçe merkezlerinin numaralandırılmıģ hali gösterilmiģtir. Elde edilen deneysel bulgular ise Çizelge 6.1 de verilmiģtir. Çizelge 6.1. Konya ilçeleri için bulunan en iyi yol Bulunan En Kısa Yol Ortalama Yol HABC 2184,2 2198,24 PSO 2250 2560,05 GA 2250 2478 Yukarıdaki çizelgeden de görüldüğü üzere HABC algoritması ile elde edilen sonuçlar PSO ve GA ile elde edilen sonuçlara göre çok daha baģarılıdır. HABC ile elde edilen en kısa yol ġekil 6.2'de gösterilmiģtir. PSO ve GA ile elde edilen sonuç aynı olduğundan ġekil 6.3'de tek harita olarak verilmiģtir.

44 ġekil 6.1. Konya ilçeler haritası (Özsağlam, 2009) ġekil 6.2. Konya ilçeleri için HABC ile en iyi yol

45 ġekil 6.3. Konya ilçeleri için PSO ve GA ile en iyi yol (Özsağlam, 2009) 6.2. Türkiye Ġl Merkezleri GSP Çözümü Türkiye de yer alan 81 il merkezi üzerinde HABC algoritması GSP için uygulanmıģtır. Algoritma 5 kez çalıģtırılmıģ ve en iyi yol haritası kaydedilmiģtir. Elde edilen deneysel bulgular Çizelge 6.2 de verilmiģtir. Çizelge 6.2. TR81 il için bulunan en iyi sonuçlar Bulunan En Kısa Yol Ortalama Yol En Ġyi Yola Göre Ortalama Hata % HABC 3781,4 3919,16 3,64 PSO 3869 4239 9,56 GA 3869 4176 7,93 Yukarıdaki çizelgeden de görüldüğü üzere HABC algoritması ile elde edilen sonuçlar PSO ve GA ile bulunan sonuçlara göre daha baģarılıdır. HABC ile Türkiye 81 il merkezi için bulunan en iyi yol ġekil 6.4'de, PSO ve GA uygulanarak bulunan en iyi yol ġekil 6.5'de harita üzerinde iģaretlenerek gösterilmiģtir.

46 ġekil 6.4. Türkiye 81 il merkezi için HABC ile bulunan en iyi yol ġekil 6.5. Türkiye 81 il merkezi için PSO ve GA ile bulunan en iyi yol (Özsağlam, 2009) 6.3. Türkiye nin Tüm Ġlçeleri Ġçin GSP Çözümü Türkiye de yer alan 888 ilçe merkezi üzerinde HABC algoritması GSP için uygulanmıģtır. Bu çalıģmada kullanılan koordinat bilgileri 2009 yılına aittir. Koordinat bilgileri Ek-2'de verilmiģtir. Algoritma 5 kez çalıģtırılmıģ ve en iyi yol haritası kaydedilmiģtir. Elde edilen deneysel bulgular Çizelge 6.3 de verilmiģtir.

47 Çizelge 6.3. Türkiye 888 ilçe merkezi için bulunan en iyi sonuçlar Bulunan En Kısa Yol Ortalama Yol En Ġyi Yola Göre Ortalama Hata % HABC 15643 16834,4 7,61 PSO 16330 18385 12,58 GA 16242 18142 11,70 Yukarıdaki çizelgeden de görüldüğü üzere HABC algoritması PSO ve GA ya göre daha iyi performans sergilemiģtir. Bulunan en iyi yollara ait haritalar en düģük değerden baģlayarak HABC, GA ve PSO olarak sırasıyla ġekil 6.6, ġekil 6.7 ve ġekil 6.8 de verilmiģtir. ġekil 6.6. Türkiye 888 HABC ile bulunan en iyi yol ġekil 6.7. Türkiye 888 GA ile bulunan en iyi yol (Özsağlam, 2009)

ġekil 6.8. Türkiye 888 PSO ile bulunan en iyi yol (Özsağlam, 2009) 48

49 7. SONUÇLAR ve TARTIġMA 7.1. Sonuçlar Bu tez çalıģmasında, hibrit yapıda geliģtirilen yapay arı kolonisi (HABC) algoritmasının Türkiye il ve ilçe merkezleri ile TSPLIB'de yer alan küçük, orta ve büyük boyutlu simetrik ve asimetrik gezgin satıcı problemlerine uygulaması gerçekleģtirilmiģtir. ABC algoritması yeni bir yöntem olmasına rağmen sezgisel olarak birçok alanda çalıģmalar yapılmıģ ve performansı kanıtlanmıģ bir algoritmadır. Bu çalıģmada arı kolonisi optimizasyonu (BCO) temel alınarak, gezgin satıcı problemi için bulunan yolların uygunluğu sadakat değerine göre belirlenmiģ ve hibrit yapıda bir ABC algoritması geliģtirilmiģtir. Yerel alanda iyileģtirme yapmak amacıyla Opt-2 arama algoritması bu hibrit yapının içerisine dahil edilmiģtir. HABC algoritması ile elde edilen deneysel bulgular dünya literatüründe bilinen en iyi sonuçlarla ve Özsağlam a (2009) ait yüksek lisans tez çalıģmasında PSO ve GA uygulanarak elde edilen sonuçlar ile karģılaģtırılmıģ ve performans değerlendirmesi yapılmıģtır. ÇalıĢmamızda kullandığımız küçük, orta ve büyük boyutlu simetrik ve asimetrik gezgin satıcı test (benchmark) problemleri ve bilinen optimum sonuçlar TSPLIB kütüphanesinden alınmıģtır. Bu test problemlerine ait koordinat verileri Ek-1 de sunulmuģtur. Türkiye nin ile ve ilçe merkezi koordinat verileri 2009 yılına ait verilerdir ve Ek-2 de sunulmuģtur. Hibrit yapıdaki ABC algoritmamız tüm veri kümeleri için 5 er kez çalıģtırılmıģtır. HABC algoritması ile bulunan en kısa yol ve ortalama yol bilgileri kaydedilmiģ, PSO ve GA ile bulunan sonuçlara göre hata oranları hesaplanmıģtır. Küçük boyutlu simetrik gezgin satıcı problemlerine (SGSP) uygulanan HABC algoritması ile elde edilen sonuçlar Çizelge 7.1'de verilmiģtir. Yaptığımız her uygulamada bilinen en iyi sonuca ulaģıldığı görülmüģtür. Ortalama hata oranı PSO için %1,74, GA için %1,39 iken HABC için hata oranı sıfırdır. Bununla birlikte iģlem sürelerine baktığımızda HABC algoritmasının PSO ve GA ya göre yaklaģık %50 daha kısa sürede sonuca ulaģtığı görülmektedir.

50 Bilinen En Ġyi Sonuç Çizelge 7.1. Küçük boyutlu GSP Elde Edilen En iyi Sonuçlar Hata Oranı % Zaman (ms) HABC PSO GA HABC PSO GA HABC PSO GA C20 62575 62575 63275,8 63188,2 0 1,12 0,98 1467 5425 5320 C30 62716 62716 63625,3 63355,7 0 1,45 1,02 7485 15777 15670 C40 62768 62768 64211,6 63753,4 0 2,30 1,57 24015 35023 34653 F32 84180 84180 85535,2 85392,1 0 1,61 1,44 9193 32267 31345 F41 68168 68168 69994,9 69701,7 0 2,68 2,25 25402 40981 40234 S21 60000 60000 60786 60648 0 1,31 1,08 1857 5290 5264 Ortalama 0 1,74 1,39 11569 22460 22081 Orta boyutlu asimetrik gezgin satıcı problemlerinde farklı performans oranları bulunmuģtur. Elde edilen sonuçlar karģılaģtırmalı olarak Çizelge 7.2'de verilmiģtir. Çizelgeden de görüldüğü üzere test problemlerinden Burma14 ve Dantzig42'nin HABC ile çözümünde TSPLIB'de bilinen en iyi çözümden daha kısa yol elde edilmiģtir. Elde edilen bu yeni en iyi yol grafiği ġekil 5.11 ve 5.12'de sunulmuģtur. Bu sonuç kayda değer bir sonuç olup HABC algoritmasının iyi bir performansa sahip olduğunun bir göstergesi sayılabilir. Diğer orta boyutlu test problemlerinde ise HABC algoritmasının bilinen en iyi sonuca yaklaģtığı, PSO ve GA ya göre ise daha baģarılı sonuçlar alındığı gözlenmiģtir. Orta ve büyük boyutlu test problemleri için yapılan deneysel çalıģmalarımızda bilgisayarın yaptığı hesap iģlemleri ara sıra durdurulmuģ, kontrol edilmiģ ve hesaplamaya devam ettirilmiģtir. Dolayısıyla iģlem süreleri ile ilgili net bir rakam olmadığından çizelgeye konulmamıģtır. Çizelge 7.2. Orta boyutlu GSP Elde Edilen En Ġyi Sonuç Hata Oranı % Bilinen En Ġyi Sonuç HABC PSO GA HABC PSO GA Burma14 3323 3122,69 3360,9 3353,5-6,03 1,14 0,92 Dantzig42 699 679,2019 713,53 713,32-2,83 2,08 2,05 Eil51 426 432,1911 436,43 434,98 1,45 2,45 2,11 Eil76 538 561,0114 555 551,7 4,28 3,16 2,55 Eil101 629 656,9042 652,1 645,9 4,44 3,67 2,69 KroA100 21282 21688 22071 21852,3 1,91 3,71 2,68 Büyük boyutlu asimetrik gezgin satıcı problemlerinde ise HABC algoritmasının performansında düģüģ olduğu tespit edilmiģtir. Algoritma her veri kümesi için 5'er kez çalıģtırılmıģ ve bulunan en kısa yol verileri kaydedilmiģtir. Çizelge 7.3'de, elde edilen sonuçlar karģılaģtırmalı olarak gösterilmektedir. Elde edilen bu sonuçlara göre genetik algoritmanın en az hata oranına sahip olduğu, bunu parçacık sürü optimizasyonunun izlediği, yapay arı kolonisi algoritmasının ise bunlara oranla daha yüksek hata oranına sahip

51 olduğu görülmektedir. Bu performans düģüģünün büyük boyutlu veri kümelerinde yer alan noktalar arası uzaklığın birbirine çok yakın olmasından kaynaklandığı düģünülmektedir. Zira HABC algoritmasında yol tayini yapılırken bir sonraki nokta, mevcut noktaya belirli bir mesafede olan noktalar arasından rastgele seçilir. Bu seçimde olası tüm noktalar arasından minimum ile ortalama mesafe arasındaki noktalardan biri rastgele olarak seçilir. Seçim aralığı dar olduğu için noktaların çapraz olarak seçilme olanağı artmaktadır. Buda yolun uzamasına sebep olmaktadır. Çizelge 7.3. Büyük boyutlu GSP Elde Edilen En iyi Sonuç Hata Oranı % Bilinen En Ġyi Sonuç HABC PSO GA HABC PSO GA XQF131 564 587,3695 564 564 4,14 0,00 0,00 XQG237 1019 1110,4 1019 1019 8,97 0,00 0,00 BCL380 1621 1807,7 1669 1655 11,52 2,96 2,10 PBM436 1443 1612,2 1521 1506 11,73 5,41 4,37 Tez çalıģmasının ikinci kısmında Türkiye ile ve ilçe merkezleri üzerinde GSP uygulaması gerçekleģtirilmiģtir. Önceki literatür test problemlerinde olduğu gibi küçük, orta ve büyük boyutlu veri kümeleri Ģeklinde gezgin satıcı problemi çözülmeye çalıģılmıģtır. Konya iline ait 31 ilçe merkezi küçük boyutlu, Türkiye deki 81 il merkezi orta boyutlu ve Türkiye nin 888 ilçe merkezinin tümü büyük boyutlu test problemi olarak ele alınmıģ ve HABC algoritması bu veri kümeleri üzerinde 5 er kez denenmiģtir. Konya ilinin 31 ilçe merkezine ait koordinat verileri kullanılarak elde edilen sonuçlar Çizelge 7.4'de verilmiģtir. Buna göre HABC algoritması hem bulunan en kısa yol, hem de ortalama yol bakımından PSO ve GA ya göre çok daha baģarılı performans sergilediği görülmektedir. Çizelge 7.4. Konya ilçe merkezleri Bulunan En Kısa Yol Ortalama Yol HABC 2184,2 2198,24 PSO 2250 2560,05 GA 2250 2478 Türkiye de bulunan 81 il merkezi için HABC algoritması 5 kez çalıģtırılmıģ ve bulunan sonuçlar Çizelge 7.5'de verilmiģtir. Bu çizelgeye göre HABC algoritması %3,64 hata oranı ile en yüksek baģarımı göstermiģtir. Bunu % 7,93 ile GA, % 9,56 ile PSO algoritması izlemektedir.

52 Çizelge 7.5. Türkiye il merkezleri için gsp bulunan en iyi yol Bulunan En Kısa Yol Ortalama Yol En Ġyi Yola Göre Ortalama Hata % Programın ÇalıĢtırılma Sayısı HABC 3781,4 3919,16 3,64 5 PSO 3869 4239 9,56 10 GA 3869 4176 7,93 10 Yukarıdaki çizelgede görüldüğü üzere Türkiye 81 il merkezi için HABC algoritması PSO ve GAnın 3869 olarak elde etmiģ olduğu en kısa yol çözümüne alternatif bir yol üretmiģtir. HABC algoritması 3781,4 olarak bulduğu sonuç ile bilinen en iyi çözümden daha iyi bir çözüm bularak baģarısını göstermiģtir. Türkiye il merkezleri için elde edilen en iyi tur ġekil 7.1'de harita üzerinde gösterilmiģtir. ġekil 7.1. Türkiye il merkezleri için en iyi tur Büyük boyutlu test problemleri kapsamında incelemiģ olduğumuz Türkiye'ye ait 888 ilçe merkezine ait koordinatlara HABC algoritmasının 5 kez uygulanmasıyla elde ettiğimiz sonuçlar Çizelge 7.6'da verilmiģtir. Bu çizelgeye göre HABC algoritması 15643 ile PSO ve GA ya göre oldukça kısa bir yol belirlemiģtir. Çizelge 7.6. Türkiye ilçe merkezleri için GSP bulunan en iyi yol Bulunan En Kısa Yol Ortalama Yol En Ġyi Yola Göre Ortalama Hata % HABC 15643 16834.4 7,61 PSO 16330 18385 12,58 GA 16242 18142 11,70

53 HABC algoritması tarafından Türkiye'nin 888 ilçe merkezi için bulunan en iyi tur ġekil 7.2'de harita üzerinde gösterilmiģtir. ġekil 7.2. Türkiye ilçe merkezleri için en iyi tur 7.2. TartıĢma Yapılan uygulamalar sonucu elde edilen tüm sonuçlar incelendiğinde HABC algoritmasının çoğu test problemi için PSO ve GA ya göre daha iyi bir çözüm ürettiği, bazı problemlerde ise literatürde bilinen en iyiden daha baģarılı performans gösterdiği görülmüģtür. Küçük boyutlu gezgin satıcı test problemlerinde bilinen en iyiye her defasında ulaģılarak %100 baģarı elde edilmiģtir. ÇalıĢmamızın ilk kısmında belirtildiği gibi küçük boyutlu test problemleri literatürdeki simetrik yapıya sahip problemlerden elde edilmiģtir. HABC algoritmasının simetrik dağılım gösteren problemlerde %0 hata payı ile sonuca ulaģtığı görülmüģtür. Orta boyutlu gezgin satıcı problemleri incelendiğinde HABC algoritmasının bazı problemler için bilinen en iyi sonuçtan daha iyi (Burma14 ve Dantzig42), bazıları için ise en iyi sonuca yakın bir çözüm ürettiği görülmüģtür. Orta boyutlu GSP hata grafiği (ġekil 7.3.) incelendiğinde nokta sayısı yüksek olan problemlerde bulunan hata oranının nokta sayısı az olan problemlere göre daha az olduğu görülmüģtür.

Burma14 C20 S21 C30 F32 C40 F41 Dantzig42 Eil51 Eil76 TR81 KroA100 Eil101 XQF131 XQG237 BCL380 PBM436 TR888 54 6,00 4,00 4,28 4,44 2,00 1,45 1,91 0,00-2,00-4,00 Burma14 Dantzig42 Eil51 Eil76 Eil101 KroA100-2,83 HABC PSO GA -6,00-8,00-6,03 ġekil 7.3. Orta boyutlu gsp hata oranları TSPLIB'deki gezgin satıcı test problemlerine HABC algoritması uygulanılarak elde edilen sonuçların TSPLIB'de bilinen en iyi sonuçlara göre ve Türkiye il ve ilçe merkezlerine HABC algoritması uygulanarak elde edilen sonuçların PSO ve GA uygulanmasıyla elde edilen en iyi sonuçlara göre hesaplanan tüm hata oranları tek bir grafik haline getirilerek ġekil 7.4'de gösterilmiģtir. Bu grafikte yer alan problemler, nokta sayıları baz alınarak sıralanmıģtır. 12,00 10,00 8,00 6,00 4,00 2,00 0,00-2,00-4,00-6,00-8,00 HABC ġekil 7.4. Bilinen en iyiye göre elde edilen sonuçların hata oranları