• Sonuç bulunamadı

4. KAPASİTELİ AYRIT ROTALAMA PROBLEMİ

4.2. Çözüm Yöntemleri

KARP‘ın çözüm yöntemleri; eniyi çözümün garanti edildiği kesin çözüm yöntemleri, uygun çözümlerin elde edildiği sezgisel yöntemler ve son olarak en iyiye

mümkün olduğunca yakın çözüm bulmak için kullanılan metasezgisel yöntemlerdir.

İzleyen alt bölümlerde çözüm yöntemleri detaylandırılmıştır.

4.2.1. Alt sınırlar ve kesin çözüm yöntemleri

Literatürde KARP için alt sınırların türetilmesinde beş farklı alt sınır türetme yöntemi kullanılmıştır. Bunlar MLB (Matching lower bound), NSLB (Node scanning lower bound), MNSLB (Matching-Node scanning lower bound), NDLB (Node duplication lower bound) ve MLB‘nin geliştirilmiş hali olan LB1 (Lower Bound-1) şeklinde tanımlanabilir (Wøhlk, 2006).

KARP‘ın kesin çözümünün elde edilmesi için ilk çalışma Hirabayashi vd.

tarafından 1992 yılında yapılmıştır (Hirabayashi, et.al., 1992a). Belenguer ve Benavent tarafından 1998 yılında geçerli eşitsizlikler (valid inequalities) ve 2003 yılında kesme düzlemleri (cutting plane) yaklaşımlarıyla iki farklı kesin çözüm yöntemi önerilmiştir.

Kesin çözüm yöntemlerinin elde edilmesinde diğer bir yaklaşım da bir KARP‘ın eş değer düğüm gezme problemine dönüştürülmesidir. Bunu için ilk yöntem önerisi (Pearn, et.al, 1987) çalışmasında yapılmıştır. Daha sonrasında (Baldacci and Maniezzo, 2006) ve (Aragao, et.al, 2006) çalışmalarında dönüştürme sırasında her ayrıt için kullanılacak düğüm sayısı azaltılmıştır.

4.2.2. Sezgisel algoritmalar

Bu alt bölümde KARP‘ın çözülmesi için önerilen sezgisel yöntemler anlatılmıştır. KARP sezgiselleri için (Hertz and Mittaz, 2000), (Wøhlk, 2006) ve (Assad and Golden, 1995) çalışmalarına bakılabilir. Bu sezgiseller yapıcı metotlar (constructive methods) ve iki fazlı yapıcı metotlar olmak üzere ikiye ayrılır. İki fazlı yapıcı metotlar ise önce rotala sonra paylaştır (route first cluster second) ve önce paylaştır sonra rotala (cluster first route second) olmak üzere ikiye ayrılmaktadır.

4.2.2.1. Yapıcı metotlar

Christofides tarafından 1973 yılında Constuct-Strike (CS) algoritması önerilmiştir. Bu algoritmada servis verilmesi gereken ayrıtlardan henüz seçilmemiş, kapasite kısıtını aşmayan ve çıkarıldığında serimin geri kalanı kopuk olmayacak şekilde ayrıt seçilir. Kalan serim en küçük maliyetli eşleştirme algoritması ile çift serim haline dönüştürülür. Serim üzerindeki bütün servis verilmesi gereken ayrıtlar oluşturulan turların içindeyse algoritma durdurulur, diğer durumlarda ayrıt seçme adımına geri dönülür.

Pearn tarafından 1989 yılında CS algoritmasının değiştirilmiş halini önermiştir.

Bu algoritma Modified-Construct-Strike (MCS) olarak adlandırılır. MCS algoritmasında serimin bağlı olma zorunluluğu kaldırılmıştır. Bu algoritmada ayrıtlar art arda en yakın depoya dönüşünü en büyükleyecek şekilde turlara eklenir. Serim ayrıt koparıldığında kopuk oluyorsa en küçük maliyetli eşleştirme öncesi en küçük kapsar ağaç ile serim bağlı hale getirilir.

Golden, DeArmon ve Baker tarafında 1983 yılında Path-Scanning (PS) algoritması önerilmiştir. PS algoritması, (Golden, et.al., 1983) çalışmasında verilen beş farklı kural ile henüz eklenmemiş ayrıtlar listesinden araç kapasitesini aşmayacak şekilde ayrıt seçer. Araç kapasitesi aşıldığında kalınan noktadan en kısa yol ile çevrim depo düğümüne bağlanır. Sezgisel sonucunda elde edilen beş farklı sonuçtan en küçük maliyetli olan uygulanır.

Araç rotalama problemi için önerilen Clarke ve Wright algoritmasından hareketle (Golden, et.al., 1983) çalışmasında KARP için Augment-Merge (AM) algoritması önerilmiştir. Algoritma iki fazdan oluşur. İlk fazda her seferinde bir servis verilmesi gereken ayrıt eklenecek şekilde çevrim oluşturulur. İkinci fazda aracın kapasitesini aşmayacak şekilde bir önceki fazda oluşturulan çevrimler birleştirilir.

Chapleau, vd. 1984 yılında GSP‘deki ekleme prosedürüne benzeyen Parallel-Insert (PI) isimli sezgiseli önermişlerdir. Bu çalışmada toplam tur uzunluğunun

minimize edilmesinin yanı sıra tur uzunluklarının dengeli olması istenmektedir. Kaç tane tura ihtiyaç olacağını belirlenir ve depoya en uzakta olan ayrıta servis verecek çevrim oluşturulur. Bundan sonra birinci ekleme stratejisi seçilen ayrıtın hangi tura ekleneceği, ikinci ekleme stratejisi ise verilen tura hangi ayrıtın ekleneceğinin belirlenmesidir. Algoritma bu iki ekleme stratejisi ile sürdürülür.

Pearn tarafından 1991 yılında AM ve PI algoritmalarındaki fikirleri birleştiren Augement-Insert isimli algoritma önerilmiştir. AM algoritmasının çoğaltma fazında olduğu gibi uygun araç turları türetilir. İkinci fazda ise PI algoritmasının birinci ekleme fazına benzer şekilde türetilen uygun araç turlarına ayrıt eklemeleri yapılır.

(Hirabayashi, et.al., 1992b) çalışmasında önerilen düğüm çoğaltma alt sınırı (node duplication lower bound) yöntemi temel alınarak (Wøhlk, 2006) çalışmasında düğüm çoğaltma sezgiseli önerilmiştir. Aynı çalışmada, AM ve PS sezgisellerinde kullanılan fikir birleştirilerek Double Outer Scan isimli sezgisel önerilmiştir. Bu sezgisel turları AM sezgiselindeki gibi en uzaktaki servis verilmemiş ayrıta göre oluşturulur. Daha sonra kısa turlar birleştirilir. Ayrıca PS sezgiselinde olduğu gibi tura dâhil edilecek ayrıt, ayrıt seçim kurallarına göre belirlenir.

(Santos, et.al., 2009) çalışmasında KARP‘ın çözümü için elips kuralı tabanlı bir sezgisel önerilmiştir. Bu yaklaşım PS sezgiseli temel alınarak geliştirilmiştir. PS sezgiselinde turlar seçim kurallarına göre oluşturulur. Bu çalışmada ayrıt elipsin içerisindeyse eklenmektedir.

4.2.2.2. İki fazlı oluşturma metotları

İki fazlı oluşturma yöntemleri iki kategoriye ayrılır. Önce rotala sonra paylaştır stratejisinde ilk olarak bütün gezilmesi gereken yönlü ve yönsüz ayrıtları içeren dev bir Euler turu oluşturulur. Daha sonraki fazda ise bu tur uygun araç turlarına paylaştırılır.

Ters olarak önce paylaştır-sonra rotala sezgisellerinde ilk olarak gezilmesi gereken

yönlü ve yönsüz ayrıtlar araç kapasitesini aşmayacak şekilde bölümlendirilir. Daha sonra her küme için KPP algoritması ile araç turları belirlenir.

Önce Rotala-Sonra Paylaştır

Önce rotala sonra paylaştır algoritmalarının ilk fazında yer alan Euler turun oluşturulması için Bölüm 3‘te verilen yöntemler kullanılabilir. Ulusoy tarafından 1985 yılında toplam tur uzunluğunun en küçüklenmesinin yanı sıra kullanılan araç sayısını da en küçükleyen bir algoritma önerilmiştir. Algoritma ilk olarak türetilen Euler turunu uygun araç turlarına böler. Daha sonra her ayrıtı türetilen bir tura karşı gelen yönlü bir serim oluşturulur. Her yönlü ayrıtın maliyeti o ayrıta karşı gelen turun uzunluğudur.

Elde edilen yönlü serim üzerinde başlangıç düğümünden bitiş düğümüne en kısa yolun belirlenmesiyle türetilen turlar içerisinden minimum maliyetli ve bütün servis verilmesi gereken ayrıtları içeren araç turları belirlenir (Ulusoy, 1985). Bu tezde önerilen çözüm yöntemlerinden birisi Ulusoy‘un sezgiselinin değiştirilmiş hali olduğundan bu algoritma detaylı olarak verilmiştir. Ulusoy‘un algoritmasının adımları aşağıdaki gibidir.

Algoritma 4.1. Ulusoy’un bölümlendirme algoritması

Benzer Belgeler