• Sonuç bulunamadı

4. SEZGİSEL YAKLAŞIM

4.3. İYA_DKA Algoritması

4.3.5. İYA_DKA adımları

İYA_DKA yerel arama metodu, karıştırma metodu ve kabul kriteri olmak üzere 3 temel bileşenden oluşmaktadır. Yerel arama metodu Bölüm 4.3.4’te verilen DKA algoritması kullanılmış, karıştırma metodu için ise yine aynı bölümde verilen KarıştırmaSezgiseli

Adım 2’deS0 çözümü DKA algoritması ile iyileştirilerek S*çözümü elde edilir. Adım 3’te S*çözümüne KarıştırmaSezgiseli uygulanarak 'S çözümü üretilir. S çözümü DKA ile ' iyileştirilerek S*'çözümü üretilir. f S( *')< f S( *) ise S*' çözümü yeni çözüm S olarak * kabul edilir, değilse kabul edilmeyen çözümlerin sayacı 5’e ulaşmış ise algoritma boyunca bulunan eniyi çözüm Seniyi yeni S*olarak kabul edilir ve sayaç sıfırlanır. Maksimum iterasyon sayısına ulaşıldığında algoritma durur ve bulunan eniyi çözüm SİYA DKA_ raporlanır.

Prosedür İYA_DKA Girdi Problem verileri Çıktı SİYA DKA_

Adım 1 BaşlangıçSezgiselini uygula ve S0çözümünü üret Adım 2

4.4. Deneysel Çalışma

Bu bölümde İYA_DKA algoritmasını test etmek amacıyla yapılan iki aşamalı analiz yer almaktadır. İlk aşamada algoritmanın performansı polinom zamanlı geçerli eşitsizliklerin (Eş. 3.41 - Eş. 3.46) kullanıldığı güçlendirilmiş matematiksel model sonuçlarıyla kıyaslanmış, ikinci aşamada ise algoritmanın performansında başlangıç çözümü için kullanılan Clarke-Wright Kazanım algoritmasının etkisi incelenmiştir. Algoritma C++ dili ile kodlanmış, performans analizinde Bölüm 3.4.1’de özellikleri anlatılan test problemleri kullanılmıştır.

İYA_DKA’nın performansı güçlendirilmiş tamsayılı matematiksel modelin 7200 saniyede elde ettiği üst sınırlar dikkate alınarak değerlendirilmiştir. Performans ölçütleri olarak Yüzde Sapma Değeri (YSD) ve çözüm süresi (ÇS) dikkate alınmıştır. YSD, İYA_DKA ile elde edilen çözümün amaç fonksiyonu değeri (ZİYA DKA_ ) ve güçlendirilmiş matematiksel modelin üst sınır değerine (ZGMM) dayalı olarak Eş. 4.1’deki gibi hesaplanmıştır.

_

Her bir problem için İYA_DKA algoritması 10 kez çalıştırılmış; çözüm süresi, bulunan en küçük, ortalama ve en büyük YSD sonuçları Çizelge 4.1’de verilmiştir. Çizelgenin ilk sütununda veri seti adı, ikinci ve altıncı sütunları arasında X-Y tipi, yedinci ve on birinci sütunları arasında W-Z tipi talep ayrıştırma yöntemine göre elde edilen test problemleri için sonuçlar verilmiştir. Yapılan 10 denemede elde edilen enküçük YSD üçüncü sütunda, ortalama YSD dördüncü sütunda, enbüyük YSD beşinci sütunda ve çözüm için harcanan ortalama süre altıncı sütunda verilmiştir. Çizelgenin yedinci-on birinci sütunları ikinci-altıncı sütunlarına benzer şekildedir.

X-Y tipi talep ayrıştırma yöntemine göre 25 müşterili test problemleri için sonuçlar incelendiğinde İYA_DKA ile ortalama 0,57 saniye gibi çok kısa bir sürede çözüm bulunduğu görülmektedir. Ancak, İYA_DKA güçlendirilmiş matematiksel model ile bulunan çözümden ortalama %12,06, enküçük %11,14, enbüyük %15,25 daha yüksek maliyetli çözümlere ulaşmıştır. 50 müşterili problemler için İYA_DKA ortalama 1,63

Çizelge 4.1. İYA_DKA Algoritması Analiz Sonuçları

saniyede, güçlendirilmiş matematiksel modelin sonuçlarından ortalama %2,44 daha düşük maliyetli sonuçlar elde etmiştir. Bu müşteri grubunun her bir problemi için yapılan 10 denemenin sonucunda elde edilen enküçük YSD’lerin ortalaması %-4,78, enbüyük YSD’lerin ortalaması %0,51 olmuştur. 100 müşterili problem grubu incelendiğinde ortalama YSD’lerin ortalaması %-32,79, enküçük YSD’lerin ortalaması %-33,67, enbüyük YSD’lerin ortalaması %-31,76 olmuştur. Bu sonuçlardan 100 müşterili problem grubu için İYA_DKA ile güçlendirilmiş matematiksel modelin 2 saatlik süre sonunda elde ettiği üst sınır değerinin ortalama %32,79 iyileştirildiği ve bu iyi çözümlerin ortalama 4,22 saniye içerisinde elde edildiği görülmektedir.

W-Z tipi talep ayrıştırma yöntemine göre 25 müşterili problemlerde ortalama 0,39 saniyede çözüm bulunmaktadır. 25 müşteri grubu için İYA_DKA ile güçlendirilmiş matematiksel model çözümlerinden ortalama %3 daha yüksek maliyetli çözümler elde edilmiştir. Bu grup için enküçük YSD %1,82, enbüyük YSD %6,09 olmuştur. 50 müşterili problem grubu için enküçük, ortalama ve enbüyük YSD sırasıyla %-5,51, %-3,75, %-1,96 olarak elde edilmiştir.

Bu grup için ortalama 1,21 saniyede problemlere çözüm bulunmuştur.

Ortalama YSD sonuçlarına göre İYA_DKA ile bulunan çözümlerin güçlendirilmiş tamsayılı matematiksel modelin çözümüyle bulunan çözümlerden daha iyi kalitede olduğu söylenebilir. 100 müşterili problem grubu incelendiğinde verilen 2 saatlik çözüm süre sınırı içerisinde güçlendirilmiş tamsayılı matematiksel model ile bir üst sınır değeri elde edilemediği için 2 problem için YSD hesaplarının yapılamadığı görülmektedir. İYA_DKA ile 100 müşterili problemler için güçlendirilmiş tamsayılı matematiksel modelin çözümünden ortalama 2,74 saniyede ortalama %36,56 oranında daha iyi çözümler elde edilmiştir. Elde edilen enküçük YSD ortalaması 37,23, enbüyük YSD ortalaması ise %-36,08’dir.

Çizelgede genel ortalama sonuçları incelendiğinde, İYA_DKA güçlendirilmiş tamsayılı matematiksel model ile 2 saat içerisinde elde edilen çözümleri X-Y tipi problemlerde ortalama %11,68, W-Z tipi problemlerde %14,42 iyileştirmiştir. İYA_DKA’nın ortalama çözüm süresi X-Y tipi için 2,45 saniye, W-Z tipi problemler için 1,66 saniyedir. Ayrıca, bu sonuçlardan algoritmanın performansının talep miktarının daha yüksek olduğu W-Z tipi problemlerde X-Y tipi problemlere göre daha yüksek olduğu görülebilir. 25, 50 ve 100 müşterilik problem gruplarının ortalamaları dikkate alındığında problem boyutu büyüdükçe

İYA_DKA ile bulunan çözümlerin matematiksel modelin bulduğu çözümlere kıyasla iyileştiği görülmüştür. Tüm problemlerin ortalama çözüm süresi ve YSD sonucu hesaplandığında İYA_DKA ile ortalama %13,01 daha düşük maliyetli çözümlere ortalama 2,06 saniyede ulaşıldığı görülebilir.

İkinci analizde İYA_DKA algoritmasında başlangıç çözümü olarak kullanılan CW algoritmasına dayalı çözüm kurucu sezgiselin (BaşlangıçSezgiseli) algoritmanın performansı üzerindeki etkisi incelenmiştir. Bu analiz için Şekil 4.4’te verilen BaşlangıçSezgiseli’nin birinci, ikinci, beşinci ve altıncı adımları değiştirilmiştir. Birinci ve beşinci adımlarda yapılan ceza maliyeti hesabı kaldırılmış, ikinci ve altıncı adımlarda ceza maliyetine göre yapılan seçim mekanizması değiştirilerek rastgele seçim yapılmıştır. Bu şekilde ikinci aşama için rastgele bir müşteri rastgele bir ara depoya atanmıştır. Birinci aşamada ise ikinci aşamanın çözümünde açılmış olan ara depolar arasından rastgele seçim yapılarak rastgele bir ana depoya atama yapılmıştır. Oluşturulan rastsal seçim mekanizması ile CW temelli algoritma farklı deneme sayıları yapılarak karşılaştırılmıştır. Analizde performans ölçütü olarak tüm problemlerin ortalama YSD sonuçları kullanılmıştır. Analiz sonuçları Çizelge 4.2’de verilmiştir.

Çizelge 4.2. Başlangıç Çözümü Algoritmasının İYA_DKA Algoritmasının Performansı Üzerindeki Etkisi

5 denemede CW algoritması için enküçük YSD %-14,10, ortalama YSD %-13,03, enbüyük YSD 11,69 olmuştur. Rastsal algoritma için enküçük YSD 15,26, ortalama YSD %-12,46, enbüyük YSD %-9,22 olmuştur. Çözüm süreleri ise CW için 2,06 saniye, Rastsal algoritma için 2,20 saniye olmuştur. 5 deneme ortalama YSD sonuçlarına göre algoritmaların performansları benzerdir. İki algoritma ortalama YSD’leri arasında %0,57’lik

bir fark vardır. CW algoritması ile biraz daha kısa süre içerisinde Rastsal algoritmadan bir miktar daha iyi çözüm bulunabilmektedir.

Deneme sayısı artırılarak 10 deneme yapıldığında enküçük, ortalama ve enbüyük YSD CW algoritması için sırasıyla 14,37, 13,01, 11,10, Rastsal algoritma için 15,85, %-12,51, %-8,31 olmuştur. CW için ortalama çözüm süresi 2,06, Rastsal algoritma için 2,21 saniye olmuştur. YSD’lerinden algoritmaların performansının benzer olduğu görülebilir.

Çözüm süresi açısından yine CW algoritması biraz daha kısa sürede çözüme ulaşmaktadır.

15 deneme yapıldığında enküçük, ortalama ve enbüyük YSD oranları CW için 14,51, %-12,99, %-10,83, Rastsal algoritma için %-16,37, %-12,56, %-7,93 olmuştur. Ortalama çözüm süresi CW için 2,05 saniye, Rastsal algoritma için 2,19 saniye olmuştur. Bu deneme sayısı için de algoritmaların performansının benzer olduğu, CW ile biraz daha kısa sürede çözüme ulaşılabildiği görülmüştür.

Yapılan çalışma sonucunda İYA_DKA algoritmasının performansının kullanılan başlangıç algoritmasına göre değişmediği ancak çözüm süresinde iyi bir başlangıç algoritması kullanılarak bir miktar azalma sağlanabildiği görülmüştür. Çözüm süreleri arasındaki fark çok fazla olmasa da tekrarlı olarak çalışması gereken durumlarda bu fark anlamlı hale gelir.

Örneğin Dal-Kesme algoritması gibi algoritmaların içerisinde kısa sürede çözüm üreten bir başlangıç algoritmasının kullanılması çözüm süresinde önemli miktarda kısalma sağlayabilir. Bu tez kapsamında hem Dal-Kesme algoritmasına başlangıç çözümü üretme algoritmasında hem de Dal-Kesme ağacının dallarında kesirli çözümlerden uygun çözüm elde etme prosedürü içerisinde ikinci aşamaya çözüm üretildikten sonra birinci aşamaya çözüm üretmek için başlangıç çözüm algoritması olarak CW algoritması kullanılmıştır.

4.5. Değerlendirme

Bu bölümde orta ve büyük boyutlu problemlere kısa sürelerde çözüm üretebilmek ve Dal-Kesme algoritmasında hızlı yakınsamayı sağlamak amacıyla üst sınır elde etmek için geliştirilen İYA_DKA algoritması verilmiştir. Algoritma İteratif Yerel Arama ve Değişken Komşu Arama Sezgisellerinden faydalanan karma bir sezgiseldir. İteratif Yerel Arama algoritması içerisinde bulunan çözümleri iyileştirmek için Değişken Komşu Arama

algoritması kullanılmıştır. Çözüm uzayında arama yapmak için literatürde bulunan komşuluk mekanizmalarından faydalanılmıştır.

İYA_DKA algoritmasının performansını değerlendirmek için iki aşamalı bir deneysel analiz yapılmıştır. Analizin ilk aşamasında İYA_DKA ile güçlendirilmiş tamsayılı matematiksel modelin sonuçları karşılaştırılmıştır. İYA_DKA için 10 deneme yapılmış, matematiksel modelin CPLEX ile çözümünden bulunan üst sınır değerinden sapmalar performans ölçütü olarak kullanılmıştır. En küçük, ortalama ve en büyük yüzde sapma değerleri incelenmiş, analiz sonucunda İYA_DKA ile orta ve büyük boyutlu problemlere saniyeler içerisinde oldukça iyi kalitede çözümler üretilebildiği görülmüştür. Talep ayrıştırma yöntemine göre problem grupları yüzde sapma değerleri incelendiğinde talep miktarının daha yüksek olduğu W-Z tipi problemlerde güçlendirilmiş tamsayılı matematiksel modelin çözümüne göre çok daha iyi sonuçlar elde edildiği görülmüştür. Müşteri sayısına göre gruplar incelendiğinde de problem boyutu arttıkça algoritmanın performansının arttığı görülmüştür.

Analizin ikinci aşamasında algoritmanın performansında çözüm kurucu sezgiselin etkisi incelenmiştir. Algoritmada kullanılan Clarke-Wright Kazanım algoritması temelli sezgisel ile Rastgele çözüm sezgiseli için 5, 10 ve 15 denemelik yüzde sapma değerleri karşılaştırılmış analiz sonucunda İYA_DKA’nın performansında başlangıç çözümünün önemli bir değişiklik meydana getirmediği görülmüştür. Çözüm süreleri açısından kıyaslandığında Clarke-Wright Kazanım algoritmasına dayalı sezgisel ile biraz daha kısa süre içerisinde çözüm bulunabildiği görülmüştür. Çözüm kurucu algoritmanın Dal-Kesme algoritması gibi kesin çözüm yöntemleri içerisinde tekrarlı olarak kullanılması durumunda CW algoritmasının tercih edilmesi ile daha kısa sürelerde çözüme ulaşılabileceği sonucuna varılmıştır.