KANGURU ALGORİTMASI ve GEZGİN SATICI PROBLEMİNE UYGULANMASI

Benzer belgeler
Wichita State University Libraries SOAR: Shocker Open Access Repository

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

Karınca Koloni Algoritması 2

Zeki Optimizasyon Teknikleri

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

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ü

Montaj Hatti Tasarımı ve Analizi - 5

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

Evrimsel Çok amaçlı eniyileme. Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010

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

Gezgin Satıcı Problemlerinin Metasezgiseller ile Çözümü. Solving Travelling Salesman Problems with Metaheuristics

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

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

Üstel Öğrenme ve Genel Bozulma Etkili Akış Tipi Çizelgeleme Problemi: Maksimum Tamamlanma Zamanı Minimizasyonu

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

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

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

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

ÖNCE DAĞIT SONRA TOPLA

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

Fonksiyon Optimizasyonunda Genetik Algoritmalar

YÖNEYLEM ARAŞTIRMASI - III

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

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

Zeki Optimizasyon Teknikleri

İSTANBUL ÜNİVERSİTESİ İŞLETME FAKÜLTESİ DERGİSİ

Zeki Optimizasyon Teknikleri

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

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

AÇIK ATÖLYE TİPİ ÇİZELGELEME PROBLEMLERİNİN PARALEL KANGURU ALGORİTMASI İLE ÇÖZÜMÜ

XII. ÜRETİM ARAŞTIRMALARI SEMPOZYUMU

Karınca Koloni Algoritması 1

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

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

Geliştirilmiş Yerçekimsel Arama Algoritması: MSS-GSA

Montaj Hatti Tasarımı ve Analizi - 3

Esnek Hesaplamaya Giriş

Yrd. Doç. Dr. Emrah B. EDİS

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ

PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ

KOMBİNATORYAL OPTİMİZASYON

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

METASEZGİSEL YÖNTEMLER

DOĞRUSAL OLMAYAN REGRESYON ANALİZİNDE GERÇEK DEĞER KODLAMALI GENETİK ALGORİTMA

T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ GEZGİN SATICI PROBLEMLERİNİN ÇÖZÜMÜ İÇİN ELEKTROMANYETİZMA SEZGİSELİNİN UYARLANMASI

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

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

Yard. Doç. Dr. İrfan DELİ. Matematik

Montaj Hatti Tasarımı ve Analizi - 8

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ AKADEMİK ÖZGEÇMİŞ FORMU

PERFORMANCE COMPARISON OF KARATSUBA AND NIKHILAM MULTIPLICATION ALGORITHMS FOR DIFFERENT BIT LENGTHS

FARKLI GELİŞ ZAMANLI ÖĞRENME ETKİLİ PARALEL MAKİNELİ ÇİZELGELEME PROBLEMİ

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

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

T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ

DİFERANSİYEL GELİŞİM ALGORİTMASI

YÖNEYLEM ARAŞTIRMASI - III

İNSANSIZ HAVA ARAÇLARININ ROTA OPTİMİZASYONU

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

İZMİR İN GEZGİN SATICISI

Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi Pamukkale University Journal of Engineering Sciences

MATEMATİK BÖLÜMÜ BÖLÜM KODU:3201

Karar Tablosu Destekli Olay Sıra Çizgeleri Temelli Sınama Durum Üretim Aracı

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

Deniz ERSOY Elektrik Yük. Müh.

Zeki Optimizasyon Teknikleri

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

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

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

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

Doğal Hesaplama (COMPE 564) Ders Detayları

YÖNEYLEM ARAŞTIRMASI - I

Nedim TUTKUN Düzce Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü Düzce-Türkiye

BCA605 Bilgisayar Oyunlarında Yapay Zeka

YAPAY ZEKA (Artificial Intelligence)

GECİKEN İŞ SAYISI VE GECİKME ARALIĞI ÖLÇÜTLÜ ZAMANA-BAĞIMLI ÖĞRENME ETKİLİ ÇİZELGELEME PROBLEMİNİN ÇÖZÜMÜ

ADNAN MENDERES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MATEMATİK ANABİLİM DALI MATEMATİK PROGRAMI DERS LİSTESİ

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Görev Unvanı Alan Üniversite Yıl Prof. Dr. Elek.-Eln Müh. Çukurova Üniversitesi Eylül 2014

YÖNEYLEM ARAŞTIRMASI - III

ISSN : orhanengin@yahoo.com Sanliurfa-Turkey

Türk-Alman Üniversitesi. Ders Bilgi Formu

Anadolu Üniversitesi Endüstri Mühendisliği Bölümü İST328 Yöneylem Araştırması 2 Dersi Bahar Dönemi. Hazırlayan: Doç. Dr.

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

Montaj Hatti Tasarımı ve Analizi - 7

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: IND 3907

ÖZGEÇMİŞ. Derece Alan Üniversite Yıl

Çoklu Gezgin Satıcı Problemi ve Sezgisel Çözüm Yöntemlerinin İncelenmesi

GAZİOSMANPAŞA ÜNİVERSİTESİ FEN-EDEBİYAT FAKÜLTESİ/MATEMATİK BÖLÜMÜ/MATEMATİK PR.

T.C. YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ OPTİMİZASYON PROBLEMLERİNİN ÇÖZÜMÜNDE MELEZ METASEZGİSEL BİR ALGORİTMANIN TASARIMI

BÖLÜM 3: TEK-ÇÖZÜM TABANLI METASEZGİSELLER. Bölüm Hedefi

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

Montaj Hatti Tasarımı ve Analizi - 7

Sigma 28, , 2010 Research Article / Araştırma Makalesi SOLVING THE FUZZY PROJECT SCHEDULING PROBLEMS WITH META- HEURISTIC METHODS

Güz Dönemi Zorunlu Dersleri

Türk-Alman Üniversitesi İktisadi ve İdari Bilimler Fakültesi İşletme Bölümü Ders Bilgi Formu

MÜFREDAT DERS LİSTESİ

BİR OTOMOTİV YAN SANAYİ FİRMASINDA TEK MODELLİ VE KARIŞIK MODELLİ MONTAJ HATTI DENGELEME PROBLEMİ

Transkript:

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Yıl:10 Sayı 19 Bahar 2011 s.51-63 KANGURU ALGORİTMASI ve GEZGİN SATICI PROBLEMİNE UYGULANMASI Yonca ERDEM 1, Timur KESKİNTÜRK 2 Geliş: 23.12.2010 Kabul: 24.04.2011 ÖZET Bu çalışmada iteratif çözüm geliştirme algoritmalarından olan kanguru algoritması anlatılmış, simetrik ve asimetrik gezgin satıcı problemlerine uygulanmıştır. Kanguru algoritması, kanguruların zıplama davranışlarından esinlenilerek geliştirilmiş bir sezgisel yöntemdir. Gezgin satıcı problemlerine uygulanması ilk defa bu çalışmada ele alınmıştır. Çalışmanın amacı, kanguru algoritmasının tanıtılması ve bir uygulama üzerinde gösterilmesidir. Algoritma, MATLAB programlama diliyle kodlanmış ve literatürde optimumları bilinen test problemleri üzerinde denenmiştir. Performans kriteri olarak optimum değerleri bulmadaki başarı dikkate alınmıştır. Küçük boyuttaki problemler için oldukça iyi sonuçlar veren algoritma, problem boyutu büyüdükçe optimumdan uzaklaşmaktadır. Varılan sonuçlar çerçevesinde, Kanguru Algoritmasının literatürde yer aldığı gibi meta-sezgisellerle melez olarak kullanıldığında iyi performans sergileyeceği düşünülmektedir. Anahtar Kelimeler: kanguru algoritması, gezgin satıcı problemi, sezgisel, komşuluk fonksiyonu KANGAROO ALGORITHM and TRAVELLING SALESMAN PROBLEM APPLICATION ABSTRACT In this study, kangaroo algorithm, one of the iterative solution improvement algorithms, was introduced and applied to symmetric and asymmetric traveling salesman problems. The kangaroo algorithm is a heuristic method which was developed inspired by the behavior of jumping kangaroos. The contribution of this study is being the first implementation of the kangaroo algorithm to the traveling salesman problem. The aim of the study is to introduce the kangaroo algorithm and demonstration of an application. The algorithm is encoded in the MATLAB programming language and the best values are tested on well-known test problems in the literature. The performance criteria is the success of finding the optimum values are taken into consideration. Algorithm gives very good results for small-sized problems; the results are away from optimum when the problem size grows. The conclusions within the framework of thought that the kangaroo algorithm will perform better results when used as a hybrid metaheuristic as in the literature. Keywords: kangaroo algorithm, travelling salesman problem, heuristic, neighbourhood function 1 İstanbul Üniversitesi, İşletme Fakültesi, Sayısal Yöntemler ABD, Avcılar, İstanbul, yncerdem@istanbul.edu.tr. 2 İstanbul Üniversitesi, İşletme Fakültesi, Sayısal Yöntemler ABD, Avcılar, İstanbul, tkturk@istanbul.edu.tr.

Yonca ERDEM, Timur KESKİNTÜRK 1. GİRİŞ Bu çalışmanın amacı Pollard (1978) tarafından geliştirilen kanguru algoritmasının (KA) tanıtılması ve gezgin satıcı problemi (GSP) üzerinde algoritma mantığının ve işleyişinin gösterilmesidir. Literatüre bakıldığında KA hakkında sınırlı sayıda yayın olduğu ve özellikle ülkemizde konu ile ilgili yayınların bir konferans bildirisiyle (Yılmaz vd., 2009) sınırlı olduğu görülmektedir. Kanguru algoritması iteratif çözüm geliştirme algoritmalarından olup, kanguruların zıplama davranışlarından esinlenilerek geliştirilmiştir. Özellikle kesikli optimizasyon problemleri için geliştirilen algoritma, çözüm uzayını farklı iki prosedürle tarama mantığına dayanmaktadır. Belli sayıda iterasyonda, belirlenen bir fonksiyona göre yakın komşuluklar aranmaktadır. Bu süreçte iyileşme olmadığı durumlarda farklı noktalara sıçrama yapılmakta ve çözüm uzayı bu şekilde ayrı iki prosedürle taranmaktadır. Durdurma kriteri sağlanana kadar bu proses devam ettirilmektedir. Algoritma, literatürde kendi başına bir çözüm metodu olarak kullanıldığı gibi birtakım meta-sezgisellere yardımcı olarak melez algoritma şeklinde de kullanılmaktadır. Çalışmaya ait bölümler şu şekildedir. İkinci bölümde konu ile ilgili geniş bir literatür taraması yapılmıştır. Üçüncü bölüm kanguru algoritmasının tanıtılması, adımlarının gösterilmesi ve prosedürlerinin ayrıntılı olarak anlatılmasını içermektedir. Uygulama bölümünde algoritma gezgin satıcı problemi üzerinde test edilmiş ve sonuçlar raporlanmıştır. Son bölümde elde edilen sonuçlar yorumlanmış, algoritmanın etkinliği üzerinde durulmuş ve konu ile ilgili yapılabilecek çalışmalara değinilmiştir. 2. LİTERATÜR Kanguru algoritması, ilk olarak Pollard (1978) tarafından ele alınmıştır. İlgili çalışmada, kesikli logaritmik optimizasyon problemlerinin çözümü için rho ve kanguru isimli iki metot geliştirilmiştir. Metotların teorisi üzerinde durulmuş, bir problem üzerinde performansları test edilmemiştir. İlk olması sebebiyle daha sonra yapılan araştırmalara yol gösterici özelliği taşımıştır. Van Oorschot ve Wiener 1996 yılında yapmış oldukları çalışmada Pollard tarafından ileri sürülen kanguru metodunun paralel halinin teorisini geliştirmişlerdir. Geliştirdikleri KA algoritmasını kriptoloji alanında uygulamışlardır. Minzu ve Henrioud (1998) KA yı tek modelli ve karışık modelli montaj hattı dengeleme problemlerinin çözümünde kullanmışlardır. Komşulukların belirlenmesini probleme özgü özel bir fonksiyonla tanımlayan araştırmacılar, farklı parametrelere sahip problemler üzerinde denemeler yapmış ve elde ettikleri sonuçları raporlamışlardır. Fleury ve Gourgand (1998) tek makineli akış tipi çizelgeleme probleminin çözümünde stokastik algoritmalar, genetik ve benzetilmiş tavlama temelli algoritmalar ve sezgiselleri farklı boyutlardaki problemler üzerinde denemiş ve 52

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 sonuçları raporlamışlardır. Sonuçlarla ilgili yorumlarda zaman faktörü dikkate alınmadığında özellikle KA olmak üzere tavlama tipi algoritmaların daha etkin, daha kolay düzenlenebilir ve oldukça iyi sonuçlar verebilen algoritmalar olduğunu söylemişlerdir. İyi modellenmiş bu tip algoritmaların, GA ile birlikte kullanıldıklarında çok daha komplike problemlerin çözümünde rahatlıkla kullanılabileceği ayrıca belirtilmiştir. Pollard 2000 yılına ait çalışmasında kanguru metodunu performans açısından iyileştirmek için seri ve paralel bilgisayarlar kullanmış, test problemi olarak da kesikli optimizasyon problemlerini ele almıştır. Teori açısından metot monopoly oyunu ve kart hileleri gibi matematiksel oyunlar üzerinde geliştirilmiştir. Teske (2003) seri ve paralel kanguru metotlarını detaylı olarak analiz etmiştir. Literatürdeki kanguru metodu ve rho metodunun birbirine benzerliği açısından yol açtığı kavramsal karmaşıklığa değinmiş ve farklarına detaylı bir biçimde yer vermiştir. Çalışmanın uygulama kısmında, kesikli bir optimizasyon problemi için paralel ve seri KA lar farklı sayıda kangurular ile (20, 100, 1000) çalıştırılmıştır. Yapılan analizlerin sonucunda her iki metodun da iyi sonuçlar verdiği gözlemlenmiştir. Uygulamadaki kolaylığı açısından paralel KA daha sonrası çalışmalar için tavsiye edilmiştir. Minzu ve Beldiman (2003) yapmış oldukları çalışmada, GA meta-sezgiseli ile KA algoritmasını birlikte kullanmışlardır. Makine çizelgeleme problemini ele almış ve melez algoritma sonuçları ile GA sonuçlarını karşılaştırmışlardır. Geliştirmiş oldukları melez algoritmada öncelikle GA ile populasyondaki birey sayısı kadar uygun ve iyi sonuçlar elde edilmekte daha sonra tüm bu sonuçlar KA algoritması için birer başlangıç çözümü olmaktadır. Üretilen sonuçlara bakıldığında melez algoritma klasik GA ya göre daha iyi bir performans sergilemiştir. Minzu ve Beldiman yapmış oldukları bir diğer çalışmada (2007) populasyon temelli iteratif gelişim algortiması olan GA ile iteratif çözüm geliştirme algoritması olan KA yı birlikte kullanmışlardır. Problem olarak tek makineli çizelgeleme problemi ile işlerin istasyonlara atanması problemini ele almışlardır. Her iki problem tipi için de GA-KA melez algoritması sonuçlarının sadece GA sonuçlarına göre optimumdan sapma açısından daha iyi performans sergilediğini çalışmalarında raporlamışlardır. Melez algoritmada GA ile elde edilen çözüm setlerini KA nın başlangıç çözümü olarak atamış ve KA yı bu şekilde çalıştırmışlardır. Duta vd. (2007) öncelik diyagramı adı verilen, üretilmiş bir cep telefonunu sökme (disassembly) işlemi için KA kullanmışlardır. Öncelik diyagramına göre 25 adet iş, 30 adet farklı sıralama bulunmaktadır. Her bir işlemin tamamlanma süresi bilinmekte ve işlemlerin yapılması için 6 tane iş istasyonu bulunmaktadır. Bir stokastik algoritma olarak önerilen KA, üç bağımsız kesikli değişkene bağlı olan amaç fonksiyonunun optimize edilmesinde kullanılmıştır. KA, sökme dengeleme probleminde optimum sonucu bulamamıştır fakat her bir çözüm adımında iyileştirme göstermiştir. 53

Yonca ERDEM, Timur KESKİNTÜRK Serbencu vd. (2007) KA yı melez bir algortimada kullanmışlardır. Populasyon temelli bir meta-sezgisel olan karınca koloni sisteminde her iterasyon sonunda global feromon güncelleme öncesinde her karıncanın çözümü için paralel kangurular çözümü iyileştirmektedir. Makine çizelgeleme problemlerine uygulanan KKS ve KKS-KA melez algoritmasının sonuçları karşılaştırılmıştır. KKS nin KA ile birlikte kullanıldığında çok daha iyi bir performans ortaya koyduğu raporlanmıştır. Yılmaz vd. (2009) iki makineli beklemesiz akış tipi çizelgeleme problemlerini paralel kanguru algoritması ile çözmüşlerdir. Performans kriteri tamamlanma zamanı olarak belirlenmiştir. 24 adet problemin KA ve Gruplama yöntemi sonuçları süre ve iyileştirme oranı açısından karşılaştırılmıştır. Süre açısından gruplama yöntemi oldukça hızlı olmasına rağmen KA metodu kabul edilebilir sürelerde (<1.47sn), %0.63 ile %10.36 oranlarında iyileştirme sağlamıştır. Marmier vd. (2009) KA algoritmasını tamir-bakım servisindeki insan kaynaklarının işlere, kaynakların etkin kullanımı ve işlerin tamamlanma zamanlarının en etkin şekilde gerçekleşeceği şekilde atanmasında kullanmışlardır. Çok amaçlı bu probleme üretilen sonuçlar uzmanların kararlarına destek olarak önerilmiştir. 3. KANGURU ALGORİTMASI Pollard (1978) tarafından geliştirilen kanguru algoritması, yapılan farklı çalışmalarda birtakım modifikasyonlarla geliştirilmiştir. Bu bölümde ilk olarak KA nın en temel hali ele alınacaktır. Algoritmanın çalışma prensibi, adımları ve parametreleri üzerinde durulacaktır. İteratif çözüm iyileştirme metodu olan KA; tabu arama, benzetimli tavlama gibi sezgisellerden ilham alınarak geliştirilmiştir. Komşu arama algoritması olarak da sınıflandırılmaktadır. Kesikli optimizasyon problemlerinin çözümünde belli bir noktadan çözüme başlanmakta, yakın komşuluklar belli bir komşuluk fonksiyonuna göre aranmaktadır. Bu aşama ) olarak adlandırılmaktadır. Başlangıç çözümü olarak isimlendirilmekte ve her adımda komşu çözümler ( ) incelenmektedir. Mevcut en iyi çözüm olup aranan koşu çözümlerde bulunursa bu çözüm seti yerine geçmektedir. Komşuluk arama teknikleri kullanılarak çözüm uzayı taranmaktadır. Başlangıçta bilinen bir çözüm değerinin yakın komşuları arasından alternatif çözümler belirlenir. Belirli sayıda ( ) iterasyonun tamamlanması halinde amaç fonksiyonu değerinde herhangi bir iyileşme gözlemlenmiyor ise algoritmanın ikinci adımına geçilir. İkinci adım literatürde prosedürü olarak adlandırılır. Yine farklı bir komşuluk arama tekniği olan prosedürü çözümün yerel optimuma takılmasına engel olmak için geliştirilmiştir. Bu aşamada yakın komşu arama yerine çözüm uzayının farklı noktalarını da taramak için çözüm seti tamamen tesadüfi olarak değiştirilmektedir. Yine aynı şekilde belirlenen adım sayısı kadar gelişme olmazsa bulunan en iyi noktasından yakın komşu arama prosedürüne,, geçiş yapılır. Her iki prosedürde de mevcut en iyi çözümden daha iyisi bulunduğunda sayaç ( ) sıfırlanır ve, dan büyük olana kadar arama adımlarına 54

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 devam edilir. Algoritma aşağıdaki şekilde adımlar halinde özetlenebilir (Duta, 2007): Adım 1: Algoritma parametresinin belirlenmesi, Adım 2: Başlangıç çözümünün seçilmesi, Adım 3: Amaç fonksiyonunu iyileyen yeni bir çözüm bulunması, ; ; Adım 4: eğer aksi halde durma kriteri sağlanana kadar devam et. ve fonksiyonları detaylı bir şekilde aşağıdaki gibi ifade edilmiştir: Başla komşuları içerisinde bir eğer elde edildi; ; başla eğer başla ise çözümü belirle ise ; // daha iyi bir çözüm değeri eğer ise ; // mevcut düşük fonksiyon değeri elde edildi; değiştirildi Sonlandır. sonlandır; sonlandır; ; // eski çözüm seti yenisiyle Başla 55

Yonca ERDEM, Timur KESKİNTÜRK komşuları içerisinde bir Sonlandır. eğer başla ; ise çözümü belirle eğer ise ; ; sonlandır; ; parametresi, mevcut çözümde herhangi bir gelişme olmaksızın gerçekleştirilebilecek maksimum iterasyon sayısıdır. prosedüründe, kadar iterasyonda gelişme olmazsa prosedürüne geçiş yapılır. Aynı şekilde prosedüründe kadar iterasyonda iyileşme olmazsa prosedürüne dönülür. Bu süreç KA ya ait bir döngü olup durdurma kriteri sağlanan kadar devam eder. 4. UYGULAMA Gezgin Satıcı Problemi, aralarındaki uzaklıkları bilinen N tane şehrin her birinden yalnız bir kez geçen ve başlanılan noktada tamamlanan, en kısa (en az maliyetli) turun bulunmasını hedefleyen bir problemdir. Maliyetler, iki şehir arasındaki mesafe ile doğru orantılı olabileceği gibi, bazı durumlarda ise kısa mesafedeki bir şehre gitmek daha maliyetli olabilir. GSP, 1800 lü yıllardan beri üzerinde çalışılan önemli optimizasyon problemlerinden biridir. Problem bu haliyle NP-zor sınıfındadır. Eğer GSP bir karar problemi (önceden belirlenmiş maliyete eşit veya ondan küçük maliyetli bir turun var olup olmadığı) şeklinde ele alınacak olursa hesaplama karmaşıklığı (computational complexity) teorisine göre NP-tam problem sınıfına aittir (Cormen vd., 2001). bir çizge olmak üzere, düğüm kümesini ve { kenar kümesini göstermektedir. N düğümlü yönlendirilmemiş bir çizgede birbirinden farklı tüm döngülerin (çözümlerin) sayısı (N-1)!/2 iken yönlendirilmiş bir çizgede ise (N-1)! dır., düğümünden düğümüne gidiş maliyeti (mesafe veya süre) ve karar değişkeni olmak üzere: 56

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 { eğer den ye gidiliyorsa aksi durumda, ve buna göre problemin tamsayılı programlama modeli de aşağıdaki gibidir: Min Kısıtlar: 1 2 { Amaç fonksiyonu her bir düğüme gidiş maliyetlerinin toplamı, yani toplam tur maliyetidir. Kısıt 1 ve 2 her bir şehrin bir defa ziyaret edilmesi gerektiğini ifade etmektedir ve uygun olmayan çözümleri engellemektedir (Keskintürk, 2009). Kanguru algoritması gezgin satıcı problemine ilk olarak bu çalışmada uygulanmıştır. Literatürde genellikle tek makine ve paralel makine çizelgeleme problemlerine uygulanmıştır. Özellikle tek makine çizelgeleme problemi gezgin satıcı problemi gibi modellenip çözülebilmektedir. Bu nedenle çalışmamızda kanguru algoritmasının gezgin satıcı probleminin çözümündeki performansı araştırılmıştır. Kanguru algoritmasının içerdiği komşuluk fonksiyonlarının geliştirilmesinde öncelikle literatürde bulunan makine çizelgeleme problemlerinde kullanılan yöntemler incelenmiştir. İlgili çalışmalarda kullanılan komşuluk fonksiyonları gezen satıcı probleminde kullanılabilecek şekilde modifiye edilerek denemeler yapılmıştır. Bu denemeler sonucunda, farklı boyutlardaki problemler için belirlenen ve komşuluk fonksiyonları aşağıdaki gibi belirlenmiştir: komşuluk fonksiyonu: GSP problemi için çözüm seti bir satır vektöründe saklanmaktadır. Satırdaki değerler sırasıyla ziyaret edilen şehirleri temsil etmektedir. fonksiyonu çözüme ait yakın alternatif çözümleri aramaya yönelik olduğundan küçük bir takım değişiklikleri içermelidir. N şehir sayısı olmak üzere [1,N] arasında tesadüfî olarak seçilen bir şehir yine [1,N] arasında tesadüfî olarak seçilen bir noktaya kaydırılmaktadır (Şekil 1). 57

Yonca ERDEM, Timur KESKİNTÜRK ten önce 2 3 5 8 10 1 4 7 6 9 ten sonra 2 3 8 10 1 4 7 5 6 9 Şekil 1 Gezen satıcı problemi için fonksiyonu komşuluk fonksiyonu çözüm uzayının farklı noktalarındaki çözüm alternatiflerinin aranmasında kullanılan, fonksiyonuna göre daha radikal değişiklikleri içeren ve yerel optimumlara takılmayı engelleyen arama fonksiyonudur. GSP problemi için düşünülen fonksiyonunda te yapılan uzak kaydırma işlemi bir kere değil belirlenen sayıda yapılmaktadır. Problemin boyutuna bağlı olarak sabit bir sayıda ya da belli bir tam sayı aralığında tesadüfî olarak belirlenen sayıda uzak kaydırma yapılmaktadır (Şekil 2). tan önce 2 3 8 10 1 4 7 5 6 9 tan sonra 7 2 3 10 1 4 6 8 9 5 Şekil 2 Gezen satıcı problemi için fonksiyonu Bu aşamada yapılacak uzak kaydırma sayısının mevcut çözümden tamamen uzaklaşacak kadar çok olmaması aynı zamanda çözüm uzayının farklı noktalarını arama yani sıçrama yapabilecek kadar da istenen seviyede olması gerekmektedir. Ayrıca yapılan kaydırmalar sırayla yapıldığından değişikliklerde herhangi bir sıkıntı yaşanmamaktadır. Şekil 2 de sırasıyla 7, 5 ve 8 kaydırılmıştır. Çalışmamızda literatürden alınan farklı boyutlardaki problemler kullanılmıştır. Optimum değerleri bilinen bu problemler TSPLIB den alınan 20 problem (Gambardella ve Dorigo, 2005); Keskintürk ve Söyler den (2006) alınan tsp5, tsp10 ve tsp20 problemleridir. Problemlere ait düğüm sayıları, problem isimlerinin sonundaki rakamlarla aynıdır. Problemler simetrik ve asimetrik olarak iki gruba ayrılmaktadır. Asimetrik GSP problemlerinde dir. Problemin alternatif çözüm sayısı iki katına çıkmış ve dolayısıyla zorluk derecesi artmış olmaktadır. Algoritmaya ait kodlar MATLAB 2009b programında yazılmış olup Intel Core 2 CPU 1.86 GHz, 1 GB RAM özelliklere sahip bir bilgisayarda çalıştırılmıştır. Her bir problem için 3000 iterasyon 100 kere döndürülmüş ve sonuçlar ortalama, minimum ve maksimum olarak raporlanmış, optimum değerlerden sapmalar hesaplanmıştır. Tablo 1 de simetrik GSP problemlerine, Tablo 2 de ise asimetrik GSP problemlerine ait sonuçlar yer almaktadır. 58

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 Tablo 1 Kanguru algoritması ile simetrik GSP sonuçları Kanguru algoritması Problem Optimum Opt. dan Ortalama Minimum Maksimum sapma (%) tsp5 2662,47 2662,47 2662,47 2662,47 0,00 tsp10 5328,90 5359,90 5328,90 5601,60 0,58 ulysses16 6859,00 7413,61 7398,76 7473,23 8,09 gr17 2085,00 2092,70 2085,00 2103,00 0,37 tsp20 7768,54 8203,00 7812,60 8785,70 5,59 ulysses22 7013,00 7634,15 7530,97 7900,32 8,86 bays29 2020,00 2130,80 2020,00 2333,00 5,49 swiss42 1273,00 1434,80 1273,00 1686,00 12,71 eil51 426 478,85 440,27 520,38 12,41 berlin52 7542,00 8726,23 7675,77 9853,07 15,70 st70 675,00 840,65 739,49 968,59 24,54 eil76 538,00 631,94 582,17 695,54 17,46 pr76 108159,00 128750,62 115632,75 149156,35 15,99 kroa100 21282,00 28861,27 24277,04 34526,84 35,61 krob100 22141,00 29435,85 25225,26 34672,82 24,78 eil101 629,00 760,56 706,12 898,68 20,92 Tablo 1 e ait sonuçlar incelendiğinde küçük problemler için optimum ya da optimuma oldukça yakın sapmalarla çözüm değerlerine ulaşıldığı görülmektedir. Probleme ait düğüm sayıları arttıkça optimumdan sapmalar da artmaktadır (Şekil 3). 59

Optimumdan sapma (%) Yonca ERDEM, Timur KESKİNTÜRK 35 30 25 20 15 10 5 0 0 20 40 60 80 100 Düğüm sayısı Şekil 3 KA nın simetrik GSP problemlerinde düğüm sayısına bağlı olarak sapma oranları. Şekil 3 te de görüldüğü gibi problem boyutları arttığında KA nın simetrik GSP çözümündeki performansı düşmektedir. Küçük boyuttaki problemler için rahatlıkla kullanılabilecek algoritma, problem boyutları büyüdüğünde yetersiz kalmaktadır. Ancak kodlamadaki kolaylığı dikkate alınarak diğer sezgisel ve meta-sezgisellerle melez olarak yerel arama algoritması şeklinde kolaylıkla kullanılabileceği düşünülmektedir. Tablo 2 Kanguru algoritması ile Asimetrik GSP sonuçları Kanguru algoritması Problem Optimum Opt. dan Ortalama Minimum Maksimum sapma (%) ftv35 1473 1626,78 1473 1837 10,44 ftv38 1530 1697,34 1530 1879 10,94 ftv44 1613 1825,06 1642 2071 13,15 ftv47 1776 2020,15 1807 2276 13,75 ry48p 14422,00 16352,00 14711,00 18510,00 13,38 ft53 6905,00 8544,80 7634,00 9819,00 23,75 ftv64 1839 2152,27 1851 2557 17,03 60

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 KA algoritmasının asimetrik GSP problemlerindeki performansına bakıldığında, simetrik problemlere benzer sonuçlar ürettiği görülebilmektedir. Bu değerlendirme yapılırken düğüm sayıları dikkate alınmıştır. Simetrikte olduğu gibi düğüm sayısı arttığında beklendiği gibi sapmalarda da büyüme gözlemlenmiştir. 5. SONUÇLAR Çalışmada kanguru algoritması tanıtılmış ve bir uygulama üzerinde denenmiştir. Yapılan literatür taramasında ulusal dilde bu konuda makale olmadığı tespit edilmiştir. Bu çalışmayla, konuyla ilgilenen araştırmacılara fikir vermek, algoritmayı direkt ya da melez olarak kullanmak isteyecek uygulamacılara çalışma prensiplerini ve algoritma adımlarını tanıtmak amaçlanmıştır. Uygulama problemi olarak gezen satıcı problemi seçilmiştir. Literatürde genellikle makine çizelgeleme problemlerine uygulanmakta olup, benzerliği dolayısıyla ilgili problem seçilmiştir. Bu durumda algoritmanın GSP problemlerine uygulanması konusunda bu çalışma bir ilk sayılabilir. Problemler literatürde birçok çalışmada ele alınan problemlerden seçilmiştir. Simetrik ve asimetrik gezgin satıcı problemlerine uygulanan algoritmaya ait sonuçlar raporlanmıştır. Simetrik problemler 5 ile 101 düğüm arasında değişen boyutlarda seçilmiştir. Sonuçlar incelendiğinde sapmaların yüzde olarak 0 ile 35,6 arasında problem boyutlarıyla orantılı olarak dağıldığı söylenebilir. Küçük problemler için (5-20 düğüm) tatmin edici sonuçlar veren algoritma daha büyük boyuttaki problemler için yetersiz kalmaktadır. Asimetrik GSP problemleri için de sonuçlar aynı gibidir. 35-64 düğüm arasında seçilen problemler için düğüm sayısı arttıkça sapmalar artmıştır. KA literatürde genellikle diğer meta-sezgisellerle beraber yerel arama algoritması olarak kullanılmıştır. Bu çalışmanın sonuçları da göstermiştir ki KA bu problemler için de özellikle belli bir problem büyüklüğünden sonra ancak elde edilen bir sonucu geliştirmek için kullanılabilir. Özellikle GSP problemleri için iyi sonuçlar ürettiği bir çok çalışmada görülen genetik algoritma ve karınca koloni algoritmasının KA ile performansının geliştirilebileceği düşünülmektedir. Populasyon temelli olan her iki algoritmanın da her bir çözüm setinin KA ile iyileştirilebileceği konusunda araştırma yapılabileceği öngörülmektedir. Yerel arama bu algoritmalar için her iterasyon sonunda yapılabileceği gibi algoritma durduktan sonra elde edilen her bir çözüm için de KA çalıştırılabilir. Bu çalışmadan sonra genetik algoritma-ka ve karınca koloni algoritması-ka melez algoritmalarının simetrik ve asimetrik GSP problemleri için performansının araştırılması planlanmaktadır. KAYNAKLAR 1. Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein, C., (2001), Introduction to Algorithms, 2/e The MIT Press. 61

Yonca ERDEM, Timur KESKİNTÜRK 2. Duta, L., Henrioud, J.M., Caciula I., (2007), A Real Time Solution to Control Disassembly Processes, Proceedings of the 4th IFAC Conference on Management and Control of Production and Logistics, Sibiu. 3. Fleury, G., ve Gourgand, M., (1998), Genetic algorithms applied to workshop problems International Journal of Computer Integrated Manufacturing 11 (2), 183-192. 4. Gambardella, L.M., ve Dorigo, M., (2005), TSPLIB: Library of Sample Instances for the TSP, University of Heilderberg, Department of Computer Science, (Çevrimiçi): http://www2.iwr.uni-heidelberg.de/groups/comopt/software/tsplib95/tsp/ 5. Keskintürk, T., (2009), Araç rotalama problemlerinin global karınca koloni optimizasyonu ile çözümü, Doktora tezi, İşletme Fakültesi, İstanbul Üniversitesi, İstanbul. 6. Keskintürk, T., ve Söyler, H., (2006), Global Karınca Kolonisi Optimizasyonu, Gazi Üniversitesi Mühendislik ve Mimarlık Fakültesi Dergisi, 21(4), 689-698. 7. Marmier, F., Varnier C., Zerhouni, N., (2009), Proactive, Dynamic and Multi-Criteria Scheduling of Maintenance Activities, International Journal of Production Research, 47(8), 2185-2201. 8. Minzu, V., Beldiman, L., (2003), A parallel hybrid metaheuristic for the single machine scheduling problem, In: Proceedings of the 2003 IEEE International Symposium on Assembly and Task Planning, July 10-11, Besançon, France, 134-139. 9. Minzu,V., Beldiman, L., (2007), Some aspects concerning the implementation of a parallel hybrid metaheuristic, Engineering Applications of Artificial Intelligence, 20 (7), 993-999. 10. Minzu, V., Henrioud, J.M. (1998), Stochastic algorithm for tasks assignments in single or mixed-model assembly lines, APII-JESA, 32 (7-8), 831-851. 11. Oorschot, P.C.V., Wiener, M.J., (1996), Parallel Collision Search with Cryptanalytic Applications, Journal of Cryptology, 12, 1-28, DOI: 10.1007/PL00003816. 12. Pollard, J.M., (1978), Monte Carlo methods for index computation (mod p), Mathematics of Computation, 32 (143), 918 924. 13. Pollard, J.M., (2000), Kangaroos, Monopoly and discrete logarithms, Journal of Cryptology, 13, 437 447. 62

İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Bahar 2011 14. Serbencu, A., Minzu, V., Serbencu, A., (2007), An Ant Colony System based metaheuristic for solving single machine scheduling problem, Electrotechnics Electronics Automatic Control informatics, 19-24. 15. Teske, E., (2003), Computing discrete logarithms with the parallelized kangaroo method, Discrete Applied Mathematics 130, 61 82. 16. Yılmaz, M.K., Kökçam, A.H., Duvarcı, V., Fığlalı, A., Ayöz, M., Engin, O., (2009), Paralel Kanguru Algoritması Yardımıyla Beklemesiz Akış Tipi Çizelgeleme Problemlerinin Çözümü, YA/EM 09. 63