• Sonuç bulunamadı

Yapay arı kolonisi algoritması kullanarak gezgin satıcı probleminin Türkiyedeki il ve ilçe merkezlerine uygulanması

N/A
N/A
Protected

Academic year: 2021

Share "Yapay arı kolonisi algoritması kullanarak gezgin satıcı probleminin Türkiyedeki il ve ilçe merkezlerine uygulanması"

Copied!
98
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

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

(2)
(3)

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

(4)

iv Ö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,

(5)

v 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,

(6)

vi Ö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

(7)

vii

ĠÇĠ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

(8)

viii

SĠMGELER VE KISALTMALAR

Simgeler

BO : bulunan optimum sonuç Bofv : arının amaç fonksiyon değeri

dij : iki nokta arası uzaklık

fitness : uygunluk fonksiyonu ftp : toplam yol uzunluğu

gbest : sürünün elde ettiği en iyi sonuç MinOFV: minimum amaç fonksiyon değeri

MaxOFV: maksimum amaç fonksiyon değeri

OFV : amaç fonksiyon değeri OS : bilinen optimum sonuç

Pbest : parçanın elde ettiği en iyi sonuç Pgd : global en iyi

Pid : bir önceki en iyi

Vid : bireyin hızı

Vij : yeni kaynağın konumu

Xij : 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ı

(9)

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

(10)

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.

(11)

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.

(12)

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.

(13)

Ç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

(ABC)

Nümerik Optimizasyon Problemi

2005 Drias, Sadeg, ve Yahi Arı Sistemi

Optimizasyonu (BSO)

Maksimum Ağırlık Belirleme Problemi

2005 Yang Sanal Arı Algoritması

(VBA)

Mühendislik Problemleri Uygulama Fonksiyon Optimizasyonu

2005 Benatchba, Admane, ve Koudil MBO Maksimum Kısaltma

Problemi

2006 Teodorovic, Lucic, Markovic, ve Dell’ Orco BCO 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 MBO

Bölümleme Ve Çizelgeleme Problemi

2007 Quijano and Passino Bal Arıları Yiyecek Arama Algoritması Kaynak Tahsisi Sorunlarını Çözme 2007 Marković, Teodorovic, and Aćimović-Raspopović BCO Optik Ağları Yönlendirme

2007

Wedde, Lehnhoff, B.van Bonn, Bay, Becker, Böttcher, Brunner, Büscher, Fürst, Lazarescu, Rotaru, Senge, Steinbach, Yilmaz, and Zimmermann

Arı Kovanı Karayolu Trafik Yoğunluğunu Azaltma

2007 Karaboga and Basturk ABC

Çok Boyutlu Sayısal Optimizasyon Problemlerinde Abc

Algoritmasının Test Edilmesi 2007 Karaboga, Akay and Ozturk ABC Ġleri Beslemeli Sinir Ağları Eğitimi 2007 Afshar, Bozorg Haddada, Marin, Adams Bal Arıları ÇiftleĢme (HBMO) Algoritması Tek Rezervuarlı

Optimizasyon Problemleri 2007 Baykasoglu, Özbakýr, and Tapkan ABC 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

(14)

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ı

Kolonisi (DABC)

TaĢkın AkıĢ Tipi Çizelgeleme Problemi

2010 El-Abd ABC Blok-Kutu Optimizasyonu

2010 Chong,Yoke,Low,Wong Genel Arı Kolonisi (GBC)

Kombinataryol Optimizasyon Sorunları

2010 Pansuwan,Rukwong,Pongcharoen ABC Çizelgeleme

2010 Gómez-Iglesias,Castejón,Vega-Rodríguez,

Morales-Ramos,Cárdenas-Montes ABC

Gird Programlamada Füzyon Ġ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

(15)

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

(16)

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.

(17)

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):

(18)

 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.

(19)

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.

(20)

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.

(21)

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.

(22)

ġ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

(23)

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.

(24)

 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

(25)

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.

StandartlaĢtırma öncesi StandartlaĢtırma sonrası

8420973281 5460973281

0459765361 0429785361

4.Mutasyon;

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.

Mutasyon öncesi Mutasyon sonrası 5460973281 5420973681

5.Durdurma Kriteri;

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.

(26)

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ı

(27)

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 Xid, çözümlerinin X’id yeniden hesapla;

(28)

bireyin bir önceki en iyiye (Pid) benzemesini sağlar.

2-2. Pgd ve Xid değerlerinin farkının hesaplanması , bu iĢlem bireyin global en iyiye (Pgd) 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 Pid değeri daha iyi ise eski değer ile yer değiĢtir.

3. Ġterasyondaki Pgd 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.

(29)

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

(30)

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

(31)

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).

(32)

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.

(33)

ĠĢç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.

(34)

ġ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

(35)

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ı Bx 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.

(36)

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

(37)

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

(38)

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.

(39)

ġ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.

(40)

(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 Oranı % Hata Zaman (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.).

(41)

ġekil 5.7. Küçük boyutlu gezgin satıcı problemleri en iyi yol

ġekil 5.8. Küçük boyutlu gezgin satıcı problemleri hata oranları

62575 62716 62768 84180 68168 60000 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 C20 C30 C40 F32 F41 S21 MIN HABC PSO GA 0 0,5 1 1,5 2 2,5 3 C20 C30 C40 F32 F41 S21 0 0 0 0 0 0 HABC PSO GA

Şekil

Çizelge 2.1. Yıl bazında yazar, algoritma ve çalıĢmalar
ġekil 4.5. Hibrit yapay arı kolonisi algoritması akıĢ diyagramı
ġekil 4.6'da A-B-E-C-D diziliminde uygulanan iĢlem basamakları Çizelge 4.1'de  verilmiĢtir
Çizelge 5.1. Küçük boyutlu gezgin satıcı problemleri yapısı
+7

Referanslar

Benzer Belgeler

Sağkalım açısından invazivlik, rezeksiyon tipi, MG varlığı, ileri yaş, tümör çapı, hücre siklus pro- tein ekspresyonu gibi birçok PF ortaya konmasına rağmen genel

“İstanbul ve Galata kadısına hüküm ki: Bundan akdem nice delà ahkâm-ı şeri­ fe gönderilüb İstanbul ve Galata’da vaki olan eğer meyhane ve kahvehane ve eğer Tatar

Fakat karayollarından kaynaklanan kirlilikle ilgili olarak toprak ve sebzelerde yapılan çalışmada, karayollarından uzaklaştıkça sebze ve toprakta ağır metal

The purpose of this study is to defi ne the soft sediment deformation structures, which were observed within the basal limestone unit located in the Bigadiç volcano

To test this, groups 2 and 3 were designed in the study, where group 2 specimens were treated by only with the gelatin sponge and group 3 specimens were administered

maddesinin (g) bendinde yer alan &#34;sözlü sınava çağrılıp başarılı olanlar arasından süreli olarak&#34; ibaresi ile, yine aynı maddenin (ğ) bendinde yer alan

Modern Türk öyküsünün, mizahi, teatral, portre, dramatik, röportaj, mektup, anı/günlük, tezli, melodramatik ve gotik öykü gibi alt türlere sahip olduğu saptanmıştır..

Ülkemizde şirketlerin faaliyetlerini düzenleyen 6102 Sayılı Türk Ticaret Kanunu ile tüzel kişiliğe sahip anonim şirketler ve anonim şirketlerin zorunlu organları