• Sonuç bulunamadı

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 (GRID­ACO) 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  R­I  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,  2­opt)  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  2­opt  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.