• Sonuç bulunamadı

KARESEL ÇOKLU SIRT ÇANTASI PROBLEMİ İÇİN BİR GENETİK ALGORİTMA

3.2 Genetik Algoritmalar

Genetik algoritmalar (GA), rassal arama esaslı yöntemlerdir. Temel prensip olarak, biyolojideki evrim sürecini taklit etmektedirler. İlk GA, 1975 yılında Holland tarafından önerilmiştir. Genellikle, bilinen eniyileme yöntemleri ile çözülemeyen ya da çözüm zamanı problemin büyüklüğü ile üstel artan problemlerde kullanılan GA, en iyi ya da en iyiye yakın çözüm vermektedir. Başlangıçta doğrusal olmayan eniyileme problemlerine uygulanan GA sonraları gezgin satıcı, karesel atama, yerleşim, çizelgeleme, tasarım gibi kombinatorik eniyileme problemlerinde başarıyla uygulanmıştır.

GA, diğer geleneksel yöntemlerden, karakteristik olarak dört özelliği ile farklıdır (Goldberg, 1989):

i) GA parametrelerle değil, onların kodları ile çalışır.

ii) GA tek bir noktadan değil, bir noktalar topluluğu üzerinden arama yapar.

iii) GA türevleri ya da diğer yardımcı bilgileri değil, amaç fonksiyonu (uyum fonksiyonu) bilgisini kullanır.

iv) GA aramayı deterministik kurallarla değil, olasılıklı geçiş kuralları ile yapar.

GA doğal seçim mekanizmasını taklit edip, en iyi çözüme ulaşmaya çalışan bir arama tekniğidir. GA’da kromozom bir çözümü temsil eder ve popülasyonun bir elemanıdır. Popülasyon da, tüm olurlu çözümleri içeren çözüm uzayının bir alt kümesidir. Kromozomlar, kalıtım bilgilerini taşıyan ve çözüm elemanlarını temsil eden karakter dizilerinden oluşurlar. Popülasyonu oluşturan kromozomlar, kopyalama-çaprazlama-mutasyon gibi işlemler geçirerek bir sonraki nesli türetirler. Uyum gücü yüksek olan kromozomların kopyalanma ve iyi niteliklerini gelecek kuşaklara aktarma şansları yüksektir. GA’ın temel teoremi, uyum gücü yüksek olan kromozom parçalarının (schemata) hızla çoğalacağını ortaya koymaktır. Tatmin edici bir çözüm bulmak amacıyla, denge durumuna ulaşıncaya (daha fazla ilerleme olmadığı görülünceye) kadar genetik işlemlere devam edilmektedir (İşlier, 1997).

Bir GA’nın adımları aşağıdaki şekilde olabilir (İşlier, 1995):

0. Uyum fonksiyonunu kur, kromozomdaki bilgiyi kodla, parametreleri belirle.

1. İlk nesli türet.

2. Kromozomların uyum değerlerini hesapla.

3. Uyum ile orantılı seçilme şansı ver.

4. Bu şansa bağlı olarak bir çift birey seç. (KOPYALAMA).

5. Bunları rassal kırılma noktasına göre ÇAPRAZLA.

6. Mutasyonun sırası gelmediyse 8’e atla.

7. Rassal bir noktadan MUTASYON uygula.

8. Yeterli sayıda nesil yetiştirildiyse DUR. Aksi halde 2’ye DÖN.

KÇSÇP, NP-zor problemler sınıfına dahil olduğundan problemin çözümü için etkin bir sezgisel yaklaşımın kullanılması yerinde olacaktır. Sezgisel yaklaşımlar içinde, SÇP’deki başarılı uygulamaları ile GA öne çıkmaktadır.

GA sırt çantası problemlerinin çözümünde başarıyla kullanılmış çözüm yöntemlerinden birisidir. Yazında yer alan çalışmalardan bazılarına aşağıda değinilmiştir.

Mihelcic ve diğerleri (1997), metal levhaların kesilmesi problemini ele almışlar ve problemin çözümüne yönelik olarak GA geliştirmişlerdir. İki boyutlu her bir parçanın üç gen kullanılarak temsil edildiği üç boyutlu özel bir kromozom yapısı kullanmışlardır.

Bortfeldt ve Gehring, (2001) konteynır yükleme problemi için melez bir GA geliştirmişlerdir. Bu problemde önce yükleme planları oluşturulup daha sonra bunların seçilmesi söz konusu olduğu için her aşamada yükleme planları göz önünde bulundurulmuştur. Bu nedenle geliştirilen algoritma klasik SÇP çözen bir GA’dan oldukça farklı özellikler taşımaktadır.

Jaszkiewicz, (2002), SÇP için yerel arama tekniklerini kullanan bir GA geliştirmiştir. Yeni nesil rassal olarak türetilmiş, klasik rulet tekeri, tek noktalı çaprazlama ve mutasyon işlemcileri kullanılmış, ancak tüm işlemcilerden sonra aç gözlü onarma yapılmıştır.

Sakawa ve Kato (2002), bulanık mantık kullanılarak modellenmiş amaç fonksiyonlarını içeren çok amaçlı ve çok boyutlu SÇP problemlerini ele almışlardır.

Problemin çözümü için kullanılan GA’da üçlü dizgi gösterimi kullanılmıştır.

Kopyalama işlemcisi olarak, elitizm ve beklenen değer seçimi yaklaşımları birleştirilerek kullanılmış ve üç boyutlu gösterim kullanıldığı için özel bir çaprazlama işlemcisi olan PMX yöntemi kullanılmıştır. Klasik göç işlemcisi kullanılmıştır.

Bhatia ve Basu (2003), SÇP problemi için tümevarım (gen induction) yaklaşımını kullanan bir GA önermişlerdir. Yeni neslin türetilmesi, mutasyon ve yer değiştirme (replacement) işlemcilerinde tümevarım yaklaşımı kullanılmıştır. İlk neslin türetilmesinde üç yaklaşımın performansları karşılaştırılmıştır. 1-İlk nesilde sadece rassal bir gen 1 değerini alır, 2-Klasik kromozom türetme, (rassal sayı >0.5 ise gen 1), 3-Sezgisel türetme (bu yaklaşımda ilk nesil bir sezgisel kullanılarak, başarılı genlere büyük olasılık verecek şekilde türetilir). Uygun olmayan kromozomlar, yeni türetilmiş kromozomla yer değiştirirler. Çalışmada iki tip mutasyon işlemcisi tariflenmiştir. Belli bir olasılıkla rassal olarak mutasyon yapan klasik mutasyon ve rassal bir grup parçayı sırt çantasından çıkarıp daha sonra p/w olasılığını kullanarak kalan kapasiteyi dolduran baskın (dominant) mutasyon. Sıra (rank) seçim yöntemi ve iki noktalı çaprazlama kullanılmıştır.

Sakawa ve Kato (2003), çalışmasında çok boyutlu SÇP için çift kromozomlu bir kodlama yöntemi önermiş ve bu yöntem tüm 0-1 problemlere genelleştirilmiştir.

Geliştirilen GA’da beklenen değer seçim yöntemi ve klasik çaprazlamada kromozom bozulabileceğinden özel bir çaprazlama işlemcisi kullanılmıştır. Klasik mutasyon işlemcisi uygunluğu bozmayacak şekilde düzenlenmiştir.

Hua ve Huang (2005), çalışmalarında öncelikle problemi tamsayı gevşetmesi yapılarak sürekli yapıda çözmüş ve bu çözümü baz alarak karar değişkenlerini gruplamışlardır. Bu şekilde gruplanmış olan her alt grup, ayrı ayrı GA ile çözülmüştür.

Tek noktalı çaprazlama ve klasik mutasyon işlemcilerini kullanmışlardır.

Kopyalama stratejisi GA’nın en önemli aşamalarından birisidir. Geleneksel kopyalama işlemcileri kullanıldığında genetik çeşitlilik erken evrelerde kaybolabilmektedir. Bunu önlemek için, Kubota ve diğerleri (2006), yüksek uyum değerlerine sahip kromozomların oluşmasına olanak veren özel bir kopyalama yaklaşımı (BSOM) kullanmışlardır.

Kumar ve Banerjee (2006), çok amaçlı sırt çantası problemlerini ele almışlardır.

Pareto-optimal noktalar Hamming komşuları olarak ele alınmıştır. Geliştirilen

algoritma, Sınırlı EMO olarak adlandırılmıştır. Özel bir eşleşme havuzu kullanılmıştır.

En büyük Hamming uzaklığına sahip iki birey seçilerek özel bir uyum fonksiyonu ile eşleşme havuzuna atılmakta ve parçalar p/w oranı kullanılarak seçilmektedir. Önerilen GA’da çaprazlama işlemcisi kullanılmamaktadır.

Anagun ve Saraç (2006) tarafından yapılan çalışmada 0-1 SÇP ele alınmıştır.

Problemin çözümüne yönelik olarak özel bir GA işlemcisi kullanılmamış, klasik işlemcilerin farklı problem boyut ve tiplerindeki başarıları araştırılmıştır.

Tan, (2007) çalışmasında çok boyutlu SÇP’ni ele almıştır. Bu çalışmada hayvanların sosyal davranışlarına dayalı bir evrimsel algoritma (PSO) önerilmektedir.

PSO algoritmasında GA temelli bir mutasyon işlemcisi kullanılmıştır.

Julstrom (2005), KSÇP için açgözlü bir genetik algoritma (GA) önermiştir. Bu algoritmanın işlemcileri, klasik GA’dan farklı olarak, iki açgözlü algoritmanın çalışma mantıklarını kullanmaktadır. Açgözlü GA ile 100 ve 200 boyutlu problemlere kısa sürede en iyi çözüme oldukça yakın çözümler elde edilmiştir.

Hiley ve Julstrom (2006) KÇSÇP problemi için, açgözlü bir GA önermişlerdir.

Önerilen GA’nın mutasyon işlemcisi olarak rassal tepe tırmanma algoritmasının komşu işlemcisi kullanmaktadır. Bu işlemci, tüm sırt çantalarından belirli sayıda parçaları çıkarmakta ve yerlerine ilgilenilen sırt çantası için kalan kapasiteye sığabilecek ve en yüksek getiriyi sağlayacak parçanın seçilmesi mantığını kullanarak yeni parçalar seçmektedir. Önerilen GA ile farklı sayıda sırt çantası içeren (3, 5, 10), farklı yoğunluk (0.25, 0.75) ve büyüklüğe (100, 200) sahip problemler makul sürelerde çözülmüştür.

Saraç ve Sipahioğlu (2007), çalışmalarında KÇSÇP için bu tez çalışması kapsamında önerilen GA’yı ve performansını tartışmışlardır.

Bu çalışmada KÇSÇP’nin çözümüne yönelik olarak geliştirilen GA izleyen bölümde ayrıntıları ile açıklanmıştır.