Orienteering Problemi için Sezgisel bir Yaklaşım ve Örnek Uygulamalar Ecir Şık
YÜKSEK LİSANS TEZİ Endüstri Mühendisliği Anabilim Dalı
Temmuz 2008
A Heuristic Approach for the Orienteering Problem and Sample Applications Ecir Şık
MASTER OF SCIENCE THESIS Department of Industrial Engineering
July 2008
Orienteering Problemi için Sezgisel bir Yaklaşım ve Örnek Uygulamalar
Ecir Şık
Eskişehir Osmangazi Üniversitesi Fen Bilimleri Enstitüsü Lisansüstü Yönetmeliği Uyarınca Endüstri Mühendisliği Anabilim Dalı
Endüstri mühendisliği Bilim Dalında YÜKSEK LİSANS TEZİ
Olarak Hazırlanmıştır
Danışman: Yrd. Doç. Dr. R. Aykut Arapoğlu
Temmuz 2008
Ecir ŞIK’ ın YÜKSEK LİSANS tezi olarak hazırladığı “Orienteering Problemi için Sezgisel bir Yaklaşım ve Örnek Uygulamalar” başlıklı bu çalışma, jürimizce lisansüstü yönetmeliğinin ilgili maddeleri uyarınca değerlendirilerek kabul edilmiştir.
Üye : Y. Doç. Dr. R.Aykut ARAPOĞLU (Danışman)
Üye : Prof. Dr. Doğan EROL
Üye : Y. Doç. Dr. Nuray GİRGİNER
Üye : Y. Doç. Dr. Aydın SİPAHİOĞLU
Üye : Y. Doç. Dr. Servet HASGÜL
Fen Bilimleri Enstitüsü Yönetim Kurulu’nun ... tarih ve ...
sayılı kararıyla onaylanmıştır.
Prof. Dr. Nimetullah BURNAK Enstitü Müdürü
ÖZET
Orienteering sporunun bir türü olan Puan Orienteering’den esinlenilerek tanımlanan Orienteering Problemi (OP), puan değerleri sıfır olan belirli bir başlangıç ve bitiş noktası arasında, bir maksimum maliyet (zaman veya mesafe) kısıtı altında her birine pozitif bir puan değeri atanmış olan noktaların bir alt kümesini ziyaret etmek suretiyle, toplam puanı enbüyükleyen rotanın bulunmasını amaçlayan bir optimizasyon problemidir.
Bu çalışmada, Puan Orienteering’e dayanan Orienteering Problemi tarihi gelişimi içinde kapsamlı bir şekilde incelenmiş ve detaylı bir literatür taraması yapılmıştır. Literatürde OP ile ilgili ilk çalışma olan Tsiligirides’in sezgisel S algoritması iyileştirme aşamaları ile birlikte Visual C# ile kodlanmıştır. Buna ilave olarak S algoritması, rassallığı ortadan kaldırılarak ve çok kısa işlem süresine sahip olacak şekilde iyileştirme aşamaları ile birlikte düzenlenerek aynı yazılımla yeniden kodlanmıştır. Bu algoritmalar üç farklı alanda tasarlanan yeni örnek problemlere ve rassal olarak üretilen 33 test problemine uygulanmış ve performanları karşılaştırılmıştır.
Anahtar Kelimeler: Orienteering Problemi, Sezgisel Yöntemler.
SUMMARY
The Orienteering Problem (OP); inspired from Score Orienteering which is a type of Orienteering sport, deals with finding a path between specific start and end points in order to maximize the total score by visiting a subset of control points subject to a cost (time or distance) constraint. In this optimization problem start and end points have a score of zero and other points have positive scores.
In this study, the OP which is derived from Score Orienteering has been extensively analyzed within its historical development and a detailed literature survey is presented. Tsiligirides’ S Algorithm which is the first heuristic found in the literature related to OP is coded using Visual C# including the improvement steps. Additionally, a modification of the abovementioned algorithm is coded using the same software in which randomness of the S Algorithm is removed, leading to much shorter running times. These algorithms are applied to three new designed sample problems taken from different areas and 33 random problem instances are generated to test and compare the performances of the algorithms.
Keywords: Orienteering Problem, Heuristic Methods.
TEŞEKKÜR
Bu tez çalışması süresince ve yüksek lisans eğitimim boyunca, başta bilgi ve tecrübeleriyle bana daima yol gösteren ve her türlü olanağı sağlayan danışmanım Sayın Yrd. Doç. Dr. R. Aykut ARAPOĞLU’na, derslerimde emeği geçen tüm hocalarıma, yazılım konusundaki bilgilerini benimle paylaşan Sayın Caner KURU’ya, referans temininde önemli yardımlarda bulunan arkadaşlarıma, çalışmalarım esnasında evliliğimizin ilk yılında sabırla bana katlanan en yakın ve en büyük desteğim sevgili eşime, bugüne kadar hayatıma anlam ve güzellik katan herkese içten ve sonsuz teşekkürlerimi sunarım.
İÇİNDEKİLER
Sayfa
ÖZET ... v
SUMMARY ... vi
TEŞEKKÜR ... vii
ŞEKİLLER DİZİNİ ... xi
ÇİZELGELER DİZİNİ ... xii
KISALTMALAR DİZİNİ ... xiii
1. GİRİŞ ... 1
2. ORİENTEERİNG PROBLEMİ ... 4
2.1. Orienteering Sporu ve Genel Bilgiler ... 4
2.2. Orienteering Sporunun Kısa Tarihsel Gelişimi ... 6
2.3. Puan (Score) Orienteering ... 6
2.4. Problemin Tanımı ve Matematiksel Modeli ... 7
2.5. Takım (Team) Orienteering Problemi ... 10
2.6. Gezgin Satıcı Problemi ... 11
2.7. Orienteering Problemi ile Benzer Gezgin Satıcı Problemi Türleri ... 12
2.7.1. Genelleştirilmiş Gezgin Satıcı Problemi ... 12
2.7.2. Ödül Toplamalı Gezgin Satıcı Problemi ... 12 2.7.3. Zaman Kısıtlı ve Zaman Pencereli Gezgin Satıcı Problemi ...
...
13
İÇİNDEKİLER (Devam)
Sayfa
3. LİTERATÜR TARAMASI ... 14
3.1. Sezgisel (Heuristic) Çözüm Yöntemleri ... 14
3.2. Modern Sezgisel (Metaheuristic) Çözüm Yöntemleri ... 31
3.3. Kesin (Exact) Çözüm Yöntemleri ... 38
3.4. Diğer Referanslar ... 44
4. KULLANILAN SEZGİSEL ALGORİTMALAR VE ÖRNEK PROBLEMLERE UYGULANMASI ... 47
4.1. Tsiligirides’in S (Stokastik) Algoritması ... 47
4.2. Tsiligirides’in Rota Geliştirme (RI) Algoritması ... 49
4.3. Yazılıma İlişkin Bilgiler ... 50
4.3.1. Veri girişi ... ... 50 4.3.2. Programın çalıştırılması ve çözüm basamakları ... 51
4.2.3. Programın akış diyagramları ... 53
4.4. Uygulama Problemleri ... 59
4.4.1. Turizm uygulama problemi... 59
4.4.1.1. Problemin tanımı ... 59
4.4.1.2. Problemin çözümü ... 62
4.4.2. Mal / hizmet dağıtım sistemi uygulama problemi ………... 64
4.4.2.1. Problemin tanımı ... 65
4.4.2.2. Problemin çözümü ... 66
4.4.3. Servis güzergahı belirleme problemi ... 69
4.4.3.1. Problemin tanımı ... 69
4.4.3.2. Problemin çözümü ... 69
4.4.4. Rassal test problemleri ... 72
İÇİNDEKİLER (Devam)
Sayfa
5. SONUÇLAR... 74
KAYNAKLAR ... 76
EKLER
ÇİZELGELER DİZİNİ
Çizelge Sayfa
Çizelge 4.1. Turizm problemi için seçilen şehirler ve numaraları ... 61
Çizelge 4.2. Turizm probleminin program ile elde edilen sonuçları ... 63
Çizelge 4.3. Mal/ hizmet dağıtım sistemi problemi verileri ... 65
Çizelge 4.4. Mal/ hizmet dağıtım sistemi problemi sonuçları ... 66
Çizelge 4.5. Servis problemi uygulama verileri ... 70
Çizelge 4.6. Servis problemi sonuçları ... 71
Çizelge 4.7. Rassal test problemleri veri ve sonuçları ... 72
ŞEKİLLER DİZİNİ
Şekil Sayfa
Şekil 4.1. Parametre veri girişi ... 51
Şekil 4.2. Puan ve mesafe veri girişi ... 51
Şekil 4.3. Programın çözüm aşamaları ... 52
Şekil 4.4. Programın çözüm bilgileri ... 52
Şekil 4.5. Genel akış diyagramı ... 53
Şekil 4.6. Birinci yöntem akış diyagramı ... 54
Şekil 4.7. İkinci yöntem akış diyagramı ... 55
Şekil 4.8. Üçüncü yöntem akış diyagramı ... 56
Şekil 4.9. Dördüncü yöntem akış diyagramı... 57
Şekil 4.10. Beşinci yöntem akış diyagramı ... 58
Şekil 4.11. Turizm Problemi 2.Yöntem Sonucu ... 62
Şekil 4.12. Mal/ hizmet dağıtım problemi 6.Yöntem sonucu ... 67
Şekil 4.13. Mal/ hizmet dağıtım problemi 7.Yöntem sonucu ... 68
Şekil 4.14. Servis problemi 6.Yöntem sonucu ... 71
KISALTMALAR DİZİNİ
Kısaltmalar Açıklamalar
ACO Ant Colony Optimization
ANN Artificial Neural Network (Yapay Sinir Ağı)
GSP Gezgin Satıcı Problemi (Traveling Salesman Problem) GLS Guided Local Search
GTSP Generalized Traveling Salesman Problem MTMCP Multiple Tour Maximum Collection Problem MVP Multiobjective Vending Problem
OP Orienteering Problemi
OPTW Orienteering Problem with Time Windows (Zaman Pencereli OP) PCTSP Prize Collecting Traveling Salesman Problem
STSP Selective Traveling Salesman Problem
TCTSP Time Constrained Traveling Salesman Problem (Zaman Kısıtlı GSP) TOP Takım Orienteering Problemi
TS Tabu Search (Tabu Arama)
TSPTW Traveling Salesman Problem with Time Windows (Zaman Pencereli GSP)
VNS Variable Neighborhood Search (Değişken Komşuluk Araması)
BÖLÜM 1
GİRİŞ
Klasik Orienteering, harita ve pusula yardımıyla, bir dizi kontrol noktasının (ziyaret edilecek nokta / hedef) tamamının verilen sırayla koşarak en kısa sürede bulunmasını amaçlayan bir doğa ve düşünce sporudur. Kısaca koşarak hedef bulma şeklinde de tanımlanabilir. Puan Orienteering ise, zorluk dereceleriyle orantılı olarak kontrol noktalarına puanlar verilerek, genellikle tüm noktaları ziyaret etmeye yetmeyecek belirli bir zaman kısıtı dahilinde en yüksek puanı toplamak için mümkün olduğunca çok noktanın sadece birer defa istenilen sırayla ziyaret edildiği, çok daha fazla düşünce gücü gerektiren bir Orienteering türüdür. Bu çalışmada, öncelikle 1998 yılında bu özel sporu yapmaya başlarken ne kadar çok seveceğimi, hatta bir gün tez çalışmama temel düşünce kaynağı olacağını tahmin bile edemeyeceğim, Türkiye’de de hızla yaygınlaşan Orienteering sporundan esinlenilmiştir.
Orienteering özelliği itibariyle potansiyel bir konu olarak bilimsel literatüre Tsiligirides’in (1984) tanımıyla Orienteering Problemi (OP) olarak geçmiştir.
Problemin temelini oluşturan Orienteering türü ise Puan Orienteering’dir. OP; puan değerleri sıfır olan belirli bir başlangıç ve bitiş noktası arasında, bir maksimum maliyet (zaman veya mesafe) kısıtı altında her birine pozitif bir puan değeri atanmış olan mümkün olduğunca çok noktayı sadece birer kez ziyaret etmek suretiyle, toplam puanı enbüyükleyen rotanın bulunmasını amaçlayan bir eniyileme problemidir. Başlangıç ve bitiş noktaları genellikle aynı olup takım puanını enbüyüklemek için iki ve daha fazla eleman sayısınca rota bulunmasını amaçlayan OP türü ise Takım Orienteering Problemi (TOP) olarak tanımlanmaktadır.
Orienteering Problemi; Yöneylem Araştırması ve Kombinatoryal Optimizasyon alanının en bilinen problemlerinden biri olan Gezgin Satıcı Problemi (GSP)’nin özel bir şeklidir. Tarihi 1800’lü yıllara kadar uzanmakla birlikte, 20. yüzyılın ikinci yarısından itibaren yaygın olarak incelenen ve sayısız çalışmaya konu olan GSP’de bütün
noktaların sadece bir kez ziyaret edilmesi suretiyle başlanılan noktada biten turun toplam maliyetinin enküçüklenmesi amaçlanmaktadır. Ancak bu klasik tanımı zamanla yeni açılımlar takip etmiş, genel olarak maliyetin enküçüklenmesinin yanında, kazancın enbüyüklenmesi amacı ile karşılaşılan bazı kısıtlar ve gerçek hayattaki yansımalar problemin farklı türlerini ortaya çıkarmıştır.
GSP gibi OP de çözüm zorluğu bakımından NPZor problem sınıfında yer almaktadır. OP’nin çözümü için literatürde ağırlıklı olarak sezgisel yöntemler tercih edilmiş olup, zamanla kesin çözüm yöntemleri üzerinde de önemli çalışmalar yapılmıştır. Özellikle son yıllarda sezgisel yöntemlerin yerini modern sezgisel yöntemler almıştır. Günümüzde klasik GSP yaklaşımının dışına çıkma ihtiyacı ile birlikte özellikle rotalamaya yönelik problemler OP için potansiyel uygulama alanlarını oluşturmaktadır. Uygulama alanları olarak; başta Orienteering sporu olmak üzere, stok yönetim sistemleri, malzeme aktarma sistemleri, üretim programlama, mühendislik tasarımı, turizm, araç rotalama problemleri, mal veya hizmet dağıtım sistemleri, turne programları ve iletişim sistemlerini örnek verebiliriz. Ancak uygulamalarda doğru ve eksiksiz veri temininin zorluğu önemli bir kısıt olarak karşımıza çıkmaktadır. Literatür çalışmalarında da genel olarak test problemleri kullanılmıştır.
OP ile ilgili yararlanılan kaynakların hemen hemen tamamı bilimsel makalelerden oluşmakla birlikte tümü İngilizce olup, Türkçe herhangi bir dokümana ulaşılamamıştır. Bu nedenle bilimsel literatürde kelimelerin ifade ettiği anlamların çevirilerde tam olarak karşılanmasının zorluğu nedeniyle bazı yerlerde kısaltmalar ve parantez içinde açıklamalar yapılmasına ihtiyaç duyulmuştur. Ayrıca çalışmada Orienteering kelimesi orijinal haliyle kullanılmış olup, Türk Dil Kurumu tarafından
“yönbul” ve “oryantiring” şeklinde tanımlanmıştır. “Yönbul” kelimesi Orienteering’i tam olarak karşılamamakla birlikte “oryantiring” kelimesi de Türkçe okunuş biçimidir.
Bu tezin birinci amacı; yabancı literatürde birçok çalışmaya konu olmasına rağmen, Türkçe literatürde yeterince bilinmeyen Orienteering Problemi’nin kapsamlı bir şekilde incelenerek iyi bir Türkçe kaynak oluşturulmasıdır. Tezin ikinci amacı ise, problemin gerçek hayatta uygulanabilirliğinin gösterilmesidir.
Çalışmanın İkinci Bölümünde problemin anlaşılmasını kolaylaştıran ve problemin altında yatan temel düşünce olan Orienteering sporuyla ilgili bilgilerle birlikte Orienteering Problemi’nin tanımı yapılmıştır. Üçüncü Bölümde kullanılan çözüm yöntemleri esas alınarak detaylı bir kaynak taraması yapılmıştır. Dördüncü Bölümde Tsiligirides’in (1984) kullandığı sezgisel yöntem esas alınarak güncel bir yazılım diliyle kodlanan algoritmalar ile ilgili bilgilere ve bu algoritmaların uygulandığı gerçek hayattaki problemlere yönelik oluşturulan turizm, mal / hizmet dağıtım sistemi ve servis güzergahı belirleme alanlarında uygulama örneklerine yer verilmiştir. Ayrıca oluşturulan rassal test problemleri ile algoritmaların performansları karşılaştırılmıştır.
Beşinci Bölüm ise çalışmayla ilgili genel sonuç ve değerlendirmelerden oluşmaktadır.
BÖLÜM 2
ORİENTEERİNG PROBLEMİ
Orienteering Problemi’ni tanımlarken öncelikle problemin temelinde yatan Orienteering sporu hakkında bilgi sahibi olmak gerekir. Bu bölümde Orienteering sporu hakkında genel bilgilere değinildikten sonra problemin tanımı yapılmış, takiben GSP ve Orienteering Problemi ile benzerlikleri bulunan bazı GSP türlerine kısaca yer verilmiştir.
2.1. Orienteering Sporu ve Genel Bilgiler
Orienteering; genellikle zengin yeryüzü şekillerine sahip bir arazide koşarak, bu arazinin özel topografya haritası üzerinde işaretlenmiş bir dizi kontrol noktasının tamamını verilen sırayla bulacak şekilde kendi rotamızı belirleyerek ve varış noktasına en kısa sürede ulaşmak amacıyla yapılan, harita okuma ve yön bulma becerileri ile birlikte hızlı karar verebilme meziyetinin atletik özelliklere ilave edilmesi gereken, bireysel performansın takım performansına da etki ettiği bir doğa ve düşünce sporudur.
En yaygın şekli koşarak (yaya olarak) yapılan Orienteering türüdür. Buna ilave olarak tekerlekli sandalye, kayak ve dağ bisikleti ile de yapılan çeşitleri mevcuttur. Gündüz veya gece koşullarında, her yaşa hitap edecek şekilde organizasyonlar düzenlenmektedir. Başlangıç ve bitiş noktaları genelde farklı kullanılmakla birlikte, aynı da olabilmektedir. Sporcular tek tek ve belirli zaman aralıkları ile yarışa başlamaktadır.
Her kontrol noktası haritada belirtilmiş bir şekildir (yol kesişimi, su kaynağı, çukur, tepe vb.). Kontrol noktaları genellikle turuncubeyaz bayraklarla işaretlenir ve her birine ayrı numaralar verilir. Mevcut uygulamalarda yedi sporcudan oluşan takımların en kısa süreli dereceye sahip ilk dört sporcusunun dereceleri toplanarak takım sıralamaları tespit edilmektedir. Ayrıca Bayrak Orienteering şeklinde, atletizmde
görülen bayrak yarışmaları mantığında yarışmalara da değinmek gerekir. Bayrak Orienteering’de başlangıç ve bitiş noktaları aynıdır. Takımlar genellikle üçer sporcudan oluşur ve birinci sporcular aynı anda farklı parkurlara başlamaktadır. Birinci sporcu parkuru bitirince ikinci sporcu parkuruna başlamakta ve o bitirince de üçüncü sporcu başlamaktadır. Üçüncü sporcusu bitişe ilk gelen veya toplam süresi en küçük olan takım yarışı kazanmaktadır. Sporcuların yanlarında taşıdıkları kontrol kartları ile yarışmayı uygun şekilde tamamlayıp tamamlamadıkları kontrol edilmektedir.
Günümüzde teknolojik gelişmelerden Orienteering sporu da etkilenmiş ve elle yapılan kontrol yerini elektronik sistemlere bırakmıştır. Sporcuları radarlarda olduğu gibi bilgisayar ekranından izleyebilme imkanı sağlayan sistemler de mevcuttur.
Orienteering sporu iyi bir harita bilgisi gerektirir. Harita; yeryüzünün tamamının veya bir bölümünün tam tepeden (kuş bakışı) görüntüsünün, bir ölçek (haritalardaki küçültme oranı) yardımıyla düzleme aktarılmasıdır. Harita ile arazi uyumunun çok iyi sağlanması ve devamlı kontrol altında tutulması gerekir. Haritayı yönüne koymak (pusula yönü ile harita yönünü çakıştırmak) ve gidilmek istenen yönü tespit etmek için pusuladan faydalanılabilir. Kullanılan malzemeler de arazi koşullarına uygun olarak seçilmelidir.
Orienteering için en uygun alan zengin yeryüzü şekillerine sahip ormanlık bir arazi olmakla birlikte, gerektiğinde bir okul bahçesi veya park Orienteering parkuru olarak kullanılabilir. Özellikle Avrupa ülkelerinde ilköğretim düzeyinde çocukların seviyelerine uygun şekilde bu sporun öğretildiği bilinmektedir. Daha küçük yaşlarda çocuklara bu sporun neler kazandırabileceğini herkesin kendi yorumuna bırakmak daha doğru olacaktır. Koşmayı sevmeyen birçok insan bu sporu sevebilir. Devamlı düşündüren ve doğal güzelliklerle baş başa yapılan bu sporda uzun mesafeler farkında olmadan kolayca gidilebilir. Bir kontrol noktasını bulmanın ve bir parkuru bitirmenin heyecan ve mutluluğu tarifsiz olup, deneyen herkeste hayranlık bıraktığı rahatlıkla söylenebilir.
2.2. Orienteering Sporunun Kısa Tarihsel Gelişimi
Orienteering sporunun anavatanı İsveç olup, kelime olarak ta İsveç dilinden gelmektedir. 19. yüzyıl sonlarında askeri bir spor olarak başlamış ve 1950 sonrası yaygınlaşmıştır. 1961 yılında Uluslararası Orienteering Federasyonu (IOF) kurulmuş ve Türkiye 2001 yılında üye olmuştur. Üye sayısı 60 ülkeyi aşmış olup, özellikle Afrika ülkeleri ile Asya’nın belli bir bölümü haricinde dünyanın her yerinde bu spor görülebilmektedir. Her ülkede aynı adla “Orienteering” olarak bilinmekte, Türkiye’de
“Oryantiring” ve “Koşarak Hedef Bulma” şeklinde de kullanılmaktadır. Orienteering yarışmaları IOF tarafından belirlenen kurallara uygun olarak düzenlenmektedir.
2.3. Puan (Score) Orienteering
Orienteering sporunun farklı bir uygulama türü olan Puan Orienteering, genellikle bilinmediği gibi uygulamaları da yeterince yapılmamaktadır. Bu Orienteering türünde; her biri ayrı puan değerine sahip kontrol noktalarının, genellikle tüm noktalara gidilmesine yetmeyecek belirli bir zaman kısıtı dahilinde, en yüksek puanı toplamak amacıyla sporcu tarafından istenilen sırayla ve istenilen sayıda bulunması gerekmektedir. Başlangıç ve bitiş noktalarının puanı yoktur ve her nokta sadece bir kez ziyaret edilebilmektedir. Normal bir Orienteering parkuruna göre yarışmacıya çok daha fazla düşünce gücüne dayalı iş düşmekte ve çok zor bir eniyileme problemi ortaya çıkmaktadır. Başlangıç ve bitiş noktasına yakın olan kolay denilebilecek kontrol noktalarına düşük puan verilmekte, buna karşın puanı yüksek hedefler mesafesi uzun ve bulunması zor noktalardır. Zaman kısıtının üstünde yarışı bitiren sporcu diskalifiye olacak veya ceza puanı alacaktır. Klasik Orienteering’de sporcunun gideceği noktalar ve izlenilmesi gereken sıranın belli olması sporcuya büyük kolaylık sağlamakta ve sporcu enerji ve bilgisini parkur boyunca belli noktalar arasını nasıl gideceğine karar vermek ve en kısa sürede parkuru tamamlamak için kullanmaktadır. Ancak Puan Orienteering’de ilave olarak başlangıç noktasından itibaren sporcu hangi noktaya ve noktalara gideceğine, her yeni noktaya giderken süresinin başka bir noktaya veya bitiş noktasına gitmesine yetip yetmeyeceğine,
parkurun başından sonuna kadar toplayabileceği ve topladığı puanlara fiziksel ve zihinsel olarak çaba harcamak zorundadır. Puan Orienteering genel olarak sporcular tarafından da zorluğu nedeniyle tercih edilmemekte, özellikle zaman kısıtı sporcular üzerinde olumsuz etki yaratmaktadır.
2.4. Problemin Tanımı ve Matematiksel Modeli
Orienteering Problemi’ni ilk olarak 1984 yılında “Heuristic Methods Applied to Orienteering (Orienteering’e Uygulanan Sezgisel Yöntemler)” başlıklı çalışmasında yunanlı bilim adamı Tsiligirides tanımlamıştır. Tsiligirides’in tanımı bu çalışmada esas olarak alınmış olup, problemin temelini Puan Orienteering oluşturmaktadır.
Tsiligirides’e (1984) göre, Puan Orienteering sporcuya çok zor bir eniyileme problemi yaratmaktadır. Haritaya bakıldığında gitmeye karar verilen noktalara en iyi yoldan (en kısa yol bazen en iyi yol olmayabilir), enerji ve bilgi de etkin şekilde kullanılarak en kısa sürede gidilmeli, toplam süre o kadar iyi planlanmalı ki bitiş noktasına gelindiğinde sınırı aşmadan ama sınıra en yakın sürede en çok puan toplanmış olsun. Başlangıç ve bitiş noktasına yakın kontrol noktaları düşük puanlı, başlangıç ve bitişe uzaklığın yanında diğer noktalara da uzak olan aynı zamanda bulunması zor kontrol noktaları yüksek puanlıdır. Ayrıca zaman kısıtını aşan sporcu diskalifiye olacak veya ceza puanı alacaktır. İyi bir sporcu verilen sürede ne kadar mesafeyi koşabileceğini hem harita boyutunda hem de gerçek arazi boyutunda iyi hesaplamalı, hata yapma ve kaybolma olasılıklarını değerlendirebilmeli, süre azaldığında bitiş noktasına çok uzak olmamalıdır. Burada genelde iki temel strateji olduğu varsayılmaktadır ve bu stratejilerden birisi başlangıç ve bitiş noktalarına yakın olan kolay ve düşük puanlı ama çok sayıda kontrol noktasını bularak en yüksek puana ulaşmayı hedeflemek, diğeri ise uzak ve zor ama yüksek puanlı az sayıda kontrol noktasını bularak en yüksek puana ulaşmaya çalışmaktır. Bu iki stratejiyi sezgisel olarak yarışın başında başlangıç noktasına yakın birkaç kolay ve düşük puanlı hedefi bularak arazi, harita ve yarışmaya uyum sağladıktan sonra zor ve yüksek puanlı hedeflere yönelmek ve süre azaldığında bitişe yakın kolay ve düşük puanlı hedeflerle
devam edip süre dolmadan bitiş noktasına gelmek şeklinde birleştirebiliriz. Başlangıç ve bitiş noktalarının puanı sıfır (“0”) olup, bir nokta sadece bir kez ziyaret edilebileceğinden iki veya daha fazla sayıda aynı noktaya uğramak puan kazandırmayacak aksine zaman kaybına neden olacaktır. İyi bir Orienteering sporcusunun iki kontrol noktası arasında gerekli süreyi kendi koşu temposu, harita ve gerçek arazi mesafesi ile belirlediği rota yardımıyla tahminen bilmesi mümkündür.
Dolayısıyla belli bir tempo ile verilen zaman kısıtında gidilebilecek maksimum mesafe de bilinebilecektir. Bu kapsamda maksimum zaman kısıtı ve maksimum mesafe kısıtı aynı anlamda kullanılabilecektir.
GSP’de bir satıcı tüm şehirleri toplam mesafe veya maliyeti en küçükleyecek şekilde dolaşırken, Orienteering Problemi’nde tüm şehirleri dolaşmak zorunda değildir.
Satıcı her bir şehirde ne kadar satış gerçekleştirebileceğini bilir ve maksimum satış miktarını sağlamak için belirli bir zaman dahilinde (gün, hafta) gidebileceği mesafeyi hesaplar ve kendine en uygun rotayı belirler. Tsiligirides bu formülasyonu GTSP (Generalized Traveling Salesman Problem) ile ilişkilendirmiştir. Burada şehirler kontrol noktalarını, her bir şehirdeki satışlar ise puanlara karşılık gelmektedir. GTSP’de amaç toplam satış miktarının enbüyüklenmesidir (Orienteering sporunda puanların enbüyüklenmesi) ve ilgili şehirleri ziyaret etmek için gerekli maksimum zaman kısıtı aşılmamalıdır.
Maksimum seyahat süresi ( Tmax ) ve maksimum seyahat mesafesi ( Dmax ) aynı anlamda kullanılmakta ve sabit olarak bilinebilmektedir. Ancak bu kısıt tüm noktalara gitmek için yeterli olmayabilecektir. Bu kapsamda i , = j 1 ,..., NPTS (nokta sayısı) olmak üzere herhangi bir ( N ) kontrol noktasından, başka bir (i N j ) kontrol noktasına gitmenin maliyeti ( c ij veya d ij ) ile o noktanın puanı ( s j ) arasındaki ilişkinin ölçüsü bize net bir düşünce verir. Bir başka ifadeyle bir noktanın puanı ile o noktaya bir önceki noktadan gelmenin mesafesinin oranı ( s j / d ij ), bu yol ( N ’deni N j ’ye) kullanıldığı takdirde sonuç üzerindeki beklentiye ilişkin iyi bir ölçü olacaktır.
Tüm bu bilgi, gereksinim ve koşullar altında amaç optimal turun/yolun bulunmasıdır. Bunun için kesin (exact) çözüm yöntemleri önerilmesine rağmen, nokta sayısının büyüklüğü durumunda bu yöntemler etkin olmadığı için sezgisel (heuristic) çözüm yöntemleri kullanılmaktadır. OP serim problemi ve matematiksel olarak aşağıdaki şekilde tanımlanabilir.
N : noktalar (node) kümesi, N =1,...,n (başlangıç 1 ve bitiş noktası n ), A : yollar (arc) kümesi,
max
T : Maksimum zaman (zaman kısıtı),
max
D : maksimum mesafe (mesafe kısıtı), si : i’nci noktanın puanı ( s1 = s = 0 ),n
c ij : i ’nci noktadan j’nci noktaya gitmenin maliyeti, d ij : i ’nci noktadan j’nci noktaya gitmenin mesafesi,
x ij : karar değişkeni, yolunda seyahat edilmiş ise d
d j x ij i
. .
) , ( , 0
, 1 î í ì
=
Serim problemi olarak OP, G = ( N , A ) seriminde noktalar arası seyahat maliyeti cij ve her bir noktaya atanan puan değeri pozitif ( s i ³ 0 ) olmak üzere, başlangıç (1) ve bitiş noktası (n) arasında Tmax veya D max kısıtı altında maksimum puanı toplamak için seçilen noktalardan sadece bir kez geçecek yolun (path) bulunmasıdır. OP’nin matematiksel modeli aşağıda verilmiştir.
, 1
2 1 =
å
= n
j
x j (1)
, 1
1
1
å
=-
= n
i
x in (2)
, 1
1
2
1
2
£
å
=å
-
=
-
= kj n
i
n
j
ik x
x k = 2 ,..., n - 1 , (3)
3 ,
1
,
³ -
å
£Î
S S
x
S j i
ij , S Í N (4)
max 1 1
D x d ij
n
i n
j
ij £
åå
= =, (5)
{ }
0 , 1 , Îx ij i , = j 1 ,..., n (6) kısıtları altında,
Enb z = ij
n
i n
j i x
åå
s= 1 = 1
(7)
OP’nin amaç fonksiyonu (7) toplam puanı enbüyüklemektir. (1) ve (2) kısıtları başlangıç ve bitiş noktalarının elde edilen yolda (path) bulunma zorunluluğunu, (3) kısıtı geri kalan noktaların akış koşulunu, (4) kısıtı alttur engelleme koşulunu, (5) kısıtı elde edilen yolun maksimum uzunluğunu ( Tmax zaman kısıtında gidilebilecek maksimum mesafe) ve (6) kısıtı karar değişkeninin 01 tamsayı koşulunu ifade etmektedir.
2.5. Takım (Team) Orienteering Problemi
Literatürde Takım Orienteering Problemi (TOP), Bayrak Orienteering ile doğrudan ilişkilendirilmese de, Puan Orienteering’e göre yapılacak bayrak yarışmaları TOP ile bire bir örtüşecektir. Takım Orienteering Problemi OP’nin bir çeşidi olarak literatürde önemli bir yer tutmaktadır. Chao, et al., (1996) TOP’yi ilk olarak tanımlamışlardır. Bu tanıma göre; Orienteering’in bir uzantısı olan Takım Orienteering’de takımlar iki ve daha fazla sporcudan oluşur. Tüm sporcular için başlangıç noktası aynıdır. Her bir takım sporcusu belirli zaman kısıtı içinde mümkün olduğu kadar çok kontrol noktasını ziyaret ederek bitiş noktasına gelir. Bir noktanın puanı takımdan sadece bir sporcuya verilmekte, aynı noktayı ziyaret etmek takıma puan kazandırmamaktadır. Amaç her bir yarışmacının mesafeyi etkin kullanarak zaman kısıtını aşmadan kendi turunu tamamlaması suretiyle toplam takım puanının enbüyüklenmesidir.
TOP çok seviyeli optimizasyon problemi olarak modellenebilir. Birinci seviyede noktalardan takımın ziyaret edeceği bir alt küme seçilmelidir. İkinci seviyede
her bir takım elemanına noktalar atanmalıdır. Üçüncü seviyede ise her bir takım elemanına atanan noktalardan bir yol (path) oluşturulmalıdır. M elemanlı TOP için, 1’inci noktadan başlayıp n’inci noktada biten ve Tmax zaman kısıtını aşmadan toplam takım puanını enbüyükleyen M adet yol (path) kümesi bulunmalıdır. Tek yarışmacıdan oluşan OP NPZor olduğundan, TOP de en az aynı zorluktadır.
2.6. Gezgin Satıcı Problemi
Kombinatoryal Optimizasyon alanının en çok bilinen problemlerinden biri olan GSP; toplam mesafeyi (maliyeti) en küçükleyecek şekilde, her şehre sadece bir kez uğramak ve tüm şehirleri kapsamak suretiyle başlanılan şehirde biten bir turu bulmayı amaçlar. Serim problemi olarak GSP; V sonlu noktalar kümesi, E noktalar arasındaki arklar kümesi olmak üzere G = (V E , ) seriminde noktalar arası seyahat maliyeti (mesafe veya zaman) C uv ve u Î , v V olmak üzere, tüm noktalardan sadece bir defa geçmek suretiyle bu noktaları bileştiren minimum maliyetli turun bulunmasıdır. Bu turlara Hamilton Turları da denilmektedir. GSP NPZor problem sınıfında yer almakta olup, problemin çözümü için kesin çözüm yöntemlerine nazaran genellikle sezgisel çözüm yöntemleri kullanılmaktadır. Yaygın olarak kullanılan sezgisel yöntemler 2 temel aşamadan oluşmaktadır. Birinci aşamada başlangıç çözümü olarak iyi bir tur elde edilmeye çalışılırken, ikinci aşamada ise elde edilen başlangıç durumu geliştirilmektedir (Cook , et al.,1998).
GSP ile Orienteering sporunun ilişkisini başlangıç ve bitiş noktaları aynı olma koşuluyla yorumlayacak olursak; klasik Orienteering sporunda tüm noktalara hangi sırayla gidileceği verildiği için toplam mesafeyi sadece sabit bir parkur üzerinde araziyi etkin kullanarak enküçükleyebiliriz. Noktaların ziyaret edilme sıraları sporcuya bırakılırsa problem GSP şekline dönüşecektir. Puan Orienteering’de ise verilen maksimum zaman kısıtı Tmax tüm noktaları ziyaret etmemize yeterli olsaydı problem OP olmaktan çıkar ve GSP haline dönüşür. Bu durumda tüm kontrol noktaları toplam mesafeyi enküçükleyecek şekilde kendi belirlediğimiz uygun sırayla ziyaret edilebilir.
2.7. Orienteering Problemi ile Benzer Gezgin Satıcı Problemi Tür leri
GSP klasik tanımının ötesinde, sürekli olarak geliştirilmiş ve farklı türleri ortaya konmuştur. Bu bölümde literatürde karşılaşılan OP ile benzer bazı GSP türlerine kısaca değinilmiştir.
2.7.1. Genelleştirilmiş Gezgin Satıcı Problemi
GSP’nin özel bir türü olan GTSP (Generalized Traveling Salesman Problem)’de bir şehrin yerini gruplara ayrılmış olan şehirler almaktadır. GSP’de olduğu gibi başlangıç ve bitiş noktası aynıdır. GTSP’de tüm şehirlerin ziyaret edilmesi zorunlu değildir. En çok kullanılan GTSP versiyonunda her gruptan sadece bir şehrin ziyaret edilmesi istenmektedir. Laporte and Nobert’e (1983) göre bu problemde farklı şehirlerden oluşan n adet şehirler kümesi ( , S1 S 2 ,..., S ) bulunmaktadır. Aynı grupta n yer alan S şehirler kümesinden en az bir şehrin sadece bir kez ziyaret edilmesi k suretiyle toplam seyahat maliyetini enküçükleyen ve başlanılan şehirde biten turun bulunması amaçlanmaktadır.
2.7.2. Ödül Toplamalı Gezgin Satıcı Problemi
GSP’nin bir uzantısı olan PCTSP (Prize Collecting Traveling Salesman Problem) literatür açısından oldukça önemli bir konudur. Balas’a (1989) göre bir satıcı ziyaret ettiği her k şehri için bir wk ödülü kazanırken ziyaret edemediği her l şehri için de bir p cezası ödemektedir. Ayrıca birl i şehrinden j şehrine seyahat etmenin maliyeti c ij olmak üzere, amaç belli bir w ödül miktarını kazanma kısıtı altında yeteri 0 kadar şehir dolaşıp, seyahat maliyeti ile ziyaret edemediği şehirlerden dolayı aldığı cezaların toplamını enküçüklemektir.
2.7.3. Zaman Kısıtlı ve Zaman Pencer eli Gezgin Satıcı Problemi
Golden, et al., (1981)’e göre bir satıcının karşılaştığı gerçekçi bir problem olan Zaman Kısıtlı Gezgin Satıcı Probleminde (Timeconstrained Traveling Salesman ProblemTCTSP), i , j nokta çiftinden her birine belli bir kazanç değeri ve bir seyahat süresi atanmaktadır. Amaç bir zaman kısıtı altında başlanılan noktada biten ve toplam puanı enbüyükleyen turun bulunmasıdır.
Baker’a (1983) göre GSP’nin özel bir durumu olan TCTSP’de n adet şehir olduğu varsayıldığında 1’inci şehirden başlayıp geri kalan n - 1 şehrin her birine alt ve üst sınırı belirli ( li £ t i £ u i ) zaman aralıklarında (her şehir için), bir başka ifadeyle açık zaman penceresinde sadece bir kez uğrayacak şekilde, başlanılan şehirde (1) biten toplam tur maliyetinin enküçüklenmesi amaçlanmaktadır.
Dumas, et al., (1995)’e göre Zaman Pencereli Gezgin Satıcı Probleminde (Traveling Salesman Problem with Time WindowsTSPTW) toplam tur maliyetini enküçükleyecek şekilde, her bir nokta servis için müsaade edilen belirli en erken ve en geç zaman aralıklarında bir kez ziyaret edilmektedir. Zaman aralıkları ihlal edilememekte, eğer bir noktaya zaman aralığından önce gelinmesi halinde zaman aralığına girilene kadar beklenmektedir.
Literatürde ulaşılan kısıtlı kaynaklarda Baker (1983) ve Dumas, et al., (1995)’in tanımlarında olduğu gibi TCTSP ile TSPTW benzer şekilde ve OP’den farklı olarak tanımlanmıştır. Bu tanımların TSPTW tanımına daha uygun olduğu görülmekte ve bu iki tanıma göre tüm noktaların ziyaret edilmesi gerekmektedir. Bir başka çalışmada Teng, et al., (2006) TCTSP ile OP’yi aynı anlamda kullanmışlar, aralarındaki tek farkı başlangıç ve bitiş noktaları TCTSP’de aynı olmasına rağmen OP’de farklı olabileceği şeklinde belirtmişlerdir. Ancak yapılan araştırmalarda TCTSP ile ilgili yeterli kaynağa ulaşılamamakla birlikte, OP gibi çok net ifade edilmese de Golden, et al., (1981)’in tanımı OP ile çok yakın olarak değerlendirilebilir.
BÖLÜM 3
LİTERATÜR TARAMASI
Orienteering Problemi’ne ilişkin yapılan literatür araştırmasında çözüm yöntemleri, kronolojik sıralama ve çalışmaların literatür açısından önem dereceleri esas alınmıştır. Bu kapsamda, sezgisel (heuristic) çözüm yöntemleri, modern sezgisel (metaheuristic) çözüm yöntemleri, kesin (exact) çözüm yöntemleri ve değinilmesinde yarar görülen diğer çalışmalar ele alınmıştır. OP ile birlikte TOP ile ilgili referanslara da yer verilmiştir.
3.1. Sezgisel (Heuristic) Çözüm Yöntemleri
NPZor olan OP’nin ortaya çıktığı ilk yıllardan itibaren örnek problemlerin büyüklüğü ve işlem süreleri dikkate alınarak genellikle sezgisel çözüm yöntemleri tercih edilmiştir. Bu yöntemler zamanla gelişen bir seyir izlemiş ve önerilen algoritmaların performansları standart test problemleri üzerinde karşılaştırılmıştır. Bu çalışmalara diğerlerine göre daha kapsamlı olarak yer verilmiştir.
Tsiligirides (1984) Orienteering sporunu tanıtıp, bu sporun bir çeşidi olan Puan Orienteering’den yola çıkarak Orienteering Problemi’ni ilk kez tanımlamıştır.
Orienteering Problemi’nin çözümü için Monte Carlo Metodu da denilen S (Stokastik) ve D (Deterministik) algoritmalarını kullanmıştır. Bu algoritmalara daha sonra üç aşamadan oluşan rota iyileştirme (RI) algoritmasını uygulamıştır.
S ve RI algoritmalarına Dördüncü Bölümde detaylı olarak değinilecek olup, S Algoritması uzaklık ölçütü olarak noktalar arası kuş uçuşu (öklit) mesafe ile bu noktalara ait puanları dikkate alarak çok sayıda rota üretip, bunlardan en iyisini seçmeye yönelik bir algoritmadır.
D algoritması ile Wren and Holliday’in (1972) yük, mesafe veya zaman kısıtları altında bir veya daha fazla depodan çok sayıda dağıtım noktasına (müşterilere) sezgisel yöntem kullanarak araçların bilgisayar programlamasını yaptıkları çalışmaya benzer şekilde rota belirlendiği ama kapasite sınırı olmadığı ve tek depo bulunduğu ifade edilmektedir. Bu yöntemde harita bölümler halinde incelenmekte ve mesafe artışı minimumda tutulmaktadır. İç içe ortak merkezli iki dairenin yarıçapları değiştirilerek birçok daire elde edilmekte ve ziyaret edilecek nokta kalmayıncaya kadar veya Tmax kısıtı aşılması halinde belirli bir dairedeki rota oluşturma işlemi bitirilmektedir. Her adımda 48 durum incelenmekte ve bölgesel olarak yapılan analiz ile noktaların kümelendiği durumlarda daha hassas sonuçlar alındığı belirtilmektedir.
RI algoritması, S ve D Algoritması ile belirlenen rotaları üç farklı yaklaşımla iyileştirmek için uygulanmaktadır. Geliştirilen bu algoritmalar S(RI) ve D(RI) şeklinde gösterilmiştir. Birinci yaklaşımda mevcut rota içinde noktaların sırasında değişiklik yapılmakta, ikinci yaklaşımda mevcut rotaya ziyaret edilmemiş yeni bir nokta eklenmektedir. Üçüncü yaklaşımda ise mevcut rotaya yeni bir nokta eklenirken ziyaret edilen bir nokta çıkarılmaktadır. Tüm bu işlemlerde zaman veya mesafe sınırının aşılmaması ve yeni durumun öncekinden iyi olması gerekmektedir.
İlerleyen yıllarda farklı yöntemlerin uygulandığı Tsiligirides’in kendine ait 32, 21 ve 33 kontrol noktasından oluşan test problemlerine ilişkin nokta koordinatları (mesafe kuş uçuşu uzaklığa göre) ve puan değerleri verilmiştir. Algoritmaların bu problemlere Fortran IV yazılımı ile uygulanması sonucunda S algoritması D algoritmasına göre açık şekilde daha iyi sonuçlar vermiştir. İyileştirme aşamasında ise S(RI) algoritması ile D(RI) algoritmalarında birbiriyle eşdeğer sonuçlar elde edilmiş ve benzer rota, işlem süresi, puan ve mesafe bilgilerine ulaşılmıştır.
Golden, et al., (1984) Tsiligirides’in OP tanımıyla aynı yılda, bir tanker filosunun günlük olarak büyük bir müşteri kitlesine, müşterilerin stok seviyesini daima yeterli bir seviyede muhafaza edecek yakıt (sıvı propan) dağıtımını sağlamak için uygun biçimde rotalanmasına yönelik karmaşık bir dağıtım problemini ele almışlardır.
Çalışmalarında Zaman Kısıtlı Gezgin Satıcı Problemini (TCTSP) esas aldıklarını belirtmelerine rağmen, TCTSP ile ilgili herhangi bir bilgi vermedikleri gibi ilerleyen yıllarda bu çalışmayı OP ve TOP’nin uygulamalarına referans olarak göstermişlerdir (Golden, et al., 1987; Chao, et al., 1996 b).
Uygulamaya konu olan firma 110 bin müşteriye 60 dağıtım merkezinden 100 milyon galon yakıt dağıtımı yapmakta ve yıllık yaklaşık 10 milyon dolar dağıtım gideri bulunmaktadır. Her müşterinin tank kapasitesi bilinmekte ve yeniden sipariş noktası da denilebilecek (tank kapasitesinin %30’u) belirli bir kritik sınırın altına düşmemesi istenmektedir. Firmanın dağıtım sistemi de müşterilerin talebine (tank seviyelerinin tahminine) göre programlanmakta, stok dışı kalma çok maliyetli olduğu gibi, istenmemektedir. Müşteri stoklarının iyi şekilde ikmalinin sağlanması kısıtı altında, maliyet etkin bir dağıtım rotası hedeflenmekte, %50’nin üzerinde stok seviyesi olan müşterilere dağıtım yapılması da arzu edilmemekte ancak rotadan kaynaklanan (yol üzerinde olması gibi) durumlar olabileceği belirtilmektedir. Dağıtım sistemi müşteri seçimi, müşterilere araç atanması ve atanan her aracın etkin şekilde rotalanması olmak üzere 3 temel karar gerektirmektedir. Problemin müşterilerin coğrafi konumu ve dağıtımın zamanlaması nedeniyle 2 boyutu bulunmaktadır. Müşteriler arasındaki seyahat süreleri ve geçmişteki müşteri talepleri gibi firma için temel veri ihtiyaçlarında bile istenilen bilgilere tam olarak erişilemediği belirtilmiştir.
Firmanın dağıtım sistemi ile çalışmada önerilen sistemin performansları oluşturulan benzetim modelinde karşılaştırılmıştır. Dokuz aşamalı önerilen modelin birinci aşamasında müşterilerin son dağıtım yapıldıktan sonraki kullanım oranlarına göre tahmin edilen stok seviyeleri ile dağıtım yapılabilecek potansiyel bir müşteri grubu elde edilmektedir. Burada 0,51 arasında bir α kontrol parametresi kullanılmakta ve (tank seviyesi/ tank kapasitesi £ 1α) eşitsizliğine göre α =0,7 için, stok seviyesi tank kapasitesinin %30’undan az olan müşteri listeye alınmaktadır. Stok kontrol literatüründeki yeniden sipariş verme noktası [Tank kapasitesi x (1α)] denklemi ile ele alınmakta, potansiyel müşteri sayısının 200’den fazla olmasına izin verilmemektedir.
İkinci aşamada TCTSP için zaman ve kazanç matrisleri oluşturulmaktadır. Potansiyel müşterilere stok seviyelerinin aciliyetine göre artan kazanç değerleri verilmektedir.
Kullanım oranı yüksek olan müşterilerin kazanç değeri, stok seviyesi aynı olsa bile daha az bir kullanım hızına sahip müşteriden daha yüksek verilmektedir. Zaman matrisi ise müşteriler arasındaki seyahat süreleri olup, toplam TCTSP zaman kısıtı ise araç sayısı ve servis sürelerine göre belirlenmektedir ( Tmax = araç miktarı ´ zaman). Üçüncü aşamada iser bir orantılılık sabiti olmak üzere, ( r ´ i’nci müşteri kazanç değeri / i’nci müşteri ile oluşan mesafe artışı) oranını enbüyükleyecek şekilde, TCTSP sezgisel bir algoritma ile çözülmekte ve her adımda yeni bir müşteri seçilerek, toplam seyahat süresi
max
T değerini aşmayan bir tur elde edilmektedir. Dördüncü aşamada üçüncü aşamada seçilen müşterilere tanker kapasitesi kısıtı altında toplam seyahat mesafesini enküçükleyecek rotalar oluşturulmakta, beşinci aşamada bu rotalara günlük bazda tanker tahsisi yapılmaktadır. Altıncı aşamada rotaların günlük 7,5 saat üzerinden tanker filosunca gerçekleştirilememesi halinde 9,5 saat üzerinden tekrar denenmekte, yine yetersiz kalması halinde üçüncü aşamaya dönülerek daha küçük bir Tmax değeri ile işlemlere yeniden başlanmaktadır. Bu aşamada başarılı olunmuşsa yedinci aşamada planlanan sırayla dağıtıma başlanmakta, bir sonraki müşteri için ED müşterinin tahmini talebi olmak üzere, (kalan yakıt miktarı ³ 0,75 ED ) şartı kontrol edilmektedir. Bu şart sağlanıyorsa dağıtım yapılmakta, aksi halde bir sonraki müşteriye geçilmektedir.
Herhangi bir noktada tankerin yakıtı biterse depoya dönülmektedir. Sekizinci aşamada günün dağıtım istatistikleri (seyahat süresi ve mesafesi, dağıtılan yakıt miktarı, varsa aşılan süre) oluşturulmakta, dokuzuncu aşamada ise müşterilerin stok seviyeleri güncellenmektedir.
Firmanın modelinde ise müşteri seçimi yapılan ikinci ve üçüncü aşama olmayıp, haftalık 14 tanker (günlük yaklaşık 3 tanker) planlanmakta ve planlama 2,5 gün sürmektedir. Önerilen modelde ise günlük 2 araç planlanmakta ve planlama zamanı 1 gündür. Firmanın modeli ile önerilen model 3 aylık bir benzetimle karşılaştırıldığında;
önerilen model ile %8,4 dağıtılan yakıt miktarında, % 50 stok dışı kalma oranında, toplam maliyette ise %23 iyileştirme sağlanmıştır. Ayrıca müşterilerden %50’sinden elde edilen verilere göre önerilen modelde talep tahmini için mevsimsel etki de dikkate alınmıştır.
Golden, et al., (1987) OP’nin çözümü için Ağırlık Merkezi (centerofgravity) Sezgisel Yöntemini kullanarak, Tsiligirides’in test problemleri üzerinde daha iyi sonuçlar elde etmişlerdir. Bu çalışmada GTSP’nin karmaşıklığı da ele alınarak NPZor problem sınıfında yer aldığı gösterilmiştir.
Sezgisel yöntem 3 aşamadan oluşmaktadır. Birinci aşama başlangıç noktasından (1) başlayıp, temel olarak yüksek puanlı ve süresi fazla olmayan noktalar ideal aday noktalar olmak üzere, ekleme (insertion) sezgisel tekniği ile bitiş noktasında (n) sona eren ve Tmax zaman kısıtının altında bir sürede rota oluşturma sürecidir. Burada i ’nci noktanın puan derecesi SR( , ağırlık merkezi mesafe derecesi i ) CR (i ) , başlangıç ve bitiş noktasına olan uzaklık derecesi (elips derecesi) ER( i ) ve bir sonraki noktayı eklemek için ağırlık derecesi WR (i ) olmak üzere; WR(i ) = µ ´ SR( +i ) b ´ CR( i ) +g ´ ER (i ) ,
µ +b +g =1 denklemine göre rota oluşturmak için noktalar derecelendirilmektedir.
İkinci aşamada ise, birinci aşamada elde edilen rota geliştirilmektedir. Birinci aşamada elde edilen rotada yer alan noktaların yerlerini değiştirmek suretiyle, daha kısa mesafeli bir rota elde edilmek istenmekte ve takiben Tmax zaman kısıtını aşmadan mümkün olduğu kadar nokta ekleyerek toplam puanı daha yüksek bir rota elde edilmektedir.
) ( ), ( i y i
x : i noktasının koordinatları, L : 2’nci aşamada elde edilen rota,
) , ( g i
t : i noktasının g ağırlık merkezine uzaklığı, g : L rotasının ağırlık merkezi,
) (i
s : i noktasının puanı olmak üzere; üçüncü aşamada, ikinci aşamada elde edilen rotanın ağırlık merkezi aşağıdaki denkleme göre hesap edilmektedir.
g = ( x y ) ve, x=
å
ÎL i
i x i
s ( ) ( )
å
ÎL i
i
s ) ( , y =
å
ÎL i
i y i
s ( ) ( )
å
ÎL i
i s ) (
Ağırlık merkezi hesap edildikten sonra a( i ) = t ( i , g ) ve i = 1 ,..., n olmak üzere, tüm i değerleri için s (i ) / a( i ) oranları hesap edilmekte ve bu oranlara göre Tmax değerini aşmadan rotaya yeni noktalar eklenmektedir. Takiben bu rotaya tekrar iyileştirme aşaması (ikinci aşama) uygulanmaktadır. Elde edilen yeni rotaya üçüncü aşama rota bir döngüye girene kadar tekrar uygulanmakta ve elde edilen en yüksek puana sahip rota seçilmektedir.
Tsiligirides’in 32, 21 ve 33 kontrol noktalı test problemlerine Fortran 77 yazılımı ile Ağırlık Merkezi Sezgisel Yöntemi uygulanmış, Tsiligirides’in (1984) S ve D algoritmaları ile karşılaştırılmıştır (RI algoritması ile kıyaslanmıyor). 49 durumun tamamında D algoritmasından daha iyi sonuçlar elde edilirken, S algoritmasına 25 kez üstünlük, 11 kez eşitlik sağlandığı ve 13 kez daha kötü ancak yakın sonuçlar elde edildiği ifade edilmektedir.
Müşterilerin stok seviyelerinin aciliyeti puan olarak kabul edilmek suretiyle stok/rotalama problemi uygulaması olan çalışma Golden, et al., (1984), OP’nin uygulamasına örnek olarak verilmektedir. Ayrıca Tmax değerinin aşılması durumunda bir ceza faktörü kullanılabileceği ve bu işlemin daha gerçekçi olacağı belirtilmektedir.
Golden, et al., (1988) Ağırlık Merkezi Sezgisel Algoritması (Golden, et al., 1987) ile Tsiligirides’in S Algoritmasının (Tsiligirides, 1984) bileşimi bir yöntem geliştirilerek daha hızlı ve optimal çözüme daha yakın sonuçlar elde etmişlerdir. Yeni yöntem ağırlık merkezi ve rassallık kavramlarına ilave olarak, altağırlık (subgravity) ve öğrenme kavramları ile birlikte 4 temel kavrama dayandırılmıştır.
Çalışmada yeralan alt ağırlık kavramı; ağırlık merkezine yakın yüksek puanlı noktaların ziyaret edilmesi yerine, komşuluk puanına göre noktaların ziyaret edilmesi prensibine dayanmaktadır. Puanları düşük olsa bile bir birine yakın bir noktalar kümesinin kısa sürede ve Tmax kısıtı dahilinde ziyaret edilmesi halinde daha yüksek toplam puan değerine ulaşılabilecektir. Öğrenme kavramı ise, algoritmanın farklı noktaların kombinasyonundan oluşan rotalar arasında daha iyi olanı öğrenmesi
prensibine dayanmaktadır. OP açısından en iyi rotasının en yüksek puanlı noktaların bulunduğu kombinasyon olmayabileceği ifade edilmiştir.
Ağırlık Merkezi Sezgisel Yönteminde (Golden, et al., 1987) bir sonraki noktayı ekleyerek rota oluşturmak için WR(i ) = µ ´ SR( +i ) b ´ CR( i ) +g ´ ER (i ) , µ +b +g =1 denklemiyle noktalar derecelendirilmektedir (Golden, et al., 1987). Yeni yöntemde ise ( µ ,b , g ) parametreleri (0.7, 0.2, 0.1), (0.8, 0.1, 0.1) ve (0.5, 0.3, 0.2) değerleri verilerek test edilmiş ve en iyi sonucu veren (0.7, 0.2, 0.1) değerleri önerilmiştir. Bu parametreler SR , (i ) CR (i ) ve ER (i ) değerlerinin birbirlerine göre önem derecelerini ifade etmektedir. Bir başka deyişle puan derecesi en yüksek öneme (0.7) sahip olmak üzere, ağırlık merkezi mesafe derecesi (0.2) ve elips mesafe derecesi (0.1) oranına göre sıralanmaktadır.
) (i
SR ¬
å
´"j
j
s ) ( e - m t ( j i , ) denklemi ile alt ağırlık kavramı kapsanmakta ve bir i noktasına yakın olan bütün j noktalarının puanları dikkate alınmaktadır.
Noktalar arasındaki ( t i , j ) seyahat mesafesinin veya süresinin bir fonksiyonu olarak bu noktaların puanları azaltılmaktadır. Çalışmada m = 10 olarak kullanılmıştır.
) (i
SR ¬ SR(i ) ´ LR (i ) denklemi ile LR( öğrenme derecesi gösterilmiştir. Biri ) i noktası ortalama üstü puana sahip rotalarda yer alıyorsa [ LR( >1]i ) i noktası ödüllendirilmekte, eğer ortalama altı rotalarda yer alıyorsa [ LR <1](i ) i noktası cezalandırılmaktadır. SR( , i ) CR( i ) ve ER( i ) değerleri 0 ile n (nokta sayısı) arasında yer almakta ve n bu üç değer için en iyi durumu ifade etmektedir. Aşağıdaki denklemlerde bu ölçeklendirme gösterilmiştir:
) (i
SR ¬ SR(i ) ´ n max
{
SR( j )}
) (i
CR ¬ min
{
CR( j )}
´ n CR(i )) (i
ER ¬ min
{
ER( j )}
´ n ER( i )Bu sezgisel yöntemde her adımda en yüksek ağırlık derecesine sahip 5 nokta bulunmakta ve beş noktadan eşit olasılıkla rastgele bir nokta (0.2 olasılıkla) seçilerek rotaya eklenmektedir. Zaman kısıtı Tmax sağlanıyorsa yeni nokta eklemek için işlemler tekrarlanmakta, sağlanamıyorsa en düşük değerli nokta rotadan çıkarılarak ekleme işlemi yenilenmekte ve başka bir nokta eklenemeyecek duruma ulaşılıncaya kadar süreç devam ettirilmektedir. Elde edilen rotanın toplam mesafesini azaltmak için rotada yeralan noktaların yerleri ikili olarak değiştirilmektedir. Bu iyileştirme işlemi sonrası elde edilen rotanın kendine ait bir ağırlık merkezi olduğundan ve noktalar en son performanslarına göre ödüllendirildiğinden veya cezalandırıldığından, SR , (i ) CR (i ) ve
) (i
LR değerlerinin güncellenmesi gerekmektedir. Her problem için 5 başlangıç ağırlık merkezi kullanılarak süreç 20 defa tekrarlanmış ve 100 farklı rota elde edilerek en yüksek puana sahip rota seçilmiştir. Her başlangıç ağırlık merkezinde tüm i noktaları için LR( =1 kabul edilmiş, ilk 19 rota oluşturulduktan sonra, i ) R (i ) i noktasını bulunduran rotalar ve R (i ) ’nin büyüklüğü (cardinality) N (i ) olmak üzere, öğrenme derecesi LR (i ) = 1 N( i )
å
Î R (i ) l
{l rotasının puanı ortalama rota puanı} denklemine göre güncellenmektedir. Denklemde ortalama rota puanı sadece i noktasının bulunduğu rotaların değil tüm rotaların ortalama puanıdır.
Bu yeni sezgisel yöntem Tsiligirides’in test problemlerine Fortran yazılımı ile uygulanıp, Tsiligirides’in S Algoritması ve Ağırlık Merkezi Sezgisel Yöntemi ile karşılaştırılmıştır. İlk iki problemde Tmax kısıtları küçük olduğundan fazla rota alternatifi üretilememiştir. Üç problemde toplam 49 durumun 32 tanesinde S Algoritmasına üstünlük sağlandığı ve diğerlerinde eşit sonuçlar elde edildiği, Ağırlık Merkezi Sezgisel Yöntemine ise 26 kez üstünlük sağlanırken 1 kez daha kötü sonuç alındığı ve diğerlerinde eşitlik sağlandığı belirtilmiştir.
Keller (1989) Orienteering Problemi’ni Çok Amaçlı Satış Problemi (MVP) olarak tanımlamıştır. MVP’de amaç mümkün olduğu kadar çok noktanın ziyaret edilmesiyle ödül miktarının enbüyüklenmesi, aynı zamanda da noktalar arasındaki seyahatin ceza miktarını (maliyet) enküçüklemek şeklinde ifade edilmektedir. Yazar 1985 yılında 25 noktadan oluşan bir probleme uyguladığı MVP sezgisel yöntemini Tsiligirides’in 32, 21 ve 33 kontrol noktalı test problemlerine uygulayarak, MVP ile Tsiligirides (1984) ve Golden, et al., (1987) arasında karşılaştırmalar yapmıştır.
Literatürde noktalar arasındaki seyahat maliyeti, zaman veya mesafe ile ifade edilirken bu çalışmada ceza kavramı kullanılmıştır. MVP’de ceza miktarının enküçüklenmesi şeklindeki amaç, ceza miktarının belli bir maksimum Pmax ceza seviyesinde kısıtlanması suretiyle problem tek amaçlı hale dönüştürülmektedir. Pmax sıfır olduğunda sadece depo ödülü kazanılabilmekte ve Pmax büyüdükçe ödül miktarı artmaktadır. Pmax tüm talep noktalarına ulaşılmasına yetecek büyüklükte ise problemin TSP haline dönüşeceği belirtilmiştir.
Yazarın kullandığı sezgisel yöntem Pmax kısıtı içinde rota oluşturma ve rota iyileştirme olmak üzere 2 temel aşamadan meydan gelmektedir. Bu yöntemde öncelikle d depo, j ziyaret edilecek olası noktalar olmak üzere, P dj + P jd £ P max şeklinde ceza kısıtı belirlenmekte ve bu kısıt ile Pmax içinde ziyaret edilemeyecek noktalar devre dışı kalmaktadır. Rota oluşturma sürecinde kullanılan birinci aşama ödül ve ceza oranına göre noktaların ziyaret edilmesi şeklindedir. İkinci aşamada ise stokastik olarak noktaların ödül miktarları toplamı 1 sayısına normalleştirilerek, 0 ile 1 arasında rassal seçilen sayılara göre noktalar ziyaret edilmektedir. Rota oluşturma sürecinin sonunda ise elde edilen rota içinde noktaların sırası değiştirilerek ceza miktarı azaltılmaya çalışılmaktadır.
Rota iyileştirme sürecinde ise; ilk aşamada oluşturulan rotaya 1 nokta ekleme, 1 nokta eklerken 1 nokta çıkarma ve 1 nokta eklerken 2 nokta çıkarma şeklinde işlemler