3. LİTERATÜR TARAMASI
3.2. Modern Sezgisel (Metaheuristic) Çözüm Yöntemleri
Özellikle 2000’li yıllarda OP için ileri düzeyde sezgisel çözüm yöntemleri yaygın olarak kullanılmaya başlanmıştır. Genel olarak tercih edilen çözüm yöntemleri ANN (Artificial Neural Network), Genetik Algoritma, ACO (Ant Colony Optimization), TS (Tabu Search), VNS (Variable Neighborhood Search), PSO (Particle Swarm Optimization) ve GLS (Guided Local Search) şeklinde sıralanabilir. Bu bölümde sezgisel ve kesin çözüm yöntemlerine göre TOP ile ilgili daha fazla referansa rastlanmaktadır.
Wang, et al., (1995) OP için etkili bir enerji fonksiyonu ve öğrenen algoritma tasarımından oluşan Hopfield benzeri bir yapay sinir ağı (ANN) yöntemi kullanarak Tsiligirides’in test problemlerinde iyi sonuçlar elde edildiğini literatür çalışmalarıyla karşılaştırarak göstermişlerdir.
Çalışmada yapay sinir ağı N ´ N ( + 1 ) boyutunda noktalar/ nöronlar matrisi şeklinde planlanmıştır. Her satır bir noktaya ait olup, her sütun başlangıç noktasından bitişe kadar rotada bulunulan belli bir konumu göstermektedir. Burada i ve j noktalarının aktivasyon seviyesi v( j i , ) = 0 veya 1 olmak üzere, j £ N için v( j i , ) =1 ise; i noktası rotada ziyaret edilen j’nci nokta olup, v(1 , 1 ) = v ( N , N ) olarak ifade edilebilmektedir. N + 1 sütunu rotanın toplam puanını hesaplamak için kullanılmakta, eğer v( i , N + 1 ) = 1 ise i noktası rotada yer almaktadır. Önerilen enerji fonksiyonu dördüncü derece konveks bir fonksiyondur. Bağlantı ağırlıkları sabit olmayıp sinir ağının o anki durumuna bağlıdır. Yapay sinir ağı enerji fonksiyonunu enküçüklemeye çalışmaktadır. Yöntemin temelinde noktaların durumlarının güncellenmesi yer almakta olup, 10 aşamadan oluşan bir algoritma ile maliyet kısıtı dahilinde en yüksek toplam puana sahip rota elde edilmek istenmektedir.
Yapay sinir ağı algoritması Turbo C yazılımı ile kodlanarak test problemlerine uygulanmış olup, Tsiligirides’in (1984) S algoritması ve Chao’nun (1993) tez çalışmasında yer alan sezgisel yöntem sonuçları ile karşılaştırılmıştır. Orienteering Problemi’ne ilk defa uygulanan bu yapay sinir ağı yönteminde Tsiligirides’in S Algoritmasına genel olarak üstünlük sağlanmış, Chao ile 67 durumun 62’sinde eşit sonuçlar elde edilirken 5’inde daha düşük ama yakın sonuçlar elde edilmiştir.
Tasgetiren and Smith (2000) OP için ilk olarak genetik algoritma yaklaşımını kullanmışlar ve bu algoritmanın performansını literatür çalışmaları ile Tsiligirides’in test problemleri üzerinde karşılaştırarak göstermişlerdir.
Algoritma Borland C++ yazılımı ile kodlanarak Tsiligirides’in test problemleri üzerinde Tsiligirides’in (1984) S Algoritması, Chao, et al., (1996 a)’nın sezgisel
yöntemi ve Wang, et al., (1995)’nin yapay sinir ağı yöntemi ile karşılaştırma yapılmış olup, Tsiligirides’in algoritmasına genel üstünlük sağlanırken diğer 2 yöntemle eşit ve bazı durumlarda daha iyi sonuçlar elde edilmiştir. Sonuçlarda elde edilen rotalarda yer alan noktaların sırası da verilmiştir. Ayrıca bu çalışmada Keller (1989) ve Chao, et al., (1996 a)’nın 32 noktadan oluşan problemin 19 ve 20 numaralı noktalarının mesafesini 0,42 birim eksik hesapladıkları tespit edilmiştir.
Tasgetiren (2002) OP için detaylı bir referans taramasının ardından Tasgetiren and Smith’in (2000) devamı sayılabilecek bir genetik algoritma uygulaması yapmıştır.
Önceki çalışmaya oranla daha az maliyetli ve daha sağlıklı sonuçlar elde edilmiş, basit bir ceza fonksiyonu geliştirilmiş, sıraya dayalı çaprazlama (crossover) operatörü yerine enjeksiyon çaprazlama operatörü kullanılmıştır. Ayrıca iyileştirme aşaması olan yerel arama mutasyonunda nokta ekleme, nokta silme, nokta değiştirme işlemlerine ilave olarak rotada yer alan iki noktanın yerlerini değiştirme işlemi uygulanmıştır.
Tsiligirides’in test problemleri üzerinde Borland C yazılımı ile algoritma test edilmiş ve literatür çalışmaları ile karşılaştırılmıştır. Tsiligirides’in (1984) S Algoritmasına 67 durumda 46 kez üstünlük ve diğerlerinde eşitlik, Wang, et al., (1995)’in yapay sinir ağı yöntemine 8 kez üstünlük 1 kez yenilgi ve diğer durumlarda eşitlik, Chao, et al., (1996 a)’nın sezgisel yöntemine 3 kez üstünlük sağlanırken diğer durumlarda eşit sonuçlar elde edilmiştir.
Liang, et al., (2002) OP için karınca kolonisi optimizasyonu (ACO) ve tabu arama (TS) yöntemleri olmak üzere 2 adet modern sezgisel yöntem kullanmış ve Tsiligirides’in test problemleri üzerinde performans değerlendirmesi yaparak literatür çalışmaları ile karşılaştırma yapmışlardır. TS yönteminde başlangıç çözümü Tsiligirides’in (1984) S algoritmasında olduğu gibi rassal olarak elde edilmektedir.
Karınca kolonisi algoritması Borland C++, TS algoritması C yazılımları ile kodlanmış, Chao, et al., (1996 a)’nın sezgisel yöntemi ve Tasgetiren and Smith’in (2000) genetik algoritmasına 67 durumda 2 kez üstünlük sağlanırken diğer durumlarda
eşit sonuçlar elde edilmiştir. Yazarın kullandığı her 2 yöntem tüm durumlarda eşit sonuçlar vermiştir.
Mocholi, et al., (2005) OP için her biri bağımsız çalışan çoklu koloni stratejisine dayanan ve birçok noktadan oluşan alanı parçalara bölerek, grid karınca kolonisi yöntemini (GRIDACO) ortaya koymuşlar ve Liang, et al., (2002)’nin ACO yöntemi ile çalışmanın performansı karşılaştırılmıştır. Bu çalışmada binlerce noktadan oluşabilecek bir problemin önerilen yöntemle bölümler halinde çözülebilmesi amaçlanmıştır.
Çalışmada koloniler noktaların konumlarına göre belirlenmektedir. Ayrıca Tmax kolonilerin maliyetleri ile orantılı olarak parçalara ayrılmakta, alternatif olarak kolonilerin çekiciliği de Tmax değerini parçalamada kullanılmaktadır. Kolonileri birleştirmek için sezgisel bir yöntem kullanılmakta ve ilk olarak başlangıç noktasının olduğu noktalar kümesinden elde edilen rota alınmakta, takiben en yakın koloniye ait rota eklenmektedir. Tüm koloniler minimum maliyet artışı sağlayan sırayla birleştirilmektedir. Birleştirilen rotanın Mladenoviç and Hansen’in (1997) değişken komşuluk analizi yöntemi ile geliştirildiği belirtilmiştir. Tsiligirides’in 33 noktadan oluşan test probleminde 2 durumda Liang, et al., (2002)’nin sonuçlarından daha düşük değerler elde edilirken diğer durumlarda eşit sonuçlara ulaşılmıştır. Bununla birlikte önerilen yöntemde işlem süreleri çok küçüktür. Binlerce noktadan oluşan test problemleri üzerinde de incelemeler yapılmıştır.
Tang and Hooks (2005) TOP için bir AMP (Adaptive Memory Procedure) içinde yer alan ve genel olarak başlangıç çözümü, iyileştirme ve değerlendirme olmak üzere 3 aşamadan oluşan bir TS modern sezgisel yöntemi kullanmıştır. Bu çalışmada TOP’nin matematiksel modeli de verilmiştir.
Algoritma C++ yazılımı ile kodlanarak, Chao’nun (1993) tez çalışmasında yer alan 6 adet test probleminde performans değerlendirmesi yapılmış ve Chao, et al., (1996 b)’nin TOP için kullandığı sezgisel yöntem ve aynı çalışmada TOP’ye uyarlanan
Tsiligirides’in S algoritması ile karşılaştırılmıştır. Uygulanan TS yönteminin diğer 2 yönteme genel olarak üstünlük sağladığı belirtilmiştir.
Sevkli and Sevilgen (2006) OP için Değişken Komşuluk Araması (VNS) yöntemini kullanmışlar, test problemleri üzerinde elde edilen sonuçları literatür çalışmaları ile kıyaslamışlardır. Problemin boyutu arttıkça kesin çözüm yöntemlerinin pratikliğini kaybettiği ve bu nedenle genellikle araştırmacılar tarafından sezgisel yöntemler üzerinde yoğunlaşıldığı belirtilmiştir. Çalışmada noktalar arasındaki kuş uçuşu uzaklık dikkate alınmış ve VNS’nin 3 versiyonu test problemlerine uygulanmıştır. Bu versiyonlardan RVNS ile VNS (İndirgenmiş VNS) uygulanan problemlerde en iyi sonucu vermiştir.
Temel düşüncesi sistematik komşuluk değişikliği ile çözüm alanı araştırılması olan VNS algoritmasında, çözüm alternatifleri tanımlanan maliyet sınırına kadar başlangıç ve bitiş noktaları haricindeki kontrol noktalarının permütasyonları ile elde edilmektedir. Performans, VNS’de anahtar elementler olan komşuluk yapılarının hem seçimi hem de sırasına bağlı olup, çalışmada 4 adet komşuluk yapısı yeralmaktadır.
Komşuluk yapılarından ekleme (insert) en yakın komşuluğu tanımlamaktadır.
Permütasyondan rastgele seçilmiş bir kontrol noktası yine rastgele seçilmiş bir kontrol noktasının önüne eklenmektedir. Çözümde yeralan bir kontrol noktası çözüm dışı kalabilir, çözüm dışı bir kontrol noktası çözüme eklenebilir, çözümde yeralan bir kontrol noktasının çözüm içindeki yeri değişebilir ve çözüm dışında yeralan bir kontrol noktasının yeri değişebilir (mevcut sonucu etkilemese de sonraki işlemleri etkileyebilir).
Yer değiştirme (exchange) komşuluk yapısı bir çözümün yakın çevresindeki yeni çözümleri araştırmak için kullanılmaktadır. 2 adet rassal seçilmiş kontrol noktası basitçe değiştirilir. Yine bu noktaların çözümde olup olmamasına göre; çözümdeki bir kontrol noktası çözüm dışı bir nokta ile, çözümdeki 2 kontrol noktası birbiriyle ve çözüm dışı 2 nokta birbiriyle yer değişebilmektedir.
Yol ekleme (path insert) komşuluk yapısında, permütasyondan 3 kontrol noktası rastgele seçilmektedir. Bunlardan ikisi bu alt kümenin başlangıç ve bitişini diğeri de eklemenin yapılacağı yeri göstermektedir. Bu yapıda ilk 2 komşuluk yapısına göre daha uzak komşuluklarda çözüm analizi mümkün olmaktadır.
Yol değiştirme (path exchange) yapısında ise aynı uzunluktaki rastgele 2 alt rotanın yerleri değiştirilmekte ve diğer yapılara göre daha uzak komşuluklarda çözüm araştırılması imkanı sunmaktadır.
VNS’nin 3 versiyonu için Tsiligirides’in (1984) (veri seti 1,2,3/ 32, 21, 33 kontrol noktası) ve Chao, et al., (1996 a)’nın (veri seti 4,5,6/ 32, 66, 64 kontrol noktası) test problemlerini kullanılarak, Borland C ile kodlanan algoritma bu 2 çalışma ile karşılaştırılmıştır. 5 ve 6’ncı veri setlerinde Tsiligirides’in yöntemine (hangi yöntem olduğu belirtilmiyor ancak RI Algoritması olmadığı anlaşılmaktadır) 40 durumda 27 kez üstünlük sağlanırken diğer 13 durumda eşit sonuçlar elde edilmiştir. Chao’nun yöntemine ise 11 kez üstünlük sağlanırken diğer 29 durumda eşit sonuçlara ulaşılmıştır.
Archetti, et al., (2007) TOP için geliştirdikleri 2 adet TS yöntemi ve 1 adet VNS yöntemini kullanarak elde edilen sonuçlar ve işlem süresi bakımından yöntemlerin etkinliğini test problemleri üzerinde Chao, et al., (1996 b)’nin sezgisel yöntemi ve Tang and Hooks’un (2005) TS yöntemi ile karşılaştırılarak göstermişlerdir.
Önerilen yöntemde başlangıç çözümü Chao, et al., (1996 b)’nin başlangıç çözümü aşaması kullanılarak elde edilmektedir. Takiben geliştirilen TS algoritmaları ve son olarak ise VNS algoritması uygulanmaktadır. Önerilen algoritmanın önemli literatür çalışmalarına karşı üstünlüğü gösterilmiştir.
Ke, et al., (2007) TOP için dört yöntemden oluşan bir ACO yaklaşımı kullanmışlar ve literatür çalışmaları ile karşılaştırarak önerilen algoritmanın performansını değerlendirmişlerdir. Bu çalışmada TOP’nin başlangıç ve bitiş noktaları farklı olacak şekilde de modellenebileceği gösterilmiştir.
Algoritma C++ yazılımı ile kodlanmış ve Chao’nun (1993) tez çalışmasında yer alan 6 adet test probleminde performans değerlendirmesi yapılmıştır. Kullanılan dört yöntem kendi aralarında ve literatür çalışmaları ile kıyaslanmış ve TOP için önerilen ACO yaklaşımının Archetti, et al., (2007) ile birlikte başarılı olduğu belirtilmiştir.
Dallard, et al., (2007) daha önce 2006 yılında OP için yaptıkları PSO (Particle Swarm Optimization) çalışmasını geliştirerek ARPSO (Attractive Repulsive Particle Swarm Optimization) yöntemini ortaya koymuşlardır. Tsiligirides’in 21 noktadan oluşan test problemi üzerinde yaptıkları uygulamada PSO sezgiseline göre daha iyi sonuçlar elde edilmiştir. Ancak Chao, et al., (1996 a) ile yapılan karşılaştırmada daha kötü sonuçlar elde edilmiş ve önerilen yöntemin OP için yeterli düzeyde olmadığı görülmüştür.
Vansteenwegen, et al., (2008) TOP için GLS modern sezgisel yöntemini kullanarak test problemleri üzerinde literatür çalışmalarıyla karşılaştırma yapmışlardır.
Önerilen yöntemde uygulama alanı olarak elektronik turist rehberi üzerinde durulmuş, yöntemin TOP ile birlikte OP için de kullanılabileceği ve işlem süresi bakımından çok kısa sürede etkili sonuçlara ulaşılabildiği belirtilmiştir.
Önerilen yöntemde ilk olarak Chao, et al., (1996 b)’nin başlangıç çözümü aşamasında olduğu gibi bir başlangıç rotası oluşturulmaktadır. Takiben toplam puanı yükseltmek için çözümde olmayan yeni nokta ekleme (insert) ve çözümde olan bir nokta ile çözümde olmayan bir noktayı değiştirmek (replace) suretiyle, iki adet sezgisel teknik kullanılmaktadır. Toplam puanı yükseltme çalışmasını, toplam maliyeti azaltmak için kullanılan üç adet sezgisel teknik (swap, move, 2opt) izlemektedir.
Böylece daha düşük maliyetli rotayı, toplam puanı artırmak için kullanılan tekniklerle iyileştirmek kolaylaşmaktadır. Bu beş sezgisel teknikten herhangi biri kullanılmadığında sonuçların hangi oranda kötüleştiği de incelenmiş ve toplam puanı artırmak için kullanılan tekniklerden çözümde yer alan bir nokta ile çözümde olmayan bir noktayı değiştirmek (replace) ve maliyeti düşürmek için de 2opt sezgisel yöntemlerinin en önemli 2 teknik olduğu görülmüş olup, GLS bu 2 sezgisel yönteme uygulanmıştır. İki adet ceza fonksiyonu kullanılarak, GLS ile rota dışındaki puanı en
yüksek noktanın rotaya alınma olasılığı ve rotada yer alan en düşük puanlı noktanın rotadan çıkarılma olasılıkları artırılmaktadır. Rotanın maliyetini düşürmek için de yine 2 nokta arasındaki en çok kullanılan yola ceza fonksiyonu uygulanmaktadır. Son olarak ise araştırmayı çeşitlendirmek için daha fazla çözüm alanı keşfetmeye yönelik olarak başka bir sezgisel yöntem (disturb) kullanılmış ve bu yöntemle işlem süresinde kısaltma sağlanmıştır.
Kullanılan yöntemin performansı Chao, et al., (1996 b), Tang and Hooks (2005) ve Archetti, et al., (2007)’nin yöntemleri ile karşılaştırılmış ve bu yöntemlerin biraz gerisinde gibi görünse de genel olarak yakın sonuçlar elde edilmiş olup, işlem süresi olarak diğer çalışmalara oranla daha etkilidir.